Оператор цикла с предусловием While .. Do

Контрольные вопросы

1. С какой целью разрабатывают процедуры и функции пользователя?

2. Какова структура описания процедур пользователя?

3. Какова структура описания функций пользователя?

4. В чём отличие между процедурой и функцией?

5. В каком разделе модуля описывают процедуры и функции?

6. В чём отличие между локальными и глобальными параметрами?

7. В чём отличие между формальными и фактическими параметрами?

8. В чём отличие между параметром-значение и параметром-переменная?

9. Можно ли фактический параметр функции задать в виде выражения и почему?

10. Можно ли фактический параметр-переменная процедуры задать в виде выражения и почему?

11. Можно ли фактический параметр-значение процедуры задать в виде выражения и почему?

12. В каких случаях фактический параметр процедуры может быть обращением к функции?

Алгоритмы повторений

Цель работы

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

Задание

Используя Вашу функцию из работы 4, разработайте программу, содержащую:

· процедуру с открытыми параметрами формирования массива X;

· процедуру с открытыми параметрами формирования массива Y значений функции начиная с X0 и приращением dX,;

· процедуру с открытыми параметрами вывода результатов в форме таблицы значений (№, Х, У);

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

· процедуры контроля ввода данных;

Задание выполните с использованием различных операторов повторений в двух вариантах: 1 - для постоянного количества элементов массивов; 2 – для переменного количества элементов массивов.

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

Операторы повторений

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

Счётный оператор цикла For

Оператор For реализует следующий алгоритм:

Счётчик 1..n
Оператор

For Счётчик := Начальное_Значение toКонечное_Значение

do Оператор

Счётчик - переменная порядковых типов, к которым относят целые, символьные, перечисляемые. Счётчик последовательно принимает значения от Начальное_Значениедо Конечное_Значение с шагом +1.

Для счётчика в этом случае обязательно выполнение условия:

Начальное_Значение < Конечное_Значение

Начальное_ЗначениеиКонечное_Значение- константы, переменные, элементы массива, арифметические выражения, обращение к функции перечисляемых типов.

При входе в оператор цикла переменная Счётчикполучает значение равное Начальное_Значение;выполняется оператор, находящийся в теле цикла; затем управление передаётся в начало цикла; значение переменной Счётчикувеличивается на +1; снова выполняется оператор, находящийся в теле цикла. Последний раз оператор, находящийся в теле цикла, выполняется при значении переменной Счётчик,равном Конечное_Значение.

Если в цикле необходимо выполнить не один, а несколько операторов, то используют вложенный оператор Begin ..end;

For Счётчик := Начальное_Значение to Конечное_Значение do beginОператор 1; ................. end; ForJ := 1 to10 do begin ........... Оператор 1; ............ end;

Если Начальное_Значение < Конечное_Значение, то запись оператора примет вид:

For Счётчик := Начальное_Значение DowntoКонечное_Значение do Оператор 1; For J := 10 downto 1 doОператор 1;  

Оператор цикла с предусловием While .. do

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

Условие
Оператор

Тело цикла состоит из одного оператора Тело цикла состоит из нескольких операторов
  While Условие do Оператор; WhileУсловие do begin Оператор; ............ end;

Условие - выражение логического типа. При входе в цикл вычисляется значение Условие. Если значение Условие = True, то выполняются операторы, расположенные в теле цикла. Вычисления повторяют до тех пор, пока очередное вычисление не даст результат Условие = False. Работа цикла завершается, и управление передаётся следующему за ним оператору.

Оператор цикла с постусловием Repeat .. until

Условие
Операторы

Repeat

оператор;

...............

оператор;

until Условие;

В отличие от While,в оператореRepeat Условиевычисляется в конце цикла. Операторы, находящиеся в цикле Repeat,будут выполняться пока Условиене примет значение True.В любом случае операторы, входящие в цикл, будут выполнены как минимум один раз.

Массивы

Массивы – структура данных, имеющая общий идентификатор и представляющая собой упорядоченную по номерам совокупность однотипных элементов. Массивы бывают одномерными и многомерными.

Одномерные массивы

Описание типа одномерного массива задают следующим образом:

<Имя_Ттипа>= array [ <индексы> ]of <тип> где,

<Имя_Типа> - идентификатор;

array, of - зарезервированные слова (массив, из);

<индексы> - определяют количество элементов массива и их нумерацию, квадратные скобки - требование синтаксиса. Обычно в качестве индексов используют тип-диапазон, в котором задают границы изменения индексов. В общем случае можно использовать любые порядковые типы, имеющие мощность не более 2 Гбайт (т. е. кроме LongWord и Int64).

<тип> - любой допустимый тип.

Наши рекомендации