Similar presentations:
Одномерные массивы
1.
2.
МассивыМассив – это упорядоченная последовательность,
состоящая из фиксированного количества величин
одного типа.
Особенности:
• все элементы имеют один тип
• у массива есть имя
• все элементы расположены в памяти рядом
Примеры:
• список учеников в классе
• квартиры в доме
• школы в городе
• данные о температуре воздуха за год, месяц…
2
3.
С точки зрения программирования:Массив – пронумерованная совокупность ячеек
памяти, названная одним именем
1
2
3
4
5
6
7
44 22 10 Индекс
11 14 30 19
Имя массива
(порядковый
номер) элемента
массива
А
A [ 4 ] := 11;
Значение
элемента
массива
4.
Описание массиваОбъявление массива в разделе описания
переменных:
Var имя:ARRAY[1..N] OF тип;
Например:
Имя массива
Количество Тип элементов
элементов
Var 9К:Array[1..20] of string;
Var dom12:Array[1..100] of integer;
Var Nsc:Array[1..212] of string;
Var temp:Array[1..31] of real;
5.
Заполнение массива1. Заполнение массива с клавиатуры
.
.
.
For i:=1 to N do begin
Write(' a [ ' , i , ' ] = ' );
ReadLn ( a [ i ] );
End;
6.
Заполнение массива2. Заполнение массива «по формуле».
.
.
.
For i:=1 to N do a[ i ]:= формула;
7.
Вывод массиваа) в столбик:
For i:=1 to N do Writeln(a[i]);
б) в строку
For i:=1 to N do Write(a[i]);
2.23
2.23
3.19
1.44
4.93
5.58
3.19 1.44 4.93 5.58
8.
Заполнение массиваЗадача 2. Составить программу заполняющую массив из
Program n2;
10 элементов, числовой последовательностью:
1,4,9,16…
var
a:array[1..10]
of real;
2)
(где A
=
i
i
Значение элемента массива
i:integer;
зависит только от
begin
порядкового номера
for i:=1 to 10 do begin
a[i]:=i*i;
write(a[i]);
end;
end.
9.
Нахождение суммы и произведения элементов массиваНахождение суммы элементов массива:
Предполагаем, что
сумма равна нулю
s:=0;
For i:=1 to N do
WriteLn ('Сумма = ', s);
s:=s+ a[i];
Добавляем элемент
к сумме
10.
Подсчет количества элементов удовлетворяющих условиюПодсчет количества
элементов
удовлетворяющих
Предполагаем,
что
условию:
таких элементов
нет
k:=0;
For i:=1 to N do If (условие) then k:=k+1;
WriteLn('Кол-во=',k);
Если такой элемент
есть, то К
увеличиваем на 1.
11.
Максимальный и минимальный элемент массиваНахождение максимального элемента в массиве
и его номера:
Предполагаем,
Если что
находится
наибольший
элемент
больший
элемент
стоит на первом месте
max:=a[1];
k:=1;
for i:=2 to N do if (a[i]>max) then begin
Когда массив
max:=a[i];
закончился, выводим
наибольший элемент Он становится
k:=i;
максимальным
и его номер
end;
WriteLn(‘Max=’,max);
WriteLn(‘Номер=’,k);
12.
Обработка массиваИзменение элементов массива удовлетворяющих
условию
For i:=1 to N do If (условие) then a[i]:=значение;
Изменения:
Условия:
aa[ [i i] ]:=5
> 0––заменить
положительный
i-ый элемент
элемент
на массива
число 5
aa[ [i i] ]:=Mod
- a [2i =] –0 заменить
– четный i-ый
элемент
элемент
массива
на
противоположный
a [ i ] = int(a [ i ]) – целый
по знаку
элемент массива
aa[ [i i] ]:== ai –[ iэлемент
] * 2 – удвоить
массивакаждый
равен своему
элемент
массива
порядковому номеру
ai [Mod
i ] :=2a=[ 0i -–1]+3
четные
–заменить
порядковые
i-ый элемент
номера
предшествующим
a [ i ] = К – элемент
плюс
массива
3
равный числу К
13.
Работа с массивомАлгоритм работы с массивами
1. Описание массива
2. Заполнение массива
3. При необходимости, вывод массива
4. Обработка массива
5. Вывод нового массива, если вносились
изменения
14.
Дан массив v(4). Найтимаксимальный элемент (max)
и заменить его на 89.