Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

§6.9. Классификация операторов цикла

В различных языках программирования существует четыре типа циклов. Мы рассмотрели один из них на примере оператора while. Такие циклы называются циклами с предусловием. Их характерная черта заключается в том, что Условие повторения цикла проверяется до выполнения его тела.

Второй тип циклов - циклы с постусловием. Их отличие состоит в том, что они имеют условие выхода из цикла, которое проверяется после выполнения тела цикла. Т.е. в таких циклах обязательно выполняется хотя бы одна итерация. Например, в языке Pascal цикл с постусловием выглядит так:

do

{Цикл с постусловием в языке Pascal}

ТЕЛО ЦИКЛА

until УСЛОВИЕ ВЫХОДА;

В Питоне цикла с постусловием нет, т.к. он легко заменяется циклом с предусловием -достаточно на первой итерации сделать истинным условие повторения цикла.

Еще один тип циклов - арифметические циклы. Такие циклы специально предназначены для работы с переменными-счетчиками. Например, в Pascal'e арифметический цикл выглядит так:

for i:=0 to15 9 do {Арифметический цикл в языке Pascal}

ТЕЛО_ЦИКЛА;

В С арифметический цикл немного сложнее - в его заголовке можно отдельно указывать начальное значение счетчика (причем, их может быть несколько), условие повторения цикла и операции, которые должны выполняться в конце каждой итерации (например, приращение счетчика):

for

(i =

9; i <=

9;

i

+=

1)

{

//

Арифме

тический

цикл

в

языке

С

}

ТЕЛО

ЦИКЛА;

Арифметического цикла в Питоне тоже нет, но он имеет средство, которое прекрасно его заменяет: цикл перебора элементов множества. Такие циклы базируются на концепции итераторов, о которой мы еще поговорим немного позже. Такой цикл в Питоне выглядит так:

for i in range(0,10): ТЕЛО_ЦИКЛА

Немного позже мы к нему еще вернемся и узнаем на что он способен - по гибкости он превосходит обычные арифметические циклы.

15 Для обратного отсчета может использоваться ключевое слово downto.

74

Ревизия: 170

Циклы

§6.10. Управляющие структуры

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

  • Ввод данных (пока мы умеем вводить данные только с клавиатуры с помощью функций input и raw_input);

  • Вывод данных (данные мы выводили на экран; вывод производится с помощью команды print);

  • Выполнение некоторых операций над числами, строками или другими объектами (большинство выражений, в том числе, с использованием функций относятся как раз к этим операциям);

  • Выбор ветви выполнения программы на основе принятого решения (условный оператор if);

  • Повторение группы операций чаще всего с изменением одного или нескольких параметров (операторы цикла while и for).

Кроме того, в третьей главе мы разобрались с функциями, предоставляющими нам множество преимуществ, в том числе:

  • Любой часто повторяемой последовательности операций мы можем назначить имя и по нему вызывать ее на выполнение;

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

  • Функции позволяют избежать дублирование кода, поэтому изменение хорошо спроектированной программы требует не так много усилий;

  • Хорошо продуманные функции могут использоваться в других проектах, что повышает нашу производительность и позволяет в полной мере насладиться процессом решения текущей задачи;

  • И, наконец, с помощью рекурсивных функций можно элегантно решать довольно сложные задачи, и программа при этом будет занимать всего несколько строк.

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

75

Ревизия: 170

Строки