2.38M
Категория: ПрограммированиеПрограммирование

Программирование циклов. Тема 3

1.

Тема: составление программ циклических вычислительных
процессов.
Цель: приобретение навыков составления схем алгоритмов и
программ циклических вычислительных процессов.
Порядок выполнения задания.
1. Ознакомиться с задачей.
2. Составить блок- схему алгоритма решения задачи.
3. Написать программу на языке Паскаль, используя
операторы цикла.
4. Ввести программу в память компьютера, выполнить
отладку программы.
5. Выполнить счёт по программе. Получить результаты.
Показать результаты выполнения программы
преподавателю.
7. Оформить и сдать отчёт.

2.

Циклом называется многократно выполняемая последовательность
действий (операторов). Цикл - типичная структура, характерная для
программ, реализуемых на ЭВМ
Начальные
присваивания
I = Iнач
Тело цикла
I=I+H
да
I Iкон
нет

3.

Найти функцию y=cos x при x0=0, h= /10, xn=
X0, xn,
h
= 3,14
x=x0
x > xn
нет
y = cos x
x, y
x=x+h
конец
да

4.

Программа на языке Паскаль
Program tab;
Var
x,x0, xn, h, y: real;
Label
25;
Begin
Readln (x0, xn, h);
х := х0;
25: у := cos(x);
Writeln( x, у);
х := х + h;
lf x<=xn then Goto 25;
end.

5.

Однако в языке Pascal существуют специальные
операторы цикла, которые обеспечивают более
компактную и наглядную запись программы:
оператор цикла с параметром,
оператор цикла с предусловием,
оператор цикла с постусловием.

6.

Цикл с параметром
да
Тело цикла
i:=iнч,i кон.,.h
нет

7.

Оператор цикла с параметром
Оператор цикла с параметром позволяет организовать цикл
с заданным числом повторений. Число повторений в этом
случае
подсчитывается
с
помощью
специальной
переменной {параметра цикла}, для которой задается
начальное и конечное значения и шаг ее изменения.
Формат оператора цикла с параметром :
for <параметр цикла> := <выражение 1>
{to или down to} <выражение 2> do <оператор> .

8.

При использовании в цикле служебного слова to
значение параметра цикла с каждым шагом
увеличивается на 1, при использовании downto уменьшается на 1. Цикл начинается, когда
параметр цикла
равен выражению 1, и
заканчивается, когда параметр цикла равен
выражению 2.

9.

Пример: используется оператор for... do:
Program tab;
Var
x, x0, xn, h, y: real; i , n : integer;
begin
readln (x0, xn, h);
n := trunc ((xn - xo) / h)+1;
x := х0;
for i := 1 to n do
begin
{операторные скобки begin - end применяются, когда внутри цикла
необходимо использовать более одного оператора}
у := cos (x);
Writeln (х, у);
х := х + h;
end
end.

10.

Правила программирования циклов с
параметром :
• параметр цикла, его начальное и конечное значения
должны быть одинакового типа, но не вещественного;
• нельзя менять внутри цикла значения параметра,
выражения 1 и выражения 2;
• в цикл нельзя входить через оператор Goto;
• цикл не выполняется вообще, если начальное значение
больше конечного значения для to (для downto - наоборот);
• после служебного слова do может стоять только один
оператор;
• если необходимо выполнить несколько операторов, то их
заключают в операторные скобки begin - end;
• из составного оператора, входящего в оператор цикла,
можно выйти до окончания цикла с помощью оператора
Goto.

11.

Найти сумму 10 первых натуральных чисел
начало
S=0
I=0
I > 10
нет
I=I+1
S=S+I
конец
да
S

12.

Вывести четные числа в порядке
убывания от 10 до 0

13.

Программа
Program htn;
var
I, n: integer;
begin
i:=10;
for n:=1 to 6 do
begin
write (i:2);
i:=i-2;
end
end.

14.

Составить таблицу умножения числа 11
начало
N=0
N ≤ 10
да
X = 11N
X,N
N=N+1
конец
нет

15.

Программа
Program pr11;
Const n=11;
Var
i, p: integer;
Begin
for i:=1 to 10 do
begin
p:=i*n;
writeln (i, ’*’, n, ‘=‘, p);
end
End.

16.

Цикл с постусловием
Цикл с предусловием
(условные циклические алгоритмы)
Начальные
присваивания
Тело цикла
нет
условие
да
Начальные
присваивания
условие
да
Тело цикла
Нет

17.

Особенности условных циклических алгоритмов
В цикле с предусловием условие проверяется до тела
цикла, в цикле с постусловием – после тела цикла;
В цикле с постусловием тело цикла выполняется хотя бы
один раз, в цикле с предусловием тело цикла может не
выполниться ни разу;
В цикле с предусловием проверяется условие продолжения
цикла, в цикле с постусловием – условие выхода из цикла.

18.

Оператор цикла while…do
while…do (пока…делать)
While условие do оператор
Оператор, стоящий после слова do, является телом цикла,
выполняется циклически, пока логическое условие истинно.
Условие – логическая константа, переменная или логическое
выражение. Если тело цикла включает более одного оператора,
необходимо использовать операторные скобки:
While условие do
begin
оператор 1;
оператор 2;

оператор n;
end.
Оператор while…do реализует цикл с предусловием.

19.

Пример цикла while…do
Найти наибольший общий делитель (НОД) двух натуральных чисел A,
B.
Алгоритм Евклида реализует эту задачу: будем уменьшать каждый раз
большее из двух чисел на величину меньшего до тех пор, пока оба
значения не станут равными. Например:
Исходные
данные
1 шаг
2 шаг
3 шаг
A=25
A=10
A=10
A=5
B=15
B=15
B=5
B=5
НОД (a, b)=5

20.

Программа нахождения НОД (a, b)
Program evklid;
Var
a, b: word;
Begin
Writeln (‘a=‘); readln (a);
Writeln (‘b=‘); readln (b);
While a<>b do
IF A>B THEN
A:=A-B
ELSE
B:=B-A;
WRITELN (‘НОД=‘, A:2);
END.
{a, b: word – описание целочисленных переменных}

21.

Оператор цикла с постусловием
repeat…until
Repeat
оператор 1;
оператор 2;

оператор n;
Until условие;
В цикле Repeat действует алгоритм: выполнять тело
цикла, пока не станет истинным условие, т. е. пока
условие ложно, выполняется цикл.

22.

Программа нахождения НОД (a, b)
Оператор цикла repeat…until
Program evklid;
Var
a, b: word;
Begin
Writeln (‘a=‘); readln (a);
Writeln (‘b=‘); readln (b);
repeat
IF A>B THEN
A:=A-B
ELSE
B:=B-A;
Until a=b; {закончить работу при условии, что a=b}
WRITELN (‘НОД=‘, A:2);
END.

23.

Контрольные вопросы
Какая форма организации действий называется
циклом?
Какие циклы различают?
Какие составные части различают в
циклическом алгоритме?
Что такое тело цикла?
Что такое параметр цикла?
Как задается формат цикла с параметром?
В каких случаях применяют служебное слово
to в каких случаях - downt ?
Какая формула позволяет определить
количество повторений тела цикла?

24.

Литература
Учебное пособие по информатике для
студентов 1 курса под ред. Чекановой Н.Н. с.
87 - 97
English     Русский Правила