МАССИВЫ

advertisement
МАССИВЫ
Массив Упорядоченная последовательность
фиксированного количества
данных одного типа,
объединенных под одним именем.
Отдельная переменная, входящая в массив.
Размерность массива Число индексов, необходимых для
идентификации отдельного элемента.
Индекс элемента массива Номер элемента в массиве.
Элемент массива -
ОДНОМЕРНЫЕ МАССИВЫ
А(1) А(2) А(3) А(4)
В общем виде:
А(i)
А – имя массива
i - номер элемента в массиве
<имя массива>: array [<количество>] of
<тип>;
Примеры:
Массивы, состоящие из 100 элементов
c: array [1..100] of real;
b: array [1..100] of integer;
Описание массива
ВВОД / ВЫВОД
значений элементов массива
1. Заполнение элементов массива с
клавиатуры, вывод в столбик.
Program klav;
var a: array [1..10] of real;
i: integer;
Begin
for i:=1 to 10 do begin
writeln(‘ввести’,i,’ элемент массива’);
readln (a[i]);
writeln(‘A(‘, i ,’)=‘, a[i]); end;
readln;
end.
ВВОД / ВЫВОД
значений элементов массива
2. Заполнение элементов массива по
формуле.
Program formula;
var a: array [1..10] of real;
i: integer;
Begin
for i:=1 to 10 do begin
a[i]:=(i*i+1)/sin(i);
writeln(‘A(‘, i ,’)=‘, a[i]); end;
readln;
end.
ВВОД / ВЫВОД
значений элементов массива
3. Заполнение элементов массива
случайными числами.
Program nebo;
var a: array [1..10] of integer;
i: integer;
Begin
randomize;
for i:=1 to 10 do begin
a[i]:=random(30);
writeln(‘A(‘, i ,’)=‘, a[i]);
end;
readln;
end.
Заполнение элементов массива
случайными числами из
заданного интервала
Дан интервал [А, В]
Формула:
RANDOM (B-A)+A
0
а
Примеры:
random(60)-20 случайные числа от -20 до 40
random(10)+70 случайные числа от 70 до 80
b
Типовые задачи на
одномерные массивы
Нахождение количеств.
Нахождение суммы.
Нахождение экстремумов.
Поменять местами значения
элементов.
5. Формирование нового массива из
элементов старого массива.
6. Сортировка массива по возрастанию.
7. Вставка элементов в заданный массив.
1.
2.
3.
4.
Дан массив А, состоящий из 10
элементов, значения которого вводятся
с клавиатуры.
Подсчитать сколько элементов массива
имеют значения меньшие некоторой
величины t.
Нахождение количеств.
Дан массив А, состоящий из 10
элементов, значения которого вводятся
с клавиатуры.
Найти сумму значений элементов
массива, больших некоторой величины
t.
Нахождение суммы.
Нахождение суммы.
Program Summa;
Var A: Array [1..10] of Real;
Var i, t : Integer; S : Real;
BEGIN
Write('Введите t = '); ReadLn(t);
{ввод
значения t}
For i := 1 to 10 dо begin
Write('A [ ', i , ' ] = ');
ReadLn(A[i]) {ввод элементов массива} end;
S := 0;
{присваивание начального
значения}
For i := 1 to 10 do begin
If A[i]>t then S := S+A[i]; end;
WriteLn('Сумма равна ', S : 5 : 1);
ReadLn;
END.
Дан массив А(30), заполненный датчиком
случайных чисел из интервала [5,20].
Найти максимальный элемент массива.
Нахождение экстремумов.
Найти максимальный элемент
массива.
Program MaxElem;
Var A : Array [1..30] of Integer;
Var i, k, max : Integer;
BEGIN
Randomize;
For i := 1 to 30 do begin
A[i]:=random(15)+5;
end;
max := A[1]; k:=1; {Поиск максимального
элемента}
For i := 2 to 30 do begin
If A[i] > max then begin max := A[i]; k :=
i end;
end;
WriteLn('Наибольший элемент' , k , '-й');
WriteLn('Его значение ', max : 5 : 1);
ReadLn;
END.
Download