Присоединиться

11 класс·высокий уровень

С клавиатуры вводится целое число X. Опишите на русском языке или на

Условие

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные значения. С клавиатуры вводится целое число X. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит наименьший номер элемента массива, равного X, или сообщение, что такого элемента нет.Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.Паскаль | Бейсик | const N = 30;vara: array [1..N] of integer;i, j, x: integer;beginfor i := 1 to N doreadln(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, xa = []n = 30for i in range(0, n): a.append(int(input()))x = int(input()) | В качестве ответа вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке). Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | В любом варианте решения может присутствовать не более одной ошибки из числа следующих: 1) не инициализируется или неверно инициализируется переменная; 2) при выводе ответа не учитывается, что требуемого числа в массиве может не быть; 3) отсутствует вывод ответа; 4) в сравнении перепутан знак; 5) неверно осуществляется проверка делимости; 6) на делимость проверяется не значение элемента, а его индекс; 7) в сложном условии вместо логической операции «И» используется логическая операция «ИЛИ»; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки | 1 | Ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно | 0 | Максимальный балл | 2 |

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Решение. ПАСКАЛЬ | БЕЙСИК | j := 0;for i := N downto 1 do if a [ i ] = x then j := i; if j = 0 thenwriteln('нет таких')elsewriteln(j); Другой способ: i := 1;while (i < N) and (a[i] <> x) doi := i + 1; if a[i] <> x thenwriteln('нет таких') elsewriteln(i); | I = 1WHILE I < N AND A (I) <> X I = I + 1 ENDWIF A(I) <> X THENPRINT "нет таких"ELSEPRINT IENDIF | СИ | Алгоритмический язык | for(i=0; i < N && a[i]!=x; i++); if(a[i] != x)cout << "нет таких"; elseprintf (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 шаг

  1. Шаг 2

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Алгоритмы обработки массивов»

С клавиатуры вводится целое число X. Опишите на русском языке или на — решение с объяснением | Lom Ai