Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты по инфе.docx
Скачиваний:
10
Добавлен:
18.04.2015
Размер:
344.74 Кб
Скачать

Оператор цикла while

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

Пример. Найти все делители целого положительного числа (кроме 1 и самого числа).

program EXAMPLE7; var    X: Integer;    Half: Integer;    Divider: Integer;    i :Integer; begin    repeat       Write('Введите число больше нуля: ');       ReadLn(X);       if X <= 0 then          WriteLn('Неправильный ввод')    until X > 0;    Half := X div 2;    Divider := 2;    I := 0;    whileDivider<= Halfdo       begin          if X modDivider = 0 then             begin               Inc(i);                {увеличение счетчика на единицу}               WriteLn(i, ' -й делитель равен: ', Divider)             end ;          Inc(Divider)                {увеличение делителя на единицу}       end;    if i = 0 then       WriteLn('Делителей нет');    WriteLn('Конец решения') End.

Оператор цикла for

Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существуетдвавариантаоператора:

Цикл действует таким образом. Сначала вычисляются и запоминаются начальное - Start и конечное - Finish значения параметра цикла. Далее параметру цикла Param присваивается начальное значение Start. Затем значение параметра цикла сравнивается со значением Finish. Далее, пока параметр цикла меньше или равен конечному значению (в первом варианте оператора) или больше или равен конечному значению (во втором варианте), выполняется очередная итерация цикла; в противном случае происходит выход из цикла. Выполнение очередной итерации включает в себя сначала выполнение оператора Instruction, а затем присваивание параметру цикла следующего большего значения (в первом варианте оператора) или следующего меньшего значения (во втором варианте).

Естественно, что, если в первом варианте значение Start больше Finish или во втором варианте меньше Finish, оператор не выполняется ни разу.

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

Пример. Вывести на экран буквы от Z до A.

program EXAMPLE8; var i: Char; begin    for i : = 'Z' downto 'A' do       Write(i);    WriteLn end.

Пример. Вычислить 101 значение sin x с заданным шагом и вывести первое отрицательное значение синуса.

program EXAMPLE9; label l; var   Si: array[0..100] ofReal;           {массив вещественных чисел}   Step: Real;   X: Real;   i: Integer; begin   Write('Введите шаг вычисления: ');   ReadLn(Step);   X := 0;                               {начальный аргумент}   for i := 0 to 100 do     begin       Si[I]:=Sin(X);       X := X + Step     end;   for i :=0 to 100 do     ifSi[I] < 0 then       begin         WriteLn('Первое отрицательное значение синуса: ', Si[I], ' Номер элемента: ', i);         goto 1;       end;     WriteLn('Нет отрицательного значения'); 1: end.

Вопрос №13 Подпрограммы, процедуру и функции. Процедурно-ориентированное программирование.

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

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

Работа с подпрограммой делится на два этапа:

  1. описание подпрограммы;

  2. вызов подпрограммы.

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

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

С подпрограммой взаимодействие осуществляется по управлению и по данным. Взаимодействие по управлению заключается в передаче управления из программы в подпрограмму и организации возврата в программу.

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

  • с использованием файлов;

  • с помощью глобальных переменных;

  • с помощью параметров.

Наиболее часто применяется последний способ.

Процедурно-ориентированное программирование

Процедурно-ориентированный язык программирования - язык программирования высокого уровня, в основу которого положен принцип описания (последовательности) действий, позволяющей решить поставленную задачу. Обычно процедурно-ориентированные языки задают программы как совокупности процедур или подпрограмм.