Заданы два числа А, 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.
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.
А где листинг? на каком моменте не прет? и ли вы товарищ тунеядец?
Иван Новиков
не могу создать функцию, основная программа еще более менее
Похожие вопросы
- Нужно умножить матрицу A на матрицу B. A=(4 8) (3 9) (2 5) B=(11 22 16),(9 15 8) Нужно написать кодmпомогите! Паскаль
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- Нужно написать программу на паскале
- Стоит следующая задача, нужно освоить программирование
- Почему постоянно люди говорят "на Паскале ничего нормального написать нельзя", "паскаль - дерьмо"
- Помогите пожалуйста,как эту задачу написать в Паскале?
- Написать на паскале одну из трех задач, использовать процедуру или функцию. Заранее спасибо!
- Бывало ли у вас такое: вы не знаете языка программирования, а задачу нужно решить до завтра? просто глаза на лоб лезут..
- Нужно написать программу на СИ++, которая переводит с паскаля на СИ++
- Программирование на Си. нужно написать прогу