Similar presentations:
Программирование циклов. Тема 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…dowhile…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