Другие языки программирования и технологии

Люди помогите с Pascal

program N62363547;
var radix1,radix2,i,c:byte;
number1,number2:string;
x:longint;
begin
write('Введите исходную систему счисления: ');
readln(radix1);
write('Введите число в заданной системе: ');
readln(number1);
write('Введите в какую систему перевести: ');
readln(radix2);
x := 0;
for i := 1 to length(number1) do
begin
c := ord(number1[ i ]);
if c <= $39 then {57 = $39 = ord('9') - код символа 9}
c := c - $30 {48 = $30 = ord('0') - код символа 0}
else
c := (c and $DF) - $37; {11011111b = $DF - для перевода строчных
букв в верхний регистр, $37 = 55 - разница кода буквы A и числа 10}
x := x * radix1 + c
end;
number2 := '';
repeat
c := x mod radix2 + $30;
if c > $39 then
c := c + 7; {7 - разница между кодами символов ':' и 'A'}
number2 := chr(c) + number2;
x := x div radix2
until x = 0;
writeln('Число в ',radix2,'-чной системе = ',number2);
readln
end.

P.S. Программа не имеет "защиты от дурака", поэтому при вводе необходимо выполнять следующие условия:
1. Основания систем вводятся в десятичном виде.
2. Основания систем счисления должны быть от 2 до 36.
3. Программа работает только с целыми положительными числами и нулём.
4. Диапазон обрабатываемых чисел в десятичном представлении от 0 до 2147483647.
5. При вводе исходного числа в N-й системе счисления "цифры" этого числа не должны превышать значения N-1. Например, для 14-ричной системы - это символы 0 .. 9, A, B, C, D. Для 36-ричной системы - 0..9, A..Z. Для 5-ричной - 0..4.
6. Программа не различает регистр латинских букв, то есть "A" и "a" - одинаковые "цифры".
7. В вводимом числе не должно быть никаких других символов, кроме цифр и латинских букв. А также см. пункт 5.
Сергей Балабенко
Сергей Балабенко
51 590
Лучший ответ
Помочь, то конечно, можно!
Только вот чем?
1) Покажи что конкретно не получается - в чём затык. --Это здесь на форуме.. .
2) Написать весь код за тебя. --Это за деньги. Пиши в личку...
Игорь Васильев
Игорь Васильев
87 882
Из любой в любую или из десятичной в любую?
Алгоритм подсказать? Пожалуйста.
Открываете браузер (на случай если Вы с телнета страницы грузите) , открываете веб-страницу с URL: google.ru
вводите : "Перевод систем счисления паскаль". Открывате ссылки, ищите нужное (лично я нашел готовые процедуры для решения задачи по второй ссылке) .
Экспериментируете с поисковыми запросами, если ничего не находите, такие вот дела.
И да, мне не лень было это писать, я печатаю очень быстро.
Глава 47 здесь:
Песни о Паскале - программирование для школьников и начинающих
FB
Fedea Bacalu
4 846