Лабораторная работа 3. Простые циклы с неизвестным числом
Простые циклы с неизвестным числом Повторений
Цель работы: формирование первичных умений в разработке простых циклических программ с неизвестным числом повторений.
Что нужно знать для выполнения работы
1. Структуру цикла, назначение и порядок следования его отдельных частей. 2. Структуры: цикл пока и цикл повторить. 3. Операторы цикла while … do, repeat … until.
Примеры выполнения задания лабораторной работы Пример 1. Составьте программу нахождения наибольшего общего делителя двух чисел с помощью алгоритма Евклида. Решение. В соответствии с алгоритмом Евклида (рис. 3.1) НОД(a, b) = НОД(max(a, b)-min(a, b), min(a, b)).
Рис. 3.1. Схема алгоритма программы
Текст программы
program lr3_1_1; { Алгоритм Евклида нахождения НОД(m, n)(на вычитание) } { $APPTYPE CONSOLE } Uses SysUtils; Var m, n, a, b: word; Begin write('Vvedite dva chisla '); readln(m, n); a: = m; b: = n; While a< > b do If a> b then a: = a - b Else b: = b - a; writeln('НОД(', m, ', ', n, ')= ', a: 4); readln; End.
Пример 2. Вычислите значение функции y = sin(x) с точностью e с помощью разложения функции в ряд Маклорена:
Решение. В соответствии с признаком Лейбница данный знакопеременный ряд сходится. На практике при вычислении значения суммы ряда обычно ограничиваются конечным числом членов. Если ряд знакопеременный, то ошибка при замене суммы сходящегося знакопеременного ряда суммой нескольких его членов меньше модуля первого из отброшенных членов. Таким образом, достаточно накапливать сумму до тех пор, пока модуль очередного члена не станет меньше требуемой точности. Разделив n -й член ряда на (n – 1)-й, получим множитель, на который нужно умножить предыдущий член, чтобы получить следующий:
Рис. 3.2. Схема алгоритма программы
|