Циклические алгоритмы. Реализация циклов в Object Pascal
План
Два основных вида циклов:
Структура цикла
Задача о «монетах»
2. Цикл с предусловием в Object Pascal
3. Цикл с постусловием в Object Pascal
4. Цикл с параметром в Object Pascal
Задача: вывести на экран символы в обратном порядке
328.50K
Категория: ПрограммированиеПрограммирование

Циклические алгоритмы. Реализация циклов в Object Pascal

1. Циклические алгоритмы. Реализация циклов в Object Pascal

2. План

1.
2.
3.
4.
Понятие «цикл»
Цикл с предусловием в Object Pascal
Цикл с постусловием в Object Pascal
Цикл с параметром в Object Pascal

3.

Цикл – это группа
последовательных действий,
завершающаяся переходом
при выполнении некоторого
условия на первую команду
этой группы.

4. Два основных вида циклов:

1. Цикл с известным числом
повторений.
2. Циклы с неизвестным количеством
повторений.

5. Структура цикла


Начало: подготовка цикла
Проверка:
определяет
момент
выхода из цикла
Тело цикла: содержит рабочую часть
и
продвижение
(обновление
параметра
или
величины,
его
заменяющей)

6. Задача о «монетах»

Начало: …
Проверка: в кармане есть монеты?
Тело цикла: взять монету из кармана
! Организовать цикл с известным
числом повторений и цикл с
неизвестным числом повторений

7. 2. Цикл с предусловием в Object Pascal

Пока условие выполнять
Серия
Конец –цикл
условие
Да
S1
while <условие> do <оператор>;
Нет

8.

Задача: найти сумму ряда
S = 1+1/2+1/3+…+1/n c точностью до e=0,001
Const e=0.001;
Var s:real; n:integer;
begin
s:=0; n:=1;
while 1/n>e do
begin
s:=s+1/n;
inc(n);
end;
writeln('summ = ',s);
end.

9. 3. Цикл с постусловием в Object Pascal

Выполнять
Серия
Пока условие
S1
Нет
условие
repeat
<тело цикла>
until <условие>;
Да

10.

Задача: среднее арифметическое введенных
чисел
Var s,a:real; n:integer;
begin
s:=0; n:=0;
repeat
readln(a); s:=s+x; inc(n);
until a=0;
writeln('srednee = ',s/n);
end.

11. 4. Цикл с параметром в Object Pascal

Для i от n до m выполнять
Серия
Конец –цикл
i:=n,m
Нет
Да
S1
for <параметр>:=<нач_знач> to <кон.знач>
do <оператор>;

12.

Задача: найти сумму чисел от 1 до N
Var n, s, i : integer;
begin
s:=0;
writeln('vvedite N');
readln(n);
for i:=1 to n do
s:=s+n;
writeln('sum = ',s);
readln;
end.

13.

Другая форма оператора
for <парам.>:=<нач_знач> downto <кон.знач>
do <оператор>;

14. Задача: вывести на экран символы в обратном порядке

Var i : integer;
begin
for i:=255 downto 0 do
write(chr(i),' ');
readln;
end.
English     Русский Правила