Примеры программ на языке QBASIC


REM  Генерация неправильно сокращаемых дробей
CLS
REM Двойной цикл по перебору дробей от 10/11 до 98/99
FOR N=11 TO 99
  FOR M=10 TO N-1
    T=M/N :          ' Настоящее значение дроби
    Nlo=N MOD 10   : ' Младшая цифра знаменателя
    Nhi=(N-Nlo)\10 : ' Старшая цифра знаменателя
    Mlo=M MOD 10   : ' Младшая цифра числителя
    Mhi=(M-Mlo)\10 : ' Старшая цифра числителя
    IF Mlo=0 THEN GOTO 100
    REM Анализ различных сочетаний "зачеркиваемых" цифр
    IF Nlo=Mlo AND ABS(T-Mhi/Nhi)<.001 THEN
       PRINT M;"/";N;"=";Mhi;"/";Nhi
    END IF
    IF Nlo=Mhi AND ABS(T-Mlo/Nhi)<.001 THEN
       PRINT M;"/";N;"=";Mlo;"/";Nhi
    END IF
    IF Nlo<>0 THEN
      IF Nhi=Mlo AND ABS(T-Mhi/Nlo)<.001 THEN
         PRINT M;"/";N;"=";Mhi;"/";Nlo
      END IF
      IF Nhi=Mhi AND ABS(T-Mlo/Nlo)<.001 THEN
         PRINT M;"/";N;"=";Mlo;"/";Nlo
      END IF
    END IF
100 :
  NEXT M
NEXT N
END

REM  ├хэхЁрЎш  эхяЁртшы№эю ёюъЁр∙рхь√ї фЁюсхщ
CLS
REM ─тющэющ Ўшъы яю яхЁхсюЁє фЁюсхщ юЄ 10/11 фю 98/99
FOR N=11 TO 99
  FOR M=10 TO N-1
    T=M/N :          ' ═рёЄю ∙хх чэрўхэшх фЁюсш
    Nlo=N MOD 10   : ' ╠ырф°р  ЎшЇЁр чэрьхэрЄхы 
    Nhi=(N-Nlo)\10 : ' ╤ЄрЁ°р  ЎшЇЁр чэрьхэрЄхы 
    Mlo=M MOD 10   : ' ╠ырф°р  ЎшЇЁр ўшёышЄхы 
    Mhi=(M-Mlo)\10 : ' ╤ЄрЁ°р  ЎшЇЁр ўшёышЄхы 
    IF Mlo=0 THEN GOTO 100
    REM └эрышч Ёрчышўэ√ї ёюўхЄрэшщ "чрўхЁъштрхь√ї" ЎшЇЁ
    IF Nlo=Mlo AND ABS(T-Mhi/Nhi)<.001 THEN
       PRINT M;"/";N;"=";Mhi;"/";Nhi
    END IF
    IF Nlo=Mhi AND ABS(T-Mlo/Nhi)<.001 THEN
       PRINT M;"/";N;"=";Mlo;"/";Nhi
    END IF
    IF Nlo<>0 THEN
      IF Nhi=Mlo AND ABS(T-Mhi/Nlo)<.001 THEN
         PRINT M;"/";N;"=";Mhi;"/";Nlo
      END IF
      IF Nhi=Mhi AND ABS(T-Mlo/Nlo)<.001 THEN
         PRINT M;"/";N;"=";Mlo;"/";Nlo
      END IF
    END IF
100 :
  NEXT M
NEXT N
END