ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ И ПРОГРАММЫ
Циклический алгоритм — алгоритм, предусматривающий многократное повторение одного и того же действия над новыми данными.
Цикл называется арифметическим, если число повторений цикла известно заранее или может быть вычислено.
Цикл, для которого нельзя указать число повторений, и проверка которого происходит по достижению нужного условия, называется итерационным.
Цикл называется сложным, если внутри его содержится один или несколько других циклов.
При составлении циклических алгоритмов и программ используются следующие блоки и синтаксические конструкции языка Паскаль, приведенные в таблице.
Блок | Наименование | Программа |
| Цикл с параметром | For i=…to(downto) …do … |
| Цикл с предусловием | While … do … |
| Цикл с постусловием | Repeat …until … |
Пример решения задачи Циклический алгоритм
Задание. Найти сумму всех вводимых с клавиатуры чисел
1. Постановка задачи
Найти сумму (Sum) (K) чисел (Х) введенных с клавиатуры.
2. Математическая модель
формулы
для n чисел от 1 до K найти сумму Sum, числа X вводятся с клавиатуры.
исходные данные
– вещественное число (real)
k – количество вводимых чисел (integer)
промежуточные данные
n – параметр цикла (integer)
конечный результат
Sum – вещественное число (real), сумма чисел.
3. Построение алгоритма
| 4. Разработка программы {Программа нахождения суммы чисел вводимых с клавиатуры} program summa; {название программы} uses crt;{подключение текстового модуля} var n,k:integer;x:real;{исходные данные} sum:real;{результата} begin{начало программы} clrscr;{очистка окна вывода} write('Введите количество чисел: k='); readln(k); for n:=1 to k do begin write('Введите ',n,' число: '); {вывод диалога с пользователем} readln(x); {ввод исходных данных} sum:=sum+x;{подсчет суммы} end; writeln; writeln('Сумма ',k,' чисел равна ',sum:6:2);{вывод результата} readln end.{конец программы} |
5. Тестирование, отладка программы и эксплуатация программы
Задания для самостоятельной работы Задание 1. По блок-схеме восстановите условие задачи, составьте математическую модель, программу и протестируйте её.
1. Постановка задачи
__________________________________________________________________________
__________________________________________________________________________
2. Математическая модель
формулы
_____________________________________________________________________
_____________________________________________________________________________
исходные данные
____________________________________________________________________________
промежуточные данные и конечный результат
____________________________________________________________________________
____________________________________________________________________________
3. Построение алгоритма
| 4. Разработка программы _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ |
5. Тестирование, отладка программы
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
Задание 2. Ввести с клавиатуры 10 пар чисел. Сравнить числа в каждой паре и напечатать большие из них (используйте цикл с предусловием).
1. Постановка задачи
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
2. Математическая модель
формулы
_____________________________________________________________________________
_____________________________________________________________________________
исходные данные
____________________________________________________________________________
____________________________________________________________________________
промежуточные данные и конечный результат
____________________________________________________________________________
____________________________________________________________________________
3. Построение алгоритма | 4. Разработка программы _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ |
5. Тестирование и отладка программы
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
6. Эксплуатация программы
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
Задание 3. Составить программу, сокращающую обыкновенные дроби, с помощью цикла с постусловием.
Постановка задачи
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
Математическая модель
формулы
____________________________________________________________________________
_____________________________________________________________________________
исходные данные
____________________________________________________________________________
промежуточные данные и конечный результат
____________________________________________________________________________
____________________________________________________________________________
3. Построение алгоритма | 4. Разработка программы ___________________________________ ___________________________________ ___________________________________ ______________________________________________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ ___________________________________ |
5. Тестирование и отладка программы
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
Выполнить Программы предоставить на диске с расширением .pas
Даны действительное a и натуральное n, вычислить a(a+1)…(a+n-1).
Бизнесмен взял ссуду m тысяч рублей в банке под 20% годовых. Через сколько лет его долг превысит s тысяч рублей, если за это время он не будет отдавать долг?
Контрольные вопросы Когда используется циклы с предусловием и постусловием?
В чём отличие этих циклов?
Объясните принцип работы цикла с параметром, постусловием, предусловием?