Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от 150 до 200 – рост учащихся выпускного класса. В команду по автогонкам входят все учащиеся, чей рост не более 175 см. Гарантируется, что такие учащиеся в классе есть. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит рост самого высокого участника гоночной команды.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
Бейсик | Паскаль |
---|---|
N=30 DIM A(N) AS INTEGER DIM I, J, MAX AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I ... END | const N=30; var a: array [1..N] of integer; i, j, max: integer; begin for i:=1 to N do readln(a[i]); ... end. |
Си++ | Алгоритмический |
#include <iostream> using namespace std; #define N 30 int main(void) { int a[N]; int i, j, max; for (i=0; i<N; i++) cin >> a[i]; ... } | алг нач цел N = 30 целтаб a[1:N] цел i, j, max нц для i от 1 до N ввод a[i] кц ... кон |
Русский (естественный) язык | |
Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, MAX. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ... | |
Python | |
# допускается также # использовать две # целочисленные переменные j, max a = [] n = 30 for i in range(0, n): a.append(int(input())) ... |
В качестве ответа необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Бейсик | Паскаль |
---|---|
MAX = 150 FOR I = 1 TO N IF A(I) <= 175 AND A(I) > MAX THEN MAX = A(I) ENDIF NEXT I PRINT MAX | max:=150; for i:=1 to N do if (a[i]<=175) and (a[i]>max) then max:=a[i]; writeln(max); |
Си | Алгоритмический |
max=150; for (i=0; i<N; i++) if (a[i]<=175 && a[i]>max) max=a[i]; cout << max; | max = 150 нц для i от 1 до N если a[i]<=175 и a[i]> max то max := a[i] все кц вывод max |
Русский (естественный) язык | |
Объявляем массив A из 30 элементов. Записываем в переменную MAX начальное значение, равное 150. В цикле от первого элемента до тридцатого сравниваем элементы исходного массива со 175. Если текущий элемент меньше или равен 175, то сравниваем значение текущего элемента массива со значением переменной MAX. Если текущий элемент массива больше MAX, то записываем в MAX значение этого элемента массива. Переходим к следующему элементу. После завершения цикла выводим значение переменной MAX. |