Массивы

Оператор повтора For.

Оператор повтора Repeat.

Операторы повтора.

Операторы

Форматы вывода.

Процедура записи Write.

Процедура записи Write производит вывод числовых данных, символов, строк и булевских значений.

Write (X1, X2, …, Xn);

или

Write (FV,X1, X2, …, Xn);

где X1, X2, …, Xn – переменные допустимых типов данных; FV – переменная, связанная с файлом, откуда будет выполняться чтение.

 

Для целых чисел: :N - количество позиций, выделенное на все число.

Для вещественных чисел : :N:M , где N - количество позиций, выделенное на все число. M - количество позиций, выделенное на дробную часть.

Для строковых переменных: :N где N – количество позиций, выделенное на написание строки.

Пример:

 

Тип A Значение A Выражение А Результат

integer 134 Write (A:6); ___134

real 511.04 Write (A:8:4); 511.0400

real -46.78 Write (A:7:2); _-46.78

string ‘Day N’ Write (A:10) _____Day N

string ‘Ведомость 11‘ Write (A:13) _Ведомость 11

 

 

Оператор присваивания.

< переменная>:= <выражение>

 

Составной оператор.Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками begin и end.

begin

<операторы>

end;

 

Условные операторы.

В Паскале имеются два условных оператора: if и case.

 

if <условие> then < оператор>;

if <условие> then < оператор> else < оператор>;

Условие может быть сложным, тогда каждое из условий берется в скобки и соединяются союзами AND или OR.

Если после then или else необходимо выполнить не один, а несколько операторов, тогда применяется составной оператор.

Пример:

if (a>0) and (b<> c) then

begin

x:= 2*a*c;

y:= a/(b*c);

end

else

begin

x:= 3*a*b;

y:= a*(b+5));

end;

 

 

 

Оператор While.Часто называют оператором цикла с предусловием, т.к. проверка условия выполнения тела цикла производится в самом начале оператора.

While <условие > do <выражение>;

Условие – булевское выражение, тело цикла – простой или составной оператор. Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходит выход из цмкла и переход к первому после While оператору.

 

Пример:

Program DemoWhile;

const Limit =10;

var count, item,sum: integer;

begin

count:=0; sum:=0;

while count< limit do

begin

count:=count +1;

write(‘Введите ‘,count, ‘ –е целое число: ‘);

readln(item);

sum:=sum+item;

end;

writeln(‘Сумма введенных чисел равна ’,sum);

end.

 

Аналогичен оператору while , но отличается от него тем, что условие проверяется после очередного выполнения операторов тела цикла и гарантирует хотя бы однократное выполнение цикла, а также тем, что критерием прекращения цикла является равенство выражения константе True.

Repet

<оператор;>

<оператор;>

until <условие окончания цикла>;

 

Пример:

Program DemoRepeat;

var x: integer; sum:real;

begin

sum:=0;

repeat

write(‘Значение X= ’);

Readln(X);

if x <> 999 then

Sum:=Sum+X;

until X=999;

Writeln(‘Сумма введенных чисел = ’,sum);

end.

 

Когда число повторений заранее известно, для организации циклической обработки информации применяется оператор повтора for.

 

For <идентификатор переменной> := <выражение> to <выражение> do <оператор>;

 

For может быть представлен в двух форматах:

For <параметр цикла>:= <S1> to <S2> do <оператор>; (шаг изменения переменной цикла +1, S1<=S2)

For <параметр цикла>:= <S1> downto <S2> do <оператор>; (шаг изменения переменной цикла -1, S1>=S2)

 

где S1 и S2 – выражения, определяющие соответственно начальное и конечное значения параметра цикла, параметр цикла, S1 и S2 – переменные целого типа.

Пример:

For i:=1 to 100 do read(M[I]); Чтение элементов массива

For i:=100 downto 1 do Write(M[I]); Вывод элементов массива

 

 

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

Число элементов массива фиксируется при описании и в процессе выполнения программы не меняется.. Каждому элементу массива соответствует номер (индекс). Для описания массива предназначено словосочетание array of.

 

var

<идентификатор> := array [тип индекса] of <тип компонент>;

 

Пример:

var

M2, M3 : array [1..60] of integer;

M4: : array [1..20,1..30] of real;

 

Если в такой форме описания массива задан один индекс, массив называется одномерным, если два индекса – двумерным, если N индексов – N-мерным. Размерность ограничена только объемом памяти ПК. Одномерные массивы обычно используются для представления последовательностей, а двумерные – для представления матрий (таблиц). Первый индекс двумерного массива – номер строки, второй – номер столбца.

Паскаль не имеет средств ввода-вывода элементов массива сразу, поэтому ввод и вывод значений производится поэлементно.

Пример:

Ввод одномерного массива с клавиатуры:

For i:=1 to N do Read(A[i]);

Ввод двумерного массива:

For i:=1 to N do

For j:=1 to M do Read(B[i,j]);