Несколько операторов в цикле while 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Несколько операторов в цикле while



Следующий пример, WHILE 4, демонстрирует применение нескольких операторов в теле цикла while. Это немного модифицированная версия программы CUBELIST, которая вычисляет не третьи, а четвертые степени последовательности целых чисел. Поставим дополнительное условие к задаче: все выводимые значения должны иметь размер не более 4 символов, то есть необходимо завершить выполнение цикла, когда результат превысит 9999. Без предварительного расчета мы не знаем, какое число будет источником такого результата, поэтому возложим определение этого числа на нашу программу. Условие продолжения цикла будет сформировано так, что программа завершится до того, как результаты превысят установленный барьер.

Для того чтобы найти значение четвертой степени числа, мы просто умножаем это число само на себя четырежды. После каждой итерации мы увеличиваем значение переменной numb на единицу, но нам не нужно использовать значение numb в операторе цикла while, поскольку выполнение цикла зависит только от значения результирующей переменной pow. Результат работы программы выглядит так:

Следующее значение - 10 000 - будет слишком велико для вывода в четыре позиции, но к этому времени уже будет произведен выход из программы.

Цикл do

В цикле while условие продолжения выполнения цикла помещалось в начало цикла. Это означало, что в случае невыполнения условия при первой проверке тело цикла вообще не исполнялось. В некоторых случаях это целесообразно, но возможны и ситуации, когда необходимо выполнить тело цикла хотя бы один раз вне зависимости от истинности проверяемого условия. Для этого следует использовать цикл do, в котором условие продолжения цикла располагается не перед, а после тела цикла.

Наш следующий пример DIVDO выводит приглашение ввести два числа: делимое и делитель, а затем производит целочисленное деление с использованием операций / и % и выводит полученные частное и остаток.

Большая часть программы находится в составе тела цикла do. Ключевое слово do обозначает начало цикла. Затем, как и в других циклах, следует тело, обрамленное фигурными скобками. Завершает цикл условие продолжения, описываемое с помощью ключевого слова while. Это условие похоже на условие цикла while, но у него есть два отличия: оно располагается в конце цикла и завершается точкой с запятой (;). Синтаксис цикла do показал на рис. 3.5.

Рис. 3.5. Синтаксис цикла do

Перед тем как производить вычисление, программа DIVDO спрашивает пользователя, хочет ли он произвести это вычисление, Если в ответ программа получает символ ' y ', то выражение

сохраняет значение true. В случае, если пользователь вводит ' n ', условие продолжения цикла не выполняется и происходит выход из цикла. На рис. 3.6 приведена схема функционирования цикла do.

Вот пример возможного вывода программы DIVDO:

Рис. 3.6. Исполнение цикла do

Выбор типа цикла

Мы рассмотрели основные аспекты использования циклов. Цикл for подходит для тех случаев, когда мы заранее знаем, сколько раз нам потребуется его выполнение. Циклы while и for используются в тех случаях, когда число итераций цикла заранее не известно, причем цикл while подходит в тех случаях, когда тело цикла может быть не исполненным ни разу, а цикл do - когда обязательно хотя бы однократное исполнение тела цикла.

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

 

· ТЕМА 13. ВЕТВЛЕНИЯ

Управление циклом всегда сводится к одному вопросу: продолжать выполнение цикла или нет? Разумеется, люди в реальной жизни встречаются с гораздо более разнообразными вопросами. Нам нужно решать не только, пойти ли на работу сегодня или нет (продолжить ли цикл), но и делать более сложный выбор, например, купить ли нам красную футболку или зеленую (или вообще не покупать футболку) или взять ли нам отпуск и, в случае положительного отпета, провести его в горах или на море?

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

В C++ существует несколько типов ветвлений, наиболее важным из которых является if... else,осуществляющее выбор между двумя альтернативами. В операторе ветвления if... else использование else не является обязательным. Для выбора одной из множества альтернатив используется оператор ветвления switch, действие которого определяется набором значений соответствующей переменной. Кроме того, существует так называемая условная операция, используемая в некоторых особых ситуациях. Мы рассмотрим каждую из этих конструкций.

 

· ТЕМА 14. УСЛОВНЫЙ ОПЕРАТОР IF

Оператор if является наиболее простым из операторов ветвлений. Следующая программа, IFDEMO, иллюстрирует применение оператора if.

За ключевым словом if следует условие ветвления, заключенное в круглые скобки. Синтаксис оператора if показан на рис. 3.7. Легко заметить, что синтаксис if очень напоминает синтаксис while. Разница заключается лишь в том, что если проверяемое условие окажется истинным, то операторы, следующие за if, будут выполнены всего один раз; операторы, следующие за while, исполняются до тех пор, пока проверяемое условие не станет ложным. Функционирование оператора if показано на рис. 3.8.

Примером работы программы IFDEMO может служить следующий:

Если вводимое число окажется не превосходящим 100, то программа завершится, не напечатав вторую строку.

Рис. 3.7. Синтаксис оператора if

Рис. 3.8. Исполнение оператора If

 

· МОДУЛЬ 2. ПОИСК

 

· ТЕМА 1. ЛИНЕЙНЫЙ ПОИСК

Если нет никакой дополнительной информации о разыскиваемых данных, то очевидный подход - простой последовательный просмотр массива с увеличением шаг за шагом той его части, где желаемого элемента не обнаружено. Такой метод называется линейным поиском. Условия окончания поиска таковы:

1. Элемент найден, т.е. а i = х.



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 373; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.249.219 (0.02 с.)