Массивы
Оператор повтора 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]);