Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kamchatgtu246.pdf
Скачиваний:
50
Добавлен:
23.02.2016
Размер:
1.2 Mб
Скачать

Х = 10, значения Y = 5 операции DIVIDE получим результат выполнения операции деления, равный 2.

Вариант 14

Радиус один и тот же, задается пользователем. В зависимости от введенного признака нужно вычислить:

1)длину окружности при k = 1 (L = 2πR);

2)площадь при k = 2 (S = πR2);

3)объем шара при k = 3 (V = 4лRЗ/3).

Вариант 15

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

Вариант 16

Задан проходной балл. Запрашиваются оценки абитуриента на экзаменах и сообщается результат приема в институт, например: для значения оценки «5 – Вы зачислены», для значения оценки « 7 – Такой оценки нет».

ЛАБОРАТОРНАЯ РАБОТА № 5

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

Цели работы

1.Освоение структуры программы, содержащей оператор цикла с предусловием (while).

2.Освоение структуры программы, содержащей оператор цикла с постусловием (repeat).

3.Освоение структуры программы, содержащей оператор цикла с параметром (for).

4.Освоение структуры программы, содержащей вложенные циклы.

5.Получение навыков в организации программы, содержащей цикл.

Теоретический материал

1. Общие положения

На практике редко удается задать в явном виде все операции, которые должна выполнить программа. Их число или слишком велико, или определя-

57

Рис. 20. Три вида оператора цикла

ется исходными данными и вообще заранее неизвестно. Необходимо иметь возможность многократно повторять определенные части программы. Для этого предназначен оператор цикла.

Цикл – это многократно выполняемый участок алгоритма или про-

граммы. Использование циклов приводит к уменьшению длины программы, сокращению времени на составление и отладку.

В Паскале имеем три вида операторацикла (рис. 20):

1.Оператор цикла с предусловием – while.

2.Оператор цикла с постусловием – repeat.

3. Оператор цикла с параметром (со счетчиком) – for.

Чаще всего вид оператора определяется не единственным образом. Наиболее универсальным является оператор цикла с предусловием. Простой или составной оператор, содержащийся в цикле, называется телом цикла, а переменная, изменяющаяся в нем, – параметром цикла. В одном цикле может быть несколько параметров.

Условиями циклов служат логические константы, переменные или выражения с логическим результатом. Чтобы избежать бесконечного повторе-

ния ("зацикливания"), необходимо изменять в теле цикла хотя бы один параметр, входящий в логическое выражение.

В циклах часто вычисляются суммы и произведения. До сих пор во всех наших программах переменные получали свое значение в результате вычис-

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

тивном случае при первом выполнении цикла в операции может участвовать произвольное значение переменной. Более того, эта операция требует тщательного обдумывания и подбора.

Начальному значению суммы s перед циклом обычно присваивается нуль или первое слагаемое. Накапливается сумма путем прибавления очередного слагаемого add к текущей сумме предыдущих слагаемых. Оператор присваивания имеет вид: s : = s + add. Он содержит переменную s в левой и правой частях, что обозначает изменение ее значения при каждом прохождении цикла.

Аналогично накапливается и произведение р с той лишь разницей, что оператор присваивания имеет вид: р : = р * mult, где mult – очередной множитель, а начальному значению произведения перед циклом присваивается единица или первый множитель.

1.1. Особенности циклов

Для всех операторов цикла (рис. 20) характерны следующие особенности:

повторяющиеся вычисления записываются всего лишь один раз;

вход в цикл возможен только через его начало;

58

переменные оператора цикла должны быть определены до входа в циклическую часть;

нужно предусмотреть выход из цикла. Если этого не сделать, то вычисления будут длиться бесконечно. В этом случае говорят, что произошло «зацикливание». Бесконечный цикл – это циклический участок в алгоритме или программе, в котором не предусмотрены средства выхода из цикла при достижении некоторого условия и который не будет прерван средствами операционной системы;

процедура Break прерывает выполнение цикла, а процедура Continue начинает новую итерацию цикла, даже если предыдущая не была завершена.

2. Оператор цикла с предусловием WHILE ... DO

Этот оператор организует так называемый цикл «ПОКА», или цикл с предусловием, так как проверка проводится перед началом очередной итерации (неизвестно количество повторений цикла):

WHILE < Условие > DO

< тело цикла >;

Оператор while позволяет многократно выполнять одни и те же действия в зависимости от некоторого < Условия >, которое записывается между ключевыми словами while и do и должно быть выражением булевского типа, т. е. принимать только значения Тrue или False.

Цикл выполняется, пока < Условие > истинно. Как только < Условие > нарушается, выполнение цикла завершается. Блок-

схема цикла while приведена на рис. 21. Рис. 21. Цикл «Пока» с предусловием Общую структуру оператора цикла с предусловием можно представить

одним из двух следующих способов (табл. 11):

Случай 1. Если тело цикла состоит из одного оператора, то операторные скобки Begin – End можно не ставить:

while < Условие > do

Оператор; Случай 2. Если тело цикла состоит из нескольких операторов, то опера-

торные скобки Begin – End необходимо ставить: while < Условие > do

begin Оператор; Оператор; Оператор;

end;

Опишем работу цикла while более подробно. Сначала, при входе в цикл, вычисляется < Условие >:

59

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]