- •1.Операторы организации циклов
- •Оператор цикла с предусловием while
- •While выражение do оператор;
- •Оператор цикла с постусловием repeat…until
- •Оператор цикла с параметром for
- •I,m,n: integer;
- •Структурированные типы данных
- •2.Массивы
- •Назначение и структура описания массивов
- •Var Massiv: array[1..Gr1, 1..Gr2] of real;
- •Действия над элементами массива
- •I,k,kp,n: integer; a:array[1..100] of integer;
Оператор цикла с параметром for
Цикл FOR можно найти во многих языках программирования, включая Паскаль. Однако вариант этого цикла в Паскале является одновременно ограниченным и эффективным.
Обычно набор операторов выполняется фиксированное число раз, пока некоторая переменная (так называемая индекная переменная) принимает значения из указанного диапазона.
Формат:
FOR индекс := выражение1 TO выражение2 DO оператор
где: индекс – это переменная скалярного типа (целого типа, символьного, булева или перечисляемого типа);
выражение1 и выражение2 – это выражения, имеющие тип, совместимый с индексом;
оператор – это одиночный или составной оператор.
Индекс увеличивается на единицу после каждого прохождения цикла. Можно также уменьшать, а не увеличивать индексную переменную, для этого нужно заменить ключевое слово TO на DOWNTO.
Основным недостатком цикла FOR является то, что он позволяет увеличивать или уменьшать только на 1. К его основным преимуществам относятся краткость и возможность использования символьного и перечисляемого типов в диапазоне значений.
Пример.
Составить программу нахождения и вывода на экран N чисел натурального ряда, кратных трем.
PROGRAM Cfor;
VAR
I,m,n: integer;
REPEAT
write(' Введите N >0 ');readln(N)
UNTIL N >0;
m:=3;
FOR i:=1 TO N DO BEGIN
writeln(m);
m:=m+3
END;
writeln(' Нажмите Enter '); readln;
END.
Пример.
Составить программу определения суммы 50-ти чисел натурального ряда, начиная с 1.
PROGRAM Cforsum;
VAR
Count, Summa,i : integer;
BEGIN
Summa:=0; i:=1;
FOR Count := 1 TO 50 DO BEGIN
Writeln('Count=',Count);
Summa:=Summa+i
END;
Writeln('Cумма=', Summa)
END.
Структурированные типы данных
2.Массивы
СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонент.
В языке Паскаль допускаются следующие структурированные типы данных: строки, массивы, записи, файлы и указатели.
Назначение и структура описания массивов
МАССИВЫ – это структурированные типы данных, состоящие из фиксированного числа компонентов (элементов) одного типа, так называемого типа компонента.
Каждый элемент определяется своим индексом.
В индексных типах, по одному для каждой размерности массива, указывается число элементов. Допустимыми индексными типами являются все скалярные типы, за исключением вещественного (часто используется INTEGER).
Массив может быть проиндексирован по каждой размерности всеми значениями соответствующего индексного типа.
Для описания массива используется словосочетание ARRAY OF (массив из). Формат:
TYPE
<имя типа> = ARRAY[тип индекса] OF <тип компонент>;
VAR
<идентификатор,...> : < имя типа>;
Можно описать иначе:
VAR
<идентификатор,...>:ARRAY[тип индекса] OF <тип компонент>;
Каждый элемент определяется своим индексом, по которому осуществляется доступ. Язык Паскаль допускает использование одномерных, двумерных и N-мерных массивов.
Пример.
TYPE
nmes=ARRAY[1..12] OF integer;
VAR
matri=ARRAY[1..4,1..3] OF real;
pmes: nmes;
Matrica: ARRAY[1..2,1..3,1..4] OF real;
Masc: ARRAY[1..10] OF char;
Если тип элемента в типе массива является массивом, то результат можно рассматривать как массив массивов или как один многомерный массив.
Пример.
ARRAY[Boolean] OF ARRAY[1..100] OF ARRAY[Size] OF real интерпретируется компилятором точно так же, как ARRAY[Boolean,1..100,Size] OF real.
Индексные выражения обозначают компоненты в соответствующей размерности массива. Число выражений не должно превышать числа индексных типов в описании массива. Более того, тип каждого выражения должен быть совместимым по присваиванию с соответствующим индексным типом.
В случае многомерного массива одинаково можно использовать несколько индексов или несколько выражений в индексе.
Пример.
Matrix[I][J] тождественно Matrix[I,J]
Размерность массива ограничена памятью ЭВМ. Обычно одномерные массивы используются для представления векторов, а двумерные – матриц. Для указания размерности массива можно использовать предварительно определенные константы.
Пример.
CONST Gr1=3; Gr2=4;