М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Лубаша
Лубаша
15.10.2022 02:50 •  Информатика

Студенту Мише задали написать функцию, которая получает на вход число и массив из 16 элементов, и возвращает номер
элемента, равного этому числу. Если таких элементов
несколько – годится любой, если их нет, функция должна
вернуть -1. Вот алгоритм, реализованный Мишей.
1) Что выведет программа Миши при A=5 для массива
11, 3, 2, 5, 7, 4, 6, 1, 15, 8, 12, 10, 9, 5, 20, 14?
2) Для каких из приведённых ниже массивов алгоритм
Вовы будет работать верно при любом A? ответ
обоснуйте.
а) 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13
б) 51, 52, 53, 54, 55, 56, 57, 58, 59, 50, 60, 61, 52, 63, 64, 65
в) 17, 87, 43, 22, 11, 88, 43, 56, 90, 21, 17, 84, 77, 10, 45, 53
г) 1, 3, 3, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 27, 27, 27
д) 8, 11, 22, 24, 36, 52, 55, 56, 61, 64, 70, 71, 77, 78, 81, 88
е) 67, 66, 62, 60, 59, 58, 57, 56, 50, 44, 43, 42, 38, 35, 20, 13


Студенту Мише задали написать функцию, которая получает на вход число и массив из 16 элементов, и во

👇
Открыть все ответы
Ответ:
prisheplub
prisheplub
15.10.2022
Давай попробуем рассуждать логически.
Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.

Поэтому ответ: 1 * 2 * 2 * 2 * ... (десять двоек умножаются) = 2^10 = 1024 варианта садов. 

Думаю что так, если не напутал. Но ты лучше проверь за мной. 
4,4(78 оценок)
Ответ:
nastushka162003
nastushka162003
15.10.2022
Сначала надо избавиться от ошибок (пункт №3)
иначе не сможем выполнить 1 и 2 пункт задания.
  Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10;
  Исправляем N:N div 10; на N:= N div 10;
 
После исправления ошибок при вводе 537 получим 3
Программа будет работать правильно для любого числа,
у которого вторая цифра слева меньше первой цифры, например:
7193

Чтобы программа работала правильно для всех чисел надо
изменить это: while N > 10 do на while N > 0 do

После всех исправлений код программы стал таким:
var
  N, k: integer;
begin
  readln(N);
  k := 9;
  while N > 10 do
  begin
    if (N mod 10 < k) then k := N mod 10;
    N := N div 10;
  end;
  write(k)
end.
4,5(15 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ