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

Программирование в Паскале

Опят такая же ситуация:
" Создайте программу чтобы переводил из двоичний в десятичную систему и на оборот "
Fedya Davronov
Fedya Davronov
274
программа предполагает только правильный ввод чисел

var n, summa, x, y: LongInt;
s, system: String;
begin
writeln ('выберите вариант ');
writeln ('1) из 10-й в 2-ю ');
writeln ('2) из 2-й в 10-ю ');
readln (y);
case y of
1:
begin
system:='01';
write (' введите десятичное число для перевода:');
readln(n);
while n>0 do
begin
insert(system[n mod 2+1],s,1);
n:=n div 2;
end;
writeln('результат = ', s);
end;
2:
begin
write (' введите двоичное число для перевода:');
readln(n);
x:=1;
while n > 0 do
begin
y:=n mod 10;
n:= n div 10;
summa:=summa+x*y;
x:=x*2;
end;
writeln('результат = ', summa);
end;
else writeln('выбор произведен неверно. Запустить программу сначала' );
end;
end.
ВБ
Василий Большаев
24 309
Лучший ответ
uses crt; //эта короче и работает
var n:integer;s:String;
begin
clrscr;
readln(n);
while n>0 do begin
insert(chr(48+n mod 2),s,1);
n:=n div 2;
end;
writeln(s);
//readkey;
end.
uses crt;
var a,n,d:integer;
Str:string;
begin
clrscr;
writeln('Перевод числа из двоичной в десятичную СС ');
writeln('-------------------------------------------');
Write('Число в двоичной С2--> '); ReadLn(Str);
d := 0;
for n := 1 to Length(Str) do
if Str[N] = #48 then D := D shl 1 else
if Str[N] = #49 then D := D shl 1 + 1 else
begin WriteLn('число не двоичное'); Halt; end;
WriteLn('число в 10 системе= ',d);
writeln(' конец задачи');
readln;
end.
Gani Karabaev
Gani Karabaev
5 183
Могу помочь с этой задачой. Напиши свое вк
Fedya Davronov К большому сожелению у меня нет ВК
Fedya Davronov Не могли бы тут помоч