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

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

Теоретические сведения. Цель работы: закрепить практические навыки работы с системой 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. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

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