В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Ника290305
Ника290305
04.05.2021 10:58 •  Информатика

Втаблице стоимость перевозок между соседними станциями. какая минимальная стоимость проезда из а до е. фото:

Показать ответ
Ответ:
ANGEL7777771
ANGEL7777771
14.06.2022 18:58
Const
  k = 50;

var
  s, si, sf: string;
  powm, n10i: longint;
  i, j, m, ls, err, ni, nf: integer;
  a: double;

begin
  Write('Введите основание системы счисления (2..9): ');
  Readln(m);
  if not (m in [2..9]) then Writeln('Ну-ну...')
  else begin
    Write('Введите положительное число в этой системе счисления: ');
    Readln(s);
    ls := Length(Trim(s));
    i := pos('.', s);
    if i > 0 then begin
      ni := i - 1; si := Copy(s, 1, ni);
      nf := ls - i; sf := Copy(s, i + 1, nf)
    end
    else begin si := s; ni := ls; sf := ''; nf := 0 end;
    powm := 1; n10i := 0;
    for i := ni downto 1 do
    begin
      Val(si[i], j, err);
      n10i := n10i + j * powm;
      powm := powm * m
    end;
    powm := m; a := 0;
    for i := 1 to nf do
    begin
      Val(sf[i], j, err);
      a := a + j / powm;
      powm := powm * m
    end;
    a := a + n10i;
    Writeln(s, '(', m, ')=', a, '(10)')
  end;
end.

Тестовое решение:

Введите основание системы счисления (2..9): 8
Введите положительное число в этой системе счисления: 23532.5034
23532.5034(8)=10074.6318359375(10)
0,0(0 оценок)
Ответ:
idkfndnf
idkfndnf
16.08.2022 12:47
2483,51(10) - отдельно переводим в восьмеричную с/с целую и дробную части. Целую часть переводим целочисленным последовательным делением на 8 с выписыванием остатков.
2483/8=310, остаток 3
310/8=38, остаток 6
38/8=4, остаток 6
Теперь записываем частное и приписываем остатки от последней строчки к первой. Получаем 4663(8) - это и есть 2483(10)
Дробную часть переводим, производя последовательное умножение на 8 и отбрасывая целые части результата. Прекращаем операцию, если получаем при умножении ноль или не видно дальнейшего смысла продолжать.
Отброшенные по порядку целые части образуют искомые цифры восьмеричного представления дробной части.
0.51x8=4.08 (4)
0.08x8=0.64 (0)
0.64x8=5.12 (5)
0.12x8=0.96 (0)
0.96x8=7.68 (7)
0.68x8=5.44 (5)
Достаточно. 0.51(10)≈0.405075(8)
2483.51_{10}\approx 4663.405075_8

Чтобы перейти к двоичной системе счисления, достаточно каждую восьмеричную цифру заменить эквивалентной двоичной триадой
4663.405075(8)=100 110 110 011.100 000 101 000 111 101(2)

Для перехода от двоичной системе к шестнадцатиричной достаточно разделить двоичное число тетрадами, начиная от десятичной точки в обе стороны, а затем каждую тетраду заменить шестнадцатиричной цифрой.
1001 1011 0011.1000 0010 1000 1111 0100(2)=9B3.824F4(16)

Для перехода к десятичной системе записываем число в расширенном представлении по степеням 16 и выполняем арифметические операции.
9\times 16^2+11\times 16^1+3\times 16^0+8\times 16^{-1}+2\times 16^{-2}+4\times 16^{-3}+ \\ 15\times 16^{-4}+4\times 16^{-5}=2483.509022 \approx 2483.509_{10}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота