- •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;
Var Massiv: array[1..Gr1, 1..Gr2] of real;
В памяти ЭВМ элементы массива располагаются последовательно строка за строкой (от элемента с самым низким индексом до элемента с самым высоким индексом).
M[1,1] M[1,2] M[1,3] M[2,1] M[2,2] M[2,3]
Действия над элементами массива
Массивы могут использоваться в операциях отношения «равно», «не равно», в операторе присваивания, причем выбранные массивы должны быть идентичны по структуре, т. е. иметь одинаковые типы индексов и тип компонентов.
Идентификатор массива используется без указания индекса в [ ].
Пример.
VAR A,B,C:ARRAY[1..5] OF integer;
Выражение |
Результат |
A=B |
TRUE, если значение каждого элемента A равно соответствующему элементу B |
A<>B |
TRUE, если хотя бы одно значение элемента A не равно соответствующему элементу B |
C:=B |
Все значения элементов массива B присваиваются соответствующим элементам массива C |
После объявления массива к каждому элементу можно обратиться, указав идентификатор (имя) массива и индекс элемента в квадратных скобках, например: A[2,2] MAS[2,3].
Индексированные элементы массива называются индексированными переменными и могут использоваться как простые переменные, например, в качестве операндов в операторах FOR, WHILE, REPEAT и в качестве параметров в операторах READ, WRITE.
Инициализация массивов
ИНИЦИАЛИЗАЦИЯ МАССИВА – присваивание каждому элементу массива начального значения.
Пример.
PROGRAM PMas1;
VAR A: ARRAY[1..5] OF real;
i: integer;
BEGIN
FOR i:=1 TO 5 DO A[i]:=0; …
E ND.
П ример.
PROGRAM Pmas2;
VAR DM:ARRAY[1..3,1..4] OF real;
i,j: integer;
BEGIN
For i:=1 TO 3 DO
FOR j:=1 TO 4 DO BEGIN
DM[i,j]:=0;
Writeln(D[i,j])
END;
END.
В вод-вывод элементов массива
Пример.
PROGRAM PMas1;
(*Ввод и вывод одномерного массива*)
TYPE
Mas=ARRAY[1..5] OF integer;
VAR i : integer; A : Mas;
BEGIN
FOR I:=1 TO 5 DO BEGIN
Write('Введите_’,i,’-й элемент массива_');
Readln(A[i]);
END;
Write('Введен массив:_');
FOR i:=1 TO 5 DO Write(A[i],'_')
END.
Пример.
PROGRAM PMas2; (* Ввод и вывод двумерного массива *)
TYPE
Mas2=ARRAY[1..3,1..4] OF real;
VAR
i,j : integer; B : Mas2;
BEGIN
writeln('Ввод по элементам строки');
FOR i:=1 TO 3 DO BEGIN
FOR j:=1 TO 4 DO BEGIN
Write('Введите элемент i=',I,',j=',j,':_');
Readln(B[i,j]);
END;
END;
Writeln ('Введен массив:');
FOR i:=1 TO 3 Do BEGIN
FOR j:=1 TO 4 DO Write (B[i,j]:5:1,' ');
Writeln;
END;
END.
Пример.
PROGRAM PMasch;
(*Ввод и вывод символьного массива*)
TYPE
Mas=ARRAY[1..5] OF char;
VAR i : integer; Simv : Mas;
BEGIN {ввод в столбец}
FOR i:=1 TO 5 DO BEGIN
Write('Введите любые пять символов');
Readln(Simv[i]);
END;
Write('Введен массив:_');
FOR i:=1 TO 5 DO Write(Simv[i],'_'); {вывод в строку}
FOR i:=1 TO 5 DO Writeln(Simv[i]); {вывод в столбец}
Readln
END.
Копирование массивов
FOR i:=1 TO 5 DO A1[i]:=A2[i];
Пример.
Присвоить элементам массива A2 значения элементов массива A1.
PROGRAM Copymass;
T YPE
Mas=ARRAY[1..5] OF integer;
VAR i: integer; A1,A2: Mas;
BEGIN
FOR i:=1 TO 5 DO BEGIN
Write('Введите_',i,'-й элемент массива_');
Readln(A[i]);
END;
Write('Массив A1 введен');
Writeln('Элементы массива A2:');
FOR i:=1 TO 5 DO Writeln('A2[',I,']:_',A2[i]);
Readln
END.
Поиск элемента массива по заданному условию
k:=0;
FOR i:=1 TO 5 DO IF A1[i]=0 THEN k:=k+1;
Пример.
Подсчитать количество нулевых элементов одномерного массива.
I вариант
II вариант
PROGRAM Uslovie;
LABEL m1;
VAR
i,K,N: integer; A:ARRAY[1..100] OF integer;
BEGIN
m1:
Write(' Введите N >0 ');
Readln(N);
IF N <=0 THEN BEGIN
Writeln('Введено недопустимое N! ');
GOTO m1
END;
K:=0;
FOR i:=1 TO N DO BEGIN
Write('Введите_',i,'-й элемент массива_');
Readln(A[i]);
IF A[i]=0 THEN K:=K+1
END;
Writeln('Количество нулевых элементов в массиве A равно',K);
Writeln('Нажмите Enter');
Readln;
END.
Перестановка элементов массива
PP:=A[1]; A[1]:=a[3]; a[3]:=PP;
Пример.
Сортировка элементов одномерного массива по возрастанию.
PROGRAM Sort;
LABEL m1,m2;
VAR