Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Теоретические сведения. Цель работы: закрепить практические навыки работы с системой TURBO Pascal, овладеть практическими навыками разработки





Лабораторная работа № 4

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ

Цель работы: закрепить практические навыки работы с системой TURBO Pascal, овладеть практическими навыками разработки, программирования циклических процессов, познакомиться с диагностическими сообщениями компилятора об ошибках при выполнении программ, содержащих операторы цикла While, Repeat и For.

Теоретические сведения

Операторы цикла служат для того, чтобы выполнять входящие в их состав операторы (так называемые операторы тела цикла) несколько раз (в частном случае - один раз или ни разу). В языке Pascal имеется три вида операторов цикла: While, Repeat и For.

1. Оператор цикла While.

Его синтаксис:

While A do ST;

где: 1) A - булевское выражение;

2) ST - оператор (возможно составной).

Значение выражения A вычисляется перед каждым выполнением оператора ST, поэтому цикл While называют еще циклом с предусловием.

Если значение A есть TRUE, то оператор ST выполняется и управление передается на вычисление значения выражения A; если значение выражения A есть FALSE, то оператор ST не выполняется и происходит выход из цикла.

Замечания:

1. если первоначальное значение выражения A - FALSE, то оператор ST не будет выполнен ни разу;

2. в операторе цикла While точка с запятой никогда не ставится после зарезервированного слова do;

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

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

2. Оператор цикла Repeat.

Цикл Repeat (цикл с постусловием), как правило, используется в тех случаях, когда заранее неизвестно количество повторений операторов тела цикла.

Синтаксис оператора цикла Repeat:

Repeat

ST

until A;

где: 1) ST - оператор (возможно составной);

2) А - булевское выражение.

"Работает" оператор так: выполняются операторы ST, вычисляется значение выражения А; если его значение - FALSE, то вновь выполняются операторы ST, если значение выражения А - TRUE, то цикл заканчивается. Если же значение выражения А есть TRUE с самого начала, то операторы ST выполняются лишь один раз. Если выражение А никогда не принимает значение TRUE, то группа операторов ST выполняется бесконечное число раз, то происходит " зацикливание ".

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

3. Оператор цикла For.

Оператор цикла For служит для организации цикла с параметром и используется в тех случаях, когда заранее известно, сколько раз должна повторяться циклическая часть программы. Синтаксис оператора For по возрастающим значениям параметра i:

For i:=N1 to N2 do ST;

где: 1) i - переменная (параметр) цикла;

2) N1- начальное значение параметра цикла, а N2- конечное;

3) ST - оператор (возможно составной).

Переменные i, N1, N2 должны быть одного и того же скалярного типа, но не типа Real, и значение N2 должно быть больше, чем значение N1. Переменная i принимает последовательные значения данного типа от N1 до N2 . В частном случае, когда N1 и N2 - целые числа, а i - переменная типа Integer или Byte, то шаг всегда равен единице.

Например, если

For i:=1 to 20 do A:=A+1,

то для i=1,2,3,...,20 будет выполняться оператор А:=А+1.

Если же N1 и N2 символьного типа и имеют значения, например, 'A' и 'Z' соответственно, то переменная i принимает последовательные значения в порядке букв алфавита: 'А','В','С',...,'Z'.

Отметим, что имеется возможность организовать цикл по убывающим значениям параметра i. Для этого используется зарезервированное слово downto.

Синтаксис оператора For по убывающим значениям параметра i:

For i:= N2 downto N1 do ST;

где: 1) i - переменная (параметр) цикла;

2) N2 - начальное значение параметра цикла, а N1 - конечное;

3) ST - оператор (возможно составной).

В этом случае параметр i принимает последовательные убывающие значения данного типа от N2 до N1 Например, если

For i:=20 downto 1 do A:=A+1,

то для i=20,19,18,...,1 будет выполняться оператор А:=А+1.

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

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

Правила организации вложенных циклов:

· Все правила присущие простому циклу должны соблюдаться;

· Имена параметров для вложенных циклов должны быть различны;

· Внутренний цикл должен полностью входить во внешний

 







Дата добавления: 2015-08-12; просмотров: 392. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

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

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия