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

4.5.4. Стандартные функции для циклов

Исполняются во всех трех видах цикла (for, while, repeat).

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

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

Пример 1

for i:=1 to 45 do

begin

for f:=f+i;

if (f>100) or (i<39) then break

end;

for i:=1to 45 do

begin (исключает суммирование нечетных чисел)

f:=f+i;

if add (i) then continue

end;

4.6. Оператор выбора case

При написании программ не рекомендуется использовать вложенные друг в друга операторы IF. Считается, что число уровней не должно быть больше 2, 3. А оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа (селектор).

Case <ключ выбора> of <список const>: <оператор> else <оператор> end;

Case, of, else, end – зарезервированные слова

<ключ выбора> – выражение любого порядкового типа;

<список const> – const того же типа, что и выражение (ключ выбора);

<оператор> – произвольный оператор Т-П.

Сначала вычисляется выражение (ключ выбора), затем в последовательности списка констант отыскивается такой, который совпадает с вычисленным значением (ключ выбора) и выполняется соответствующий данной const оператор. После этого оператор выбора прекращает свою работу. В случае отсутствия const в списке выбора, управление передается оператору, стоящему за словом else.

Пример 1

Case dig of (dig – целое число)

0 : writeln (‘ноль‘);

1,3,5,7,9 : writeln (‘нечет‘);

2,4,6,8 : writeln (‘чет‘);

else

writeln (‘Совпадений нет‘)

end;

Пример 2

Ключ выбора – тип- диапазон.

Case i of

1….10 : writeln (‘число в диапазоне 1…..10 ‘);

11…20 : writeln ( ‘число в диапазоне 11…20 ‘);

21…30 : writeln (‘число в диапазоне 21…30 ‘);

else

writeln (‘число вне диапазона ‘)

end;

Пример 3

Ключ выбора – перечисляемый тип.

var

season : (winter, spring, summer, autumn);

Case season of

winter : writeln (‘Зима ‘);

spring : writeln (‘Весна‘);

summer : writeln (‘Лето‘);

autumn : writeln (‘Осень‘);

end;

5. Массивы

5.1 Определение массива

В Т-П 4 структурированных типа:

  • массивы;

  • записи

  • множества;

  • файлы.

Каждый из типов характеризуется множественностью, образующих этот тип данных, т.е. переменная или const всегда имеют несколько компонентов. Каждый компонент может принадлежать какому-либо структурированному типу, что говорит о возможности вложенности типов. В Т-П допускается произвольная глубина вложенности типов. Однако суммарная длина любого из них во внутреннем представлении не должна превышать 65520 байт.

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

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

TYPE

<имя типа> = ARRAY [<список индексных типов>] OF <тип>;

где

<имя типа> - правильный идентификатор

ARRAY, OF – кодовые слова (массив, из)

<список индексных типов> – список одного или нескольких типов, разделенных запятыми. Квадратные скобки, обрамляющие список – требование синтаксиса.

<тип> – любой тип Т-П.

В качестве индексных типов в Т-П можно использовать любые порядковые типы, кроме LONGINT и типов диапазонов с базовым типом LONGINT.

Примеры описания типов и переменных

TYPE

Color = (red, blue, black);

mas1 = array [-5…15] of real;

mas2 = array [1…10] of integer;

mas3 = array [’a’…’c’]. of array [1…5] of boolean;

mas4 = array [Boolean] of char;

var

a: mas1; b:mas2; c: mas3; d:mas4;

e: array [color] of real;

Переменная А – вектор с вещественными компонентами, пронумерованы от -5 до 15.

Переменная В – квадратная матрица целых чисел, состоящая из 10 строк и 10 столбцов.

Переменная С – матрица логических величин, у которой задано три строки ’a’ , ’в’, ’с’ и пять столбцов.

Переменная D – символьный вектор, состоящий из двух компонентов.

Переменная Е – трехкомпонентный вещественный вектор. Обращение к ним E(red), E(blue), E(black)

При объявлении

var

ar : array [1…2, 1..2] of byte;

-------------------------------------------

ar[1,1]:=1; ar[1,2]:=5; ar[2,1]:=3; ar[2,2,]:=7;

в памяти ЭВМ будут расположены числа : 1, 5, 3, 7.

В Т-П единственным оператором присваивания можно передать элементы массива другому массиву того же типа.

Ar1,ar2 : array [1…2, 1..2] of byte;

ar1:=ar2;

Ввод массива осуществляется несколькими способами.

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