1. Приведем текст программы с использованием цикла While
Program Minimum_v_Massive; Var i: Byte; A: Array[1..5] Of Integer; Minimum: Integer; Begin {Заполнение массива} Randomize; i:=1; While i<=5 Do Begin A[i]:=Random(11); i:=i+1; End; WriteLn('Исходный массив'); i:=1; While i<=5 Do Begin Write(A[i], ' '); i:=i+1; End; WriteLn; {Нахождение минимального элемента} Minimum:=A[1]; i:=2; While i<=5 Do Begin If Minimum > A[i] Then Minimum:=A[i]; i:=i+1; End; WriteLn('В заданном массиве минимальный элемент равен ', Minimum); End.
Как видно из текста программы, использование цикла For является более эффективным тогда, когда известны значения верхней и нижней границ и шаг изменения счетчика цикла равен 1 или -1.
2. Для того, чтобы осуществлялся поиск максимального элемента в массиве, нужно изменить условие следующим образом:
. . . .
For i:=2 To 5 Do
If Minimum < A[i] Then Minimum:=A[i];
. . . .
Таким образом, переменная Minimum в качестве своего значения будет иметь максимальное значение, находящееся в массиве.
3. Ответ на этот вопрос имеется на предыдущем шаге.
4. Приведем текст программы, позволяющий вводить количество элементов массива с клавиатуры:
Program Minimum_v_Massive; Var i,n: Byte; A: Array[1..200] Of Integer; Minimum: Integer; Begin Write('Задайте количество элементов массива: '); ReadLn(n); {Количество элементов массива} {Заполнение массива} Randomize; For i:=1 To n Do A[i]:=30+Random(21); WriteLn('Исходный массив'); For i:=1 To n Do Write(A[i], ' '); WriteLn; {Нахождение минимального элемента} Minimum:=A[1]; For i:=2 To n Do If Minimum > A[i] Then Minimum:=A[i]; WriteLn('В заданном массиве минимальный элемент равен ', Minimum); End.