Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2011, 19:01   #1
IGOR199304
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 11
Печаль Системы счисления

Народ, помогите!
Есть программа для перевода систем счисления с 10 в 2, 8 и 16. Нужно дописать, чтобы можно было переводить с 2 в 10 и с 8 в 10.
Код:

Program NEMESiS ;
Uses
           Crt;
Var
        a, a1, b, c, c1, p1, p2, p3: longint;
        modz: array [0..4096] of byte;
        x, xc, yc: byte;
        hello, author, site, anykey, input1, input2, error: string;


Procedure Pole(Text: string );
Begin
  Write(text);
  TextBackground(green);
  TextColor(red);
  xc:= WhereX;
  yc:= WhereY;
  for x:=0 to 10 do Write(' ');
  GoToXY(xc, yc);
end;


Procedure chis (a11, b11: longint);
Begin
  c := 0;
  while c <= 4096 do
  Begin
    If a11 >= b11 Then
    Begin
      modz[c] := a11 mod b11;
      a11 := a11 div b11;
    End
    else
    Begin
     modz[c] := a11;
      c1 := c;
      c := 4096;
    End;
    Inc(c);
  End;
end;



Begin

  input1:= 'Введите число: ' ;
  input2:= 'Введите систему счисления (от 2 до 16): ' ;
  error:= 'Введеное вами число не принадлежит интервалу целых чисел от 2 до 16' ;
  TextBackground(blue);
  ClrScr;
  TextColor(yellow);
  GoToXY(40-round(length(hello)/2), 12);
  Writeln(hello); TextColor(green);
  GoToXY(40-round(length(author)/2), 13);
  Writeln(author);
  TextColor(lightgray);
  GoToXY(79-length(anykey), 25);
  Writeln(anykey);
  ReadKey;
  TextColor(yellow);
  ClrScr;
  pole(input1);
  ReadLn(a);
  TextColor(yellow);
  TextBackground(blue);
  Writeln('');
  pole(input2);
  ReadLn(b);
  TextColor(yellow);
  TextBackground(blue);
  a1 := a;
  If (b < 2) or (b > 16) Then
  Begin
    ClrScr;
    TextColor(red);
    Writeln(error);
    ReadKey;
    Halt;
  End;
  chis(a, b);
  ClrScr;
  Writeln('Итак, число ', a1, ' в системе счисления ', b, ' выглядит следующим образом: ' );
  c := 0;
  For c := 0 to c1 do
  Begin
    Case modz[c1-c] of
      10: Write( 'A' );
      11: Write( 'B' );
      12: Write( 'C' );
      13: Write( 'D' );
      14: Write( 'E' );
      15: Write( 'F' );
    End;
    If (modz[c1-c] <> 10) And (modz[c1-c] <> 11) And (modz[c1-c] <> 12) And (modz[c1-c] <> 13) And (modz[c1-c] <> 14) And (modz[c1-c] <> 15) Then Write(modz[c1-c]);
  End ;
  Writeln('' );
  ReadKey;
End.
IGOR199304 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системы счисления на C# Bakalavr Помощь студентам 7 29.11.2010 19:20
Системы счисления.10->5-7. Corpinccom Помощь студентам 0 22.09.2010 12:54
системы счисления neprogrammist Общие вопросы Delphi 4 24.05.2010 00:29
Системы счисления BloodMaX Общие вопросы C/C++ 1 08.11.2009 14:46
Системы счисления glupayastudentka Помощь студентам 3 28.06.2009 21:13