562.74K
Category: informaticsinformatics

Одномерные массивы целых чисел. Алгоритмизация и программирование

1.

ОДНОМЕРНЫЕ МАССИВЫ
ЦЕЛЫХ ЧИСЕЛ
АЛГОРИТМИЗАЦИЯ И
ПРОГРАММИРОВАНИЕ

2.

Типовые задачи поиска
Нахождение наибольшего (наименьшего)
элемента массива
Нахождение элемента массива
с заданными свойствами
Результатом поиска элемента может быть:
• значение элемента, подходящего по свойствам;
• n - индекс элемента массива;
• сообщение о том, что искомого элемента в массиве не
обнаружено.

3.

Подсчет количества элементов
Для подсчета вводится переменная, значение которой
увеличивается на единицу каждый раз, когда найден нужный
элемент.
program kolichestvo;
var n,f:integer;
a: array[1..10] of integer;
begin
for f:=1 to 10 do a[f]:=random(10); // заполнение случайными элементами
for f:=1 to 10 do write (a[f],' '); // вывод на экран элементов массива
n:=0; // присвоение стартовой величины для переменной результата
for f:=1 to 10 do // цикл, организующий проверку каждого элемента
if a[f]>50 then n:=n+1; // условие отбора и что делать с подходящими
write ('Количество нужных элементов ', n) // результат
end.
Как вывести не количество подходящих, а, например,
сумму подходящих элементов?
10 60 21 53 58 14 28 50 10 51

4.

Сумма значений элементов,
удовлетворяющих условию
program summa_elementov;
var n,f:integer;
a: array[1..10] of integer;
begin
for f:=1 to 10 do a[f]:=random(10); // заполнение случайными элементами
for f:=1 to 10 do write (a[f],' '); // вывод на экран элементов массива
n:=0; // присвоение стартовой величины для переменной результата
for f:=1 to 10 do // цикл, организующий проверку каждого элемента
if (a[f]>10) and (a[f]<30) then n:=n+a[f]; // сложное условие отбора и что делать с
подходящими
write ('Сумма подходящих элементов ', n) // результат
end.
10 50 1
3 50 14 21 50 10 21

5.

Поиск элемента, равного 8
program posledniy_ravniy;
var n, i: integer;
a: array[1..10] of integer;
begin
for i:=1 to 10 do a[i]:=random(10); // заполнение случайными элементами
for i:=1 to 10 do write (a[i],' '); // вывод на экран элементов массива
n:=0; // присвоение начального номера элемента результата
for i:=1 to 10 do // количество шагов цикла
if a[i]=8 then n:=i; // если элемент равен условию, то в n сохраняется его НОМЕР
if n=0 then writeln ('Нет такого')
else write ('Номер элемента ', n); // выводится номер элемента;
end.
Как вывести не номер, а сам элемент?
Будет найден последний из элементов, удовлетворяющих
условию.
10 8
1
3
8 14 21 8 10 21

6.

Программа поиска наибольшего
элемента в массиве
program naibolshee;
var i, imax: integer;
a: array[1..10] of integer;
begin
for i:=1 to 10 do a[i]:=random(100); // заполнение случайными элементами
for i:=1 to 10 do write (a[i],' '); // вывод на экран элементов массива
imax:=1; // присвоение начального номера элемента результата
for i:=2 to 10 do // количество шагов цикла
if a[i]>a[imax] then imax:=i; // условие, изменяющее номер элемента результата, если…
write ('Наибольший элемент a[', imax, ']= ', a[imax]) // вывод результата
end.
Что надо изменить, чтобы найти наименьший элемент?
English     Русский Rules