Массивы

Логические операции

 

Логическая операция Значение Примеры записи Значение примера
AND Логическое "И" (x<7) and (x>3) x меньше 7 и x больше 3 (3<x<7)
  OR   Логическое "ИЛИ"   (y>100) or (y<10) y больше 100 или y меньше 10 (y<10, y>100)
NOT Логическое "НЕ" not (x=2) не x равно 2

 

Правила использования операций AND и OR (Таблица истинности)

 

a b a and b a or b
истина истина истина истина
истина ложь ложь истина
ложь истина ложь истина
ложь ложь ложь ложь

 

 

Массивы - формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое.

 

var

<имя массива> : array[n1. . n2] of <тип элементов массива>.

 

<имя массива> - это идентификатор, удовлетворяющий всем требованиям, предъявляемым к нему;

после этого обязательно записывается служебное (зарезервированное) слово: array;

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

 

[n1..n2] - тип-диапазон; n1 - левая граница, n2 - правая граница;

 

для примера [1..30] индексы элементов нумеруются от 1 до 30 (1 - левая граница, 30 - правая), всего элементов в массиве - 30;

 

далее указывается тип элементов массива.

 

Элемент массива обозначается как <имя массива>[индекс].

 

Рассмотрим пример описания массива и ввод его значений пользователем.

 

program aaa;

var a:array[1..10] of integer;

i:integer;

begin

for i:=1 to 10 do begin

write(‘a[‘,i,’]=’);read(a[i]);

end;

for i:=1 to 10 do writeln(‘a[‘,i,’]=’,a[i]);

end.

 

Как видно из примера использование циклов напрямую связано с массивами. Лучше всего выбирать цикл с параметрами.

 

Пример вывода массива на экран.

 

for i:=1 to 10 do writeln(‘a[‘,i,’]=’,a[i]);

 

Двумерные массивы отличаются от обычных одномерных тем, что представляют собой не один ряд объектов а несколько рядов одинаковой длины. Такие массивы удобно изображать в виде матрицы

 
 
1 2 3 4 5 6 7 8 9 0 1 5 3 9 8 6 2 4 0 7 5 4 3 2 1

 


В описании двумерных массивов тип-диапазон состоит из двух частей

[n1..n2,m1..m2] – столбцы и строки матрицы.

 

Элемент двумерного массива обозначается

<имя массива>[индекс1,индекс2]

 

Рассмотрим пример работы с двумерным массивом.

 

Пользователь задает массив 3 X 3. Вывести на экран номера и значения элементов массива в виде “a[1,1]=0”.

 

program aaa;

var a:array[1..3,1..3] of integer;i,j:integer;

begin

for j:=1 to 3 do

for i:=1 to 3 do begin

write(‘a[‘,i,’,’,j,’]=’);read(a[i,j]);

end;

for j:=1 to 3 do

for i:=1 to 3 do begin

writeln(‘a[‘,i,’,’,j,’]=’,a[i,j]);

end;

end.

 

В следующем примере показано, как использовать циклы, чтобы пользователь мог задать размер массива во время запуска программы и оформить вывод на экран в виде матрицы.

 

program aaa;

var a:array[1..20,1..20] of integer;i,j,n:integer;

begin

read(n);

for j:=1 to n do

for i:=1 to n do begin

write(‘a[‘,i,’,’,j,’]=’);read(a[i,j]);

end;

for j:=1 to n do begin

for i:=1 to n do write(a[i,j]:3);

writeln;

end;

end.