|
|||
VII. Вложенные циклы.Возникают ситуации, когда один и тот же набор повторяющихся действий необходимо выполнить больше одного раза. Например, мы уже сталкивались с задачами, когда программа должна считывать пользовательские данные до сигнала остановки и что-нибудь с ними делать. А теперь представьте если в решении потребуются действия, которые тоже требуют цикла (например, вычислить факториал). Тогда нам понадобится цикл внутри другого цикла.
Если вы пишите программу, в которой используются вложенные циклы, необходимо внимательно следить за отступами. Если бы в примере выше в 6 строке было на один отступ больше, программа вела бы себя совершенно иначе. Внешний цикл (в данном случае while ) выполнился дважды и на третьей итерации, получив сигнал остановки, завершился. Вложенный цикл forначал выполнение два раза внутри цикла while и совершил сначала 2 итерации для number равному 3, а затем 4 итерации для number равному 5.
Количество уровней вложенности технически не ограничено, как и в ветвлении. Однако на практике вы редко встретите даже третий уровень вложенности, не говоря уже о большем. Обратите внимание, что если у вас в программе работают несколько циклов for, то если вам нужен одновременный доступ к итераторам каждого из них, то необходимо давать им разные имена (в примере выше: i, j, k ), иначе во время выполнения следующего цикла значение итератора будет перезаписано.
Стоит отдельно упомянуть работу операторов break и continue для вложенных циклов. Они срабатывают только на один цикл на уровне вложенности которого они записаны. Оператор continue на примере выше работает на внешний цикл, а break на вложенный. Домашнее задание: 1) Пользователь вводит два натуральных числа nи m. Напишите программу, которая выведет таблицу умножения для всех чисел от nдо mвключительно в следующем формате: (примеры в одной строке разделены табуляциями) 2) Напишите программу, которая выведет на экран фигуру, заданную пользователем. Пользователь вводит число n – количество строк, из которых состоит фигура, а затем nраз вводит сначала символ, из которого состоит строка и число m – кол-во символов в текущей строке. Пример: 3) Пользователь вводит имена своих друзей. До тех пор, пока пользователь не введёт пустую строку, для каждого введённого пользователем имени выведите на экран число, состоящее из порядковых номеров букв в слове записанных слитно. Например, для слова «Привет» нужно вывести 123456, а для слова «Васильевич» число получится 12345678910 4) Напишите программу для компании грузоперевозок. На вход подаются следующие данные:
Пример: Вывод: Примечание:
|
|||
|