алексей_Цуканов
?>

Дан массив чисел а¹.. а¹², найти и напечатать номер первого отрицательного элемента 30

Информатика

Ответы

Yelena1458
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadArrInteger(12);
  Writeln('Номер первого отрицательного элемента: ',a.FindIndex(t->t<0)+1);
end.

Пример
36 20 -13 50 14 27 -1 26 -14 -17 -15 42
Номер первого отрицательного элемента: 3

Замечание: Значения всех 12 элементов вводятся с клавиатуры
Vladimirovna
Просто: 1) система программирования это средство, которое позволяет писать программы, на определенном языке программирования, или на нескольких определенных языках. 2) язык программирования: это система обозначений, которая позволяет записывать алгоритмы. 3) чтоб алгоритм работал на машине, нужно: описание, на языке программирования, ввести в систему программирования, которая по этому описанию сделает выполняемую программу. 4) кроме транслятора, система программирования содержит весь набор инструментов для работы: текстовые редакторы, конструкторы, отладчики, и тд. поэтому называется "система"
Ignateva737
1. Схематически записываем условие
Есть две команды: (1) ×3 и (2) -5
Тут я ввожу обозначения: в скобках некий "код" команды, а далее обозначение, что именно она делает. Команда с кодом 1 умножает на три, с кодом 2 - вычитает 5.
Теперь, что нам надо получить: 8 ⇒ 36, т.е. из 8 получить 36.

2. Анализируем, какое число может быть перед выполнением последней (т.е. пятой) команды.
Применим к результату команды, обратные к (1) и (2).
Действие, обратное умножению - это деление, вычитанию - сложение.
Для (1) получим 36/3 = 12, т.е. в результате выполнения первых четырех (пока в неизвестном порядке) команд должно получиться 12.
Для (2) получим 36+5 = 41.

3. Теперь анализируем, какой могла бы быть третья команда
Чтобы получить 12 после (1), нужно взять число 12/3 = 4.
Чтобы получить 12 после (2), нужно взять число 4+5=9.
Получить 41 после (1) невозможно, поскольку 41 на 3 не делится нацело.
Чтобы получить 41 после (2), нужно взять число 41+5=46.
Итак, имеем три числа-кандидата.
46 выглядит подозрительно, потому что получить его можно только из 51 при поскольку 46 на 3 не делится и не может быть получено при А получить 8 ⇒ 51 за две возможные операции не получится. Поэтому 46 отбрасываем.

4. Анализируем, какой могла бы быть вторая по порядку команда
Получить 4 после (1) нельзя, потому что 4 не делится на 3.
Чтобы получить 4 после (2), нужно взять число 4+5=9.
Чтобы получить 9 после (1), нужно взять число 9/3 = 3.
Чтобы получить 9 после (2), нужно взять число 9+5=14.

5. Рассматриваем, что можно получить из исходного числа
а) 8 после (1) дает 8×3 = 24 и получить 3, 9 или 14 из 24 при одной из имеющихся команд невозможно.
б) 8 после (2) дает 8-5 = 3 - это и есть решение проблемы.

6. Устанавливаем цепочку преобразований (код команды в скобках).
8-5 = 3 (2)
3х3 = 9 (1)
9-5 = 4 (2)
4х3 = 12 (1)
12х3 = 36 (1)

ответ: 21211 - набор команд

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан массив чисел а¹.. а¹², найти и напечатать номер первого отрицательного элемента 30
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

KseniGum9
chizhenkovd9
Mashkov-Daniil1764
alvs9
zybin41iz81
ilkindadashov935232
Sergei_sergei
Andrei-Shchukin
АнжелаВасильевич
galinazajceva781
gostivdom302
Vorotko814
sisychev
ielienakozlova696
martinson