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

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;

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

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