Оператор цикла с постусловием выполняется следующим образом:
–сначала выполняется тело цикла;
–затем проверяется условие продолжения цикла;
–если это условие истинно, то снова выполняется тело цикла, затем снова проверяется условие и т. д.;
–если условие продолжения цикла ложно, то происходит выход из цикла.
Особенностью цикла с постусловием является то, что цикл выполнится хотя бы один раз до проверки условия.
Блок-схема |
Псевдокод |
начало цикла выполнять:
тело цикла (последовательность действий)
до тех пор, пока истинно
<условие>
конец цикла
Рекурсивная алгоритмическая конструкция. Рекур-
сивным называется алгоритм, который в процессе выполнения на каком-либо шаге прямо или косвенно обращается сам к себе. Как правило, в основе такого алгоритма лежит рекурсивное определение какого-то понятия. Пример рекурсивного определения – определение факториала числа n:
n! = 1 ∙ 2 ∙ 3 ∙ 4 ∙…∙ n
или
{
Т. е. рекурсивный объект частично определяется через
себя.
16
Преимущество рекурсивного определения объекта заключается в том, что такое конечное определение теоретически способно описывать бесконечно большое число объектов.
В рекурсивном определении должно присутствовать граничное условие, при выходе на которое рекурсивный возврат заканчивается. В случае с вычислением n! граничным условием является условие n ≤ 1.
Отличие рекурсивного алгоритма от циклического заключается в том, что в определенной точке алгоритма реализуется тот же самый алгоритм.
2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ
1.Изучить теоретический материал.
2.Для задачи, выбранной в соответствии с вариантом, разработать алгоритм решения и описать его четырьмя способами: 1) словесное описание; 2) формульно-словесное описание; 3) псевдокод; 4) графический способ (блок-схема).
3.Оформить отчет.
3. ВАРИАНТЫ ЗАДАНИЙ
1. Составить алгоритм решения задачи для вычисления значения функции
k x, |
при k<x |
|
при k>x |
y k x, |
|
|
при k=x |
k / x, |
2.Составить алгоритм для нахождения произведения двух наименьших чисел из трех заданных.
3.Составить алгоритм нахождения корней квадратного уравнения ax2 + bx + c = 0.
4.Составить алгоритм для нахождения суммы двух наибольших чисел из четырех заданных.
5.Дано натуральное число n и действительное число x.
Вычислить S = sin x + sin 2x + ...sin nx.
17
6.Дано целое число N (> 0). Если N – нечетное, то вывести произведение 1 ∙ 3 ∙ … ∙ N; если N – четное, то вывести произведение 2 ∙ 4 ∙ ...∙ N.
7.Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий день он увеличивал пробег на 10 % от пробега предыдущего дня. Составить алгоритм определения,
вкакой день суммарный пробег за все дни превысит 100 км.
8.Составить алгоритм вычисления следующего выраже-
ния
I J 2
y i j
i 1 j 1
9.Составить алгоритм вычисления суммы ряда S 1 12 14 18 ... с заданной точностью e.
10.Составить алгоритм вычисления суммы ряда
y |
1 |
|
3 |
... |
2n 1 |
с заданной точностью e. |
2 |
4 |
2n |
||||
11.Дано число n. Составить алгоритм поиска первого натурального числа, квадрат которого больше n.
12.Дано целое число N (> 1). Составить алгоритм вывода наибольшего целого K, при котором выполняется неравенство
3K < N.
13.Составить алгоритм вычисления значения выражения z для значений x, равных 2, 4, ..., 20: z = 8f3 – f , f = 2x.
14.Составить алгоритм решения задачи для определения большей плотности материалов двух тел, если известны их объемы и массы.
15.Составить алгоритм решения задачи для определения большего из двух значений: одно указано в миллиметрах, а другое в дюймах (1 дюйм = 25,4 мм).
16.Составить алгоритм решения задачи для определения большей площади, если известны радиус круга и сторона квадрата.
18
17.Составить алгоритм нахождения числа десятков и единиц в двузначном числе (без использования процедур нахождения целой части числа и остатка от деления).
18.Составить алгоритм поиска максимального из натуральных чисел, не превышающих 600, которое нацело делится на 28.
19.Составить алгоритм вывода минимального числа, большего 200, которое нацело делится на 17.
20.Дано число n. Составить алгоритм поиска первого натурального числа, квадрат которого больше n.
19
КОНТРОЛЬНЫЕ ВОПРОСЫ
1.Что такое алгоритм?
2.Перечислите основные правила составления алгоритма.
3.Перечислите основные свойства алгоритма.
4.Что такое алгоритмизация?
5.Перечислите основные способы описания алгоритма.
6.Что представляет собой словесное описание алгоритма? Приведите пример.
7.Что представляет собой формульно-словесное описание алгоритма? Приведите пример.
8.Что такое псевдокод? Приведите пример.
9.Что такое блок-схема алгоритма? Приведите пример.
10.Какими геометрическими фигурами изображаются в блок-схеме операции разного вида?
11.Что такое программа? Приведите пример.
12.Перечислите основные виды алгоритмов.
13.Что представляет собой линейная алгоритмическая конструкция? Приведите пример.
14.Что представляет собой разветвляющаяся алгоритмическая конструкция? Приведите пример.
15.Что представляет собой циклическая алгоритмическая конструкция? Приведите пример.
16.Что представляет собой арифметический цикл (цикл с параметром)? Приведите пример.
17.Что представляет собой цикл с предусловием? Приведите пример.
18.Что представляет собой цикл с постусловием? Приведите пример.
19.Что представляет собой рекурсивная алгоритмическая конструкция? Приведите пример.
20