Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемИнна Барашкова
2 Очень часто приходится повторять определенную часть алгоритма для различных значений аргумента. Для организации таких процессов используется алгоритмы с циклической структурой. Они составляются по правилам на основе различных закономерностей. На языке программирования
3 Для выполнения процессов повторения на языке Паскаль предусмотрены три вида операторов цикла: Если заранее не известно количество повторений оператора (или составного оператора) и задано только условие повторения, то применяются операторы WHILE, REPEAT. арифметический цикл – FOR цикл с предусловием – WHILE цикл с постусловием – REPEAT FOR WHILE REPEAT
4 Аналогичен оператору WHILE, с той разницей, что условие повторения цикла проверяется в конце цикла, поэтому тело цикла выполняется хотя бы один раз. Вторая особенность – тело цикла выполняется, если условие ложно, и прекращается, если условие истинно (в операторе WHILE было наоборот). Этот оператор использует ключевые слова: читается антил, переводится до). читается рипит, а переводится повторять)
5 Оператор состоит из заголовка REPEAT, тела цикла и условия повторения. Синтаксическая диаграмма изображена на рисунке. REPEAT ОПЕРАТОР UNTIL УСЛОВИЕ ;
6 Блок-схемаФорма записи REPEAT ; … ; UNTIL ; ОПЕРАТОР УСЛОВИЕ НЕТ ДА
7 - привести к результату за конечное время, значит количество шагов алгоритма не должно быть бесконечным. Между ключевыми словами REPEAT и UNTIL располагается простой и составной оператор. Так как оператор заканчивается ключевым словом UNTIL, то здесь операторные скобки BEGIN и END не применяются. В операторе REPEAT внутри цикла должен быть хотя бы один оператор, действуйщий на условия выполнения. В противном случае возможно, что процесс будет повторятся бесконечно.
8 ПРИМЕР 1 По алгоритму Евклида найдите НОД двух заданных чисел m и n. Блок-схема задачи. Блок-схема обеспечивает наглядное изображение способа решения задачи и способствует составлению программы без ошибки. Начало Ввод m,n x:=m y:=n x>y x:=x-y e:=x Конец Вывод e x=y y:=y-x нет
9 PROGRAMM NOD; {НАХОЖДЕНИЕ NOD ДВУХ ЧИСЕЛ} VAR n, m, x, e, y: integer; BEGIN write (введите числа m, n:); readln (m, n); x:= m; y:=n; REPEAT if x>y then x:=x-y else y:=y-x UNTIL x=y; e:=x; WRITELN (НОД =, e); END.
10 ПРИМЕР 2 Составить программу вычисления n! для любого n. n!=1 * 2 * 3 *… * n. Здесь n сначала приравнивается к 1 и в каждом повторении к его значению прибавляется 1. На алгоритмическом языке на языке Паскаль Program factorial; {ВЫЧИСЛЕНИЕ ФАКТОРИАЛА} VAR n, i: INTEGER; p: LONGINT; BEGIN WRITE (введите число n: ); READLN (n); {ВВОД ПОЛОЖИТЕЛЬНОГО ЦЕЛОГО ЧИСЛА} p:=1; REPEAT p:=p*n; n:=n-1 UNTIL n=0; WRITELN (n! =, p); END. Алг факториал 1 Арг i, n (цел i, n/ вещ p) Рез p Нач p:=1; ПОВТОРЯТЬ p:=p*n; n:=n-1 ДО n=0; ВЫВОД p кон
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.