какой оператор цикла желательно использовать если известно число повторений тела цикла
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Программирование циклических алгоритмов
§ 3.5 Программирование циклических алгоритмов
Информатика. 8 класса. Босова Л.Л. Оглавление
Ключевые слова:
• while (цикл-ПОКА)
• repeat (цикл-ДО)
• for (цикл с параметром)
3.5.1. Программирование циклов с заданным условием продолжения работы
Цикл с заданным условием продолжения работы (цикл-ПОКА) программируется в языке Паскаль с помощью оператора while. Общий вид оператора:
while do
— логическое выражение; пока оно истинно, выполняется тело цикла;
— простой или составной оператор, с помощью которого записано тело цикла.
Запишем на языке Паскаль рассмотренный в п. 2.4.3 (пример 14) алгоритм получения частного q и остатка r от деления натурального числа х на натуральное число y без использования операции деления.
3.5.2. Программирование циклов с заданным условием окончания работы
Цикл с заданным условием окончания работы (цикл-ДО) программируется в языке Паскаль с помощью оператора repeat. Общий вид оператора:
repeat until
; ; … — операторы, образующие тело цикла;
— логическое выражение; если оно ложно, то выполняется тело цикла.
Запишем на языке Паскаль рассмотренный в п. 2.4.3 (пример 17) алгоритм решения задачи о графике тренировок спортсмена.
3.5.3. Программирование циклов с заданным числом повторений
Цикл с заданным числом повторений (цикл-ДЛЯ) программируется в языке Паскаль с помощью оператора for. Его общий вид:
for := to do
— переменная целого типа;
и — выражения того же типа, что и параметр, вычисляемые перед началом цикла;
— простой или составной оператор — тело цикла.
При выполнении этого оператора после каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условием выхода из цикла является превышение параметром конечного значения.
Запишем на языке Паскаль рассмотренный в п. 2.4.3 (пример 19) алгоритм вычисления степени с натуральным показателем n для любого вещественного числа а.
3.5.4. Различные варианты программирования циклического алгоритма
Особенностью программирования является то, что для решения одной и той же задачи могут быть созданы разные программы. Вы могли убедиться в этом, программируя ветвления. Рассмотрим пример, показывающий, что и циклический алгоритм может быть запрограммирован разными способами.
Пример. Напишем программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт количества введённых положительных и отрицательных чисел.
Так как здесь в явном виде задано условие окончания работы, то воспользуемся оператором repeat.
Имеющееся условие окончания работы можно достаточно просто преобразовать в условие продолжения работы — работа продолжается, пока n≠0. И мы можем воспользоваться оператором while:
В рассмотренном примере число повторений тела цикла заранее не известно, и поэтому оператор for здесь применить нельзя. Если число повторений тела цикла известно, то лучше воспользоваться оператором for. Вместе с тем любая задача, в которой число повторений тела цикла определено заранее, может быть запрограммирована с помощью любого из трёх рассмотренных выше циклов.
САМОЕ ГЛАВНОЕ
В языке Паскаль имеются три вида операторов цикла: while (цикл-ПОКА), repeat (цикл-ДО), for (цикл с параметром). Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
2. Дана последовательность операторов:
Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после исполнения этой последовательности операторов?
3. Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение всех целых чисел от 1 до n). Программист торопился и написал программу неправильцо. Ниже приведён фрагмент его программы, в котором содержатся пять ошибок:
Найдите ошибки. Допишите необходимые операторы и выполните программу на компьютере.
4. Проанализируйте следующий цикл:
while a
Сколько раз будет повторён цикл и какими будут значения переменных а, b, s после исполнения этой последовательности операторов?
7. Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и подсчёт суммы и среднего арифметического введённых положительных чисел. Используйте оператор repeat.
8. Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и определение максимального (наибольшего) из введённых чисел. Используйте оператор repeat.
9. Напишите программу вычисления наибольшего общего делителя двух целых чисел:
а) используйте оператор repeat;
б) используйте оператор while.
10. Сколько раз будет выполнен цикл?
а) for i:=0 to 15 do s:=s+l;
б) for i:=10 to 15 do s:=s+l;
в) for i:=-l to 1 do s:=s+l;
г)for i:=10 to 10 do s:=s+l;
д)k:=5;
for i:=k-l to k+1 do s:=s+l;
11. Напишите программу, которая 10 раз выводит на экран ваши имя и фамилию.
12. Напишите программу, выводящую на экран изображение шахматной доски, где чёрные клетки изображаются звёздочками, а белые — пробелами. Рекомендуемый вид экрана после выполнения программы:
13. Напишите программу, которая вычисляет сумму:
а) первых n натуральных чисел;
б) квадратов первых п натуральных чисел;
в) всех чётных чисел в диапазоне от 1 до n;
г) всех двузначных чисел.
14. Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.
15. Запишите на языке Паскаль программы решения задач № 32, 33 из § 2.4. Используйте оператор for.
16. Напишите программу, которая выводит на экран таблицу степеней двойки (от нулевой до десятой). Рекомендуемый вид экрана после выполнения программы:
17. Напишите программу, которая выводит на экран таблицу умножения на n (n — целое число в диапазоне от 2 до 10, вводимое с клавиатуры).
18. Какой из трёх рассмотренных операторов цикла является, по вашему мнению, основным, т. е. таким, что им можно заменить два других? Обоснуйте свою точку зрения.
§ 3.5 Программирование циклических алгоритмов
Pascal | Лекция №4
Операторы циклов
Содержание:
Очень часто возникает необходимость выполнить один и тот же оператор (или группу операторов) несколько раз. Для этого в языке Pascal предусмотрены операторы циклов.
Циклом в программировании называют повторение одних и тех же действий (шагов). Последовательность действий, которые повторяются в цикле, называют телом цикла.
Существует несколько типов алгоритмов циклической структуры.
Оператор цикла с параметром
Этот оператор используют, когда количество повторений цикла известно заранее или необходимо изменять какую-либо величину на одно и то же значение в определенном диапазоне. Форма записи оператора:
For := To Do ;
Служебное слово To указывает направление изменения параметра – увеличение на 1 (начальное значение меньше конечного значения; если это условие не выполнится, оператор не выполнится ни разу). Если необходимо, чтобы параметр уменьшался на 1, то используется слово DownTo (начальное значение больше конечного значения). В качестве оператора можно использовать любой простой или составной оператор.
Пример: требуется вычислить суму целых чисел от M до N путем прямого суммирования. Здесь M и N – целые числа. Задачу можно сформулировать так:
Пример: в рассмотренной выше задаче можно складывать и в обратном порядке, т.е. от N до M (N / M). Для этого можно использовать второй вариант оператора цикла
При использовании оператора цикла For нужно помнить следующие правила:
Для каждого значения параметра между начальным значением и конечным оператор в теле цикла выполняется только один раз.
Оператор цикла с предусловием
В качестве оператора может быть любой простой или составной оператор. Оператор выполняется только в том случае и до тех пор, пока условие истинно, причем условие проверяется каждый раз после выполнения оператора. Если с самого начала условие ложно, то есть имеет значение false, оператор цикла не выполнится ни разу.
Если в операторе цикла условие всегда истинно, то такой цикл называется бесконечным:
Оператор цикла с постусловием
Последовательность операторов может состоять из одного или нескольких любых операторов. В отличие от цикла с предусловием, в этом цикле условие проверяется всегда после выполнения оператора (или последовательности операторов), если оно ложно – оператор снова выполняется, иначе цикл прекращается. При такой структуре, оператор хотя бы один раз обязательно выполнится.
Циклы с предусловием и постусловием называют условными циклическими алгоритмами. Нетрудно заметить, что эти циклы взаимозаменяемы и обладают некоторыми отличиями:
При написании условных циклических алгоритмов следует помнить следующее:
Какой оператор цикла желательно использовать если известно число повторений тела цикла
Оператор цикла For. Next является самым старым и в тоже время основным оператором цикла, реализованным во всех языках программирования.
Примеры организации цикла:
Инкрементный цикл с шагом 1
Цикл Do. Loop, уточняемый оператором While, выполняется до тех пор, пока верно условие, задаваемое в цикле. Если же конструкция цикла уточняется оператором Until, то цикл выполняется до тех пор, пока заданное условие ложно.
Синтаксис:
События
Важнейшим для флажка, как и для кнопки, является событие click.
Свойства
Единственным важным свойством элемента управления CheckBox является его значение (Value). В зависимости от того, отмечен флажок или нет.
Style | Внешний вид. При graphical имеет вид выпуклой или утопленной кнопки. На которых можно размещать изображение. | Standard/graphical |
Value | Состояние: сброшен, установлен, недоступен | 0-Unchecked 1-Checked 2-Grayed |
Назначение
Этот элемент управления, представляющий собой кружок с точкой или без, предназначен для установки только одной опции из группы. Обычно все переключатели формы объединены в одну группу.
Свойства
Важнейшим свойством переключателей является свойство Value. С его помощью можно определить состояние переключателя. Это свойство может принимать значения True И False.
Обучение C#
Формула программиста
Работая с этим сайтом, Вы даете согласие на использование файлов Cookie.
Операторы цикла
Цикл с предусловием
Закрепить тему циклов с предусловием Вы можете в разделе Пока-цикл курса Алгоритмика
Цикл с постусловием
Закрепить тему циклов с постусловием Вы можете в разделе Do-рацикл курса Алгоритмика
Параметрический цикл
Закрепить тему параметрических циклов Вы можете в разделе For-to-чки курса Алгоритмика
Цикл перебора элементов
Вложенные циклы
Закрепить тему вложенных циклов Вы можете в разделах Любимые циклы, Матрёшки курса Алгоритмика
Операторы передачи управления
Оператор прерывания цикла break предназначен для принудительного выхода из цикла. Он прекращает выполнение операций цикла и передает управление следующей операции, размещенной после цикла. При использовании вложенных циклов оператор break осуществляет выход из цикла, внутри которого он непосредственно размещен.
В качестве примера рассмотрим тот же вывод чисел от 0 до 99 в виде матрицы, но при условии, что у всех выводимых чисел разряд единиц должен быть не больше разряда десятков.
Результат выполнения программы представлен на рисунке
Закрепить тему операторов передачи управления Вы можете в разделе Обман цикла курса Алгоритмика
Автор: Вставская Елена Владимировна
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.
Ты в любой момент сможешь отписаться от рассылки.
Основатель проекта
Вебинары C#
+ Бесплатно, каждую субботу
+ Создание программ с нуля
+ Решение консольных задач
Видео-уроки
+ 300 практических видеоуроков
+ 400 интерактивных задач
+ Видео-решения и разбор
Миссия
Погружение в язык C#
Мотивация к изучению языка
Прокачка навыков программирования
Какой оператор цикла желательно использовать если известно число повторений тела цикла
В большинстве задач, встречающихся на практике, необходимо производить многократное выполнение некоторого действия. Такой многократно повторяющийся участок вычислительного процесса называется циклом.
Если заранее известно количество необходимых повторений, то цикл называется арифметическим. Если же количество повторений заранее неизвестно, то говорят об итерационном цикле.
В итерационных циклах производится проверка некоторого условия, и в зависимости от результата этой проверки происходит либо выход из цикла, либо повторение выполнения тела цикла. Если проверка условия производится перед выполнением блока операторов, то такой итерационный цикл называется циклом с предусловием (цикл «пока»), а если проверка производится после выполнения тела цикла, то это цикл с постусловием (цикл «до»).
Особенность этих циклов заключается в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, а тело цикла с предусловием может ни разу не выполниться. В зависимости от решаемой задачи необходимо использовать тот или иной вид итерационных циклов.
Арифметические циклы
Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения 1 до значения 2.
Переменная цикла, начальное и конечное значения должны иметь порядковый тип. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.
Пример 1. Квадраты чисел от 2-х до 10-и.
Пример 2. Латинский алфавит.
Пример 3. Использование цикла с downto.
Пример 4. Использование составного оператора.
Итерационные циклы с предусловием
Оператор после do будет выполняться до тех пор, пока логическое выражение принимает истинное значение (True). Логическое выражение является условием возобновления цикла. Его истинность проверяется каждый раз перед очередным повторением оператора цикла, который будет выполняться лишь до тех пор, пока логическое выражение истинно. Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за while.
Выражение оценивается до выполнения оператора, так что если оно с самого начала было ложным (False), то оператор не будет выполнен ни разу.
Здесь также следует помнить, что позволяется использовать только один оператор после ключевого слова do. Если необходимо выполнить группу операторов, то стоит использовать составной оператор.
Итерационные циклы с постусловием
Операторы между словами repeat и until повторяются, пока логическое выражение является ложным (False). Как только логическое выражение становится истинным (True), происходит выход из цикла.
Так как выражение оценивается после выполнения операторов, то в любом случае операторы выполнятся хотя бы один раз.
Операторы завершения цикла
Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода и выхода.
В версии Турбо Паскаль 7.0 определены стандартные процедуры: Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.
Заметим, что хотя и существует возможность выхода из цикла с помощью оператора безусловного перехода goto, делать этого не желательно. Во всех случаях можно воспользоваться специально предназначенными для этого процедурами Break и Continue.
Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики