Перевод из римских цифр - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, решить задачу: Напишите программу, которая заменяет в переданной её символьной строке все записанные в римской системе счисления, на те же числа, записанные арабскими цифрами.

Решение задачи: «Перевод из римских цифр»

textual
Листинг программы
Const RomanNumber: array[1..7] of char = ('I','V','X','L','C','D','M');
ArabsNumber: array[1..7] of integer = (1, 5, 10, 50, 100, 500, 1000);
 
Var input: string;
i, j, number: integer;
begin
Readln(input); number:= 0;
for i:=1 to length(input) do
  for j:=1 to 6 do if RomanNumber[j] = input[i] then begin inc(number, ArabsNumber[j]); break; end;
Writeln(number);
end.

Объяснение кода листинга программы

  1. В первой строке объявляются два массива: RomanNumber и ArabsNumber.
  2. RomanNumber содержит 7 римских цифр, а ArabsNumber - их арабские эквиваленты.
  3. Затем объявляются следующие переменные:
    • input - строка, в которую будет считываться римское число;
    • i, j - индексы для перебора символов в строке;
    • number - переменная, в которую будет переводиться число.
  4. Далее происходит чтение строки с римским числом в переменную input.
  5. Перебираются все символы в строке input.
  6. Для каждого символа перебираются все возможные римские цифры.
  7. Если символ в строке равен римской цифре, то к переменной number добавляется соответствующее арабское число.
  8. После завершения перебора всех символов, выводится значение переменной number.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы