Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_2011__2_МГРИ-РГГРУ.pdf
Скачиваний:
213
Добавлен:
29.03.2016
Размер:
4.01 Mб
Скачать

нескольких видов.

Математические функции: sin(x), cos(x), abs(x)- модуль x, sqr(x) – корень. Финансовые функции: Pmt – размер периодического платежа.

Системные функции: InputBox – ввод данных в окно, MsgBox вывод сообщения в окно.

Функции обработки строковых выражений Str, Chr и другие.

Выражение на языке программирования задает правило вычисления некоторого значения. Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок. Каждое выражение имеет тип, зависящий от типов входящих в него операндов. Выражение называют арифметическим, если его значением является число. Арифметическое выражение записывается в строку. Нельзя ставить подряд два знака арифметических операций. Нельзя опускать знак умножения.

Примеры записи арифметических выражений:

При вычислении значений выражений важен порядок выполнения операций. Приняты следующие правила.

Действия выполняются слева направо с соблюдением следующего старшинства (в порядке убывания):

1)

действия в скобках;

4)*, /, DIV, MOD, AND;

2)

вычисление функций;

5)

+, -, OR;

3)

NOT;

6)

=, <>, <, >, <=, >=.

Если приоритет операций одинаков, то операция, стоящая левее, выполняется раньше.

Порядок выполнения операций можно переопределить с помощью скобок. Особенно это важно при делении, например, 2/5+5 равно 5.4, но 2/(5+5) равно 0.2. При записи выражений, содержащих скобки, должна соблюдаться парность скобок, т.е. число открывающих скобок должно быть равно числу закрывающих скобок.

ТИПЫ АЛГОРИТМОВ И ИХ РЕАЛИЗАЦИЯ НА VBA

Известны три типа алгоритмов линейный, ветвящийся, циклический. Тип алгоритма определяется характером решаемой в соответствии с его командами задачи. Графическая форма представления (применима для алгоритмов всех типов) основана на замене (кодировании) типичных алгоритмических команд определенными геометрическими фигурами – блок-схемами.

Блок-схема — распространенный тип схем, описывающий алгоритмы или процессы, изображая шаги в виде блоков различной формы, соединенных между собой стрелками.

Алгоритм любой степени сложности можно построить с помощью блоков

98

основного базового набора, имеющих линейную, ветвящуюся или циклическую структуру. Каждая из этих структур имеет только один вход и только один выход, что позволяет соединять между собой в процессе разработки алгоритма любое количество элементов базовых структур в любой последовательности.

Линейный тип алгоритма

Алгоритм, в котором команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий, является алгоритмом линейного типа. Таким будет, например, алгоритм вычислений по самым простейшим, безальтернативным формулам, не имеющим ограничений на значения входящих в них переменных.

Оператор 1

Оператор …

Оператор N

Алгоритм с условием (ветвление)

Ветвление - это такая форма организации действий, при которой в зависимости от выполнения или не выполнения некоторого условия совершается либо одна, либо другая последовательность действий.

Да

Операторы

Нет Условие

Операторы

При графическом представлении алгоритма ветвление (развилка, выбор дальнейших действий) организуется с помощью логического элемента (ромб с записанным внутри условием), имеющего один вход и несколько (в простейшем случае - два) выходов. Назначение логического элемента - проверка заданного условия. В зависимости от выполнения (истинности) или невыполнения (ложности) проверяемого условия возможен выход соответственно на ветвь "Да" или "Нет".

Условный оператор

 

If условие then

Краткая форма условного оператора

оператор1

 

…..

If условие then оператор1 else оператор2

Операторы N

 

else

 

оператор2

If условие then оператор1

……

 

Операторы M

 

End if

 

99

Тестовое задание 1.

 

1.

две команды ветвления в полной

Фрагмент блок-схемы представляет ал-

 

форме, одна из которых вложена в

горитм, который содержит …

 

другую

 

 

 

 

2.

команду

ветвления

в

полной

 

 

форме

и команду

выбора,

 

 

вложенную в команду ветвления

 

3.

команду

ветвления

в

полной

 

 

форме, в которую вложена

 

 

команда

ветвления

в

неполной

 

 

форме

 

 

 

 

4.

команду

ветвления

в

полной

 

 

форме, в которую вложена

 

 

команда цикла

 

 

Оператор выбора является альтернативой вложенным операторам условия и работает следующим образом: последовательно проверяются условия 1, 2, …N до тех пор, пока не встретится условие, принимающее значение ИСТИНА. Далее выполняется соответствующее этому условию действие (или серия действий), после чего команда выбора завершается. Если ни одно из условий не является истинным, то выполняется действие (или серия действий), идущее по ветке иначе. Ветка иначе может отсутствовать.

выбор

при условие 1: действие 1 при условие 2: действие 2

. . . . . . . . . . . .

при условие N: действие N иначе действие N+1

все Тестовое задание 2.

 

Функции div и mod вычисляют соответственно

Значение переменной m по-

 

 

результат и остаток деления нацело первого ар-

сле выполнения программы

 

 

гумента на второй.

будет равно…

 

 

 

 

 

 

 

 

 

 

выбор

 

1.

 

65

 

 

 

 

 

 

 

 

 

 

при

 

2.

 

19

 

 

 

 

 

 

 

 

 

 

 

3.

 

42

 

 

 

при

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

 

0

 

 

 

 

 

 

 

 

 

при

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при

 

 

 

 

 

 

 

иначе

 

 

 

 

 

 

 

все

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

 

 

 

 

 

 

Циклический тип алгоритма

При составлении алгоритмов решения достаточно большого круга задач нередко возникает потребность в неоднократном повторении одних и тех же команд. Алгоритм, составленный с использованием многократных повторений одних и тех же действий (циклов), называется циклическим.

Для того чтобы много раз повторить какую-либо последовательность действий, применяют алгоритмические конструкции, которые называются циклами. Саму последовательность действий при этом называют телом цикла. Существуют три типа циклических алгоритмов: цикл с параметром (арифметиче-

ский цикл), цикл с предусловием и цикл с постусловием. Два последних цикла называют также итерационными.

Оператор цикла с условием

Цикл с условием это такая форма организации алгоритма, при которой одни и те же операторы повторяются несколько раз до тех пор пока выполняется некоторое условие.

Цикл с предусловием предполагает начать выполнение всех команд внутри цикла, только после выполняется условие.

 

да

 

 

нет

 

 

 

 

условие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор 2

 

 

 

 

 

 

 

 

Оператор 4

 

Оператор 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Цикл с постусловием предполагает исполнение хотя бы одной итерации команд внутри цикла. Все последующие шаги связаны с выполнением условия.

 

Оператор 1

 

Оператор 2

 

Оператор 3

да

нет

 

условие

Оператор 4

Тестовое задание 3.

В приведенном ниже фрагменте алгоритма переменные a, b, c имеют тип «строка», а переменные i, k – тип «целое». Используются следующие функции:

101

Длина(a) – возвращает количество символов в строке a (тип «целое»). Извлечь (a,i) – возвращает i-ый (слева) символ в строке a (тип «строка). Склеить (a,b) – возвращает строку, в которой записаны сначала все символы строки a, а затем все символы строки b (тип «строка).

Значения строк записываются в одинарных кавычках (например, a:='дом').

a:= ‗ИНФОРМАТИКА‘ i:=Длина(a)-5

k:=1 b:=‗А‘

пока i > 2 нц

c:=Извлечь(a,i) b:=Склеить(c,b) i:=i-k

кц

Определите значение переменной b после выполнения вышеприведенного фрагмента алгоритма.

1. ‗ФОРМА‘

2. ‗ФИРМА‘

3. ‗МИНОР‘

4. ‗АРФА‘

Оператор цикла с параметром

В арифметическом цикле число его повторений однозначно определяется правилом изменения параметра, которое задается с помощью начального и конечного значений параметра.

нц

для i от i1 до i2

тело цикла (последовательность действий)

кц

На первом шаге цикла значение параметра равно i1, на втором – i1+1, на третьем – i1+2 и т.д. На последнем шаге значение параметра не больше i2, но такое, что дальнейшее его изменение приведет к значению, большему чем i2.

Параметр представляет собой переменную целого типа имеющую начальное и конечное значение с шагом изменения.

For параметр = нач_знач to кон_знач step шаг_пер Операторы

Next параметр

Например, вывести натуральные числа от 1 до 10 с шагом 1 в первую строку ячеек ЭТ Excel. Параметром цикла выступает переменная j (шаг равный 1 можно опустить, т.к. он подразумевается по умолчанию)

For j=1 to 10

Cells (1, j)=j

Next j

102