Предмет: Информатика,
автор: dd100229
Объясните пожалуйста все в этом коде:
Больше всего не понимаю:
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.
Ответы
Автор ответа:
0
Есть неудобные древние римские цифры, их нужно перевести в современные индийские цифры, которые почему-то называются арабскими.
берется строка типа:
LXIV и посимвольно (иногда по двусимвольно идет справа налево) и переводит в обычные нам цифры. IV - переводит в 4. Потом X переводит в 10, потом L переводит в 50. Складывает полученное, получается 64. Перевели. Т.к. строка с латинской цифрой большая и не известно сколько там символов(LXIV тут 4), то берется цикл по переменной длине строки. Цикл пройдет все символы строки( 4 их или 10), в цикле будет N количество итераций, столько сколько знаков в латинской цифре.
Цикл это вот это:
while(true) do
begin
repeat
***тут идет итерация цикла***
until ((number >= 1) and (number <= 3999));
Похожие вопросы
Предмет: Английский язык,
автор: damirfiodorov
Предмет: Русский язык,
автор: sevaermolin
Предмет: Химия,
автор: rumansssssssss
Предмет: Алгебра,
автор: nats220320001
Предмет: География,
автор: Умный11111111111111