Перевод из 16 в 10 без функций и процедур - Pascal ABC

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

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

а можете пожалуйста составить прогу для перевода из 16 в 10 без функций и процедур пожалуйста)) заранее спасибо

Решение задачи: «Перевод из 16 в 10 без функций и процедур»

textual
Листинг программы
var
  i, p, c: integer;
  s: string;
  
begin
  writeln('Введите число в 16-й системе счисления:');
  readln(s);
  s := UpperCase(s);
  p := 0;
  for i := 1 to length(s) do begin
    if s[i] in ['0'..'9'] then c := strtoint(s[i])
    else
      if s[i] in ['A'..'Z'] then c := ord(s[i]) - 55;
    p := 16 * p + c
  end;
  writeln('Результат: ', p)
end.

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

  1. Ввод числа в 16-й системе счисления:
    • Строка s := UpperCase(s); преобразует введенное число в верхний регистр.
    • Строка readln(s); считывает введенное число.
  2. Обработка символов:
    • Строка if s[i] in ['0'..'9'] then c := strtoint(s[i]); проверяет, является ли символ числом от 0 до 9.
    • Если символ является числом, то он преобразуется в целое число с помощью функции strtoint.
    • Если символ не является числом, то выполняется следующая строка.
    • Строка if s[i] in ['A'..'Z'] then c := ord(s[i]) - 55; проверяет, является ли символ буквой от A до Z.
    • Если символ является буквой, то он преобразуется в целое число с помощью функции ord, вычитается 55 и полученное значение присваивается переменной c.
  3. Вычисление значения:
    • Строка p := 16 * p + c; вычисляет значение переменной p путем умножения текущего значения p на 16 и прибавления значения переменной c.
  4. Вывод результата:
    • Строка writeln('Результат: ', p); выводит результат вычислений.

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


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

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

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