Все алгоритмы можно разделить на три типа.
1. Линейные
2. Разветвляющиеся
3. Циклические
К линейным алгоритмам относятся алгоритмы, все команды которых идут последовательно друг за другом, не содержат условия и повторений.
Пример:
Написать алгоритм нахождения суммы (произведения, разности и т.д) двух чисел.
К разветвляющимся относятся алгоритмы, в которых в зависимости от какого-то условия выполняется два или больше альтернативных действий.
Пример:
Написать алгоритм вычисления частного двух целых чисел.
Зам! На ноль делить нельзя!
К циклическим относятся алгоритмы, в которых одно или несколько действий повторяются.
Эту повторяющуюся часть в алгоритме называют циклом, а операторы, которые повторяются, называют телом цикла. Циклы бывают простые и сложные.
Цикл называется сложным, если он содержит в себе еще один или несколько циклов. Цикл находящийся внутри называется вложенным (внутренним), а цикл, содержащий в себе др. циклы называется охватывающим (внешним). Чтобы сложные циклы работали нормально, необходимо чтобы внутренний цикл заканчивался раньше внешнего.
Все циклы можно разделить еще на циклы с заранее известным количеством шагов (повторений) и циклы с неизвестным количеством шагов (итерационные)
К первому типу относится цикл:
ДЛЯ им.пер.:=нач.зн. ДО кон.зн. ПОВТОРЯТЬ
НАЧЦИКЛА
Действия
КОНЦИКЛА
Пример: выводить на экран значение функции y=x2 для х из (0,15), где х целое число.
Дано: целые числа от 0 до 15.
Результат: на экран вывести значение функции от данных аргументов, т.е. должны получить
0 1 4 9 16 25 36 49… 225.
Алгоритм:
Присвоить х 0;
Вычислить y=x2
Вывести у
Присвоить х 1
Вычислить y=x2
Вывести у
…
Присвоить х 15
Вычислить y=x2
Вывести у
Алгоритм получился очень большим, что не удобно. Кроме того, он содержит практически одни и те же действия. Рациональнее переписать алгоритм следующим образом.
Начало
ДЛЯ Х:=0 ДО 15 ПОВТОРЯТЬ
НАЧЦИКЛА
У:=Х*Х;
ВЫВОД(У);
КОНЦИКЛА;
Конец
Итерационные циклы реализуются при помощи циклов ПОКА, ПОВТОРЯТЬ ДО.
Рассмотрим цикл ПОКА.
ПОКА усл ПОВТОРЯТЬ
НАЧЦИКЛА
Действие
КОНЦИКЛА
Действие повторяется пока условие истинно, при ложном условии происходит выход из цикла.
Пример: дана функция у=1/х, где х натуральное число. Выводить у, пока он больше 0,066.
Алгоритм:
Присвоить х 1
Вычислить у
Вывести у, если он больше0,066
Присвоить х 2
Вычислить у
Вывести у, если он больше0,066
Присвоить х 3
Вычислить у
Вывести у, если он больше0,066
Когда закончится этот алгоритм, не знаем, следовательно, написанный таким образом алгоритм не удовлетворяет свойству результативности, поэтому перепишем его следующим образом:
Начало
Х:=1;
У:=х*х;
ПОКА у>0.066 Повторять
НАЧЦИКЛА
Вывод(у);
х:=х+1;
у:=х*х;
КОНЦИКЛА;
Конец
Дома Записать на псевдокоде и блок- схеме:
1. Вычислить у=3х2+2а=7, где а=-8.
2. Найти площадь прямоугольника со сторонами х, у. обратить внимание, что стороны не могут быть отрицательными.
3. Протабуллировать функцию у=х3, для целого х из интервала (-4;4).
4. Протабуллировать функцию у=1/х, для х из интервала (0,10) с шагом 0,1.