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


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

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные значения. С клавиатуры вводится целое число X. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит наименьший номер элемента массива, равного X, или сообщение, что такого элемента нет.

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

 

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

const

N = 30;

var

a: array [1..N] of integer;

i, j, x: integer;

begin

for i := 1 to N do

readln(a[i]);

readln(x);

...

end.

N = 30

DIM A (N) AS INTEGER

DIM I, J, X AS INTEGER

FOR I = 1 TO N

INPUT A (I)

NEXT I

INPUT X

...

END

Си++Алгоритмический язык

#include <iostream>

using namespace std;

#define N 30

int main(void)

{int a[N];

int i, j, x;

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

cin >> a[i];

cin >> x;

}

алг

нач

цел N = 30

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

цел i, j, х

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

ввод a [i]

кц

ввод X

...

кон

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

Объявляем массив А из 30 элементов.

Объявляем целочисленные переменные I, J.

В цикле от 1 до 30 вводим элементы массива А с 1-го по 30-й.

Вводит переменную X.

...

Python

// допускается также использовать

// целочисленные переменные j, x

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

x = int(input())

 

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

Решение.

ПАСКАЛЬБЕЙСИК
j := 0;

for i := N downto 1 do

if a [ i ] = x then

j := i; if j = 0 then

writeln('нет таких')

else

writeln(j);

Другой способ:

i := 1;

while (i < N) and (a[i] <> x)

do

i := i + 1; if a[i] <> x then

writeln('нет таких')

else

writeln(i);

I = 1

WHILE I < N AND A (I) <> X

I = I + 1

ENDW

IF A(I) <> X THEN

PRINT "нет таких"

ELSE

PRINT I

ENDIF

СИАлгоритмический язык
for(i=0; i < N && a[i]!=x; i++);

if(a[i] != x)

cout << "нет таких";

else

printf (C%dE, i) ;

i := 1

нц пока i < N и a(i] <> х

i := i + 1

кц

если а [ i] ох

то

вывод " нет таких"

иначе

вывод i

все

Python

if a.count(x) != 0:

    print(a.index(x))

else:

    print('Такого элемента нет')

Естественный язык
Записываем в переменную I начальное значение, равное 1. В цикле пока I меньше 30 и пока 1-й элемент не равен X, увеличиваем переменную I на единицу. После окончания цикла: если элемент массива с номером I не равен X — выводим сообщение, что таких элементов в массиве нет. Иначе, выводим значение переменной I.