Similar presentations:
Массивы. Виды массивов
1. Массивы
Методист по аудио-видео монтажуЕремеев А. Б.
02.12.2008 г.
2. Издалека…
В языке Pascal ВСЕ переменные надо перво-наперво описать в блоке VAR.Рассмотрим на примере:
Для описания прямой нам потребуются 4 переменных:
VAR
xn, yn, xk, yk; {(n - начальное, k – конечное)}
(xk, yk)
(xn, yn)
Т.е. Линия от (xn, yn) до (xk, yk)
Методист по аудио-видео монтажу
Еремеев А. Б.
3. Издалека…
….а если так?Тогда для описания переменных нам понадобятся:
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 показателя - ИМЯ массива и ИНДЕКС элемента массива
При описании одномерного массива
Var
A:array[1..10] of integer;
в памяти резервируются 10 ячеек
A[1]
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
A[9]
A[10]
A
Этот массив абсолютно идентичен описанию
Var
a1, a2, a3, a4, a5, a6, a7, a8, a9, a10:integer;
Методист по аудио-видео монтажу
Еремеев А. Б.
5. Теперь о массивах…
Единственное различие – это обращение к массиву:Если
а1:=1;
То
a[1]:=1;
Т. е. обращаемся к ИМЕНИ массива и, в квадратных скобках, указываем
НОМЕР элемента массива.
A
A[1]
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
A[9]
A[10]
1
5
100
0
-10
12
12
-1
5
2
Каждая ячейка массива хранит ОДНО
И ТОЛЬКО ОДНО значение!!!!!!!!!!
Т.е.
A[1]:=1; a[5]:=-10….
Методист по аудио-видео монтажу
Еремеев А. Б.
6. Теперь о массивах…
Так ЗАЧЕМ тогда массивы??А вот зачем..
Массивы используют для хранения идентичных ТИПОВ ДАННЫХ при
БОЛЬШОМ ИХ КОЛИЧЕСТВЕ.
Для более-менее точного графического преставления параболы нужно 2550 точек… Если учесть, что у каждой точки 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;
где и будут храниться координаты точек:
(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;
Методист по аудио-видео монтажу
Еремеев А. Б.
9. Теперь о массивах…
Операции над значениями массива производятся так же,как и над обычными переменными:
…..
T:=a[1]+a[3]+(a[4]*a[5]);
Методист по аудио-видео монтажу
Еремеев А. Б.
10. Теперь о массивах…
МНОГОМЕРНЫЕ МАССИВЫстолбец
1 2 3 4 5
Var
a:array[1..5, 1..5] of integer;
строка
Описываются так:
1
2
3
4
5
1
2
8
9
0
2
4
1
9
4
0
0
5
0
5
2
3
4
6
8
0
5
6
7
0
Заполняются:
For i:=1 to 5 do
For j:=1 to 5 do
a[I,j]:=random(8);
Методист по аудио-видео монтажу
Еремеев А. Б.
11. Теперь о массивах…
СТРОКОВЫЕ ПЕРЕМЕННЫЕСтроковые переменные (тип STRING) то же, что и одномерный
массив.
Описываются так:
Var
Заполняются:
St:=‘Привет вам, люди добрые!’;
st:strung;
Обратиться К ЛЮБОМУ элементу строки можно:
A:=st[1]+st[3]+st[8]+[19];
St:=‘Привет вам, люди добрые!’;
Методист по аудио-видео монтажу
Еремеев А. Б.
12. Теперь о массивах…
Для игры в «Крестики-Нолики» нам понадобится ДВУмерный массив 3 х 3.Var
mas:array[1..3,1..3] of integer;
Показателем
«пустая клетка» будет
«крестик»
1
«нолик»
2
0 (ноль)
Значения массива в данной ситуации:
[столбец, строка]
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;
Х
0
Х
Методист по аудио-видео монтажу
Еремеев А. Б.
13. Вывод…
Массивы используютсяПРИ БОЛЬШОМ КОЛИЧЕСТВЕ ДАННЫХ ОДНОГО ТИПА.
Конец.
Методист по аудио-видео монтажу
Еремеев А. Б.