103.53K
Категория: ПрограммированиеПрограммирование

Одномерные массивы

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.
English     Русский Правила