Практикум по среде и языку 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)