Реализация алгоритмов с повторением.
Выбор вида цикла при составлении алгоритма.
Материалы к уроку
- Цикл for (инфографика)
- "Информатика, 8 класс". К.Ю. Поляков, Е.А. Еремин (раздел учебника, с. 53-65)
- Программирование на Python (презентация к учебнику, слайды 99-131)
- "Лаборатория линуксоида". Цикл for.
- Python 3 для начинающих. Списки (list). Функции и методы списков.
Видеокомментарий "Цикл for в Python на примере решения отдельных задач"
Среда для работы: Repl.It (авторизованная).
Задачи урока
Алгоритм Евклида для нахождения наибольшего общего делителя (НОД) двух натуральных чисел
- стандартный: заменять бóльшее из чисел на их разность до тех пор, пока они не станут равны; при этом полученное значение и есть их НОД этих чисел;
- модифицированный: заменять бóльшее из чисел на остаток от деления бóльшего на меньшее, пока этот остаток не станет равен нулю; при этом второе число на последнем шаге и есть их НОД этих чисел.
Дано натуральное число N. Выведите все четные числа из диапазона 1..N, для которых квадрат этого числа заканчивается на ту же цифру, что и само число.
Задачи для работы
- Найти сумму цифр натурального числа N, введенного с клавиатуры. Например, для числа 123 выводится сумма 1+2+3 = 6.
- Вычислить и вывести на экран квадраты целых чисел от a до b.
- Вычислить сумму целых чисел от a до b (a не больше b).
- Найти наибольшую цифру в записи натурального числа, введенного с клавиатуры.
- Дано целое число, не меньшее 2. Выведите его наибольший натуральный делитель, отличный от этого числа.
- Пользователь вводит с клавиатуры неизвестное количество целых чисел, ввод заканчивается нулём. Определить, сколько получено чисел, которые делятся на 3.
- Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ю степень (где N – количество цифр в числе) равна самому числу. Например, 153 = 13+ 53+ 33. Найти все трёхзначные числа Армстронга.
- Написать программу, которая получает с клавиатуры натуральные числа a и b, и выводит квадраты всех натуральных чисел на отрезке [a;b]. Например, если ввести 4 и 6, программа должна вывести
4*4=16
5*5=25
6*6=36 - Написать программу, которая получает с клавиатуры 10 чисел и вычисляет их сумму и произведение.
- Пользователь по одному вводит натуральные числа, которые программа выводит на экран, попутно подсчитывая сумму неотрицательных чисел из введенных. Признаком окончания ввода со стороны пользователя является ввод числа "0", после чего программа сообщает пользователю сумму введенных неотрицательных чисел. Если сумма станет больше некоторого числа N, программа сообщает значение суммы, а также добавляет, что устала и завершает работу.
- * Компания бабушек поехала на мотоциклах на курсы по компьютерной грамотности. Впереди на мотоциклах без глушителя ехали две бабушки, за ней - три, потом - пять, потом – восемь и т. д. Сколько бабушек ехало на занятия, если потрясенные пешеходы всего насчитали N рядов? Смогли ли бабушки занять все места в классе, если там стояло K рядов по M компьютеров в каждом? Сколько свободных мест осталось в классе?
- * Капитан Флинт с пиратами выкопал на необитаемом острове огромный клад из старинных золотых монет. Сначала Флинт взял себе наибольшее количество монет, не превышавшее половины сокровища, а остальные отдал своим разбойникам. Но на эту часть клада наложил лапу его заместитель, который взял по примеру начальника не больше половины монет, а остальные отдал подчиненным. Далее в каждой компании, которая оставалась, находился старший, который забирал наибольшее количество монет, не превышавшее половины остатка, и отдавал остальное другим. Сколько монет досталось последнему разбойнику, если всего было К разбойников и М монет? Были ли в команде разбойники, которые не получили ничего?
Самостоятельное задание
Написать коды для решения двух задач с помощью циклов разных типов. Реализовать коды в среде программирования. Тексты задач и скриншоты выполнения собрать в файл DOCX и сдать в Google Классе.
Если нет возможности выполнить работу на компьютере, разборчиво написать коды программ на листке или в тетради. Фото кодов сдать в Классе или другим удобным способом.
Немає коментарів:
Дописати коментар