МАССИВ
– это упорядоченная совокупность однотипных
данных, обозначаемых общим именем и различаемых с помощью
индексов.
Задание на закрепление определения
массива.
-
Заданы последовательности. Определите, какая из
этих последовательностей является массивом?
{1, 2,
a, -5,
n, 9,
y}
{a, p, c, d, f, k,
i} {4, 7, 9, 11, 13,
20}
-
Рассмотрим примеры реальных объектов, которые
можно представить в виде массива. Объясните, почему? Назовите в
каждом случае, что будет являться элементом массива, а что –
индексом (используются слайды из презентации)

Ответ:
книга состоит из множества однотипных элементов – страниц, у каждой
страницы есть номер (индекс), все страницы объединены под одним
названием (название книги)

Ответ:
дому соответствует один почтовый адрес (город, улица, номер).
Элементами дома можно считать квартиры, у каждой из которых есть
номер (индекс).

Ответ:
Доска состоит из клеток, каждая клетка обозначается буквой и цифрой
(двойной индекс).

Ответ: команда состоит из нескольких людей, у каждого из
них есть номер (индекс).
Одной из важных характеристик массива
является размерность. Под размерностью понимают минимальное количество независимых
параметров (индексов), которые однозначно определяют положение
любого элемента в нём.
Массивы бывают одномерные, двумерные и
многомерные. Познакомимся с одномерными
массивами.
Одномерный
массив -
это упорядоченная совокупность однотипных элементов (данных),
обозначаемых одним именем, и каждый элемент которой имеет
индекс.

Для обозначения типа данных – массив в Паскале
есть специальное служебное слово array.
Описание одномерного массива может быть выполнено двумя
способами:
-
в разделе var:
var
<имя> : array [n1 .. n2] of
<тип>;
-
описание через введение типа данных
пользователя:
type
<наименование типа> =
array
[n1
.. n2] of
<тип компонента>;
var
<имя массива> : <наименование
типа>;
Примеры описания массивов:
1) type
mass
= array[1
.. 10] of
real;
var f :
mass;
2) var a : array[1 .. 10] of
integer;
3) const n =
15;
var massiv : array[1 .. n] of
integer;
Для того чтобы обратиться к элементу этого
массива, необходимо указать имя массива и в квадратных скобках –
номер элемента. Например, первый элемент массива А – A[1], а пятый
– A[5].
Задание на отработку умения обращения к
элементам массива:
-
Количество жильцов в 7 квартире равно
3
a[7] :=
3
-
Температура в первый день месяца была
-25°С
m[1] :=
-25
-
В футбольной команде под номером 6 играет
футболист по фамилии Иванов
zenith[6] :=
'Иванов'
-
На 25 странице в книге начинается глава
1
kniga[25] := 'глава1'
Рассмотрим основные алгоритмы при работе с
массивами (все алгоритмы проецируются на экран с помощью
мультимедийного проектора и подробно объясняются учителем, как они
работают)
-
Заполнение элементом
массива
Для
ввода данных в память необходимо организовать цикл. Поскольку число
повторений ввода данных известно, удобно использовать цикл прямого
пересчета.
for i := 1 to n do
read(a[i]);
writeln;
вводимые значения набираются на клавиатуре в одну
строку через пробел, после этого нажимается
ENTER
for i := 1 to n do a[i] :=
random(10);
Для этого используется генератор случайных
чисел RANDOM(N),
который выбирает случайным образом числа от 0 до
N
– 1.
Если требуется, чтобы значения элементов массива
выбирались из определенного интервала [a, b],
то m[i]
:= a + Random(b
– a
+ 1);
for i := 1 to n do a[i] :=
sqr(i);
const n = 10; a : array[1 ..
n] of integer = (1, 0, -2, 3, 8, -10, 9, 8, 17,
0);
-
Вывод элементов массива
for i := 1 to n do write(a[i],
' ');
writeln;
for i := 1 to n do
writeln(a[i]);
-
Суммирование элементов
массива
s :=
0;
for i := 1 to n do s := s +
a[i];
s :=
0;
for i := 1 to n
do
if
<условие поиска> then s := s +
a[i];
-
Замена элементов массива
Суть замены элементов массива состоит в том, что
элементы, удовлетворяющие условию замены, заменяются на новые в
соответствии с правилом замены
for i := 1 to n
do
if
<условие для замены> then a[i] :=
<выражение>;
-
Определение количества элементов массива,
удовлетворяющих условию
k :=
0;
for i := 1 to n
do
if
<условие поиска> then
k
:= k
+ 1;
-
Нахождение наибольшего элемента
массива
max :=
a[1];
for i := 2 to n
do
if a[i] > max then max :=
a[i];
Самостоятельная работа в
группах
В программе Pascal заготовлены шаблоны для всех
задач, которые необходимо заполнить. Выдаются распечатанные
шаблоны, которые ученики заполняют при решении задач на компьютере.
После урока шаблоны остаются у них. Учитель должен дать краткие
комментарии по каждой задаче, обратить внимание учащихся, что
решение задач сводится к типовым задачам – нахождение максимального
или минимального элементов массива, нахождению количества элементов
массива, обладающих некоторым свойством, и т.д.
1 На крыше дома жило 10 семей
ласточек. В первой семье ласточка была одна, во второй – 4, в
третьей – 9 и т.д. Подсчитайте общее количество ласточек. Выведите
на экран номера семей, где количество ласточек кратно 4. Откройте
файл VAR1_ ZADACHA 1. PAS и в готовом шаблоне допишите недостающие
операторы.
program lastochka;
var l:array[1.. ] of
;
begin
for i:=1 to do
begin
writeln
('l[',i,']=',l[i]);
end;
writeln
('s=',s);
for i:=1 to 10 do
begin
if
writeln
('i=',i);
end.
Решение:
program
lastochka;
var l:array[1..10]
of integer;
s,i:integer;
begin
s:=0;
for i:=1 to 10
do
begin
l[i]:=i*i;
writeln
('l[',i,']=',l[i]);
s:=s+l[i];
end;
writeln
('s=',s);
for i:=1 to 10
do
begin
if l[i] mod 4=0
then
writeln
('i=',i);
end;
readln;
end.
-
Во время субботника учащиеся школы вышли на
посадку деревьев. Директором были собраны сведения о количестве
деревьев, посаженных каждым классом. Определить наилучший результат
и количество классов, добившихся его. Откройте файл VAR1_ ZADACHA
2. PAS и в готовом шаблоне допишите недостающие
операторы.
program
derevo;
var d:array[1..]
of integer;
begin
randomize;
for i:=1 to
do
begin
d[i]:=
;
writeln
('d[',i,']=',d[i]);
end;
for i:= to
do
|