Есть ответ 👍

Дано натуральное число. напечатать это число словами.(паскаль)

200
215
Посмотреть ответы 2

Ответы на вопрос:

agzamov03
4,7(32 оценок)

Программа выглядит примерно так program n_1;   type    nazw = array[0..9] of string[15];   const    ed : nazw = ('ноль','один','два','три','четыре','пять','шесть','семь','восемь','девять');     des: nazw = ('','десять','двадцать','тридцать','сорок','пятьдесят',                        'шестьдесят','семьдесят','восемьдесят','девяносто');     sot: nazw = ('','сто','двести','тристо','четыресто','пятьсот','шестьсот','семьсот','восемьсот','девятьсот');     dd : nazw = ('','одинадцать','двенадцать','тринадцать','четырнадцать','пятнадцать',                        'шестнадцать','семнадцать','восемьнадцать','девятнадцать');   var    s,d,e,x : integer;     st       : string;   begin    write('введите число [0..1000] : '); readln(x);     if x=1000 then st: ='тысяча' else begin    s: = x div 100; x: =x mod 100; st: =sot[s];     d: = x div 10; e: =x mod 10;     if (d=1) and (e< > 0) then st: =st+dd[e]                        else st: =st+des[d]+ed[e];     end;     writeln(st);       end.

Десятичная -> двоичнаявсё просто, для начала переведем целую часть: делим постоянно на 2 и округляем в меньшую сторону, остаток записываем: 162/2=81, остаток 0 81/2=40, остаток 1 40/2=20, остаток 0 20/2=10, остаток 0 10/2=5, остаток 0 5/2=2, остаток 1 2/2=1, остаток 0 1 < 2, её не делим, считаем за остаток. запишим полученные остатки, снизу вверх: 10100010 - это 162 в двоичной. переводим дробную часть: ! при переводе из системы в систему, дробные части в 99% случаев имеют погрешность и переводить их можно до бесконечности, так что ограничемся 6 знаками после запятой. в переводе дробной части, делаем на оборот, не деление, а умножение, но умножение только дробной части: 0.43*2=0.86 0.86*2=1.72 0.72*2=1.44 0.44*2=0.88 0.88*2=1.76 0.76*2=1.52 0.52*2=1.04 так можно продолжать до бесконечности, но мы уже посчитали 6 значений, тут записываем целые части чисел полученных, сверху вниз: 0110111  - это 0.43 в двоичной. просто склеим эти два числа через точку и получим: 162.43 = 10100010.0110111 двоичная -> восьмиричная проще всего перевести в восьмиричную из двоичной, все что нужно, это представить число в виде троек: целая часть: 010'100'010 - целая часть (дописали спереди 0, просто что бы было целая тройка чисел) 011'011'100 - дробная часть (дописали уже два 0 в конце числа, то же что бы было по три цифры) теперь дело за малым, смотрим в прикрепленную картинку, берем целую часть, первые три цифры, смотрим по столбику для двоичной системы, ищем там 010, когда нашли, ведем пальчиком по рядочку на соответствующую цифру в столбике для восьмиричной системы, это будет 2. проделываем ту же операцию для следующих трех цифр: 100 - в восьмиричной это 4, ну и наконец 010 как уже знаем - 2. получается число 242 - целая часть. абсолютно точно так же считаем дробную часть: 011 - 3 011 - 3 100 - 4 дробная часть это 334 склеиваем через точечьку: 242.334 хотите большую точность? не вопрос! делите точно так же как мы переводили из 10чной в 2чную, только теперь не на 2, а на 8, принцип перевода везде одинаковый : ) двоичная -> шеснадцатиричнаятеперь попробуем перевести в 16ричную, у вас этого не написанно, но если это ошибка в условии, то не помешает, если ещё и учесть, что это не сложно! снова простой принцип перевода и табличку, ведь всё что нужно сделать на этот раз, это то ж самое, что и при переводе в восьмиричную, с тем лишь изменением, что формируем не тройки чисел а четверки: целую часть 10100010 для удобства представим так: 1010'0010 дробную часть 01101110 тоже запишем вот так: 0110'1100 тот же алгоритм действий по табличке, только пальцем ведем до столбца с цифрой 16 вверху, получится что 1010 из двоичной в шестнадцатеричной это 'a', ну и так далее: целая часть: 1010 = a 0010 = 2 a2 дробная часть: 0110 = 6 1110 = e 6e уже по классике, склеиваем через точечьку: 162.43 в шестнадцатиричной это a2.6e

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS