Массивы. Виды массивов

Содержание

Слайд 2

Издалека… В языке Pascal ВСЕ переменные надо перво-наперво описать в блоке

Издалека…

В языке Pascal ВСЕ переменные надо перво-наперво описать в блоке VAR.
Рассмотрим

на примере:
Для описания прямой нам потребуются 4 переменных:
VAR
xn, yn, xk, yk; {(n - начальное, k – конечное)}

Т.е. Линия от (xn, yn) до (xk, yk)

Слайд 3

Издалека… ….а если так? Тогда для описания переменных нам понадобятся: VAR

Издалека…

….а если так?

Тогда для описания переменных нам понадобятся:
VAR
xn1, xn2, xn3, xn4,

xn4, xn5, xn6
yn1, yn2, yn3, yn4, yn4, yn5, yn6
xk1, xk2, xk3, xk4, xk4, xk5, xk6
yk1, yk2, yk3, yk4, yk4, yk5, yk6
Слайд 4

Теперь о массивах… Существует 2 вида массивов: ОДНОмерные, и МНОГОмерные. У

Теперь о массивах…

Существует 2 вида массивов: ОДНОмерные, и МНОГОмерные.
У массива есть

2 показателя - ИМЯ массива и ИНДЕКС элемента массива
При описании одномерного массива
Var
A:array[1..10] of integer;
в памяти резервируются 10 ячеек

A

A[1]

A[2]

A[3]

A[4]

A[5]

A[6]

A[7]

A[8]

A[9]

A[10]

Этот массив абсолютно идентичен описанию
Var
a1, a2, a3, a4, a5, a6, a7, a8, a9, a10:integer;

Слайд 5

Теперь о массивах… Единственное различие – это обращение к массиву: Если

Теперь о массивах…

Единственное различие – это обращение к массиву:
Если
а1:=1;
То
a[1]:=1;
Т. е.

обращаемся к ИМЕНИ массива и, в квадратных скобках, указываем НОМЕР элемента массива.

Каждая ячейка массива хранит ОДНО
И ТОЛЬКО ОДНО значение!!!!!!!!!!
Т.е.
A[1]:=1; a[5]:=-10….

Слайд 6

Теперь о массивах… Так ЗАЧЕМ тогда массивы?? А вот зачем.. Массивы

Теперь о массивах…

Так ЗАЧЕМ тогда массивы??
А вот зачем..
Массивы используют для хранения

идентичных ТИПОВ ДАННЫХ при БОЛЬШОМ ИХ КОЛИЧЕСТВЕ.
Для более-менее точного графического преставления параболы нужно 25-50 точек… Если учесть, что у каждой точки 2 показателя (x, y), то нам придется завести от 50-100 переменных…
VAR
x1, x2, x3………, x25:integer;
y1, y2, y3………, y25:integer;
Слайд 7

Теперь о массивах… ….или 2 массива: Var x, y:array[1..25] of integer;

Теперь о массивах…

….или 2 массива:
Var
x, y:array[1..25] of integer;
где и будут храниться

координаты точек:
(x[1], y[1]), (x[2], y[2]), (x[3], y[3])……… (x[25], y[25]),
Слайд 8

Теперь о массивах… Самый удобный способ заполнения массива – цикл: For i:=1 to 25 do a[i]:=i*i;

Теперь о массивах…

Самый удобный способ
заполнения массива – цикл:
For i:=1 to

25 do
a[i]:=i*i;
Слайд 9

Теперь о массивах… Операции над значениями массива производятся так же, как

Теперь о массивах…

Операции над значениями массива производятся так же,
как и

над обычными переменными:
…..
T:=a[1]+a[3]+(a[4]*a[5]);
Слайд 10

Теперь о массивах… МНОГОМЕРНЫЕ МАССИВЫ Описываются так: Var a:array[1..5, 1..5] of

Теперь о массивах…

МНОГОМЕРНЫЕ МАССИВЫ
Описываются так:
Var
a:array[1..5, 1..5] of integer;
Заполняются:
For i:=1 to 5

do
For j:=1 to 5 do
a[I,j]:=random(8);
Действия над многомерными массивами:
T:=a[1,5]+a[3,4];
Слайд 11

Теперь о массивах… Описываются так: Заполняются: Var St:=‘Привет вам, люди добрые!’;

Теперь о массивах…
Описываются так: Заполняются:
Var St:=‘Привет вам, люди добрые!’;
st:strung;

СТРОКОВЫЕ ПЕРЕМЕННЫЕ

Строковые переменные (тип STRING)

то же, что и одномерный массив.

Обратиться К ЛЮБОМУ элементу строки можно:
A:=st[1]+st[3]+st[8]+[19];

St:=‘Привет вам, люди добрые!’;

Слайд 12

Теперь о массивах… Для игры в «Крестики-Нолики» нам понадобится ДВУмерный массив

Теперь о массивах…

Для игры в «Крестики-Нолики» нам понадобится ДВУмерный массив 3

х 3.
Var
mas:array[1..3,1..3] of integer;
Показателем
«пустая клетка» будет 0 (ноль)
«крестик» 1
«нолик» 2
Значения массива в данной ситуации:
[столбец, строка]
mas[1,1]:=1; mas[2,1]:=2; mas[3,1]:=0;
mas[1,2]:=0; mas[2,2]:=0; mas[3,2]:=0;
mas[1,3]:=0; mas[2,3]:=0; mas[3,3]:=1;