Первый слайд презентации
Программирование на языке Python Циклические алгоритмы 1
Слайд 2
Что такое цикл? 2 Цикл – это многократное выполнение одинаковых действий. Два вида циклов : цикл с известным числом шагов ( сделать 10 раз ) цикл с неизвестным числом шагов (делать, пока не надоест) Задача. Вывести на экран 10 раз слово «Привет». Можно ли решить известными методами ? ?
Слайд 3
Повторения в программе 3 print ( " Привет" ) print ( " Привет " ) ... print ( " Привет " ) Что плохо ? ?
Слайд 5
Как организовать цикл? 5 счётчик = 0 пока счётчик < 10 : print ( " Привет" ) увеличить счётчик на 1 счётчик = 10 пока счётчик > 0 : print ( " Привет " ) уменьшить счётчик на 1 k = 0 while k < 10 : print ( " Пр ивет" ) k += 1 k = 10 while k > 0 : print ( " Пр ивет" ) k -= 1 Как по-другому ? ?
Слайд 6
Сколько раз выполняется цикл? 6 a = 4 ; b = 6 while a < b: 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 зацикливание
Слайд 7
Цикл с условием 7 Задача. Определить количество цифр в десятичной записи целого положительного числа, записанного в переменную n. счётчик = 0 пока n > 0 : отсечь последнюю цифру n увеличить счётчик на 1 n счётчик 1234 0 123 1 12 2 1 3 0 4 Как отсечь последнюю цифру ? ? n = n // 10 Как увеличить счётчик на 1 ? ? счётчик = счётчик + 1 счётчик + = 1
Слайд 8
Цикл с условием 8 count = 0 while : n = n // 10 count += 1 тело цикла начальное значение счётчика n > 0 условие продолжения заголовок цикла Цикл с предусловием – проверка на входе в цикл! !
Слайд 9
Задачи 9 «3»: Ввести с клавиатуры количество повторений и вывести столько же раз какое-нибудь сообщение. Пример : Сколько раз: 5 Привет! Привет! Привет! Привет! Привет!
Слайд 10
Задачи 10 « 4 »: Ввести с клавиатуры натуральное число и определить, сколько раз в его записи встречается цифра 1. Пример : Введите число: 51211 3 « 5 »: Ввести с клавиатуры натуральное число и найти сумму значений его цифр. Пример : Введите число: 1234 C умма цифр 10
Слайд 11
Задачи 11 «6»: Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом. Пример : Введите натуральное число: 12342 Нет. Пример : Введите натуральное число: 12 2 4 5 Да.
Слайд 12
Алгоритм Евклида 12 Алгоритм Евклида. Чтобы найти НОД двух натуральных чисел, нужно вычитать из большего числа меньшее до тех пор, пока они не станут равны. Это число и есть НОД исходных чисел. НОД(1 4,2 1 ) = НОД(1 4, 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
Слайд 13
Алгоритм Евклида 13 Модифицированный алгоритм Евклида. Заменять большее число на остаток от деления большего на меньшее до тех пор, пока меньшее не станет равно нулю. Другое (ненулевое) число и есть НОД чисел. НОД(1998,2) = НОД( 0,2) = 2 пока ??? : если a > b: a = a % b иначе : b = b % a Какое условие ? ? a!= 0 and b!= 0 : Как вывести результат ? ? если a != 0 : вывести a иначе : вывести b
Слайд 14
Задачи 14 «3»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью алгоритма Евклида. Пример : Введите два числа: 21 14 НОД(21,14)=7 « 4 »: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью модифицированного алгоритма Евклида. Заполните таблицу: a 64168 358853 6365133 17905514 549868978 b 82678 691042 11494962 23108855 298294835 НОД( a,b )
Слайд 15
Задачи 15 «5»: Ввести с клавиатуры два натуральных числа и сравнить количество шагов цикла для вычисления их НОД с помощью обычного и модифицированного алгоритмов Евклида. Пример : Введите два числа: 1998 2 НОД(1998,2)=2 Обычный алгоритм: 998 Модифицированный: 1
Слайд 16
Обработка строк в цикле 16 Задача. Ввести строку и определить, сколько в ней цифр. счётчик = 0 для каждого символа строки: если символ – цифра: счётчик += 1 s = input () k = 0 for c in s : if c. isdigit () : k += 1 for c in s : для всех символов в строке если c – это цифра
Слайд 17
Проверка символов 17 if c. isalpha (): print ( " Буква " ) if c. islower (): print ( " Строчная буква " ) if c. isupper (): print ( " Заглавная буква " ) if c. isdigit (): print ( " Цифра " ) if c in [ " а ", " б " ]: print ( " Это а или б " )
Слайд 18
Задачи 18 «3»: Ввести с клавиатуры число в двоичной системе счисления. Определить, сколько в его записи единиц и сколько нулей. Пример : Введите число: 1010100 Нулей: 4 Единиц: 3 « 4 »: Ввести с клавиатуры символьную строку. Если это правильная запись двоичного числа, вывести сообщение «Да», иначе вывести сообщение «Нет». Пример : Введите число: Введите число: 1010100 abcd10 Да. Нет.
Слайд 19
Задачи 19 «5»: Ввести с клавиатуры символьную строку и составить новую строку, удалив из исходной все пробелы. Пример : Введите строку: Вася пошел гулять. Васяпошелгулять.
Слайд 20
Цикл с переменной 20 Задача. Вывести 10 раз слово «Привет!». Можно ли сделать с циклом «пока» ? ? while : print ( " Привет!" ) i = 0 i < 10 i + = 1 for : print ( " Привет! " ) i in range ( 10 ) в диапазоне [0, 10 ) Цикл с переменной: Не включая 10 ! ! range ( 10 ) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Слайд 21
Цикл с переменной 21 Задача. Вывести все степени двойки от 2 1 до 2 10. Как сделать с циклом «пока» ? ? while : print ( 2 **k ) k = 1 k < = 10 k + = 1 for : print ( 2 **k ) k in range ( 1, 11 ) в диапазоне [ 1, 11 ) Цикл с переменной: Не включая 1 1 ! ! range ( 1, 11 ) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 возведение в степень
Слайд 22
Цикл с переменной: другой шаг 22 10 0 81 64 49 36 25 16 9 4 1 Что получится ? ? 1 9 25 49 81 for : print ( k** 2 ) k in range ( 1, 11, 2 ) for : print ( k** 2 ) k in range ( 10, 0, -1 ) шаг 10, 9,8,7,6,5,4,3,2,1 1,3,5,7,9
Слайд 23
Сколько раз выполняется цикл? 23 a = 1 for k in range ( 3 ): a += 1 a = 4 a = 1 for k in range ( 3, 1 ): a += 1 a = 1 a = 1 for k in range ( 1, 3, -1 ): a += 1 a = 1 a = 1 for k in range ( 3, 0, -1 ): a += 1 a = 4
Слайд 24
Задачи 24 «3»: Ипполит задумал трёхзначное число, которое при делении на 15 даёт в остатке 11, а при делении на 11 даёт в остатке 9. Найдите все такие числа. «4»: Вводится натуральное число N. Программа должна найти факториал (обозначается как N! ) – произведение всех натуральных чисел от 1 до N. Например, 5! = 1 · 2 · 3 · 4 · 5 = 120. Пример : Введите число: 5 5!=120.
Последний слайд презентации: Программирование на языке Python Циклические алгоритмы 1
Задачи 25 «5»: Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где N – количество цифр в числе) равна самому числу. Например, 153 = 1 3 + 5 3 + 3 3. Найдите все трёхзначные числа Армстронга.