Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 3. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 3, то вывести сообщение «Не найдено».
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бэйсик | Паскаль
N=20
DIM A(N) AS INTEGER
DIM I, J, MAX AS INTEGER
FOR I=1 TO N
INPUT A(I)
NEXT I
...
END
|
const
N=20;
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 20
int main () {
int a[N];
int i, j, max;
for (i=0; i<N; i++)
cin >> a[i];
...
}
|
алг
нач
цел N=20
целтаб a[1:N]
цел i, j, max
нц для i от 1 до N
ввод a[i]
кц
...
кон
Естественный язык
Объявляем массив A из 20 элементов.
Объявляем целочисленные переменные I, J, MAX.
В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.
...
Python
# допускается также
# использовать две
# целочисленные переменные j, max
a = []
n = 20
for i in range(0, n):
a.append(int(input()))
...
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бэйсик | Паскаль
N=20
DIM A(N) AS INTEGER
DIM I, J, MAX AS INTEGER
FOR I=1 TO N
INPUT A(I)
NEXT I
...
END
|
const
N=20;
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 20
int main () {
int a[N];
int i, j, max;
for (i=0; i<N; i++)
cin >> a[i];
...
}
|
алг
нач
цел N=20
целтаб a[1:N]
цел i, j, max
нц для i от 1 до N
ввод a[i]
кц
...
кон
Естественный язык
Объявляем массив A из 20 элементов.
Объявляем целочисленные переменные I, J, MAX.
В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.
...
Python
# допускается также
# использовать две
# целочисленные переменные j, max
a = []
n = 20
for i in range(0, n):
a.append(int(input()))
...
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
💡 Пошаговый разбор и решение:
Допускаются иные формулировки ответа, не искажающие его смысла.
На языке Бейсик | На языке Паскаль
МАХ =99
FOR I = 1 ТО N
IF А(I)>=10 0 AND А(I)0 AND А(I)>МАХ THEN
МАХ = А(I) END IF NEXT I
IF MAX >99 THEN PRINT MAX
ELSE
PRINT "He найдено" END IF
|
max := 99;
for i := 1 to N do
if (a[i]>=100) and (a[i]0) and (a[i]>max) then
max := a[i];
if max > 99 then writeln (max) else writeln('He найдено');
На языке Си | На алгоритмическом языке
max = 99;
for (i = 0; i99 && a[i]max) max = a[i] ; if (max>9 9)
cout « max « endl;
else
cout =100 и а[i]0 и a[i]>max то
max := а[i]
все
кц
если max > 99 то
вывод max иначе
вывод "Не найдено"
все
На естественном языке
Записываем в переменную МАХ начальное значение, = е 99. В цикле от первого элемента до двадцатого находим остаток от деления элемента исходного массива на 3. Если значение данного остатка не = 0 и значение текущего элемента массива больше 99 и меньше 1000, то сравниваем значение текущего элемента массива со значением переменной МАХ. Если текущий элемент массива больше МАХ, то записываем в МАХ значение этого элемента массива. Переходим к следующему элементу. После завершения цикла проверяем значение переменной МАХ. Если оно больше 99, то выводим его, иначе выводим сообщение «Не найдено»
.
На языке Бейсик | На языке Паскаль
МАХ =99
FOR I = 1 ТО N
IF А(I)>=10 0 AND А(I)0 AND А(I)>МАХ THEN
МАХ = А(I) END IF NEXT I
IF MAX >99 THEN PRINT MAX
ELSE
PRINT "He найдено" END IF
|
max := 99;
for i := 1 to N do
if (a[i]>=100) and (a[i]0) and (a[i]>max) then
max := a[i];
if max > 99 then writeln (max) else writeln('He найдено');
На языке Си | На алгоритмическом языке
max = 99;
for (i = 0; i99 && a[i]max) max = a[i] ; if (max>9 9)
cout « max « endl;
else
cout =100 и а[i]0 и a[i]>max то
max := а[i]
все
кц
если max > 99 то
вывод max иначе
вывод "Не найдено"
все
На естественном языке
Записываем в переменную МАХ начальное значение, = е 99. В цикле от первого элемента до двадцатого находим остаток от деления элемента исходного массива на 3. Если значение данного остатка не = 0 и значение текущего элемента массива больше 99 и меньше 1000, то сравниваем значение текущего элемента массива со значением переменной МАХ. Если текущий элемент массива больше МАХ, то записываем в МАХ значение этого элемента массива. Переходим к следующему элементу. После завершения цикла проверяем значение переменной МАХ. Если оно больше 99, то выводим его, иначе выводим сообщение «Не найдено»
.
📚 Похожие разобранные задания по предмету:
ID 31986 • Задание №13
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге м...
ID 33078 • Задание №18
Определите значение переменной с после выполнения следующего фрагмента программы:
Бэйсик | Паскаль
a = 30
b ...
Официальные критерии проверки ФИПИ:
Критерии проверки:
Критерии оценивания выполнения задания | Баллы
Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2
В любом варианте решения может присутствовать не более одной ошибки из числа следующих:
1) не инициализируется или неверно инициализируется переменная МАХ (например, присваивается начальное значение, большее или равное 100);
2) неточно определяется принадлежность диапазону трёхзначных чисел (например, в сравнении со 100 вместо знака «больше или равно» используется знак «больше»; также обратите внимание, что с учётом ограничения на кратность 3 допустима проверка на принадлежность диапазону от 100 до 998);
3) неверно осуществляется проверка делимости на 3;
4) на делимость на 3 проверяется не значение элемента, а его индекс;
5) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»;
6) отсутствует вывод ответа, или при выводе ответа не учитывается случай, что требуемого числа в массиве может не быть;
7) используется переменная, не объявленная в разделе описания переменных;
8) не указано или неверно указано условие завершения цикла;
9) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно;
10) неверно расставлены операторные скобки. | 1
Ошибок, перечисленных в п. 1-10, две или больше, или алгоритм сформулирован неверно. | 0
Максимальный балл | 2
Критерии оценивания выполнения задания | Баллы
Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2
В любом варианте решения может присутствовать не более одной ошибки из числа следующих:
1) не инициализируется или неверно инициализируется переменная МАХ (например, присваивается начальное значение, большее или равное 100);
2) неточно определяется принадлежность диапазону трёхзначных чисел (например, в сравнении со 100 вместо знака «больше или равно» используется знак «больше»; также обратите внимание, что с учётом ограничения на кратность 3 допустима проверка на принадлежность диапазону от 100 до 998);
3) неверно осуществляется проверка делимости на 3;
4) на делимость на 3 проверяется не значение элемента, а его индекс;
5) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»;
6) отсутствует вывод ответа, или при выводе ответа не учитывается случай, что требуемого числа в массиве может не быть;
7) используется переменная, не объявленная в разделе описания переменных;
8) не указано или неверно указано условие завершения цикла;
9) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно;
10) неверно расставлены операторные скобки. | 1
Ошибок, перечисленных в п. 1-10, две или больше, или алгоритм сформулирован неверно. | 0
Максимальный балл | 2
🔗 Другие задания линии №25 по предмету Информатика:
ID 34189
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие симво...
ID 34190
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...
ID 34191
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...
ID 34192
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие симво...
ID 34193
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...