344.77K
Категория: ПрограммированиеПрограммирование

Программирование циклических алгоритмов. Программирование циклов с заданным числом повторений

1.

Программирование
циклических алгоритмов.
Программирование циклов с
заданным числом повторений
Начала программирования

2.

Алгоритм чтения книги:
открыть книгу;
50 раз повторить:
прочесть 2 страницы,
перевернуть страницу;
закрыть книгу.

3.

Цикл с заданным
числом повторений
(с параметром)
Организация цикла с параметром:
указывается параметр;
указывается начальное и конечное значение
параметра, а также шаг его изменения;
при каждом исполнении тела цикла параметр
изменяется на значение шага;
цикл выполняется пока параметр не
станет больше (меньше) конечного
значения.

4.

Цикл с заданным
числом повторений
(с параметром)
Цикл по i
от 1 до n,
шаг 1
Тело цикла

5.

Запись цикла с параметром
на языке Pascal
<начальное значение> < <конечное значение>
to
for <параметр> :=<начальное значение>
<конечное значение>
downto
begin
<оператор 1>;
<оператор 2>;

end;
<начальное значение> > <конечное значение>
do

6.

Задача
Написать программу, которая возводит число k в целую
положительную степень n.

7.

Блок-схема
алгоритма
Начало
k, n
r:=1
Цикл по i
от 1 до n
r:=r*k
r
Конец

8.

Написание программы
program stepen;
var
n, i: byte;
k, r: real;
begin
writeln ('Программа вычисления значения k^n.');
write ('k=');
readln (k);
write ('n=');
readln (n);
r:=1;
for i:=1 to n do
r:=r*k;
write ('k^n=', r);
end.
Исходный код программы

9.

Вложенные циклы
Вложенный
цикл
for i:=1 to n do
begin
<оператор 1>;
for j:=i+1 to n+1 do
<оператор 2>;

end;

10.

15

11.

Задача Гаусса
Однажды учитель дал задачу: найти сумму всех целых чисел от единицы до ста. По заведенному порядку
аспидные доски с решением задач складывались на середине стола стопкой, а потом стопка
переворачивалась, и учитель проверял задания.
Едва только учитель кончил диктовать, как послышался голос Гаусса: — А я уже решил!
При этом свою доску с решением он положил на середину стола.
Долго решали ученики задачу. Тем временам учитель прохаживался между партами и не без ехидства
сделал Гауссу замечание:
— Карл, ты, наверное, ошибся! Нельзя в столь короткое время решить столь трудную задачу.
Уверенный в правильности своего решения, Гаусс смело ответил учителю:
— Извините, господин учитель! Я правильно решил задачу.
— Посмотрим, насколько правильно. А если неправильно? — И он угрожающе хлопнул хлыстом по своей
ноге...
Каково же было изумление учителя, когда при проверке оказалось, что Гаусс решил задачу совершенно
правильно, причем само решение отличалось чрезвычайной простотой и остроумием.
— Карл, расскажи классу, как ты решил задачу,—обратился к нему учитель.
Решить задачу Гаусса, используя циклический алгоритм.

12.

Блок-схема
алгоритма
Начало
n:=100
s:=0
Цикл по i
от 1 до n
s:=s+i
s
Конец

13.

Program gauss_summa;
var i,s,n:integer;
BEGIN
n:=100;
s:=0;
for i:=1 to n do
s:=s+i;
writeln('S= ',s);
readln
END.

14.

Начало
Нет
Ты парень?
Руки на пояс
i=1,2
Руки вверх
Руки вперед
присядь
встань
Опусти руки
i=1,2
Наклонись влево
Наклонись вправо
да
Нет
Устал(а)?
Да
Конец

15.

Д.З. №199, 200, 201, 202

16.

Практическое задание.
Написать программу, которая 10 раз выводит на экран Ваши имя и фамилию.

17.

Program а1;
Var i:integer;
Begin
For i:=1 to 10 do
Writeln (‘Иванов Иван’);
Readln;
End.

18.

Написать программу, которая выводит таблицу квадратов
первых 10 целых положительных чисел.

19.

Program a2;
Var a:integer;
Begin
For a:=1 to 10 do
Writeln (a,’ ‘,sqr(a));
Readln;
End.
English     Русский Правила