Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от -1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, не кратных 6. Если в исходном массиве нет элемента, значение которого положительно и не делится на 6, то вывести сообщение «Не найдено».
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бэйсик | Паскаль
N = 20
DIM A(N) AS INTEGER
DIM I, J, MIN 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, min: 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, min;
for (i = 0; i
Естественный язык
Объявляем массив А из 20 элементов.
Объявляем целочисленные переменные I, J, MIN.
В цикле от 1 до 20 вводим элементы массива А с 1-го по 20-й.
Python
// допускается также использовать
// целочисленные переменные j, min
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, MIN 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, min: 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, min;
for (i = 0; i
Естественный язык
Объявляем массив А из 20 элементов.
Объявляем целочисленные переменные I, J, MIN.
В цикле от 1 до 20 вводим элементы массива А с 1-го по 20-й.
Python
// допускается также использовать
// целочисленные переменные j, min
a = []
n = 20
for i in range(0, n):
a.append(int(input()))
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
💡 Пошаговый разбор и решение:
Пример ответа на языке Паскаль:
min : = 1001;
for i = 1 to N do
if (a[i] > 0) and (a[i] mod 6<> 0) and (a[i]На алгоритмическом языке
min := 1001
нц для i от 1 до N
если а[1] > 0 и mod(a[i], 6)<>0 и a[i] На языке Бейсик
MIN = 1001
FOR I = 1 ТО N
IF А(1) >0 AND A(I) MOD 6 <> 0 AND A(I)На языке Си
min = 1001;
for (i = 0; i 0 && a[i] % 6 != 0 && a[i] На естественном языке
Записываем в переменную MIN начальное значение, = е 1001. В цикле от первого элемента до двадцатого находим остаток от деления элемента исходного массива на 4. Если значение данного остатка = 0 и значение текущего элемента массива больше 0. то сравниваем значение текущего элемента массива со значением переменной MIN. Если текущий элемент массива меньше MIN, то записываем в MIN значение этого элемента массива. Переходим к следующему элементу.
После завершения цикла проверяем значение переменной MIN. Если оно меньше 1001, то выводим его, иначе выводим сообщение «Не найдено»
min : = 1001;
for i = 1 to N do
if (a[i] > 0) and (a[i] mod 6<> 0) and (a[i]На алгоритмическом языке
min := 1001
нц для i от 1 до N
если а[1] > 0 и mod(a[i], 6)<>0 и a[i] На языке Бейсик
MIN = 1001
FOR I = 1 ТО N
IF А(1) >0 AND A(I) MOD 6 <> 0 AND A(I)На языке Си
min = 1001;
for (i = 0; i 0 && a[i] % 6 != 0 && a[i] На естественном языке
Записываем в переменную MIN начальное значение, = е 1001. В цикле от первого элемента до двадцатого находим остаток от деления элемента исходного массива на 4. Если значение данного остатка = 0 и значение текущего элемента массива больше 0. то сравниваем значение текущего элемента массива со значением переменной MIN. Если текущий элемент массива меньше MIN, то записываем в MIN значение этого элемента массива. Переходим к следующему элементу.
После завершения цикла проверяем значение переменной MIN. Если оно меньше 1001, то выводим его, иначе выводим сообщение «Не найдено»
📚 Похожие разобранные задания по предмету:
ID 29425 • Задание №2
Логическая функция F задаётся выражением ¬((x ∨ y) → (z ∧ w)) ∧ (x → w). На рисунке приведён частично заполнен...
ID 33277 • Задание №19
В программе используется фрагмент одномерного целочисленного массива A с индексами от 1 до 10. Значения элемен...
Официальные критерии проверки ФИПИ:
Критерии проверки:
Критерии оценивания выполнения задания | Баллы
Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2
В любом варианте решения может присутствовать не более одной ошибки из числа следующих:
1) не инициализируется или неверно инициализируется переменная MIN (например, присваивается начальное значение, меньшее или равное 1000);
2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть:
3) отсутствует вывод ответа в случае существования минимального числа, удовлетворяющего условию задачи:
4) в сравнении с 0 вместо знака «больше» используется знак «больше или равно»;
5) неверно осуществляется проверка делимости на 4;
6) на делимость на 4 проверяется не значение элемента, а его индекс;
7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»;
8) используется переменная, не объявленная в разделе описания переменных;
9) не указано или неверно указано условие завершения цикла;
10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно;
11) неверно расставлены операторные скобки.
| 1
Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно. | 0
Максимальный балл | 2
Критерии оценивания выполнения задания | Баллы
Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2
В любом варианте решения может присутствовать не более одной ошибки из числа следующих:
1) не инициализируется или неверно инициализируется переменная MIN (например, присваивается начальное значение, меньшее или равное 1000);
2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть:
3) отсутствует вывод ответа в случае существования минимального числа, удовлетворяющего условию задачи:
4) в сравнении с 0 вместо знака «больше» используется знак «больше или равно»;
5) неверно осуществляется проверка делимости на 4;
6) на делимость на 4 проверяется не значение элемента, а его индекс;
7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»;
8) используется переменная, не объявленная в разделе описания переменных;
9) не указано или неверно указано условие завершения цикла;
10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно;
11) неверно расставлены операторные скобки.
| 1
Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно. | 0
Максимальный балл | 2
🔗 Другие задания линии №25 по предмету Информатика:
ID 34189
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие симво...
ID 34190
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...
ID 34191
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...
ID 34192
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие симво...
ID 34193
Маска числа — это последовательность цифр, в которой могут встречаться специальные символы «?»...