IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> !!!Переход от одной системы счисления к другой!!!
Trofimov Artur
сообщение 10.05.2003 14:27
Сообщение #1


Гость






Товарищи!!!
Помогите пожалуйста.
До сессии мне ныжно написать программу перевода числа из одной системы счисления в другую (bin, oct, dec, hex).
Сам почему-то не могу :о( Не получается.
Помогите пожалуйста.

Все должно выглядеть примерно так:
Сначала забается из какой сис-мы ныжно совершить перевод, а потом в какую. Далее выводится результат.
Или так:
Вводится число в определенной сис-ме счисления и выводется его значение в других сис-мах.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
mj
сообщение 11.05.2003 12:28
Сообщение #2


Adminь
****

Группа: Администраторы
Сообщений: 803
Пол: Мужской
Реальное имя: Евгений

Репутация: -  5  +


Вот клёвенький пример

Program Perevod;
 Uses Crt;
 Const P1='Перевод из ';                                            { константы для начального меню }
       s:array [1..7] of string[50]=(p1+'десятеричного кода в двоичный.',
                                     p1+'двоичного кода в десятеричный.',
                                     p1+'десятеричного кода в шестнадцатиричный.',
                                     p1+'шестнадцатиричного кода в десятеричный.',
                                     p1+'двоичного кода в шестнадцатиричный.',
                                     p1+'шестнадцатиричного кода в двоичный.',
                                     '            ESC - ВЫХОД В DOS');
 Var Promeg,Chast:Longint;
     Znach,j:Integer;
     Klav:Char;
     i,Stroka,Isx,Kon,y,Kol,Help:Byte;
     Keys: Set of '0'..'F';
     a: Array [1..255] of Char;
     Otv,Pom: string;
 Procedure Zast;                                                    { процедура вывода меню }
   begin
     Window(1,1,80,24);                                             { выделить окно 80х24 }
     ClrScr;                                                        { очистить окно }
     TextColor(15);                                                 { установить цвет - белый }
     FOR I:=1 TO 7 do begin                                         { цикл по строкам }
       GoToXY (15,I*2); Write (s[i]);                               { формирование меню }
     end;
   end { zast };                                                    { конец процедуры меню }
 Function Stepen (Chis,St: Byte): Longint;                          { функция возведения в степень }
   var c: Byte;
       Res: longint;
   begin
     Res:=1;
     For c:=1 to st do Res:=Res*chis;
     Stepen:=Res;                                                   { присвоение функции значения }
   End { Stepen };                                                  { конец функции возведения в сепень }

 Begin                                                              { НАЧАЛО ОСНОВНОЙ ПРОГРАММЫ }
 y:=1;                                                              { y - текущая строка в меню }
 Zast;                                                              { вывести меню }
 Repeat                                                             { цикл для перемещения в меню }
   TextColor(13);
   GoToXY (13,y*2); Write(Chr(16));                                 { вывести метку текущей строки меню }
   klav:=ReadKey;                                                   { считывание клавиши в klav }
   GoToXY (13,y*2); Write(' ');                                     { стирание старой метки текущей строки }
   if Ord(Klav)=72 then if y > 1 then y:=y-1 else y:= 7;            { если клавиша ВВЕРХ }
   if Ord(Klav)=80 then if y < 7 then y:=y+1 else y:= 1;            { если клавиша ВНИЗ }
   if Ord(Klav)=27 then begin y:=7; klav:=Chr(13) end;              { если клавиша ESC }
   if (Ord(Klav)=13) and (y<7) then begin                           { если клавиша ВВОД не на выходе }
     ClrScr;                                                        { очистить экран }
     TextCOLOR (13); GoToXY (20, 1); Write (s[y]);                  { вывести название перевода }
     TextCOLOR (10); GoToXY (31,24); Write ('ESC - ВЫХОД В МЕНЮ');  { вывести клавишу для выхода }
     TextColor(15);                                                 { поменять цвет - белый }
     Window(1,2,80,23);                                             { установить окно со 2 по 23 строки }
     Stroka:=2;                                                     { текущая строка }
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 26.07.2025 8:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"