Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 27.01.2009, 00:11   #1
Picaso18
 
Регистрация: 25.12.2008
Сообщений: 8
По умолчанию Оптимизировать и помочь устранить ошибки.

Программа перевода из одной системы счисления в другую.
пока не полная.
Код:
Program Perevodnumber;
uses crt;
label sis1,sis,zapit;
Var
m,n,zap:string;
k,x,z,zap1,y,b,c,x2:integer;
x1,otvet1,otvet2:real;
begin
clrscr;
gotoxy(15,1);
Writeln('Перевод чисел  в позиционных систем счисления');
gotoxy(1,3);
zapit:Writeln('Введите целое число');
Readln(x);
str(x,m);
zap:=',';zap1:= Pos(zap,m);
if zap1<>0 then Begin  Writeln('Вы ввели  не целое число , попробуйте ещё');
goto zapit; End Else
z:=length(m);
sis:Writeln('Система счисление в которой находится число (2,8,10,16)');
Readln(b);
case b of
2:Write;
8:write;
10:write;
16:Write;
Else goto sis;
end;
sis1:Writeln('Систему систему в которую перевести число');
Readln(c);
case c of
2:Write;
8:Write;
10:write;
16:write;
Else goto sis1;
end;
if b = c Then begin writeln('Конечный результат',x);exit; end else;
if b <> 10 Then Begin for y:=1 to z-1 do begin  val(m[y],x1,k);
Otvet1:= x1 * (exp(y * ln(b)));otvet2:=otvet1+otvet2;Writeln(Otvet2,x1) ; end;  end  Else;
Otvet2:=OTvet2 + 1;
Writeln(otvet2:6:2);
Readln(n);{нечегоне значит}
End.
можно написать как оптимизировать прогу.
"Наша жизнь такова, какой делают ее наша мысли."
Picaso18 вне форума Ответить с цитированием
Старый 27.01.2009, 00:54   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию Вот как пример перевод десятичной в любую до 10 систем счисления: может как-то поможет:

Код:
uses crt;
var
 o,n,r : integer;
 s : string[16];
 buf : string[1];
begin
  clrscr;
  write ('Vvedite celoe 4islo -> ');
  readln (n);
  write ('Vvedite osnovanie sistemi s4isleni9 -> ');
  readln (o);
  s:='';
  repeat
    r:=n mod o;
    n:=n div o;
    str (r,buf);
    s:=buf+s
  until n<o;
  str (n,buf);
  s:=buf+s;
  writeln (s);
  readln

end.
capta1n вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Устранить ошибку AlenaBEL Помощь студентам 7 23.11.2008 16:00
Помогите оптимизировать! Altera Общие вопросы Delphi 6 25.03.2008 21:09
Оптимизировать код NeiL Помощь студентам 2 21.02.2008 09:57


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS