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




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

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

 

 

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

 

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

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, maxv

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)<= 999 AND A(I) MOD 8<>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]<=999) and (a[i] mod 8<>0) and (a[i]>max) then

max := a[i];

if max > 99 then writeln (max) else writeln('He найдено');

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

max = 9 9;

for (i = 0; iif (a[i]>99 && a[i]<1000 && a[1]%8!=0 && a[i]>max) max = a[i] ; if (max>9 9)

cout « max « endl;

else

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

max := 99

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

если а[±]>=100 и а[i]<= 9 9 9 и mod(а[i],8)<>0 и a[i]>max то

max := а[i]

все

кц

если max > 99 то

вывод max иначе

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

все

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

Записываем в переменную МАХ начальное значение, равное 99. В цикле от первого элемента до двадцатого находим остаток от деления элемента исходного массива на 8. Если значение данного остатка не равно 0 и значение текущего элемента массива больше 99 и меньше 1000, то сравниваем значение текущего элемента массива со значением переменной МАХ. Если текущий элемент массива больше МАХ, то записываем в МАХ значение этого элемента массива. Переходим к следующему элементу. После завершения цикла проверяем значение переменной МАХ. Если оно больше 99, то выводим его, иначе выводим сообщение «Не найдено».

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