Массивы
Логические операции
Логическая операция | Значение | Примеры записи | Значение примера |
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]);
Двумерные массивы отличаются от обычных одномерных тем, что представляют собой не один ряд объектов а несколько рядов одинаковой длины. Такие массивы удобно изображать в виде матрицы
|
В описании двумерных массивов тип-диапазон состоит из двух частей
[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.