Автор работы: Пользователь скрыл имя, 27 Ноября 2016 в 11:43, контрольная работа
Цель: приобретение навыков составления схем алгоритмов и программ циклических вычислительных процессов.
Программирование циклов.
Тема: составление программ циклических вычислительных процессов.
Цель: приобретение навыков составления схем алгоритмов и программ циклических вычислительных процессов.
Порядок выполнения задания.
1. Ознакомиться с задачей.
2. Составить блок- схему алгоритма решения задачи.
3. Написать программу на языке Паскаль, используя операторы цикла.
4. Ввести программу в память компьютера, выполнить отладку программы.
5. Выполнить счёт по программе. Получить результаты. Показать результаты выполнения программы преподавателю.
7. Оформить и сдать отчёт.
Циклом называется многократно выполняемая последовательность действий (операторов). Цикл - типичная структура, характерная для программ, реализуемых на ЭВМ
Начальные присваивания
I = Iнач
Тело цикла
I = I + H
I Iкон
да
нет
Простейшим примером циклического процесса
является задача табулирования функции у = f(x) переменной х, изменяющейся в интервале от хо до xn с постоянным шагом h. Пусть у = cos х, тогда в простейшем случае цикл можно организовать с помощью операторов If и Goto:
График функции у = cosх
Цикл с операторами If и Goto:
Найти функцию y=cos x при x0=0, h=/10, xn=
начало
x >
x = x + /10
конец
x=0
нет
да
= 3,14
y = cos x
x, y
Программа на языке Паскаль
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.
Однако в языке Pascal существуют специальные операторы цикла, которые обеспечивают более компактную и наглядную запись программы:
оператор цикла с параметром,
оператор цикла с предусловием,
оператор цикла с постусловием.
Цикл с параметром
i:=iнч,i кон.,.h
Тело цикла
да
нет
Оператор цикла с параметром
Оператор цикла с параметром позволяет организовать цикл с заданным числом повторений. Число повторений в этом случае подсчитывается с помощью специальной переменной {параметра цикла}, для которой задается начальное и конечное значения и шаг ее изменения.
Формат оператора цикла с параметром :
for <параметр цикла> := <выражение 1>
{to или down to} <выражение 2> do <оператор> .
При использовании в цикле служебного слова to значение параметра цикла с каждым шагом увеличивается на 1, при использовании downto - уменьшается на 1. Цикл начинается, когда параметр цикла равен выражению 1, и заканчивается, когда параметр цикла равен выражению 2.
Пример: используется оператор 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 первых натуральных чисел
начало
I > 10
S=0
I = I + 1
S = S + I
S
конец
да
нет
I=0
Сумма первых десяти натуральных чисел
Program sum;
Var
I, s: integer;
Begin
s:=0;
for i:=1 to 10 do
s:=s + i;
Writeln (‘s=‘,s:5)
End.
Вывести чётные числа в порядке убывания от 10 до 0
начало
I 0
I = I - 2
I = 10
конец
I
нет
да
Программа
Program htn;
var
I, n: integer;
begin
i:=10;
for n:=1 to 6 do
begin
write (i:2);
i:=i-2;
end
end.
Составить таблицу умножения числа 11
начало
N =1
N ≤ 10
X = 11N
X,N
конец
да
нет
N = N + 1
Программа
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.
,
Начальные присваивания
Тело цикла
нет
да
Начальные присваивания
Тело цикла
Нет
да
условие
условие
Цикл с постусловием
(условные циклические алгоритмы)
Цикл с предусловием
Особенности условных циклических алгоритмов
Оператор цикла while…do
while…do (пока…делать)
While условие do оператор
Оператор, стоящий после слова do, является телом цикла, выполняется циклически, пока логическое условие истинно. Условие – логическая константа, переменная или логическое выражение. Если тело цикла включает более одного оператора, необходимо использовать операторные скобки:
While условие do
begin
оператор 1;
оператор 2;
…
оператор n;
end.
Оператор while…do реализует цикл с предусловием.
Пример цикла while…do
Исходные данные
1 шаг
2 шаг
3 шаг
НОД (a, b)=5
A=25
A=10
A=10
A=5
B=15
B=15
B=5
B=5
Программа нахождения НОД (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 – описание целочисленных переменных}
Оператор цикла с постусловием repeat…until
Repeat
оператор 1;
оператор 2;
…
оператор n;
Until условие;
В цикле Repeat действует алгоритм: выполнять тело цикла, пока не станет истинным условие, т. е. пока условие ложно, выполняется цикл.
Программа нахождения
НОД (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.
Контрольные вопросы
Литература
Информация о работе Составление программ циклических вычислительных процессов