Интеллект-карта
while условие:
...
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Цикл по переменной применяют тогда, тогда количество ша-гов цикла заранее известно или может быть вычислено до начала цикла. В заголовке цикла по переменной указывают начальное значение, конечное значение и шаг изменения
циклы
циклы
циклы
циклы
for i in range(a,b):
...
for i in range(a,b,d):
...
Рис. 3.6.
Вопросы и задания
1. В каком случае программа, содержащая цикл с условием, может зациклиться?
2. В каких случаях цикл с условием не выполняется ни разу?
3. В каких случаях цикл по переменной не выполняется ни ра-зу?
4. Может ли цикл по переменной работать бесконечно?
5. Сравните цикл по переменной и цикл с условием. Какие преимущества и недостатки есть у каждого из них?
6. Верно ли, что любой цикл по переменной можно заменить циклом с условием? Верно ли обратное утверждение?
7. В каком случае можно заменить цикл с условием на цикл по переменной?
65 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Задачи
1. Значения переменных a и b равны a = 4 и b = 6. Определите, сколько раз выполнится цикл, и чему будут равны значения этих переменных после его завершения:
while a < b:
а)
б)
в)
г)
д)
a += 1 while a < b:
a += b while a > b:
a = a + 1; while a < b:
b = a - b; while a < b:
a = a - 1;
2. Найдите ошибку в программе:
k = 0
while k < 10:
print( "привет" )
Как её можно исправить?
3. Что будет выведено на экран в результате работы следующе-го цикла?
k = 1
а)
б)
в)
г)
д)
while k < 5:
print( k, end=" " ) k += 1
k = 4
while k < 10:
print( k*k, end=" " ) k += 1
k = 12
while k > 3:
print( 2*k-1, end=" " ) k -= 1
k = 5
while k < 10:
66 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
print( k*k, end=" " ) k += 1
k = 15
д)
while k > 6:
print( k-1, end=" " ) k -= 1
4. Значение переменной a равно 1. Определите, сколько раз выполнится цикл и чему будет равно значение этой пере-менной после его завершения:
for i in range(3):
д)
a += 1
for i in range(3,0):
a += 1
for i in range(1,3,-1):
a += i
for i in range(3,0,-1):
a += i
д)
k = 1
д)
for i in range(1,6):
print( i, end="" ) k = 1
for i in range(1,6):
print( i+k, end="" ) k = 1
for i in range(1,6):
print( k*k, end="" ) k += 2
k = 8
for i in range(5,0,-1):
print( i, end="" ) k -= 2
k = 8
for i in range(5,0,-1):
print( 2*i-k, end="" )
67 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
k -= 2
6. Напишите программу, которая получает с клавиатуры коли-чество повторений и выводит столько же раз какое-нибудь сообщение.
7. Напишите программу, которая получает с клавиатуры нату-ральное число и определяет, сколько раз в его десятичной записи встречается цифра 1.
8. Напишите программу, которая получает с клавиатуры нату-ральное число и находит наибольшую цифру в его десятич-ной записи.
9. *Напишите программу, которая получает с клавиатуры на-туральное число и определяет, есть ли в его десятичной за-писи две одинаковые цифры, стоящие рядом.
10. Напишите программу, которая получает с клавиатуры два натуральных числа и находит их НОД с помощью алгорит-ма Евклида. Программа должна подсчитать количество ша-гов цикла.
11. Напишите программу, которая получает с клавиатуры два натуральных числа и сравнивает количество шагов для вы-числения их НОД с помощью «обычного» и модифициро-ванного алгоритмов Евклида.
12. На вход программы поступает неизвестное количество чи-сел целых, ввод заканчивается нулём. Определить, сколько чисел получено.
13. На вход программы поступает неизвестное количество чи-сел целых, ввод заканчивается нулём. Определить, сколько получено чисел, которые делятся на 3.
14. На вход программы поступает неизвестное количество чи-сел целых, ввод заканчивается нулём. Определить, сколько получено двузначных чисел, которые заканчиваются на 3.
15. На вход программы поступает неизвестное количество чи-сел целых, ввод заканчивается нулём. Найти максимальное из введённых чётных чисел.
68 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
16. Напишите программу, которая предлагает ввести пароль и не переходит к выполнению основной части, пока не введён правильный пароль. Основная часть – вывод на экран «сек-ретных сведений».
17. Напишите программу, которая получает с клавиатуры на-туральное число и определяет, простое оно или нет. Для этого нужно делить число на все натуральные числа, начи-ная с 2, пока не получится деление без остатка.
18. Напишите программу, которая получает с клавиатуры два целых числа и вычисляет их произведение, используя толь-ко операции сложения. Учтите, что числа могут быть отри-цательными.
19. Напишите программу, которая получает с клавиатуры на-туральное число и вычисляет целую часть квадратного кор-ня из него – наибольшее число, квадрат которого не больше данного числа.
20. Ипполит задумал трёхзначное число, которое при делении на 15 даёт в остатке 11, а при делении на 11 даёт в остатке
9. Напишите программу, которая находит все такие числа.
21. С клавиатуры вводится натуральное число N. Программа должна найти факториал этого числа (обозначается как N!) – произведение всех натуральных чисел от 1 до N. Напри-мер,
5! = 1 · 2 · 3 · 4 · 5 = 120.
22. Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ю степень (где N – ко-личество цифр в числе) равна самому числу. Например, 153 = 13 + 53 + 33. Найдите все трёхзначные Армстронга.
23. Замените фрагменты программы из задания 3 на циклы по переменной, выполняющие те же действия.
24. Замените фрагменты программы из задания 5 на циклы с условием, выполняющие те же действия.
69 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
25. Напишите программу, которая получает с клавиатуры на-туральное число N и находит сумму всех натуральных чи-сел от 1 до N. Используйте сначала цикл с условием, а по-том – цикл по переменной.
26. Напишите программу, которая получает с клавиатуры на-туральное число N и выводит первые N чётных натураль-ных чисел.
27. Напишите программу, которая получает с клавиатуры на-туральные числа a и b, и выводит квадраты всех натураль-ных чисел на отрезке [a; b]. Например, если ввести 4 и 6, программа должна вывести
4*4=16 5*5=25 6*6=36
28. Напишите программу, которая получает с клавиатуры на-туральные числа a и b, и выводит сумму квадратов всех на-туральных чисел на отрезке [a; b].
29. Напишите программу, которая получает с клавиатуры на-туральное число N и выводит на экран N случайных целых чисел. Запустите её несколько раз, объясните результаты опыта.
30. *Напишите программу, которая строит последовательность из N случайных чисел на отрезке от 0 до 1 и определяет, сколько из них попадает в полуинтервалы [0;. 0,25), [0,25; 0,5), [0,5; 0,75) и [0,75; 1). Сравните результаты, полученные при N = 10, 100, 1000, 10000.
31. *Автоморфные числа. Натуральное число называется авто-морфным, если оно совпадает с последними цифрами своего квадрата. Например, 252 = 625. Напишите программу, кото-рая получает с клавиатуры натуральное число N и выводит на экран все автоморфные числа, не превосходящие N.
32. Напишите программу, которая считает количество чётных цифр введённого числа.
70 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
33. *Напишите программу, которая определяет, верно ли, что введённое число состоит из одинаковых цифр (как, напри-мер, 222).
34. Используя сначала цикл с условием, а потом – цикл по пе-ременной, напишите программу, которая выводит на экран чётные степени числа 2, от 210 до 22, в порядке убывания.
35. Напишите программу, которая получает с клавиатуры 10 чисел и вычисляет их сумму и произведение.
36. Напишите программу, которая получает с клавиатуры чис-ла до тех пор, пока не будет введено число 0. В конце рабо-ты программы на экран выводится произведение введенных чисел (не считая 0).
37. Напишите программу, которая получает с клавиатуры чис-ла до тех пор, пока не будет введено число 0. В конце рабо-ты программы на экран выводится минимальное и макси-мальное из введённых чисел (не считая 0).
38. Напишите программу, которая получает с клавиатуры чис-ла до тех пор, пока не будет введено число 0. В конце рабо-ты программы на экран выводится среднее арифметическое введенных чисел (не считая 0).
39. Напишите программу, которая получает с клавиатуры на-туральные числа A и N и вычисляет AN без использования операции возведения в степень.
40. Напишите программу, которая получает с клавиатуры на-туральное число N и определяет сумму всех его делителей, меньших самого числа. Например, для числа 8 эта сумма равна 1 + 2 + 4 = 7.
41. *Напишите программу, которая выводит на экран в столбик все цифры числа, начиная с первой.
42. *В магазине продается мастика в ящиках по 15 кг, 17 кг, 21 кг. Как купить ровно 185 кг мастики, не вскрывая ящи-ки? Сколькими способами можно это сделать?
71 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Темы сообщений:
«Два вида циклов: сравнение»
72 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Достарыңызбен бөлісу: |