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

Программирование!!! Совсем не идет эта задача, нужно написать на паскале!!

Заданы два числа А, B
первое в системе счисления с основанием p, второе в системе счисления с основанием q. Вычислить
значение С по указанной формуле и вывести его на экран в десятичной системе
счисления и системе счисления с основанием r.
Дано p=5 q=8
C=3*b^2-2B+A
r=3
var a, b, c: LongInt;

procedure any_to_dec (z, p: integer; var res: integer);
var i, stepen, g, code_error: integer;
sum: real;
s, ss, rt: string;
ch: char;
begin
ss:='0123456789ABCDEF';
str (z, s);
rt:=s;
stepen:=1;
sum:=0;
while length(s) > 0 do
begin
ch:=s[length(s)];
s:=copy (s, 1, length(s)-1);
val (ch, g, code_error);
for i:=1 to 16 do
if ch=ss[i] then g:=i-1;
if g >= p then
begin
write ('Основание системы счисления "',p,'" у числа "',rt,'" выбрано НЕВЕРНО!');
halt;
end;
sum:=sum+g*power(p, stepen-1);
inc(stepen);
end;
writeln ('число ',rt,'(',p,') = ', sum,'(10)');
res:=round(sum);
end;

procedure dec_to_any (s, q: integer; var res: integer);
var z, code_error: integer;
s1, ss: String;
begin
ss:='0123456789ABCDEF';
z:=s;
while s>0 do
begin
insert(ss[s mod q+1],s1,1);
s:=s div q;
end;
writeln('число ', z,'(10) = ',s1,'(',q,')');
val (s1, res, code_error);
end;

begin
write ('Введите A (5-ная СС) = ');
readln (a);
write ('Введите B (8-ная СС) = ');
readln (b);
writeln ('_______');
writeln ('В 10-ой системе счисления');
any_to_dec(a, 5, a);
any_to_dec (b, 8, b);
c:=3*sqr(b)-2*b+a;
writeln ('C=3*b^2-2B+A = ', c );

writeln ('_______');
writeln ('В 3-ой системе счисления');
dec_to_any (a, 3, a);
dec_to_any (b, 3, b);
dec_to_any (c, 3, c);
writeln ('C=3*b^2-2B+A = ', c);
end.
АВ
Александр Вайпер
20 124
Лучший ответ
А где листинг? на каком моменте не прет? и ли вы товарищ тунеядец?
[V
[Vova]
7 840
Иван Новиков не могу создать функцию, основная программа еще более менее