Дан массив, содержащий 70 целых чисел. Опишите на одном из языков
Условие
Дан массив, содержащий 70 целых чисел. Опишите на одном из языков программирования эффективный алгоритм, позволяющий найти и вывести наибольшую разность двух чисел, содержащихся в массиве. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается использовать часть из описанных переменных.Паскаль | Алгоритмический язык | const N=70;vara: array [1..N] of integer;i, j, x, y: integer;beginfor i := 1 to N doreadln(a[i]);…end. | алгначцел N=70целтаб a[1:N]цел i, j, x, yнц для i от 1 до Nввод a[i]кц...кон | Бейсик | Си++ | N=70 DIM A(N) AS INTEGER DIM I, J, X, Y AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I… END | #include <iostream>using namespace std;#define N 70int main(void){long a[N];long i, j, x, y;for (i=0; i < N; i++)cin >> a[i];…} | Python |
допускается также# использовать три# целочисленные переменные j, x, ya = []n = 70for i in range(0, n): a.append(int(input()))... |
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии. Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 | Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно | 0 | Максимальный балл | 2 |
Формат задания
Решение по шагам
Как рассуждать
Решение. Решение на языке Паскаль x:=32767;y:=-32768;for i:=1 to N dobeginif (a[i] > y) then y := a[i];if (a[i] < x) then x := a[i];end;y:= y - x;writeln(y); Решение на языке Си x=LNG_MAX;y=LNG_MIN;for (i = 0; i < N; i++){ if(a[i] > y) y = a[i];if(a[i] < x) x = a[i];}y-=x;cout « y « endl;
Осталось ещё 1 шаг
Полный разбор с проверкой ответа
Бесплатно · займёт минуту