МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ
«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»
Методическая разработка
«Цикл while»
к дополнительной общеобразовательной
общеразвивающей программе
технической направленности
«Лаборатория робототехники»
Возраст детей: 10-17 лет
Автор: Костычев Вадим Александрович
г. Заречный Пензенской области
2023 г.
В ходе изучения программирования на основе языка Python большую роль играет разработка проектов. Они позволяют отработать как навыки программирования, вспомнить работу различных функций, команд, развить навыки построения алгоритмов.
Целью данной разработки является повышение интереса учащихся к техническому творчеству посредством работы над проектом на языке Python.
Данная методическая разработка используется как обучающий пример для работы по дополнительной общеобразовательной общеразвивающей программе технической направленности «Лаборатория робототехники». С их помощью учащиеся смогут применить теоретические знания на практике, построив сложные алгоритмы для решения различных задач.
Мы уже рассмотрели цикл for, который повторяет действия определенное количество раз. В этом материале мы разберем работу цикла while.
Цикл while очень похож на цикл for, но он используется в тех ситуациях, когда количество повторений неизвестно. Количество повторений зависит от выполнения условия проверки, аналогично оператору ветвления if.
Пример записи цикла:
while s
i = i + 1
s = s + 5
Очень важно обратить внимание на то, что проверяемая в условии переменная должна изменяться внутри цикла, иначе вы рискуете из него не выйти, и программа будет выполняться бесконечно.
Задача 1. СТОП
На вход программе будет подаваться неизвестное количество строк. Необходимо выводить строки, пока не будет принята строка «СТОП»
Входные данные:
Мексика
Аргентина
Канада
Япония
СТОП
Выходные данные:
Мексика
Аргентина
Канада
Япония
Листинг программы:
a = input()
while a != 'СТОП':
print(a)
a = input()
Задача 2. Неотрицательные числа
На вход подается произвольное количество чисел, каждое на отдельной строке. Выведите сумму чисел, идущих до первого отрицательного числа.
Входные данные:
4
6
3
6
-5
Выходные данные:
19
Листинг программы:
a = int(input())
summ = 0
while a = 0:
summ += a
a = int(input())
print(summ)
Задача 3. Средний балл
На вход дается неограниченное количество чисел с оценками ученика. Выведите его средний балл. Подсчет оценок заканчивается когда одно из получаемых с клавиатуры чисел меньше 2 или больше 5.
Входные данные:
4
4
5
3
4
3
1
Выходные данные:
3.8333333333333335
Листинг программы:
a = int(input())
k = 0
summ = 0
while 2
summ = summ + a
k = k + 1
a = int(input())
print(summ / k)
Задача 4. Сколько монет?
На вход программе дается число – сумма монет. Существуют следующие их номиналы: 1, 5, 15, 25. Посчитайте, какое минимальное количество монет необходимо, чтобы собрать данную сумму.
Входные данные:
367
Выходные данные:
17
Листинг программы:
n = int(input())
count = 0
while n = 25:
count += 1
n -= 25
while n = 15:
count += 1
n -= 15
while n = 5:
count += 1
n -= 5
while n = 1:
count += 1
n -= 1
print(count + n)
Отдельной темой является нахождение цифр числа. Для того чтобы взять последнюю цифру числа, мы можем это число разделить оператором «%» на 10, получив только остаток. Для того чтобы взять, например, две последние цифры числа, делить придется уже на 100.
Чтобы взять следующую цифру нам необходимо избавиться от последней цифры. Для этого мы можем разделить число на 10 без остатка, а затем снова искать остаток от деления на 10. Аналогичные операции нужно выполнять, если вам необходимо взять, например, первую цифру числа сразу. Для этого нужно поделить число без остатка на такое число, чтобы в итоге осталась одна первая цифра.
Задача 5. Максимальная и минимальная цифра
На вход программе дается число. Найдите и выведите его максимальные цифры по образцу.
Входные данные:
2674
Выходные данные:
Минимальная цифра: 2
Максимальная цифра: 7
Листинг программы:
a = int(input())
x = a % 10
n = a % 10
while a != 0:
if a % 10 x:
x = a % 10
if a % 10
n = a % 10
a = a // 10
print('Минимальная цифра:', n)
print('Максимальная цифра:', x)