Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2020-03-31 | 205 |
5.00
из
|
Заказать работу |
|
|
Цикл [7] - в программировании - оператор языка программирования, позволяющий многократно повторять одну и ту же последовательность команд (тело цикла). Различают:
- операторы циклов с заранее известным числом повторений;
- циклы с предусловиями;
- циклы с постусловиями.
Вследствие схожести структур рассмотрение всех типов циклов пройдет одним блоком.
Циклы в Паскале. [12]У циклов выделяют заголовок и тело. Заголовок определяет, до каких пор или сколько раз тело цикла будет выполняться. Тело содержит выражения, которые выполняются, если в заголовке цикла выражение вернуло логическую истину (True, не ноль). После того как достигнута последняя инструкция тела, поток выполнения снова возвращается к заголовку цикла. Снова проверяется условие выполнения цикла. В зависимости от результата тело цикла либо повторяется, либо поток выполнения переходит к следующему выражению после всего цикла. В языке программирования Паскаль существует три вида циклических конструкций. Цикл for используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее (хотя оно не вычисляется). В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Паскале тело цикла не должно содержать выражений, изменяющих счетчик. Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false - то нет. Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании. Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat - цикл с постусловием. В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь всё наоборот: в случае true происходит выход из цикла, в случае false - его повторение.
|
Циклы в языке Си мало чем отличаются от циклов языка Паскаль. Также существует три конструкции для реализации цикла; это оператор «for(…;…;…)…;», оператор «while(…) …;» и оператор «do … while(…);». Первые два цикла предусловные, последний постусловный. Все циклы подразумевают выполнение одного оператора и в качестве условия продолжения цикла требуют логическую истину (неравенство нулю в Си). Условие выхода в операторе while помещается в круглые скобки и должно быть неравным нулю для продолжения работы цикла. Оператор for внутри скобок параметров цикла содержит следующие выражения: первый параметр выполняется один раз перед стартом цикла, второй является условием для выполнения цикла (также как и для while он не должен равняться нулю), а третий выполняется каждый проход в конце тела цикла. Каждый из параметров может быть опущен, однако символ точки с запятой опускать запрещается. Внутри параметров допускается использование оператора запятая.
|
Постусловный оператор do … while в Си устроен следующим образом: после ключевого слова do следует один оператор тела цикла, затем после символа точки с запятой следует ключевое слово while с условием выхода в круглых скобках. Для выхода из цикла значение условия должно быть равно нулю.
Циклы в обоих языках имеют примерно сходный синтаксис и мало отличаются; исключение из всего ряда составляет конструкция REPEAT … UNTIL, не вписывающаяся в общую концепцию подобия. Из этого можно сделать вывод, что циклы языка Си более удобны для восприятия.
Безусловный переход
Оператор BREAK существует в обоих языках программирования, и в обоих языках относительно циклов он несет одинаковую функциональную нагрузку - выход из текущего блока цикла. Оператор BREAK предназначен для досрочного завершения цикла. При его выполнении происходит немедленный выход из текущего цикла и переход к выполнению оператора, следующего за циклом. Оператор CONTINUE завершает текущую итерацию цикла, осуществляя переход к концу тела цикла. Главное различие для языков Си и Паскаль в использовании этих операторов в том, что в Си это именно операторы, а в ранних версиях Паскаля (включая BorlandPascal и DelphiPascal) это процедуры.
Оператор GOTO и система меток также имеется в обоих языках. В Паскале оператор GOTO осуществляет переход к оператору, помеченному специальной меткой, которая отделяется от самого оператора двоеточием. В качестве метки может быть использовано любое целое число без знака, содержащее более четырех цифр, или любое имя. Чтобы можно было использовать метку, она должна быть в обязательном порядке объявлена в разделе меток в описательной части программы. Этот раздел начинается служебным словом LABEL, после которого через запятую перечисляются метки [13]. В языке Си метки обозначаются таким же образом, но описывать их не нужно. В обоих языках использование этих операторов основано на аналоге оператора языка Ассемблер, поэтому и различий в их использовании нет.
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!