СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости


Задания
Версия для печати и копирования в MS Word
Задание 25 № 5373

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от −1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, не кратных 3. Если в исходном массиве нет элемента, значение которого положительно и не делится на 3, то вывести сообщение «Не найдено».

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БэйсикПаскаль

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 < N; i++)

        cin >> a[i];

...

}

алг

нач

    цел N = 20

    целтаб a[1:N]

    цел i, j, min

    нц для i от 1 до N

        ввод a[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) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

Решение.

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирование (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предоставлены в условии (например, в образце, записанном на естественном языке).

На языке Паскаль

min := 1001;

for i := 1 to N do

if (a[i] > 0) and (a[i] mod 3 <> 0) and (a[i] < min ) then

min := a[i];

if min < 1001 then writeln (min) else writeln('Не найдено');

 

На алгоритмическом языке

min := 1001

нц для i от 1 до N

если a[i] > 0 и mod (a[i], 3) <> 0 и а[i] < min

то

min := a[i]

все

кц

если min < 1001

то

вывод min

иначе

вывод "Не найдено"

все

 

На языке Бейсик

MIN = 1001

FOR I = 1 TO N

IF A(I) > 0 AND A(I) MOD 3 <> 0 AND A(I) < MIN THEN

MIN = A(I)

END IF

NEXT I

IF MIN < 1001 THEN

PRINT MIN

ELSE

PRINT "Не найдено"

END IF

 

На языке Си

min = 1001;

for (i = 0; i < N; i++)

if (a[i] > 0) && a[i] % 3 != 0 && a[i] < min)

min = a[i];

if (min < 1001)

cout « min « endl;

else

cout << "Не найдено";

 

На естественном языке

Записываем в переменную MIN начальное значение, равное 1001. В цикле от первого элемнета до двадцатого находим остаток от деления элемента исходного массива на 3. Если значение данного остатка равно 0 и значение текущего элемента массива больше 0, то сравниваем значение текущего элемента массива со значением переменной MIN. Если текущий элемент массива меньше MIN, то записываем в MIN значение этого элемента массива.

Переходим к следующему элементу.

После завершения цикла проверяем значение переменной MIN. Если оно меньше 1001, то выводим его, иначе выводим сообщение «Не найдено.»

Источник: ЕГЭ по ин­фор­ма­ти­ке 30.05.2013. Ос­нов­ная волна. Дальний Восток. Ва­ри­ант 1.