Для каких нижеперечисленных задач потребуется применить операторы цикла вывести на экран сообщение

Обновлено: 02.07.2024

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

Каждый цикл состоит из

  • блока проверки условия повторения цикла
  • тела цикла


Цикл выполняется до тех пор, пока блок проверки условия возвращает истинное значение.
Тело цикла содержит последовательность операций, которая выполняется в случае истинного условия повторения цикла. После выполнения последней операции тела цикла снова выполняется операция проверки условия повторения цикла. Если это условие не выполняется, то будет выполнена операция, стоящая непосредственно после цикла в коде программы.

В языке Си следующие виды циклов:

  • while — цикл с предусловием;
  • do…while — цикл с постусловием;
  • for — параметрический цикл (цикл с заданным числом повторений).

Цикл с предусловием while

Общая форма записи

Если Условие выполняется (выражение, проверяющее Условие , не равно нулю), то выполняется БлокОпераций , заключенный в фигурные скобки, затем Условие проверяется снова.
Последовательность действий, состоящая из проверки Условия и выполнения БлокаОпераций , повторяется до тех пор, пока выражение, проверяющее Условие , не станет ложным (равным нулю). При этом происходит выход из цикла, и производится выполнение операции, стоящей после оператора цикла.

Пример на Си : Посчитать сумму чисел от 1 до введенного k

Цикл while

Результат выполнения

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

Пример бесконечного цикла

while — цикл с предусловием, поэтому вполне возможно, что тело цикла не будет выполнено ни разу если в момент первой проверки проверяемое условие окажется ложным.

Цикл while может не выполниться ни разу

Например, если в приведенном выше коде программы ввести k=-1, то получим результат

Цикл с постусловием do. while

Общая форма записи

Цикл do. while — это цикл с постусловием, где истинность выражения, проверяющего Условие проверяется после выполнения Блока Операций , заключенного в фигурные скобки. Тело цикла выполняется до тех пор, пока выражение, проверяющее Условие , не станет ложным, то есть тело цикла с постусловием выполнится хотя бы один раз.

Использовать цикл do. while лучше в тех случаях, когда должна быть выполнена хотя бы одна итерация, либо когда инициализация объектов, участвующих в проверке условия, происходит внутри тела цикла.

Пример на Си . Проверка, что пользователь ввел число от 0 до 10

Цикл do. while

Результат выполнения:

Параметрический цикл for

Общая форма записи

for — параметрический цикл (цикл с фиксированным числом повторений). Для организации такого цикла необходимо осуществить три операции:

  • Инициализация - присваивание параметру цикла начального значения;
  • Условие - проверка условия повторения цикла, чаще всего - сравнение величины параметра с некоторым граничным значением;
  • Модификация - изменение значения параметра для следующего прохождения тела цикла.


Эти три операции записываются в скобках и разделяются точкой с запятой ; ;. Как правило, параметром цикла является целочисленная переменная.
Инициализация параметра осуществляется только один раз — когда цикл for начинает выполняться.
Проверка Условия повторения цикла осуществляется перед каждым возможным выполнением тела цикла. Когда выражение, проверяющее Условие становится ложным (равным нулю), цикл завершается. Модификация параметра осуществляется в конце каждого выполнения тела цикла. Параметр может как увеличиваться, так и уменьшаться.

Пример на Си : Посчитать сумму чисел от 1 до введенного k

Цикл while

Результат выполнения

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

Параметры, находящиеся в выражениях в заголовке цикла можно изменить при выполнении операции в теле цикла, например

>
printf( "sum = %d\n" , sum); // вывод значения суммы
getchar(); getchar();
return 0;
>

В цикле for может использоваться операция запятая - , - для разделения нескольких выражений. Это позволяет включить в спецификацию цикла несколько инициализирующих или корректирующих выражений. Выражения, к которым применяется операция запятая, будут вычисляться слева направо.

Вложенные циклы

В Си допускаются вложенные циклы, то есть когда один цикл находится внутри другого:

for (i = 0; i // внешний цикл - Цикл1
<
for (j = 0; j // вложенный цикл - Цикл2
; // блок операций Цикла2
>
// блок операций Цикла1;
>

Пример : Вывести числа от 0 до 99, по 10 в каждой строке

Вложенные циклы: вывод чисел от 0 до 99

Результат выполнения

Рекомендации по выбору цикла

При выборе цикла необходимо оценить необходимость проверки условия при входе в цикл или по завершении прохождения цикла.
Цикл с постусловием удобно применять в случаях, когда для проверки условия требуется вычислить значение выражения, которое затем будет размещено в теле цикла (см. выше пример ввода числа от 0 до 10).
Цикл c предусловием используется в случае если все переменные, участвующие в выражении, проверяющем условие, проинициализированы заранее, но точное число повторений цикла неизвестно или предполагается сложная модификация переменных, участвующих в формировании условия повторения цикла.
Если цикл ориентирован на работу с параметром, для которого заранее известно число повторений и шаг изменения, то более предпочтительным является параметрический цикл. Очень удобно использовать параметрический цикл при работе с массивами для перебора элементов.

Операторы прерывания и продолжения цикла break и continue

В теле любого цикла можно использовать операторы прерывания цикла - break и продолжения цикла - continue .

Оператор break позволяет выйти из цикла, не завершая его.
Оператор continue позволяет пропустить часть операторов тела цикла и начать новую итерацию.

Пример на Си : Вывести числа от 0 до 99 ниже главной диагонали

Пример на Си : Вывести числа от 0 до 99 исключая числа, оканчивающиеся на 5 или 8

Оператор continue

Результат выполнения

При вложенных циклах действия операторов break и continue распространяется только на самую внутреннюю структуру, в которой они содержатся.

Оператор безусловного перехода goto

Общая форма записи

Выполнение оператора goto вызывает передачу управления в программе операции, помеченной Меткой . По сути Метка является идентификатором адреса операции, которой должно быть передано управление. Для отделения Метки от Операции используется двоеточие - : .
Метка может располагаться в программе как до оператора goto , так и после него. Имена Меток образуются по тем же правилам, что и имена переменных.

Пример на Си : Вывести все целые числа от 5 до 0.

Оператор goto


Результат выполнения

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

3. В каком цикле операторы могут не выполниться ни разу?

А) с постусловием

Б) с предусловием

4. Соотнесите какое условие указывается у какого оператора

А) while 1) условие окончания цикла

Б) repeat 2) условие выполнения цикла

5. Выберите верный формат записи цикла с предусловием

А) repeat операторы; until

Б) while until операторы;

В) while do операторы;

Г) repeat операторы; do

6. Какой из приведенных операторов организует цикл со счетчиком

А) For i:=1 to 10 do операторы

Б) while do операторы

В) For i:=10 to N do операторы

Г) repeat операторы until


Какого типа может быть параметр цикла в команде for:

A) integer; B) real; C) boolean; D) char.

9. Напишите, что будет выведено на экран после выполнения фрагмента программы

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

Для организации цикла необходимо выполнять следую­щие действия:

• перед началом цикла задать начальное значение па­раметров (переменных, используемых в логическом выражений, отвечающем за продолжение или за­вершение цикла);

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

• вычислять логическое выражение — проверять ус­ловие продолжения или окончаний цикла;

• выполнять операторы внутри цикла;

• управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из цикла в против­ном случае.

Различают циклы с известным числом повторений (цикл с параметром) и итерационные (с пред- и постусловием),

Приведем обозначение каждого из видов циклов на блок-схемах алгоритмов.

На схемах "Серия" обозначает один или несколько любых операторов (команд); ЛВ есть логическое вы­ражение (если его значение истина, переход проис­ходит по ветви, обозначенной да, иначе — по нет).

На схеме цикла с параметром использованы обозна­чения:

· ПЦ — параметр цикла,

· НЗ — начальное зна­чение параметра цикла,

· КЗ — конечное значение па­раметра цикла,

· Ш — шаг изменения параметра цик­ла.

Серию команд, которые выполняются в цикле, называют телом цикла.

Опишем схематично, как выполняется каждый из циклов.

Цикл с предусловием:

а) вычисляется значение логического выражения;

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

в) выполняется тело цикла;

г) переход к п. а);

Цикл с постусловием:

а) выполняется тело цикла;

б) вычисляется значение логического выражения;

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

Замечание. Таким образом, цикл с постусловием организо­ван, в частности, в алгоритмических языках Паскаль и QBasic. В языке Си переход к повторению вычислений, как и в цикле с предусловием, осуществляется в случае истинности логического выражения.

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

а) вычисляются значения выражений, определяющие начальное и конечное значения параметра цикла;

б) параметру цикла присваивается начальное значение;

в) параметр цикла сравнивается с конечным значением;


г) если параметр цикла превосходит (при положи­тельном шаге) конечное значение параметра цикла (или, наоборот, меньше конечного значения параметра цикла при отрицательном шаге), переход к п. з), иначе к сле­дующему пункту;

д) выполняется тело цикла;

е) параметр цикла автоматически изменяется на зна­чение шага;

ж) переход к п. в);

Циклы с предусловием и постусловием в большин­стве случаев (за исключением отдельных реализаций алгоритмических языков) являются более универсаль­ными по сравнению с циклом с параметром, посколь­ку в последнем требуется заранее указать число повто­рений, в то время как в первых двух это не требуется. Цикл с параметром в любом случае может быть преоб­разован к циклу с пред- или постусловием. Обратное верно не всегда.

примеры задач, при решении которых необходим цикл.

Пример 1. Подсчитать количество нечетных цифр в записи натурального числа п.

Идея решения. Из заданного числа необходимо выби­рать из младшего разряда цифру за цифрой (отбрасывая просмотренную) до тех пор,

пока число не исчерпается, т.е. станет равным нулю. Каждую нечетную цифру учи­тывать.

1. Ввести число п.

2. К:= 0 (подготавливаем счетчик)

3. Если n = 0, переход к п. 7.

4. Если n mod 10 Mod 2=1, тоК:=К+1.

6. Переход к п. 3.

Задача решена двумя способами.


Первое решение оформлено с использованием цикла

с предусловием, второе — с постусловием

(div и mod обозначают опе­рации вычисления

частного и остатка при делении на­цело).

Пример 2. Дана последовательность, общий член

которой определяется формулой:

Вычислить при n > 2 сумму тех ее членов,

которые больше за­данного числа ε.

При решении задачи находится очередной член

последовательности и, если он больше ε, добавляется

5. Сравнить A с ε. Если А k, переход к п. 10.

9. Перейти к п. 5.

© 2014-2022 — Студопедия.Нет — Информационный студенческий ресурс. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав (0.007)

Оператор цикла while . Общая форма. Примеры решения задач

Содержание

  • 1. Назначение оператора цикла while . Общая форма. Особенности использования
  • 2. Понятие вложенных циклов while
  • 3. Схема оператора while
  • 4. Примеры решения задач с оператором цикла while
    • 4.1. Вывод результатов вычисления в цикле
    • 4.2. Рекурентные алгоритмы. Вычисление n-го члена последовательности
    • 4.3. Вычислить значения числа π с заданной точностью
    • 5.1. Цикл while есть вложенным в оператор выбора switch
    • 5.2. Цикл while есть вложенным в операторе цикла for

    Поиск на других ресурсах:

    1. Назначение оператора цикла while . Общая форма. Особенности использования

    Оператор цикла while предназначен для организации циклического процесса, в котором выполнение каждой следующей итерации определяется на основе истинности некоторого условия. Оператор цикла while еще называют оператором цикла с предусловием.

    Общая форма оператора цикла while следующая:

    Общая форма оператора цикла while , в котором выполняются несколько (два и более) операторов имеет следующий вид

    2. Понятие вложенных циклов while

    Цикл while может быть вложенным в другие конструкции. Этими конструкциями могут быть:

    • циклы for , while , do…while ;
    • оператор условного перехода if ;
    • оператор выбора switch .

    Количество уровней вложения, в которых может использоваться цикл while , есть неограниченным.

    3. Схема оператора while

    На рисунке 1 изображена схема оператора while . Как видно из схемы, сначала происходит проверка условия. Если значение условия равно True , то выполняется тело цикла. Выход из циклического процесса происходит в случае, если значение условия становится равно False .

    Рисунок 1. Схема оператора while

    4. Примеры решения задач с оператором цикла while
    4.1. Вывод результатов вычисления в цикле

    Условие задачи. Получить таблицу температур по Цельсию tc от -50 до +50 градусов а также их эквивалентов по шкале Фаренгейта tf , используя соотношение

    Решение. Текст программы решения данной задачи для приложения типа Console Application , с использованием цикла while , следующий

    4.2. Рекурентные алгоритмы. Вычисление n -го члена последовательности

    Условие задачи. Определить n -й член числовой последовательности ( n >2):

    Решение. Текст программы решения данной задачи следующий:

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

    4.3. Вычислить значения числа π с заданной точностью

    Условие задачи. Вычислить значения числа π, используя формулу:

    Определить, какое количество слагаемых нужно для определения числа π с точностью 7 знаков после запятой.

    Формула число Пи

    Решение. Для решения подобных задач цикл while подходит как нельзя лучше. Программный код решения задачи для приложения типа Console Application приведен ниже

    В результате выполнения вышеприведенного кода был получен следующий результат

    5. Примеры решения задач, в которых оператор while есть вложенным
    5.1. Цикл while есть вложенным в оператор выбора switch

    В примере цикл while есть вложенным в оператор выбора switch . В зависимости от значения переменной a , выбирается соответствующий вариант нахождения суммы:

    • если a =1, то вычисляется s = 5+10+…+100;
    • если a =2, то вычисляется s = 5+10+…+20;
    • если a =3, то вычисляется s = 5+10;
    • иначе вычисляется s =100.

    Программный код приложения типа Console Application , решающий данную задачу следующий:

    В результате выполнения вышеприведенного кода, на экран будет выведен результат

    5.2. Цикл while есть вложенным в операторе цикла for

    Условие задачи. Найти количество делителей любого из целых чисел от 120 до 140.

    Решение. Ниже приведен программный код, решающий данную задачу для приложения типа Console Application :

    В результате выполнения вышеприведенного кода, будет выведен следующий результат

    Читайте также: