МАССИВЫ
Кондратьева И.А. гимназия 524
Массив -
Упорядоченная последовательность фиксированного количества
данных одного типа,
объединенных под одним именем.
Элемент массива -
Отдельная переменная, входящая в массив.
Размерность массива -
Число индексов, необходимых для идентификации отдельного элемента.
Индекс элемента массива -
Номер элемента в массиве.
ОДНОМЕРНЫЕ МАССИВЫ
А(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
а
b
0
Примеры:
random( 60 )- 20 случайные числа от -20 до 40
random( 10 )+ 70 случайные числа от 70 до 80
Типовые задачи на одномерные массивы
- Нахождение количеств.
- Нахождение суммы.
- Нахождение экстремумов.
- Поменять местами значения элементов.
- Формирование нового массива из элементов старого массива.
- Сортировка массива по возрастанию.
- Вставка элементов в заданный массив.
Нахождение количеств.
Дан массив А, состоящий из 10 элементов, значения которого вводятся с клавиатуры.
Подсчитать сколько элементов массива имеют значения меньшие некоторой величины t.
Нахождение суммы.
Дан массив А, состоящий из 10 элементов, значения которого вводятся с клавиатуры.
Найти сумму значений элементов массива, больших некоторой величины t.
t then S := S+A[i]; end; WriteLn('Сумма равна ', S : 5 : 1); ReadLn; END. " width="640"
Нахождение суммы.
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].
Найти максимальный элемент массива.
max then begin max := A[i]; k := i end; end; WriteLn('Наибольший элемент' , k , '-й'); WriteLn('Его значение ', max : 5 : 1); ReadLn; END. " width="640"
Найти максимальный элемент массива.
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.