Цикл – это алгоритмическая структура, в которой одни и те же инструкции выполняются периодически в зависимости от условия. В качестве условия (как и в условной инструкции) может быть любое выражение возвращающее числовое значение. Если оно отлично от нуля, то это интерпретируется как true . Если выражение вычисляется как 0 (в том числе, как действительный ноль 0.0 ), то это интерпретируется как false . Условие, которое вычисляется как true , позволяет выполнить один шаг цикла, который состоит в том, что будут выполнены одна или несколько инструкций, находящихся в теле цикла.
Просмотр данного материала ограничен! Это закрытая часть сайта, которая доступна только подписчикам! Оформить подписку вы можете на этой странице
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник: inf-w.ru
Составление программ циклической структуры. Цикл с параметром
Цикл for представляет из себя реализацию цикла с фиксированным числом итераций. Он используется тогда, когда число итераций заранее известно, например, при подсчете суммы 10 введенных с клавиатуры чисел. Стандартный вид цикла for следующий: for (инициализация, условие, итерация) оператор;
17. Основы Java — Практика: Массивы + Циклы
- инициализация — место, где обычно находится оператор присваивания, используемый для установки начального значения специальной переменной, называемой счетчиком цикла.
- условие — место, где находится логическое выражение, определяющее условие завершения работы цикла.
- итерация — место, где производится изменение счетчика цикла для каждой итерации.
- оператор — тело цикла.
Части инициализация, условие и итерация должны разделяться точкой с запятой. Цикл for выполняется до тех пор, пока является истинным условие. Когда условие становится ложным, выполнение программы продолжается с оператора, следующего за циклом for. В Примерах 1 и 2 показано использование цикла for.
Пример 1
printf(«nЭто %i-я итерация.»,i);
Рассмотрим, что происходит в данном примере.
Изначально переменной i присваивается значение 0. Так как 0 < 10, то на экран выводится: Это 0-я итерация
после чего i увеличивается на 1. Цикл продолжается до тех пор, пока i не достигнет значения 10. После этого, так как выражение 10< 10 ложно, выполнение цикла будет прервано.
В результате на экран будет выведено:
Это 0-я итерация
Это 1-я итерация
Это 2-я итерация
Это 3-я итерация
Это 4-я итерация
Это 5-я итерация
Это 6-я итерация
Это 7-я итерация
Это 8-я итерация
Это 9-я итерация
Пример 2
int i, j = 0; for(i= 10;i>0;i-=2)
Рассмотрим, что происходит в данном примере.
До начала цикла переменная j инициализируется нулевым значением. В цикле переменной i присваивается значение 10. Так как 10 > 0, то выполняется тело цикла, в результате чего переменной j присваивается значение 10, и оно же выводится на печать. После этого переменной i присваивается значение 8, и производится проверка условия цикла… В результате выполнения программы на экран будет выведено:
Python с нуля. Урок 4 | Циклы (for, while)
Так как проверка условия выхода из цикла производится до выполнения тела цикла, то возможной является ситуация, когда тело цикла не будет выполнено ни разу.
Пример 3
for(i = -10 ; i > 0 ; i -= 2) ;
Программирование алгоритмов циклической структуры
Циклический алгоритм реализует повторение некоторых действий, то есть включает в себя циклы.
Циклом называется последовательность действий, выполняемых многократно, каждый раз при новых параметрах.
В языке Турбо Паскаль имеются три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты программы.
Оператор For. Оператор задает многократное выполнение некоторого оператора (может быть и составным) с одновременным изменением значения управляющей переменной. Вид оператора:
Начальное иконечное значения управляющей переменной могут быть представлены константами, переменными или арифметическими выражениями. Они определяются один раз в начале выполнения оператора For и не заменяются во время выполнения этого оператора.
Если окажется, что больше при использовании слова To, то оператор после слова Do («тело» цикла) не будет выполнен ни разу и выполнение цикла с параметром закончится (соответственно при DownTo, если меньше ). Управляющая переменная, а так же её начальное и конечное значения должны быть одного типа, обязательно порядкового. Оператор после слова Do выполняется один раз для каждого значения управляющей переменной. Если в операторе For используется слово To, то значение управляющей переменной увеличивается на единицу при каждом повторении А, А+1, …, В-1, В, при DownTo – уменьшается на единицу.
Оператор While. Данный оператор имеет вид:
Оператор While содержит логическое выражение, значение которого (True или False) управляет повторным выполнением оператора, им может быть и составной оператор. Значение выражения вычисляется перед выполнением оператора. Если результат равен True, то оператор выполняется, при значении False – нет. Если вначале логическое выражение имеет значение False, оператор после слова Do вообще не выполняется. В операторе обязательно изменение значений переменных, влияющих на значение логического выражения.
Оператор Repeat – Until. Оператор Repeat (повторять) – Until (до тех пор, пока) содержит логическое выражение (после Until), которое управляет повторением выполнения последовательности операторов, записанных между Repeat и Until. Повторение продолжается до тех пор, пока логическое значение не примет значение True. Последовательность операторов тела цикла выполняется не менее одного раза.
При использовании оператора Repeat – Until (цикла с постусловием)необходимо учитывать следующее:
§ перед выполнением оператора логическое выражение его окончания (или продолжения) должно быть определено;
§ последовательность операторов должна содержать хотя бы один оператор, влияющий на значение логического выражения, иначе оператор Repeat – Until работает бесконечно долго;
§ логическое выражение в конечном итоге должно принять значение True
Подпрограммы ЯП Pascal (процедуры и функции)
При составлении программ для решения задач часто приходится в различных местах программы выполнять одну и ту же последовательность операторов, причем обычно с разными значениями переменных. Допустим, какая-то часть большого алгоритма встречается достаточно часто и имеет смысл выделить эту часть в отдельный блок, дав ему собственное имя, а затем вызывая его по этому имени в тех местах общего алгоритма, где это необходимо.
В этом случае указную последовательность операторов следует оформить в виде подпрограммы.
Под подпрограммой принято понимать выделенный в самостоятельную единицу участок программы, имеющей собственное имя, которое позволяет вызывать подпрограмму из основной программы.
Применение подпрограмм дает возможность уменьшить число повторений одной и той же последовательности операторов, а так же сконструировать программу как набор отельных подпрограмм.
В языке программирования Pascal определены два вида подпрограмм – процедуры и функции.
В программе описание процедур и функций должно располагаться между разделами описания переменных и основной программой. Каждая процедура или функция определяется только один раз, но может использоваться (вызываться) многократно.
Структура процедур и функций аналогична структуре полной программы на языке Паскаль:
2. Раздел описаний;
3. Тело подпрограммы.
В процедурах и функциях могут быть описаны собственные метки, константы, типы, собственные переменные и даже собственные процедуры и функции. Внутреннее описание должно следовать в том же порядке, что и разделы основной программы.
Процедурой в Турбо Паскале называется особым образом оформленный фрагмент программы, имеющий собственное имя.
Общий вид процедуры:
Для понимания взаимодействия программы и процедуры рассмотрим следующий пример. Слева приведен фрагмент текста основной программы, справа – процедура вычисления суммы двух целых чисел.
Begin Procedure Sum(x,y:integer; Var z:Integer);
Процедура вызывается указанием ее имени, используемого для обозначения процедуры. Линейный ход выполнения основной программы становится нелинейным – управление вычислительным процессом передается на участок программного кода, занимаемый процедурой. После выполнения процедуры осуществляется возврат на оператор основной программы, следующий за вызовом процедуры.
Итак, взаимодействие программы и процедуры по управлению обозначено, рассмотрим взаимодействие по данным. В программе определены переменные a,b,c. В процедуре – x,y,z её параметры, но они являются переменными процедуры.
При вызове процедуры Sum(a,b,c) из основной программы значение переменной a присваивается переменной x процедуры Sum, а значение переменной b становится значением переменной y. Стрелки на рисунке в одну сторону. Связь переменных c и z обозначена двойной стрелкой, то есть при изменении значения переменной z необходимо произвести соответствующее изменение значения переменной c. Это обратная связь по данным от процедуры к основной программы. На такой тип связи указывает слово Var в описании параметров процедуры.
В любой программе все переменные делятся на глобальные и локальные. В фрагменте программы переменные a,b,c – глобальные, а x,y,z – локальные. Глобальные переменные – это переменные из раздела описаний основной части программы, а локальные – из раздела описаний процедур и функций. Локальные переменные существуют только в течение работы процедуры, определяются (создаются) при её вызове и исчезают после её завершения.
При описании процедуры указывается список формальных параметров. Каждый параметр является локальным по отношению к описываемой процедуре (x,y,z -формальные). Фактические параметры – это параметры, которые передаются процедуре при обращении к ней (a,b,c — фактические). Число и тип формальных и фактических параметров должны совпадать с точностью до их следования.
Формальные параметры процедуры делятся на параметры-переменные и параметры-значения.
Параметры-переменные – это те формальные параметры, перед которыми в описании ставится слово Var. Если в процессе работы процедуры их значение изменяется, то и изменяется значение этих переменных в основной программе. Если формальный параметр описан как параметр-переменная, то при вызове процедуры ему должен соответствовать фактический параметр в виде переменной нужного типа.
Параметры-значения – перед ними в описании формальных параметров не ставится служебное слово Var. И в процедуре работают только значения этих параметров. В основной программе после выхода из процедуры их значения не изменяются, то есть остаются теми же, что и до начала процедуры. Если формальный параметр описан как параметр-значение, то при вызове процедуры ему может соответствовать произвольное выражение того же типа.
Результат – одно или несколько значений. Оно передается в основную программу как значение ее параметров.
Функцией в Турбо Паскале называется особым образом оформленный фрагмент программы, имеющий собственное имя.
Общий вид функйии:
В теле функции обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя функции, а в правой – её значение. Иначе значение функции не будет определено.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru