10 класс Информатика ГДЗ учебник Поляков 2 часть Параграф 57 Циклические алгоритмы
Стр.173.
1. Программа, которая считает количество цифр числа, не будет правильно работать при вводе отрицательного числа, так как она рассчитана на положительные числа. Чтобы программа правильно обрабатывала отрицательные числа, необходимо сначала преобразовать отрицательное число в положительное с помощью функции abs().
2. Цикл с предусловием — это цикл, в котором условие проверки выполняется перед каждым шагом цикла. Если условие истинно, выполняется тело цикла. Если ложно, цикл прекращается. Примером такого цикла является цикл while.
3. Цикл с предусловием не выполнится ни разу, если условие проверки в начале цикла сразу является ложным.
4. Программа может зациклиться, если условие в заголовке цикла никогда не становится ложным, т.е. условие всегда истинно и нет выхода из цикла.
Проекты
а) Сравнение алгоритмов поиска НОД двух чисел
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Ввод чисел с клавиатуры a = int(input("Введите первое число: ")) b = int(input("Введите второе число: ")) original_a = a original_b = b # Алгоритм Евклида print("НОД по алгоритму Евклида:") while a != b: if a > b: a = a - b else: b = b - a print("Результат алгоритма Евклида:", a) # Восстановление значений a = original_a b = original_b # Модифицированный алгоритм Евклида, использующий % print("НОД по модифицированному алгоритму Евклида:") while b != 0: a, b = b, a % b print("Результат модифицированного алгоритма Евклида:", a) |
б) Программа для разложения числа на простые сомножители
1 2 3 4 5 6 7 8 9 10 11 12 13 | # Ввод числа с клавиатуры n = int(input("Введите число для разложения на простые сомножители: ")) i = 2 print(f"Простые сомножители числа {n}:") while i * i <= n: if n % i == 0: print(i, end=" ") n //= i else: i += 1 if n > 1: print(n) |
| 55 | 56 | 57 | 58 | 59 |