Показаны сообщения с ярлыком 8 класс. Показать все сообщения
Показаны сообщения с ярлыком 8 класс. Показать все сообщения

среда, 13 мая 2020 г.

Применение вложенных циклов

Применение вложенных циклов

Перед выполнением заданий, ознакомьтесь с примерами и ответьте на вопросы для самопроверки

Примеры

  • вывод таблицы умножения
In [5]:
1	2	3	4	5	6	7	8	9	
2	4	6	8	10	12	14	16	18	
3	6	9	12	15	18	21	24	27	
4	8	12	16	20	24	28	32	36	
5	10	15	20	25	30	35	40	45	
6	12	18	24	30	36	42	48	54	
7	14	21	28	35	42	49	56	63	
8	16	24	32	40	48	56	64	72	
9	18	27	36	45	54	63	72	81	
In [15]:
1	2	3	4	5	6	7	8	9	
2	4	6	8	10	12	14	16		
3	6	9	12	15	18	21			
4	8	12	16	20	24				
5	10	15	20	25					
6	12	18	24						
7	14	21							
8	16								
9									
  • Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна 50.
In [23]:
141

Вопросы для самопроверки

  • В каких случаях используются вложенные операторы цикла?
  • Как оформляются вложенные операторы цикла с параметром? Как они работают (что происходит при их выполнении)?
  • Внешний цикл образован оператором цикла с параметром i, меняющимся от 1 до 5, внутренний — с параметром j, меняющимся от 3 до 7. Опишите последовательность изменения значений i и j.
  • Вложенный цикл образован двумя операторами цикла с параметром. Можно ли во внешнем и внутреннем циклах использовать один и тот же параметр цикла?
  • Внешний цикл образован оператором цикла с параметром. Можно ли в качестве внутреннего цикла использовать оператор цикла с условием?
  • Внешний цикл образован оператором цикла с условием. Можно ли в качестве внутреннего цикла использовать оператор цикла с параметром?
  • Сколько раз выполнится тело внутреннего цикла, если во внешнем цикле параметр цикла меняется от 1 до 4, во внутреннем — от 1 до 3?

Задания

  1. Напечатать числа в виде следующей таблицы:
    11
    2122
    313233
    41424344
  2. Найти все целые числа из промежутка от 300 до 600, у которых сумма делителей кратна 10.

воскресенье, 26 апреля 2020 г.

Цикл с параметром. 8 класс

Цикл с параметром

Ещё называют - цикл с заданным числом повторений
Применяют в тех случаях, когда тело цикла (многократно повторяющиеся подряд команды) необходимо повторять столько разсколько выбранный параметр будет принимать значение каждого элемента из составного объекта - структуры.
В общем виде, цикл с параметром можно представить в следуюещем виде:
In [ ]:
for параметр in структура:  # Для параметра выбираются значения в структуре
    тело цикла            # Для каждого значения повторяется тело цикла
Параметр в Python - это имя, которое дается для каждого объекта структуры, при очередном прохождение тела цикла.

Структуры (составные объекты):

  • Перечисление объектов через запятую
    Например, среди чисел 5,6,7,2,9, найти сумму для кратных 3-м:
In [1]:
сумма = 0
for число in 5, 6, 7, 2, 9:  # число - параметр; 5,6,7,2,9 - структура
    if число%3 == 0:
        сумма = сумма + число
print(сумма)
15
  • Арифметическая прогрессия целых чисел range(b,r,s). Это оследовательность целых от b до r (не включая r), с шагом s.
    Например, среди чисел 5,10,15,...,100 (то есть, от 5 до 100 с шагом 5), найти сумму для кратных 3-м:
In [2]:
сумма = 0
for число in range(5, 101, 5):
    if число%3 == 0:
        сумма = сумма + число
print(сумма)
315
  • Cтроки символов. Например, найти количество гласных в веденном английском тексте:
In [4]:
k = 0
for ltr in input('Введите текст: '): # ltr - параметр; input - структура
    if ltr in 'aeiouy':
        k = k+1
print('В тексте', k ,'гласных')
Введите текст: Hello, Word!
В тексте 3 гласных
  • Неизменямые последовательности tuple, например: ("раз",2,3,3)
  • Изменяемые списки list, например: ["раз",2,3,3]
  • Неповторяющиеся множества set , например: {"раз",2,3}
  • Словари соответветсвий dict, например: {1:"раз", 2:"два", 3:"три"}
Задача. Сколько букв из первого слова, есть во втором.
In [5]:
x = input()        # вводим первое слово
y = input()        # вводим второе слово
k = 0              # начальное значение количество вхождений
for ltr in set(x): # для каждого уникального символа 1-го слова
    if ltr in y:   # проверяем - есть ли во 2-м
        k = k+1    # если - да, то увеличиваем k на 1
print(k)           # после завершения цикла выводим k
мама
математика
2

Пустой параметр

  • Если в теле цикла, пареметр не используется. Обозначается - "__" (два подчеркивания).
Задача: напишите программу, которая в последовательности натуральных чисел определяет количество чисел, оканчивающихся на 9. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 9.
In [7]:
k = 0
for __ in range(int(input())):
    if int(input()) % 10 == 9:
        k = k+1
print(k)
3
19
29
24
2
Эту задачу мы уже решали с помощью цикла while. Любой цикл по переменной можно заменить на равносильный цикл с условием: вместо вызова функции range придётся задать отдельно начальное значение переменной цикла, условие продолжения цикла и правило изменения переменной цикла.
Однако не любой цикл с условием может быть переписан как цикл с переменной. Если количество повторений цикла неизвестно и не может быть найдено заранее (как в задаче с вычислением суммы цифр числа), цикл по переменной использовать не удаётся.

Задания

  • Ответе на вопросы задания №9. Сколько раз будет выполнен цикл?
    • а) for i in range (15): s += l
    • б) for i in range (10, 15): s += l
    • в) for i in range (-1, 1): s += l
    • г) for i in range (1, 1): s += l
    • д) k=5
      for i in range (k - l, k + 1): s += l
  • Выполните задания в №12. Напишите программу, которая вычисляет сумму:
    • а) первых n натуральных чисел;
    • б) квадратов первых n натуральных чисел;
    • в) всех чётных чисел в диапазоне от 1 до n;
    • г) всех двузначных чисел.
In [ ]:
 

Всероссийская олимпиада школьников 2024

  Проведение школьного этапа Всероссийской олимпиады школьников в Московской области в 2024-2025 учебном году Информатика: 14-10 октября Вып...