Практикум по среде и языку QBasic_________________________167
МУСОМ$ = UCASE$(RTRIM$(MXCOM$)) 'выделение команды k% = LEN(MYCOM$) - IMSTR (MXCOM$, "H_TO_D") - 7
'позиция разделителя IF k% < О THEN PRINT "He введено число!!": SYSTEM
'выход по отсутствию числа
МУСОМ$ = LTRIM$(RIGHT$(МУСОМ$, k%)) 'выделение параметра last% = LEN(MYCOM$) 'разрядность числа FOR i% = 1 ТО last% 'начало цикла записи числа k% = INSTR(digits$, LEFT$<МУСОМ$, 1)) - 1
'код очередного символа МГСОМ$ = RIGHT$ <МУСОМ$, LEN(MXCOM$) - 1)
'стирание очередного символа IF k% < О THEN 'проверка на ошибку ввода
PRINT " НЕ ЦИФРА!": SYSTEM 'выход по ошибке ввода END IF 'конец условного оператора a(i%) = k% 'ввод очередной цифры NEXT i% 'конец цикла записи числа HD$ = "" 'заготовка для вывода first% = 1 'номер начального разряда DO 'начало цикла перевода j% = О
FOR i% = first% ТО last% j% = j% * 16 + a(i%) a(i%) = j% \ 10 j% = j% MOD 10 NEXT i%
IF a(first%) = 0 THEN first% = first% + 1
HD$ = CHR$(j% +48) + HD$ 'формирование строки вывода LOOP UNTIL first% > last% 'конец цикла перевода PRINT HD$ 'вывод результата SYSTEM ' выход в MS DOS
и утилиты D_TO_H.BAS
DIM a(l TO 40) AS INTEGER 'массив для ввода цифр
digits$ = "0123456789ABCDEF" 'шаблон цифр
шусош$ = "" 'заготовка для ввода
j% = CSRLIN - 3 'положение команды на экране
FOR i% = 1 ТО 80 'начало цикла чтения
mycom$ = mycom$ + CHR$(SCREEN(j%, i%))
'ввод очередного символа NEXT i% 'конец цикла чтения LOCATE j% + 3 'возврат курсор на место шусош$ = UCASE$(RTRIM$(mycom$)) 'выделение команды k% = LEN(mycom$) - INSTR(mycom$, "D_TO_H") - 7
'позиция разделителя IF k% < О THEN PRINT "He введено число!!": SYSTEM
'выход по отсутствию числа mycom$ = LTRIM$(RIGHT$(шусош$, k%)) 'выделение параметра last% = LEN(mycom$) 'разрядность числа FOR i% = 1 ТО last% 'начало цикла записи числа
k% = lNSTR(digits$, LEFT$(mycom$, D) - 1
'код очередного символа
шусош$ = RIGHT$(mycom$, LEN(mycom$) - 1)