Объясните все в этом коде: больше всего не понимаю: begin inc(n); while (arabic[n] < = number) do begin snumber : = snumber + rome[n]; number : = number - arabic[n]; //writeln(snumber); end //программа для перевода арабских //чисел в римские const rome: array[1..13] of string = ('m', 'cm', 'd', 'cd', 'c', 'xc', 'l', 'xl', 'x', 'ix', 'v', 'iv', 'i'); arabic: array[1..13] of integer = (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1); var number: integer; snumber: string; n: integer; //========================================= // основная программа //========================================= begin while(true) do begin repeat writeln('введите арабское число 1..3999'); number : = readinteger(); //если задан нуль, то работу с программой заканчиваем: if (number = 0) then exit; until ((number > = 1) and (number < = 3999)); //формируем строку с римским числом, //равным заданному числу number: n : = 0; snumber : = ''; while (number > 0) do begin inc(n); while (arabic[n] < = number) do begin snumber : = snumber + rome[n]; number : = number - arabic[n]; //writeln(snumber); end end; writeln(snumber); writeln(); end; end.
147
416
Ответы на вопрос:
есть неудобные древние римские цифры, их нужно перевести в современные индийские цифры, которые почему-то называются арабскими.
берется строка типа:
lxiv и посимвольно (иногда по двусимвольно идет справа налево) и переводит в обычные нам цифры. iv - переводит в 4. потом x переводит в 10, потом l переводит в 50. складывает полученное, получается 64. перевели. т.к. строка с латинской цифрой большая и не известно сколько там символов(lxiv тут 4), то берется цикл по переменной длине строки. цикл пройдет все символы строки( 4 их или 10), в цикле будет n количество итераций, столько сколько знаков в латинской цифре.
цикл это вот это:
while(true) do
begin
repeat
***тут идет итерация цикла***
until ((number > = 1) and (number < = 3999));
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
poeticclown29.01.2021 02:35
-
Элина123245665218.03.2020 05:07
-
ггггггггггггжз22.11.2021 05:45
-
kika00704.07.2021 04:59
-
Lolopoknhvkcgc26.05.2021 15:50
-
Наська012316.10.2022 04:08
-
DoctorVatson113.09.2020 11:23
-
зари6а07.03.2023 03:01
-
Lollital09.02.2022 11:09
-
vladkunets7807.05.2023 15:03
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.