Оператор цикла с предусловием 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).
<тип> - любой допустимый тип.