4.2. Организация встроенных циклов

Как организовать встроенные циклы на языке программирования Python?

Подумай

  • Что такое встроенный цикл?
  • Какой результат можно получить, если использовать два цикла for, встроенных друг в друга?
  • Как ты думаешь для решения каких задач необходимо использование встроенных циклов?

Новые знания

Встроенные циклы

   Несколько простых циклов, один из которых используется внутри другого, называются встроенными циклами. Во встроенных циклах внутренней цикл должен полностью находиться внутри внешнего цикла. Вид записи двух простых циклов, встроенных друг в друга, приведен на схеме 1. Встроенные циклы также называют сложным циклом.

Схема 1

fruits = ["apple", "banana", "cherry"]

 fruits 

         print(x)

   Число n, используемое в цикле, относится к типу целых чисел (схема 1). Если в программе используется один цикл, то он работает n раз. Если в программе используется 2 встроенных цикла, то эта группа циклов работает n * n раз. Например, общее количество циклов, приведенных ниже, работает 100 раз.

   Встроенные циклы целесообразно использовать для решения задач, в которых рассматриваются множество вариантов.Но использование вложенных в друг друга циклов более чем 2-3 неэффективно. Это продлевает время работы программы. Если в программе используются три простых цикла, то время работы программы равно n3. По следующему примеру можно понять, что эта величина очень большая. 

   Например, если n=100, то встроенных 3 цикла будут выполняться 1 000 000 раз. Если учесть, что цикл будет выполняться около 1 000 000 раз, то при n=1000 цикл будет работать 109 раз, то есть миллиард раз. Это займет около 1000 секунд, то есть примерно 17 минут. Для того, чтобы дождаться результатов одного вычисления на компьютере необходимо 17 минут. Для этого, при решении таких задач, предусматривается уменьшение работы цикла с помощью эффективных алгоритмов.

    С помощью встроенных циклов можно выводить числовые и символьные данные на экран в виде прямоугольной таблицы. Числовые данные удобны для понимания в виде прямоугольной таблицы. Для вывода данных на экран в виде прямоугольно таблицы нужно записать определенную последовательность операторов. Например, для построения таблицы умножения размером 5х5 в виде прямоугольника можно записать код программы, представленный на рисунке 1, а результат выполнения программы приведен на рисунке 2.

Рисунок 1. Код программы

Рисунок 2. Результат программы

    Как видно из кода программы, пока внешний цикл выполняется 1 раз, внутренний цикл выполняется 5 раз. При выводе данных в прямоугольной форме важно правильно разместить оператора print (). Здесь "\t" позволяет установить одинаковое расстояние между данными через табулирование. При использовании встроенных циклов чаще всего встречаются ошибки, приведенные ниже.

Общеизвестные ошибки в использовании встроенных циклов:

  • Запись одинаковых параметров цикла для внутренних и внешних циклов;
  • В зависимости от ошибочного количества пробелов при размещении операторов во внутреннем - внешнем циклах вложенных циклов возможны случаи, когда оператор или выражение не вошли в цикл;
  •  Использование действительных чисел в качестве параметра цикла.

Примени на практике

Практическое задание. Простое число. Дана последовательность чисел длиной N (N<100). Определите простые числа в заданной последовательности чисел и выведите их на экран. Простое число – это число, которое делится только на себя и на один.

   Алгоритм решения задачи: Для решения поставленной задачи необходимо использовать встроенные циклы. Для того, чтобы проверить является ли число простым, квадратный корень из этого числа округляем до целого значения. Мы используем внешней цикл для ввода чисел, которые нам нужно проверить,. Внутренний цикл используется для проверки заданных чисел на выполнение условия простого числа. Параметр внутреннего цикла начинается от 2 с шагом 1 до корня числа, округленного до целого значения. Если среди этих чисел нет делителя проверяемого числа, оно относится к простому числу. На рисунке 2 представлен код программы, а результат выполнения программы показан на рисунке 3.

   В Python для использования математических функций используются специальные модули. Для того, чтобы запустить математический модуль в программе, используем команду import. Например: math.sqrt(x) – дает квадратный корень из числа х, тогда round(math.sqrt(18)= 4.

Рисунок 2. Код программы определения простых чисел

Рисунок 3. Результат программы

adj = ["red", "big", "tasty"]

fruits = ["apple", "banana", "cherry"]

for x in adj:

        for y in fruits:

               print(x, y)

  • tasty apple
  • tasty banana
  • red banana
  • big cherry
  • big apple
  • red cherry
  • tasty cherry
  • big banana
  • red apple

Вопросы

1. Как вы понимаете термин цикл?

2. Какие циклы жизни человека вы можете назвать?

3. Какие виды циклов существуют в языке программирования Python? В чем их отличие?

4. Чем отличается циклический алгоритм от алгоритма разветвления?

Задания

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

1)2)3)4)

Домашнее задание

Прикрепите свой файл к этому заданию, нажав         «Добавить свой материал».

Өтінемін күте тұрыңыз