Пример. Найти значение и номер наименьшего элемента в одномерном массиве. При задании элементов исходного массива типизированной константой СА решения задачи имеет вид (рис. 12, а) и используется следующая программа:
Program lr6_1;
const
a: array[1..10] of integer = (5,2,7,1,8,3,4,5,6,6);
var
i, min, n: integer;
Begin
min:=a[1];
n:=1;
for i:=2 to 10 do
if a[i]<min then begin
min:=a[i];
n:=i
end;
writeln('минимальный элемент равен ',min, ' n=',n);
End.
![]() |
Если элементы массива вводятся с клавиатуры, то СА имеет вид (рис. 12, б) и текст программы изменится:
program lr6_2;
var a: array[1..10] of integer;
i, min, n: integer;
Begin
read(a[1]);
min:=a[1]; n:=1;
for i:=2 to 10 do begin
read(a[i]);
if a[i]<min then begin
min:=a[i]; n:=i;
end;
end;
writeln('минимальный элемент равен ', min, ' n=',n);
End.
Задания для самостоятельного выполнения
Задание 1
Начертить структурную схему алгоритма, написать и отладить программу для одной из следующих задач. В одной программе исходные массивы задать типизированными константами. В другой программе элементы исходных массивов ввести через оператор ввода.
1. Дан массив из N чисел (N > 8). Вычислить их среднее геометрическое значение.
2. Дан массив из N чисел (N > 10). Найти максимальное значение.
3. Дано 20 чисел. Найти их среднее арифметическое значение.
4. Дано 12 вещественных чисел. Найти порядковый номер того из них, которое наиболее близко к какому-нибудь заданному целому числу Х.
5. Дана последовательность из 15 целых чисел. Определить количество отрицательных чисел в ней и максимальное число подряд следующих отрицательных чисел.
6. Дано 15 целых чисел. Найти наибольшее из них. Определить, сколько из чисел принимает наибольшее значение.
7. Дано целое n > 1 и вещественные числа x1, x2,.., xn. Вычислить математическое ожидание и дисперсию по формулам:
M = , D =
.
8. Дан массив из N чисел (N > 10). Вычислить сумму элементов с нечетными индексами и их среднее арифметическое значение.
9. Даны два одномерных массива А и В. Вычислить элементы массива С по правилу: если аi и bi различны, то сi присвоить их сумму, при одинаковых аi, bi в сi переписать соответствующий элемент массива А.
10. Дано 10 вещественных чисел. Вычислить разность между максимальным и минимальным из них.
11. Дано 10 вещественных чисел. Определить, образуют ли они возрастающую последовательность.
12. Дан массив X из n чисел (n >10). Вычислить:
y = x1 - x2 + x3 -...- xn-1 +xn.
13. Дано 18 чисел. Определить количество элементов, отличное от последнего числа.
14. Дано 12 чисел. Напечатать сначала все отрицательные из них, а затем все остальные.
15. Сформировать одномерный массив из 15 простых чисел.
16. Дано восемь натуральных чисел. Найти их наибольший общий делитель.
17. Дана последовательность натуральных чисел. Вычислить сумму тех из них, порядковые номера (индексы) которых – простые числа.
18. Дан массив из 20 натуральных чисел. Вычислить сумму тех из них, порядковые номера которых - числа Фибоначчи, определяемые формулами
f0 = f1 = 1; fn = fn-1 + fn-2 при n = 1, 2, 3,....
19. Дан массив X из n чисел. Вычислить:
y = xn(xn+xn-1)(xn + xn-1 + xn-2)...(xn +... + x1).
20. Дано 24 целых числа. Распечатать их в обратном порядке по шесть чисел в строке.
Задание 2
Модифицировать программу_3_2 для функций F1(x) и F2 (x) таким образом, чтобы результаты были сформированы в виде трех одномерных массивов. Выполнить ее и сравнить результаты с полученными в программах_5_1_и_3_2.