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




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

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм,

позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 9, то выведите сообщение «Не найдено».

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

 

 

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

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]

кц

...

кон

Eстественный язык

Объявляем массив 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]<=998) and (a[i] mod 9<>0) and

(a[i]>max) then

max := a[i];

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

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

max := 99

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

если a[i]>=100 и a[i]<=998 и mod(a[i],9)<>0 и a[i]>max

то

max := a[i]

все

кц

если max > 99

то

вывод max

иначе

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

все

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

MAX = 99

FOR I = 1 TO N

IF A(I)>=100 AND A(I)<=999 AND A(I) MOD 9<>0 AND A(I)>MAX THEN

MAX = A(I)

END IF

NEXT I

IF MAX > 99 THEN

PRINT MAX

ELSE

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

END IF

На языке Си

max = 99;

for (i = 0; iif (a[i]>99 && a[i]<999 && a[i]%9!=0 && a[i]>max)

max = a[i];

if (max>99)

cout << max;

else

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

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

Записываем в переменную MAX начальное значение, равное 99. В цикле от 1-ого элемента до 20-ого находим остаток от деления элемента исходного массива на 9. Если значение данного остатка не равно 0 и значение текущего элемента массива больше 99 и меньше 1000, то сравниваем значение текущего элемента массива со значением переменной MAX. Если текущий элемент массива больше MAX, то записываем в MAX значение этого элемента массива.

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

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

Источник: Демонстрационная версия ЕГЭ—2014 по информатике.