расположенных в памяти рядом.
Особенности:
все элементы имеют один тип
весь массив имеет
одно имявсе элементы расположены в памяти рядом
Примеры:
список учеников в классе
квартиры в доме
школы в городе
данные о температуре воздуха за год


![Программирование на языке Паскаль Часть II МассивыAмассив315НОМЕР элемента массива(ИНДЕКС)A[1]A[2]A[3]A[4]A[5]ЗНАЧЕНИЕ элемента массиваA[2]НОМЕР (ИНДЕКС) элемента массива: 2ЗНАЧЕНИЕ элемента массива: 10 МассивыAмассив315НОМЕР элемента массива(ИНДЕКС)A[1]A[2]A[3]A[4]A[5]ЗНАЧЕНИЕ элемента массиваA[2]НОМЕР (ИНДЕКС) элемента массива: 2ЗНАЧЕНИЕ элемента массива: 10](/img/tmb/7/640163/ab02cc3fca5398b986e6fff0d231176b-800x.jpg)

![Программирование на языке Паскаль Часть II Объявление массивовМассивы других типов: Другой диапазон индексов: Индексы других типов:var X, Объявление массивовМассивы других типов: Другой диапазон индексов: Индексы других типов:var X, Y: array [1..10] of real;](/img/tmb/7/640163/2e1bb969c4601b6d935e9cdb2db75c00-800x.jpg)
![Программирование на языке Паскаль Часть II Что неправильно?var a: array[10..1] of integer;... A[5] := 4.5;[1..10]var a: array Что неправильно?var a: array[10..1] of integer;... A[5] := 4.5;[1..10]var a: array ['z'..'a'] of integer;... A['B'] := 15;A['b']['a'..'z']var](/img/tmb/7/640163/198911b027829bacc3fc9518ef383150-800x.jpg)
![Программирование на языке Паскаль Часть II Заполнение массиваОбъявление:Заполнение одинаковыми числами:const N = 5; var A: array[1..N] of Заполнение массиваОбъявление:Заполнение одинаковыми числами:const N = 5; var A: array[1..N] of integer; i: integer;for i:=1 to](/img/tmb/7/640163/e78ff78acc0a5ceb709aee869dfa6aa3-800x.jpg)
![Программирование на языке Паскаль Часть II Заполнение массиваОбъявление:Заполнение последовательными числами:Z:= 8;for i:=1 to N do begin A[i]:= Заполнение массиваОбъявление:Заполнение последовательными числами:Z:= 8;for i:=1 to N do begin A[i]:= Z; Z:= Z + 1;end;i89101112A[1]:=8A[2]:=9A[3]:=10A[4]:=11A[5]:=12Z8910111213const N](/img/tmb/7/640163/919a70c666bb819f79e265be8ee21ada-800x.jpg)
![Программирование на языке Паскаль Часть II Заполнение массиваЗаполнение последовательными числами:Z:= 8;for i:=1 to N do begin A[i]:= Заполнение массиваЗаполнение последовательными числами:Z:= 8;for i:=1 to N do begin A[i]:= Z; Z:= Z + 1;end;for i:=1](/img/tmb/7/640163/3edc145e7c527711a03f2f04dbe15df0-800x.jpg)
![Программирование на языке Паскаль Часть II МассивыОбъявление:Ввод с клавиатуры:Поэлементные операции:Вывод на экран:const N = 5; var a: МассивыОбъявление:Ввод с клавиатуры:Поэлементные операции:Вывод на экран:const N = 5; var a: array[1..N] of integer; i: integer;for](/img/tmb/7/640163/2f69adb5a02795dd534527ac3e30a88b-800x.jpg)


![Программирование на языке Паскаль Часть II Максимальный элементmax := a[1]; { считаем, что первый – максимальный }iMax Максимальный элементmax := a[1]; { считаем, что первый – максимальный }iMax := 1;for i:=2 to N do](/img/tmb/7/640163/aec955872b82135df3d2daab57244d02-800x.jpg)
![Программирование на языке Паскаль Часть II Программаprogram qq;const N = 5;var a: array [1..N] of integer; i, Программаprogram qq;const N = 5;var a: array [1..N] of integer; i, iMax: integer;begin { здесь нужно](/img/tmb/7/640163/6baf47d704c1d6c8edff68c6d2554257-800x.jpg)



![Программирование на языке Паскаль Часть II Распределение случайных чиселМодель: снежинки падают на отрезок [a,b]распределениеравномерноенеравномерное Распределение случайных чиселМодель: снежинки падают на отрезок [a,b]распределениеравномерноенеравномерное](/img/tmb/7/640163/9f2382f57d3f058c936bd499ca8c72d6-800x.jpg)


![Программирование на языке Паскаль Часть II Генератор случайных чисел в ПаскалеЦелые числа на отрезке [a,b]: var x: Генератор случайных чисел в ПаскалеЦелые числа на отрезке [a,b]: var x: integer; ... x := random](/img/tmb/7/640163/bcf993a196ba6cff9c3c4997d98229e4-800x.jpg)
![Программирование на языке Паскаль Часть II Заполнение массива случайными числамиconst N = 5;var A: array [1..N] of Заполнение массива случайными числамиconst N = 5;var A: array [1..N] of integer; i: integer;begin writeln('Исходный массив:');](/img/tmb/7/640163/44ba977bce4ebc9b0de8c167ca45cbfe-800x.jpg)
![Программирование на языке Паскаль Часть II Подсчет элементовЗадача: заполнить массив случайными числами в интервале [-1,1] и подсчитать Подсчет элементовЗадача: заполнить массив случайными числами в интервале [-1,1] и подсчитать количество нулевых элементов.Идея: используем переменную-счётчик.Решение:записать в](/img/tmb/7/640163/b6c07fee0a4aaf20840fd1fe1185c5d0-800x.jpg)

![Программирование на языке Паскаль Часть II Подсчет элементовprogram qq;const N = 5;var A: array [1..N] of integer; Подсчет элементовprogram qq;const N = 5;var A: array [1..N] of integer; i, count: integer;begin { здесь](/img/tmb/7/640163/f495168184fc10562d4ceb3996452ac3-800x.jpg)
![Программирование на языке Паскаль Часть II Сумма выбранных элементовЗадача: заполнить массив случайными числами в интервале [-10,10] и Сумма выбранных элементовЗадача: заполнить массив случайными числами в интервале [-10,10] и подсчитать сумму положительных элементов.Идея: используем переменную](/img/tmb/7/640163/c4467e4d6e4615d8ce502dbb32138725-800x.jpg)
![Программирование на языке Паскаль Часть II Сумма выбранных элементовначалоконецнетданетда S:= 0 i:= 1S:= S + A[i]i:= i Сумма выбранных элементовначалоконецнетданетда S:= 0 i:= 1S:= S + A[i]i:= i + 1пока ни одного не](/img/tmb/7/640163/dd5dfe49706c1e72611fdd46a959b037-800x.jpg)
![Программирование на языке Паскаль Часть II Сумма выбранных элементовprogram qq;const N = 5;var A: array [1..N] of Сумма выбранных элементовprogram qq;const N = 5;var A: array [1..N] of integer; i, S: integer;begin {](/img/tmb/7/640163/eb7723dc9e3e05e5f0f09121da4a98f9-800x.jpg)


![Программирование на языке Паскаль Часть II Поиск элемента в массивеprogram qq;const N=5;var a:array[1..N] of integer; i, X: Поиск элемента в массивеprogram qq;const N=5;var a:array[1..N] of integer; i, X: integer;begin { здесь надо](/img/tmb/7/640163/7c08a91bc05f50fe558e2a9c87eb7780-800x.jpg)
![Программирование на языке Паскаль Часть II Реверс массиваЗадача: переставить элементы массива в обратном порядке.Алгоритм:поменять местами A[1] и Реверс массиваЗадача: переставить элементы массива в обратном порядке.Алгоритм:поменять местами A[1] и A[N], A[2] и A[N-1], …Псевдокод:for i:=1](/img/tmb/7/640163/ccbd6b4cae3756ebda8a82d74d680c50-800x.jpg)

![Программирование на языке Паскаль Часть II Программаprogram qq;const N = 10;var A: array[1..N] of integer; i, c: Программаprogram qq;const N = 10;var A: array[1..N] of integer; i, c: integer;begin { заполнить массив }](/img/tmb/7/640163/c6b5c22948911363efe8be319eeaf0f6-800x.jpg)
![Программирование на языке Паскаль Часть II Циклический сдвигЗадача: сдвинуть элементы массива влево на 1 ячейку, первый элемент Циклический сдвигЗадача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится на место последнего.Алгоритм:A[1]:=A[2]; A[2]:=A[3];… A[N-1]:=A[N];Цикл:for](/img/tmb/7/640163/e20d02797aeccd3a03e9b0006b05cd0a-800x.jpg)
![Программирование на языке Паскаль Часть II Программаprogram qq;const N = 10;var A: array[1..N] of integer; i, c: Программаprogram qq;const N = 10;var A: array[1..N] of integer; i, c: integer;begin { заполнить массив }](/img/tmb/7/640163/fead49f26c28ce89f633a748e28be2ed-800x.jpg)

![Программирование на языке Паскаль Часть II Выбор нужных элементовРешение: ввести счетчик найденных элементов count, очередной элемент ставится Выбор нужных элементовРешение: ввести счетчик найденных элементов count, очередной элемент ставится на место B[count].count:=0;for i:=1 to N](/img/tmb/7/640163/08eb9193de974d20ed5651718f935b3a-800x.jpg)
![Программирование на языке Паскаль Часть II Как вывести массив B?Примитивное решение:writeln('Выбранные элементы:');for i:=1 to N do write(B[i], Как вывести массив B?Примитивное решение:writeln('Выбранные элементы:');for i:=1 to N do write(B[i], ' ');Правильное решение:writeln('Выбранные элементы:');for i:=1 to](/img/tmb/7/640163/d924fcd28dde066703f94b564b2ea63f-800x.jpg)



![Программирование на языке Паскаль Часть II Программа1-ый проход:сравниваются пары A[N-1] и A[N], A[N-2] и A[N-1] … A[1] Программа1-ый проход:сравниваются пары A[N-1] и A[N], A[N-2] и A[N-1] … A[1] и A[2] A[j] и A[j+1]2-ой](/img/tmb/7/640163/c321bc3060366c135b9cbcfc8b85e2df-800x.jpg)
![Программирование на языке Паскаль Часть II Программаprogram qq;const N = 10;var A: array[1..N] of integer; i, j, Программаprogram qq;const N = 10;var A: array[1..N] of integer; i, j, c: integer;begin { заполнить массив](/img/tmb/7/640163/da951caf42f80178579bae79fb0b143b-800x.jpg)

