Написать програмку перевода из любой системы счисления в любую вплоть до 16 - Pascal

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

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

Помогите написать програмку перевода из любой системы счисления в любую вплоть до 16. З.Ы заранее спасибо

Решение задачи: «Написать програмку перевода из любой системы счисления в любую вплоть до 16»

textual
Листинг программы
uses crt;
const digit:string[16]='0123456789ABCDEF';
var n,s:string;
    c1,c2,m,i,k:integer;
    mn:set of char;
begin
repeat
writeln('Введите из какой CC от 2 до 16:');
readln(c1);
until c1 in [2..16];
mn:=[];
for i:=1 to c1 do
mn:=mn+[digit[i]];
repeat
writeln('Введите число в соответствии с CC:');
readln(n);
k:=0;
for i:=1 to length(n) do
if not (n[i] in mn) then k:=1;
if k=1 then writeln('Число введено неверно, повторите ввод.');
until k=0;
//перевод из СС с1 в СС 10
m:=0;
while n[1]='0' do
delete(n,1,1);
for i:=1 to length(n) do
m:=m*c1+pos(n[i],digit)-1;
writeln('Введите в какую CC:');
readln(c2);
//перевод из СС 10 в СС с2
s:='';
repeat
 s:=digit[(m mod c2)+1]+s;
 m:=m div c2;
until m=0;
writeln('Перевод из ',c1,' CC --> ',c2,' CC:');
writeln(s);
end.

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

  1. Создается переменная digit, которая содержит все цифры от 0 до 9 и буквы от A до F, используемые для представления чисел в системе счисления.
  2. Создаются переменные n, s, c1, c2 и i. Переменные n и s предназначены для хранения чисел, введенных пользователем, а переменные c1 и c2 - для хранения систем счисления. Переменная i используется для выполнения различных операций.
  3. В цикле repeat пользователю предлагается ввести систему счисления от 2 до 16. Введенное значение сохраняется в переменной c1.
  4. Создается пустое множество mn, которое будет использоваться для хранения символов, которые могут быть использованы для представления числа в данной системе счисления.
  5. В цикле for каждый символ вводится пользователем и добавляется в множество mn.
  6. Проверяется, является ли введенное число допустимым для данной системы счисления. Если нет, то увеличивается счетчик k. Если k равно 1, выводится сообщение об ошибке.
  7. После ввода числа, выполняется перевод из одной системы счисления в другую. Для этого используется цикл while, который удаляет все нули в начале числа, а затем преобразует оставшуюся часть числа в новую систему счисления. Результат сохраняется в переменной m.
  8. Выполняется перевод из системы счисления 10 в систему счисления 10. Для этого используется цикл repeat, в котором каждый символ числа преобразуется в новую систему счисления. Результат сохраняется в переменной s.
  9. Выводится сообщение с исходным и преобразованным числом, а также системой счисления.
  10. Программа завершается.

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


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

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

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