elenaowchinik4842
?>

Вpascal написать программу, которая преобразует введенное с клавиатуры двухразрядное шестнадцатеричное число в десятичное.

Информатика

Ответы

Kondratev Ruzavina22
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
begin
  var s:=ReadlnString('Введите двухзначное 16-ричное число');
  var mH:array['A'..'F'] of integer:=(10,11,12,13,14,15);
  if s.Length=1 then s:='0'+s;
  var c:=s.ToCharArray;
  var n:=0;
  for var i:=0 to 1 do
    case c[i] of
    '0'..'9':n:=16*n+StrToInt(c[i]);
    'A'..'F':n:=16*n+mH[c[i]];
    else begin
      Writeln('Недопустимый символ: ',c[i]);
      Exit
      end
    end;
  Writeln('Десятичный эквивалент: ',n)
end.

Тестовое решение:
Введите двухзначное 16-ричное число 3A
Десятичный эквивалент: 58
mbykovskiy
Ао условию, у тебя два шкафа, в каждом из которых 128 полок, и в этих полках 4 единицы (во всех 128), значит в обоих шкафах 8 единиц, отсюда следует:
Максимальное кол-во единиц при 126 полках с нулями и 2 полками с единицами
(1111000v000111=1111111 и 0000000v1000000=1000000) т..е. в 3 шкафу будет 126 полок с нулями и 2 полки с 8 единицами.
Минимальное кол-во при 127 полками нулей и 1 полкой единиц
(1111000v1111000=1111000) т.е. в 3м шкафу будет 127 полок с нулями и 1 полка с 4 единицами.
Значит максимум 8 единиц, а минимум 4
Андреевич

Да это самый удобный и наглядный Рисуем дерево вызовов. Понимаем, что если функция вызвалась с числом <=0, то печатается одна звезда, затем на этой ветке рекурсия останавливается. Если же функция вызвалась с параметром > 0, То печатается 2 звезды и возникают новые две ветки рекурсивных вызовов. Прилагаю рисунок, красными точками отмечены звезды, печатающиеся при конкретном вызове функции. ответо будет являться общее количество таких точек. Важно понять, что при наличии идентичных веток можно посчитать результат для такой ветки один раз и использовать его для других таких же.

ответ: 31.

Объяснение:


Надо решить третий вопрос

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

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

Вpascal написать программу, которая преобразует введенное с клавиатуры двухразрядное шестнадцатеричное число в десятичное.
Ваше имя (никнейм)*
Email*
Комментарий*

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

kristina
clubgarag701
sergeystepanov231
Андрееевич787
Irinalobanowa
prettymarina2015
elenak26038778
lelikrom2202
Dmitriy793
zalev
bd201188
Виктор Попова
Валуева
aidapiltoyan43