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


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

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

 

 

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

 

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

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

Ре­ше­ние.

При­мер пра­виль­но­го ре­ше­ния на языке Пас­каль

max : = 99;

for i =1 to N do

if (a[i] >= 100) and (a[i] <= 999) and (a[i] mod 5 = 0) and

(a[i] > max) then

max := a[i];

if max > 99

then writeln(max)

else

writeln('He най­де­но');

 

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

если а[i] >= 100 и a[i] <= 999 и mod(a[i], 5)=0 и a[i] > max

то

max := a[i]

все

кц

если max > 99

вывод max

иначе

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

все

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

МАХ = 99

FOR I = 1 ТО N

IF А(I) >= 100 AND А(I) <= 999 AND A(I) MOD 5=0 AND A(I) > MAX

THEN

МАХ = А(I)

END IF

NEXT I

IF MAX > 99 THEN

PRINT MAX

ELSE

PRINT "He най­де­но"

END IF

 

На языке Си

max = 99;

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

if (a[i] > 99 && a[i] < 1000 && a[i]%5==0 && a[i]>max)

max = a[i];

if (max>99)

cout « max « endl;

else

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

 

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

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

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

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