Similar presentations:
Массивы. Алгоритмы работы с табличными величинами. Понятие одномерного и двумерного массива
1.
МАССИВ - (слово французскогопроисхождения, обозначающее мощный или
сплошной) совокупность множества
однородных по каким-либо признакам
объектов, предметов, данных и т.п., например:
жилой…, лесной…, горный…,
информационный…
2. Алгоритмы работы с табличными величинами. Понятие одномерного и двумерного массива.
3.
В практической деятельности человека часто используютсятаблицы и списки.
1. Иванов
2. Петров
3. Сидоров
4. Кошкин
5. Мышкин
Например:
•Список учеников в журнале;
•Таблица умножения.
1
2
3
4
5
6
7
8
9
10
1
1
2
3
4
5
6
7
8
9
10
2
2
4
6
8
10
12
14
16
18
20
3
3
6
9
12
15
18
21
24
27
30
4
4
8
12
16
20
24
28
32
36
40
5
5
10
15
20
25
30
35
40
45
50
6
6
12
18
24
30
36
42
48
54
60
4.
В языках программирования подобные типы данных описываютсяс помощью массивов.
это объединенное одним именем
(идентификатором массива)
множество однотипных элементов
Каждое значение в массиве называется элементом.
Номер элемента в списке называется индексом.
Массив в Паскале имеет фиксированное количество
элементов.
Имя массива, количество элементов и тип
элементов массива определяются пользователем при
описании массива.
5.
МАССИВ1.6 14.9 -5.0 8.5 0.46 2.25
-9.85 6.27 5.7
-3.2
Элемент массива обозначается именем массива и в
квадратных скобках указывается его индекс, элементы
массива упорядочиваются по его индексу.
Индекс массива - это величина целого типа,
характеризующая положение элемента в массиве.
А[1]=
A[5]=
A[2]=
A[9]=
6.
Пример:Каждому массиву, используемому в программе, выделяется
место в памяти.
Массиву отводится не одна ячейка, а последовательность
расположенных друг за другом ячеек, в каждую из которых
записывается значение соответствующего элемента.
Представим массив, состоящий из 88 элементов
типа real, в котором элементы нумеруются от 11 до 99.
x [11]
x [12]
x [13]
…
x [98]
x [99]
Индекс
11
12
13
…
98
99
Значение
1.23
1.61
0.01
…
1.34
1.91
7.
Описание массиваОписание массива включает в себя:
1) Имя массива;
2) Ключевое слово array;
3) Диапазон изменения индексов, определяемый
граничной парой,
например: 1..40.
1..N.
5..20.
Нижняя граница показывает наименьшее возможное значение индекса,
верхняя - наибольшее. Нижняя граница не может превосходить верхнюю.
Нижняя граница отделяется от верхней двумя точками;
4) Тип элементов массива.
8.
Описание массиваОписание массива строится по следующей схеме:
<имя массива> : array [граничная пара] оf <тип элементов>
(массив)
(из)
Если несколько массивов имеют один и тот же тип, и одинаковый
диапазон изменения индекса, то их описание можно объединить,
разделив имена массивов запятыми:
Var
< имя 1, имя2....>: array [граничная пара] of <тип
эл-тов>
9.
Пример:Var
Vector: array [1 ..60] of integer;
xBlock: array [40..50] of real:
Xl,x2: array [0..60] of integer;
10.
Заполнение массива.Заполнить элементы одномерного массива
значениями мы можем:
• вводя значения с клавиатуры;
• случайным образом;
• по формуле.
Надо помнить, что во всех трех случаях нам не
обойтись без организации цикла.
Будем считать, что объявили массив из 10 элементов
(тип элементов в данном случае значения не имеет).
11.
Заполнение массива с клавиатуры.Var a: array [1..10] of integer;
begin
for i:=1 to 10 do
begin
writeln('введите значение элемента');
readln(a[i])
end;
end.
12.
Заполнение по формуле.Каждый элемент массива должен быть рассчитан
по формуле (например, аi = i + 5).
FOR i=1 to 10 do
a[i]:=i+5;
Индекс
элемент
1
2
3
4
5
6
7
8
9
10
13.
Вывод массива на экранVar a: array [1..10] of integer;
begin
for i:=1 to 10 do begin
writeln('введите значение элемента');
readln(a[i])
end;
for i:=1 to 10 do begin
Writeln(a[i]);
end;
end.
14.
Заполнение массива случайными числамиДля генерации чисел от 0 до n (не включая само
значение n, целые числа в интервале [0,N))
используется запись random (n).
Перед использованием функции необходимо
инициализировать датчик случайных чисел с
помощью процедуры randomize.
Диапазон в Паскале тех самых случайных чисел
от a до b задается формулой:
x:=random(b-a+1)+a;
15.
Заполнение массива случайными числамиvar
f: array[1..10] of integer;
i:integer;
begin
randomize;
for i:=1 to 10 do
begin
f[i]:=random(10); { интервал [0,9] }
write(f[i],' ');
end;
end.