Циклические алгоритмы

Содержание

Слайд 2

Что такое цикл?

Цикл – это многократное выполнение одинаковых действий.

Два вида циклов:
цикл с

Что такое цикл? Цикл – это многократное выполнение одинаковых действий. Два вида
известным числом шагов (сделать 10 раз)
цикл с неизвестным числом шагов (делать, пока не надоест)

Задача. Вывести на экран 10 раз слово «Привет».

Слайд 3

Повторения в программе

print("Привет")
print("Привет")
...
print("Привет")

Повторения в программе print("Привет") print("Привет") ... print("Привет")

Слайд 4

Блок-схема цикла

начало

конец

да

нет

тело цикла

Блок-схема цикла начало конец да нет тело цикла

Слайд 5

Как организовать цикл?

счётчик = 0
пока счётчик < 10:
print("Привет")
увеличить счётчик на

Как организовать цикл? счётчик = 0 пока счётчик print("Привет") увеличить счётчик на
1

счётчик = 10
пока счётчик > 0:
print("Привет")
уменьшить счётчик на 1

k = 0
while k < 10:
print ( "Привет" )
k += 1

k = 10
while k > 0:
print ( "Привет" )
k -= 1

Слайд 6

Цикл while

Цикл while (“пока”) позволяет выполнить одну и ту же последовательность действий, пока проверяемое

Цикл while Цикл while (“пока”) позволяет выполнить одну и ту же последовательность
условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.
Синтаксис цикла while в простейшем случае выглядит так:
while условие:
блок инструкций

Слайд 7

Сколько раз выполняется цикл?

a = 4; b = 6
while a < b:

Сколько раз выполняется цикл? a = 4; b = 6 while a
a += 1

2 раза
a = 6

a = 4; b = 6
while a < b: a += b

1 раз
a = 10

a = 4; b = 6
while a > b: a += 1

0 раз
a = 4

a = 4; b = 6
while a < b: b = a - b

1 раз
b = -2

a = 4; b = 6
while a < b: a -= 1

зацикливание

Слайд 8

Цикл с условием

Задача. Определить количество цифр в десятичной записи целого положительного числа,

Цикл с условием Задача. Определить количество цифр в десятичной записи целого положительного
записанного в переменную n.

счётчик = 0
пока n > 0:
отсечь последнюю цифру n
увеличить счётчик на 1

n = n // 10

счётчик = счётчик + 1

счётчик += 1

Слайд 9

Цикл с условием

count = 0
while :

n = n // 10
count +=

Цикл с условием count = 0 while : n = n //
1

тело цикла

начальное значение счётчика

n > 0

условие продолжения

заголовок цикла

Слайд 10

Задачи

«3»: Ввести с клавиатуры количество повторений и вывести столько же раз какое-нибудь

Задачи «3»: Ввести с клавиатуры количество повторений и вывести столько же раз
сообщение.
Пример:
Сколько раз:
5
Привет!
Привет!
Привет!
Привет!
Привет!

Слайд 11

Задачи

«4»: Ввести с клавиатуры натуральное число и определить, сколько раз в его

Задачи «4»: Ввести с клавиатуры натуральное число и определить, сколько раз в
записи встречается цифра 1.
Пример:
Введите число:
51211
3

«5»: Ввести с клавиатуры натуральное число и найти сумму значений его цифр.
Пример:
Введите число:
1234
Cумма цифр 10

Слайд 12

Задачи

«6»: Ввести натуральное число и определить, верно ли, что в его записи

Задачи «6»: Ввести натуральное число и определить, верно ли, что в его
есть две одинаковые цифры, стоящие рядом.
Пример:
Введите натуральное число:
12342
Нет.
Пример:
Введите натуральное число:
12245
Да.

Слайд 13

Задачи

«7»: По данному целому числу N распечатайте все квадраты натуральных чисел, не

Задачи «7»: По данному целому числу N распечатайте все квадраты натуральных чисел,
превосходящие N, в порядке возрастания.
Пример:
Введите натуральное число:
50
1 4 9 16 25 36 49
Пример:
Введите натуральное число:
5
1 4

Слайд 14

Задачи

«7»: Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано

Задачи «7»: Программа получает на вход последовательность целых неотрицательных чисел, каждое число
в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0). Числа, следующие за числом 0, считывать не нужно. (доп – сумма и среднее)
Пример:
Введите последовательность (0 - конец):
1
7
9
0
5
3

Слайд 15

Задачи

«8»: Дано целое число N (> 1). Если оно является простым, т. е. не имеет положительных делителей,

Задачи «8»: Дано целое число N (> 1). Если оно является простым,
кроме 1 и самого себя, то вывести 1, иначе вывести 0.
Пример:
Введите число:
17
1

Слайд 16

Алгоритм Евклида

Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать из

Алгоритм Евклида Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать
большего числа меньшее до тех пор, пока они не станут равны. Это число и есть НОД исходных чисел.

НОД(14,21) = НОД(14,7) = НОД(7, 7) = 7

пока a != b:
если a > b:
a -= b # a = a - b
иначе:
b -= a # b = b - a

while a != b:
if a > b:
a -= b
else:
b -= a

НОД(1998,2) =

НОД(1996,2) = … = НОД(2, 2) = 2

Слайд 17

Алгоритм Евклида

Модифицированный алгоритм Евклида. Заменять большее число на остаток от деления большего

Алгоритм Евклида Модифицированный алгоритм Евклида. Заменять большее число на остаток от деления
на меньшее до тех пор, пока меньшее не станет равно нулю. Другое (ненулевое) число и есть НОД чисел.

НОД(1998,2) = НОД(0,2) = 2

пока ???:
если a > b:
a = a % b
иначе:
b = b % a

a!=0 and b!=0:

если a != 0:
вывести a
иначе:
вывести b

Слайд 18

Задачи

«3*»: Ввести с клавиатуры два натуральных числа и найти их НОД с

Задачи «3*»: Ввести с клавиатуры два натуральных числа и найти их НОД
помощью алгоритма Евклида.
Пример:
Введите два числа:
21 14
НОД(21,14)=7

«4»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью модифицированного алгоритма Евклида. Заполните таблицу:

Имя файла: Циклические-алгоритмы.pptx
Количество просмотров: 30
Количество скачиваний: 0