Изучение методики перевода из одной системы исчисления в другую и разработка программы для этой операц
задачи).
После того как мы определили этот порядок и записали
его в переменную I, организуется цикл от I до 0. Внутри
этого цикла проводятся следующие преобразования для по-
лучения необходимого результата:
- переменной Help присваивается числовое значение
Jтого элемента в исходном результате;
- условным оператором If из этого значения получает
символ, который будет стоять в результате;
- записывается полученный символ в строку символов,
которая будет содержать результат;
- вычисляется остаток, который записывается в пере-
менную Promeg.
Все эти действия были описаны в теоретической части
настоящего реферата, а их практическое осуществление не
требует никакого труда.
После выполнения этих операций, программа переходит
- 16 -
к получению следующего символа, пока не получит послед-
ний символ искомого результата. Как только результат
получен, он выводится на экран оператором WriteLn.
После этого следует переход на начало цикла с
пост-условием, в котором будет опять вводиться исходное
число и получаться результат, если не была нажата кла-
виша ESC. Если все же была нажата клавиша ESC то выпол-
нение программы передается основному циклу с
пост-условием который включает в себя выбор в меню.
Условие выхода из этого цикла - это нажатие клавиши
ВВОД, если курсор меню стоял на строке "ESC - ВЫХОД В
DOS".
Если это условие выполнилось, то осуществляется очи-
щение экрана и выполнение программы завершается.
2VIII. КАК ПОЛЬЗОВАТЬСЯ ПРОГРАММОЙ
Сразу после запуска программы на экране появляется
меню возможных переводов:
- 17 -
_____________________________________________________
| |
| > Перевод из десятеричного кода в двоичный. |
| |
| Перевод из двоичного кода в десятеричный. |
| |
| Перевод из десятеричного кода в шестнадцатиричный.|
| |
| Перевод из шестнадцатиричного кода в десятеричный.|
| |
| Перевод из двоичного кода в шестнадцатиричный. |
| |
| Перевод из шестнадцатиричного кода в двоичный. |
| |
| ESC - ВЫХОД В DOS |
| |
|_____________________________________________________|
Слева от первой строки стоит метка выбора. Клавишами
ВВЕРХ и ВНИЗ можно перемещать метку по меню. После того
как метка подведена к нужной строке нажимается клавиша
ВВОД. Если Вы хотите из главного меню выйти из прог-
раммы, то это можно сделать двумя способами: нажать
клавиши ESC или подвести курсор к последней строке и
нажать ВВОД.
Если Вы нажали ВВОД на одной из верхних строк меню
то на экране появляется следующая картина:
- 18 -
_____________________________________________________
| |
| Перевод из десятеричного кода в двоичный. |
| |
| ? 32 = 100000 |
| ? 33 = 100001 |
| ? 26 = 11010 |
| ? 500 = 111110100 |
| ? 3 = 11 |
| ? 34_ |
| |
| |
| |
| |
| |
| ESC - ВЫХОД В МЕНЮ |
|_____________________________________________________|
Однако вместо верхней строки может стоять любая из
шести строк указанных в меню, в зависимости от того,
стоя на какой строке меню Вы нажали ВВОД.
В этом состоянии можно вводить исходное число, при-
чем программа будет сама определять, допустимый символ
Вы вводите или нет. Так например если Вы переводите из
двоичной системы исчисления, то Вы можете нажимать
только клавиши '1' или '0', в противном случае програм-
ма нажатую клавишу не проигнорирует.
- 19 -
После того как Вы ввели исходное число, нужно нажать
клавишу ВВОД, после чего напротив исходного числа через
знак равно появится эквивалент исходного числа, но уже
в нужной системе исчисления.
Если Вы ошиблись при вводе исходного числа, то можно
нажать клавишу ЗАБОЙ, и последний введенный символ сот-
рется.
Чтобы завершить выполнение программы или осуществить
перевод из другой системы исчисления, нужно нажать кла-
вишу ESC (о чем указано в нижней строке экрана). В этом
случае Вы окажетесь в начальном меню. Если Вы хотите
продолжить перевод, то опять клавишами ВВЕРХ и ВНИЗ
подведите курсор к нужной строке меню и нажмите ВВОД.
Если же Вы хотите завершить выполнение программы, то
это можно сделать двумя вышеописанными способами.
- 8 -
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