Понятие одномерного массива
Например: семейство бабочек ;
поле цветов;
Понятие одномерного массива
Таблица температур за неделю
Дни недели
T [ 1: 7 ]
пн
T [1]
вт
температура
T [2]
-21
ср
T [3]
-18
чт
пт
T [4]
-7
T [5]
сб
-6
T [6]
вс
10
T [7]
18
23
Массивы
Массив – это пронумерованная конечная последовательность однотипных величин.
Массивы
Характеристики массива:
Тип элементов массива
Имя массива
Размер массива
ИМЯ
[ индекс ]
A[I]
Массивы
НОМЕР элемента массива
( ИНДЕКС )
массив
A
3
1
2
3
4
5
15
5
10
15
20
25
A[4]
A[5]
A[1]
A[3]
A[2]
ЗНАЧЕНИЕ элемента массива
НОМЕР (ИНДЕКС) элемента массива : 2
A[2] =10
ЗНАЧЕНИЕ элемента массива : 10
Описание массива на Паскале
Массив целых чисел:
тип
элементов
var A : array[ 1 .. 5 ] of integer ;
конечный индекс
начальный индекс
имя
Размер через константу:
Const N=5;
var A: array[1..N ] of integer ;
Заполнение массивов
- с клавиатуры;
- с помощью датчика случайных чисел;
- с помощью формулы.
Заполнение массивов
с клавиатуры
Пример Заполнить массив А с клавиатуры
13
1 0
15
20
25
a[1] =
a[2] =
a[3] =
a[4] =
a[5] =
for i:=1 to 5 do
begin
write('a[', i, ']=');
read ( a[i] );
end;
Заполнение массива
случайными числами
Число из интервала [0, M-1]
random (М)
Вещественное число от 0 до 1
r andom
Число из интервала [a, b]
random (b-a+1)+a
for i:=1 to 10 do
begin
a[i]:=random(101); { числа от 1 до 100}
end;
Заполнение массива
с помощью формулы
Пример. Заполнить одномерный массив из 10 чисел по формуле b[i]:=i*3 .
var b: array [1.. 10 ] of integer;
i: integer;
begin
for i:=1 to 10 do
b[i]:=i *3 ;
end;
Вывод массива
Для одномерного массива А из 3 элементов:
writeln(' Массив А :');
For i:=1 to 3 do
write ( А [i]:4);
End;
Вывод массива
На экране
Массив А:
4 5 7
Максимальный элемент
Задача: найти в массиве максимальный элемент.
Алгоритм:
max
max
самый большой
max
14
14
{ максимального } then { запомнить новый максимальный элемент a[i] } 14 " width="640"
Максимальный элемент
{ считаем, что первый элемент – максимальный }
for i:=2 to N do
if a[i] { максимального } then
{ запомнить новый максимальный элемент a[i] }
14
max then { нашли новый максимальный } begin max := a[i]; { запомнить a[i] } iMax := i; { запомнить i } end; 14 14 " width="640"
Номер максимального элемента
Дополнение: Найдем номер максимального элемента.
max := a[1]; { считаем, что первый – максимальный }
iMax := 1;
for i:=2 to N do { проверяем все остальные }
if a[i] max then { нашли новый максимальный }
begin
max := a[i]; { запомнить a[i] }
iMax := i; { запомнить i }
end;
14
14
Программа
const N = 5;
var a: array [1..N] of integer;
i, iMax: integer;
begin
writeln(' Исходный массив :');
for i:=1 to N do begin
a[i] := random(100) + 50;
write(a[i]:4);
end;
случайные числа в интервале [50,150)
14
14
a[iMax] then { новый максимальный } iMax := i; { запомнить i } writeln; { перейти на новую строку } writeln(' Макс.элемент a[', iMax, ']=', a[iMax]); end. Вывод макс.элемента 14 " width="640"
Программа /продолжение
поиск максимального
iMax := 1; { считаем, что первый – максимальный }
for i:=2 to N do { проверяем все остальные }
if a[i] a[iMax] then { новый максимальный }
iMax := i; { запомнить i }
writeln; { перейти на новую строку }
writeln(' Макс.элемент a[', iMax, ']=', a[iMax]);
end.
Вывод макс.элемента
14
Пример задачи (ЕГЭ) (2009 Демо)
Опишите на языке программирования Pascal алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива.
14
Пример задачи (ЕГЭ) (2009 Демо)
A
Алгоритм:
массив
1
2
3
4
5
5
- 10
- 5
20
- 25
A[ 3 ]
A[1]
A[2]
A[ 3 ]
A[ 4 ]
да
нет
да
да
нет
Массив B :
5 10 5 20 25
var a,b:array[1..30] of integer; i:integer;
begin
for i:=1 to 30 do
begin
write('a[',i,']=');
read(a[i]);
end;
Замена отрицательных элементов на положительные
for i:=1 to 30 do
if a[i]
b[i]:=-a[i] else b[i]:=a[i];
readln;
for i:=1 to 30 do
write(b[i]:4);
Writeln;
readln;
end.
Вывод массива В
Одномерные массивы (общий вид)
Описание:
const N = 5;
var a: array[1..N] of integer;
i: integer;
for i:=1 to N do begin
write('a[', i, ']=');
read ( a[i] );
end;
Ввод с клавиатуры:
Поэлементные операции:
for i:=1 to N do a[i]:=a[i]*2;
writeln(' Массив A:');
for i:=1 to N do write(a[i]:4);
Вывод на экран:
Одномерные массивы
На этом уроке мы познакомились:
- с понятием одномерного массива;
- рассмотрели описание массива;
- ввод и вывод одномерного массива;
- рассмотрели примеры решения задач.