Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Цитата Loading:
PS. А еще я про системы счисления писал задание, алгоритм пояснить можешь как её написать?! »
В основе алгоритма операторы div и mod. Вот примерная работа, с использованием цикла.
Код: Выделить весь код
Program dec2hex;
Uses crt;
Var i :integer; Hex, tHex :string;
Begin
Hex:='';
Write ('Enter your natural decimal number: ');
Readln (i);
repeat
Str(i mod 2,tHex);
Hex:=Hex+tHex;
i:=(i div 2);
until (i=1);
Str(i mod 2,tHex);
Hex:=Hex+tHex;
write (Hex);
End.
Это не готовая прога, хоть тут ответ и можно получить, но в зеркальном варианте. К примеру, если ввести 13 то получим 1011, правильный ответ будет 1101. Ну это уже самостоятельно. Идея такая же как и при делении в столбик, только результат деления и остачу складываем в переменную типа строчка.
С GoTo
Меняем на
Код: Выделить весь код
Readln (i);
Label startPos
{repeat}
…
{until (i=1);}
If (i<>1) GoTo startPos
Только я у меня компиллер заладил Error in statement на Лейбл, хотя вроде по справке делал.

Отправлено: 03:21, 04-06-2008 | #13