
Массивы
Одномерные массивы
Выполнила Зорина Наталья Александровна
Учитель информатики
МБОУ «СШ №1» г.Новый Уренгой

Массив
- упорядоченный набор однотипных значений – элементов массива.
Тип элементов называется базовым типом массива .
В Паскале массив рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого можно ссылаться на него, как на единое целое, так и на любую из его компонент.

Одномерный массив
– это фиксированное количество элементов одного типа, объединенных одним именем, причем каждый элемент имеет свой уникальный номер и номера элементов идут подряд.
1, 2, 3, 4, 5, 6, …, 101, …
![Элемент массива обозначается следующим образом: []; где индекс элемента может быть выражением порядкового типа. Индекс элемента Имя массива А[1]](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_3.jpg)
Элемент массива обозначается следующим образом:
[];
где индекс элемента может быть выражением порядкового типа.
Индекс элемента
Имя массива
А[1]
![Описание массива определяет имя, размер массива и базовый тип. Формат описания в разделе переменных: Array – служебное слово (в переводе с английского означает «массив», «набор»). оf – служебное слово (в переводе с английского означает «из»). Базовый тип Имя массива Тип индекса Var A:Array [1..10] of Integer;](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_4.jpg)
Описание массива
определяет имя, размер массива и базовый тип.
Формат описания в разделе переменных:
Array – служебное слово (в переводе с английского означает «массив», «набор»).
оf – служебное слово (в переводе с английского означает «из»).
Базовый тип
Имя массива
Тип индекса
Var A:Array [1..10] of Integer;
![Также массив можно описать в разделе описания типов: Имя нового типа Базовый тип Диапазон элементов Type myarray=Array [1..10] of Integer; Var A:myarray;](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_5.jpg)
Также массив можно описать в разделе описания типов:
Имя нового типа
Базовый тип
Диапазон элементов
Type myarray=Array [1..10] of Integer;
Var A:myarray;

Способы заполнения
массива
- Заполнение массива с клавиатуры.
- Заполнение массива с посмощью генератора случайных чисел.
- Заполнение массива по формуле.
![1. Заполнение массива с клавиатуры Program n1; Uses crt; Var A: Array[1..30] of Integer; i: Integer; Begin For i:=1 to 30 do Readln(A[i]); End .](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_7.jpg)
1. Заполнение массива
с клавиатуры
Program n1;
Uses crt;
Var A: Array[1..30] of Integer;
i: Integer;
Begin
For i:=1 to 30 do
Readln(A[i]);
End .
![2. Заполнение массива с помощью генератора случайных чисел Program n2; Uses crt; Var A: Array[1..30] of Integer; i: Integer; Begin Randomize; For i:=1 to 30 do A[i]:=-25+Random(101); End .](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_8.jpg)
2. Заполнение массива
с помощью генератора
случайных чисел
Program n2;
Uses crt;
Var A: Array[1..30] of Integer;
i: Integer;
Begin
Randomize;
For i:=1 to 30 do
A[i]:=-25+Random(101);
End .

Функция Random выбирает случайное число из отрезка от 0 до 100–1. Очередному элементу массива будет присвоена сумма выбранного случайного числа и –25, таким образом, массив будет заполняться случайными числам от –25 до –25+(100–1), то есть до 74.
![3. Заполнение массива по формуле Program n3; Uses crt; Var A: Array[1..30] of Integer; i: Integer; Begin For i:=1 to 30 do A[i]:=i/(i+2); End .](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_10.jpg)
3. Заполнение массива
по формуле
Program n3;
Uses crt;
Var A: Array[1..30] of Integer;
i: Integer;
Begin
For i:=1 to 30 do
A[i]:=i/(i+2);
End .
![Вывод массива на экран Program nv; Uses crt; Var A: Array[1..30] of Integer; i: Integer; Begin For i:=1 to 30 do Write(A[i]); End .](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_11.jpg)
Вывод массива
на экран
Program nv;
Uses crt;
Var A: Array[1..30] of Integer;
i: Integer;
Begin
For i:=1 to 30 do
Write(A[i]);
End .

Вопросы
для повторения:
- Как описывается массив в разделе описания переменных и в разделе описания типов?
- Какие способы заполнения одномерного массива существуют?
- Могут ли элементами некоторого массива быть числа 1; 1.41; 1.73 и 2?
![4. Какие из приведенных описаний одномерных массивов являются правильными: а) Var a:Array[1..20] of Integer; б) Type Myarray:Array[1..20]; Var b:Myarray; в) Var sd:Array[1..n] of Integer; г) Var dd:Array[1] of Integer;](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_13.jpg)
4. Какие из приведенных описаний одномерных массивов являются правильными:
а) Var a:Array[1..20] of Integer;
б) Type Myarray:Array[1..20];
Var b:Myarray;
в) Var sd:Array[1..n] of Integer;
г) Var dd:Array[1] of Integer;
![Program n1; Uses crt; Var B:Array [1..25] of Integer; i:Integer; Begin Randomize; For i:=1 to 25 do begin A[i]:=Random(101)-50; Write(A[i]:4) end; End.](http://fsd.mir-olymp.ru/html/2020/03/22/i_5e777f39518f8/img_phpuxmOQ7_14.jpg)
Program n1;
Uses crt;
Var B:Array [1..25] of Integer;
i:Integer;
Begin
Randomize;
For i:=1 to 25 do begin
A[i]:=Random(101)-50;
Write(A[i]:4)
end;
End.

Program n1;
Uses crt;
Var A:Array [1..20] of Integer;
i, k:Integer;
Begin
For i:=1 to 20 do begin
A[i]:=Random(81)-10;
Write(A[i]:4);
end;
k:=0;
For i:=1 to 20 do
If A[i]0 Then k:=k+1;
Writeln(‘k=‘,k);
End.

Program n1;
Uses crt;
Var A:Array [1..20] of Integer;
i, k:Integer;
Begin
k:=0;
For i:=1 to 20 do begin
A[i]:=Random(81)-10;
Write(A[i]:4);
If A[i]0 Then k:=k+1;
end;
Writeln(‘k=‘,k);
End.