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

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

1.

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

2.

Линейные алгоритмы
Линейным называется алгоритм, в котором
используется всего одна конструкция –
следование. Он состоит из операторов,
записанных последовательно в порядке их исполнения.

3.

Разветвляющийся алгоритм
Разветвляющийся алгоритм содержит ветвления.
Ветвление – это алгоритмическая конструкция, в
которой, в зависимости от некоторого условия,
происходит исполнение одной из двух
последовательностей команд – ветвей.

4.

Программирование циклических
алгоритмов
1
2
3
Определение
циклического
алгоритма.
Виды циклов.
Запись цикла с
заданным условием
продолжения работы.

5.

Цикл
Да
Ветвь
1
Условие
Нет
Ветвь
2

6.

Цикл
Дерево не
упало
Да
Удар топором по
дереву
Нет

7.

Циклические алгоритмы
Циклические алгоритмы содержат, помимо прочих,
конструкцию повторения.
Повторение (цикл) – это алгоритмическая конструкция,
представляющая собой последовательность действий,
которая выполняется многократно.

8.

Циклические алгоритмы
Последовательность действий, исполняемых в цикле,
называется телом цикла.
С заданным условием
окончания работы
Циклы
С заданным условием
продолжения работы
С заданным числом
повторений

9.

Цикл с заданным условием
продолжения работы
(с предусловием)
Условие
Да
Тело цикла
Нет
Дерево не
упало
Да
Удар топором по дереву
Нет

10.

Запись цикла с предусловием
в языке Pascal
Тело
цикла
while <условие> do
begin
<оператор 1>;
<оператор 2>;

end;
while <условие> do
<оператор 3>;

11.

Задача
Написать программу вычисления наибольшего
общего делителя двух целых положительных чисел
по алгоритму Эвклида.
Наибольший общий делитель двух чисел – это наибольшее число, на которое
без остатка делятся оба числа.
Словесное описание алгоритма Эвклида
Пока числа не равны между собой – наибольшее
Эвклид из них заменяется разностью
его самого и наименьшего числа. После чего выводится любое из них.

12.

Блок-схема алгоритма:
Начало
a, b
a≠b
Нет
Да
Да
a>b
a:=a–b
Нет
b:=b–a
a
Конец

13.

Написание программы
program nod;
var
a, b: integer;
begin
writeln ('Программа расчёта НОД двух чисел. Введите два числа.');
readln (a, b);
while a<>b do
if a>b
then a:=a-b
else b:=b-a;
write ('НОД равен ', a);
end.
Исходный код программы

14.

Задача
Написать программу вычисления наибольшего
общего делителя двух целых положительных чисел
по алгоритму Эвклида.
a >> b
При a = 1 000 000 и b = 1
цикл повторится
999 999 раз.
Словесное описание усовершенствованного алгоритма Эвклида
Пока числа не равны 0 – наибольшее из них заменяется остатком от деления
себя на наименьшее число. После чего ненулевое число будет равно НОД.

15.

Изменение блок-схемы
Начало
a, b
a≠0и
a≠b
b≠0
Да
Да
a>b
a:=a–b
a:=ост.(a/b)
Нет
Нет
b:=b–a
b:=ост.(b/a)
aa
+b
Конец

16.

Изменение программы
program nod;
var
a, b: integer;
begin
writeln ('Программа расчёта НОД двух чисел. Введите два числа.');
readln (a, b);
while (a<>0) and (b<>0) do
if a>b
then a:=a mod b
else b:=b mod a;
if a<>0
then write ('НОД равен ', a)
else write ('НОД равен ', b);
end.
Исходный код программы

17.

Задача
Написать программу для перевода целых положительных
чисел из десятичной системы счисления в двоичную.
Словесное описание алгоритма
Число в десятичной системе счисления делить на 2 и записывать остатки от
деления, пока оно не станет равно 0. После чего вывести остатки от
деления в порядке, обратном записи.
Обозначим:
с – число в десятичной системе счисления;
s – число в двоичной системе счисления;
p – промежуточная строка.

18.

Написание программы
program DecToBin;
var
c: integer;
s, p: string;
begin
writeln ('Программа перевода чисел из десятичной системы счисления в
двоичную. Введите число в десятичной системе счисления.');
readln (c);
s:='';
while c>0 do
begin
str (c mod 2, p);
s:=p+s;
c:=c div 2;
end;
write ('Число в двоичной системе счисления: ', s);
end.
Исходный код программы

19.

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

20.

Программирование циклических алгоритмов.
Программирование циклов с заданным
условием продолжения работы
Запись цикла с заданным условием продолжения работы (с предусловием) на языке
Pascal:
while <условие> do
begin
<оператор 1>;
<оператор 2>;

end;
English     Русский Правила