REFERATUA.ORG.UA — База українських рефератів




Реферат на тему:

Hовi команди системи Turbo-Basic

Turbo-Basic (у порівнянні з Бейсіком) має численні нові команди, а також нові опцiї для старих команд. Нижче наводяться деякі з нових операторів, функцій та системних змінних, які розширюють можливості Бейсіка.

DO/LOOP оператор циклу з тестуванням TRUE або FALSE зверху і/або знизу циклу. Повторення циклу здійснюється кеpуючими словами WHILE (для повторення за TRUE) або UNTIL (для повторення за FALSE), за якими слідує деякий вираз. Цей вираз являє собою цiлочисельну змінну, ненульове значення якої відповідає TRUE (істина), а нульове FALSE (хибність).

SUB/END SUB оператор, що визначає процедуру. В заголовку процедури вказується її унікальне ім'я, а потім в круглих дужках перераховуються (необов'язкові) формальні параметри, які відокремлюються один від одного комами. Виклик процедури здійснюється оператором CALL, який пересилає фактичні параметри за посиланням або значенням.

SELECT CASE/END SELECT оператор, який дозволяє здійснювати ефективне розгалуження програми за числовим або рядковим виразами. При його застосуванні отримується більш чітка програма, ніж при використанні операторів IF, ON n GOTO або ON n GOSUB.

DEF FN/END DEF вдосконалений оператор, який визначає функцію користувача.

IF/ELSE IF/ELSE/END IF вдосконалений оператор умовного переходу.

EXIT оператор виходу із структурного блоку (SELECT/END SELECT, DEF FN/END DEF, FOR/NEXT, IF/END IF, DO/LOOP, SUB/END SUB, WHILE/WEND).

LOCAL, SHARED, STATIC оператори, які визначають змінні процедур та функцій.

DECR, INCR оператори, які задають спосіб зменшення або збільшення змінної.

DELAY оператор, який задає паузу в секундах при виконанні програми.

INSTAT функція, яка повертає стан клавіатури. Якщо клавіша була натиснена, INSTAT повертає -1, в іншому випадку 0.

REG оператор i функція; яка дозволяє читати або записувати значення в буфер регістра.

CALL ABSOLUTE оператор, який дозволяє звертатися до програми на Асемблерi.

CALL INTERRUPT оператор, який дозволяє визвати будь-яке переривання операційної системи.

SHELL оператор, який завантажує та виконує зовнішню програму (з розширеннями .COM, .EXE, .BAT).

MTIMER функція i оператор, які зчитують i скидають мікротаймер.

EXP2, EXP10, LOG2, LOG10 експоненціальна та логарифмічна функції з основами 2 та 10.

ENVIRON оператор, ENVIRON$ функція; які використовуються для зміни конфігурації середовища (оточення процесора).

LCASE$ (UCASE$) функція, яка повертає рядок, написаний малими (великими) літерами.

Приклади використання деяких з розглянутих конструкцій будуть наведені в наступному розділі.

ПРИКЛАДИ ПРОГРАМ НА БЕЙСIКУ

'КВАДРАТИЧНЕ РIВHЯHHЯ

'------------------------------------------

SCREEN 0 : WIDTH 40

10 CLS

LOCATE 3, 5: PRINT "РОЗВ'ЯЗУЄМО КВАДРАТИЧНЕ РIВНЯНHЯ:"

LOCATE 4, 5: PRINT " A * X^2 + B * X + C = 0"

LOCATE 7, 5: INPUT; " ВВЕДIТЬ A: A = ", A

LOCATE 9, 5: INPUT; " ВВЕДIТЬ B: B = ", B

LOCATE 11, 5: INPUT; " ВВЕДIТЬ C: C = ", C

D = B^2 - 4 * A * C

IF D >= 0 THEN GOSUB 100 ELSE GOSUB 200

LOCATE 20, 5: PRINT "БУДЕТЕ ЩЕ РОЗВ'ЯЗУВАТИ ЗАДАЧУ? (Т/Н)";

50 W$ = INKEY$: IF W$ = "" THEN GOTO 50

IF W$ = "Т" OR W$ = "т" THEN GOTO 10

IF W$ = "Н" OR W$ = "н" THEN CLS: END

BEEP: GOTO 50

100 X1 = (-B + SQR(D)) / (2 * A)

X2 = (-B - SQR(D)) / (2 * A)

LOCATE 15, 10: PRINT " X1 = " ; X1;

LOCATE 16, 10: PRINT " X2 = " ; X2;

RETURN

200 LOCATE 15, 10: PRINT "КОРЕНIВ НЕМАЄ!";

RETURN

'ПОШУК МIНIМУМУ ТА МАКСИМУМУ ВЕЛИЧИН, ЯКI ВВОДЯТЬСЯ З 'КЛАВIАТУРИ

'--------------------------------------------------------------------------------------------------------

DIM X(100)

Min = 999999 : Max = -999999

FOR I = 1 TO 25

10 INPUT "Введiть дані ", X(I)

IF X(I) < 0 OR X(I) > 100 THEN BEEP: GOTO 10

NEXT I

FOR I = 1 TO 10

IF X(I) < Min THEN Min = X(I)

IF X(I) > Max THEN Max = X(I)

NEXT I

PRINT "Мiнiмальне значення = "; Min

PRINT "Максимальне значення = "; Max

END

'ТАбЛИЦЯ МНОЖЕНHЯ

'------------------------------------

SCREEN 0

LOCATE 3, 5: INPUT "ЯК ВАС ЗВАТИ"; Nam$

10 CLS

LOCATE 5, 5: INPUT "ВВЕДIТЬ ПЕРШИЙ СПIВМНОЖHИК ",A

LOCATE 7, 5: INPUT "ВВЕДIТЬ ДРУГИЙ СПIВМHОЖHИК ",B

LOCATE 9, 5: INPUT "ЧОМУ РIВНИЙ ДОБУТОК ДВОХ СПIВМHОЖHИКIВ ";C

PR = A * B

IF C = PR THEN LOCATE 12, 10: PRINT "МОЛОДЕЦЬ, "; Nam$;"!"

IF C <> PR THEN LOCATE 12, 10: PRINT "ВЧИСЬ, " ; Nam$;"!"

LOCATE 15, 5: PRINT "Q - ВИХIД"

LOCATE 17, 5: PRINT "IHША КЛАВIША - ПРОДОВЖЕHНЯ"

100 W$ = INKEY$: IF W$ = "" THEN GOTO 100

IF W$ = "Q" OR W$ = "q" THEN END ELSE GOTO 10

'ПРЯМОКУТHИКИ

'---------------------------

SCREEN 2 : CLS

VIEW

WINDOW (0, 0) - (100, 100)

FOR I = 1 TO 20

LINE (10 + I, 10 + I) - (70 + I, 70 + I),, B

NEXT I

END

'ЧОРНА ДIРКА

'--------------------

SCREEN 1, 0 : CLS : COLOR 14, 1

FOR I=50 TO 1 STEP -.5

Y = 90 / I: R = 3 * I

CIRCLE (160, 30 + 10 * Y), R, 1,,, .3

NEXT

END

'САТУРН

'-------------

SCREEN 1, 0 : CLS

CIRCLE (160, 100), 79, 3

CIRCLE (160, 100), 80, 3

ST = .77: SP = .77

FOR I= 1 TO 30 STEP 5

ST = (ST - .015): SR = ST * PI

SP = SP + .04

CIRCLE (160, 93), 100 + I, 3, SR ,SP , .3

NEXT

END

'ЦИКЛОЇДА, ЕПIЦИКЛОЇДА, ГIПОЦИКЛОЇДА (монітор EGA)

'---------------------------------------------------------------------------------------

PLAY "MB o2 l4 af af b- a g2 c c c d8 e8 f4 f4 f2"

SCREEN 9 : CLS

A1 = 1 : B1 = 2

A2 = 1 : B2 = 1

A3 = 1 : B3 = .5

VIEW (1, 1) - (638, 315), 3, 3

WINDOW (-2, -3) - (20, 5)

LINE (-2, 0) - (20, 0), 11

LINE (0, -3) - (0, 5), 11

FOR T = 0 TO 20 STEP .007

X1 = A1 * T - B1 * SIN(T) : Y1 = A1 - B1 * COS(T)

PSET (X1, Y1), 1

X2 = A2 * T - B2 * SIN(T) : Y2 = A2 - B2 * COS(T)

PSET (X2, Y2), 14

X3 = A3 * T - B3 * SIN(T) : Y3 = A3 - B3 * COS(T)

PSET (X3, Y3), 5

NEXT T

END

'4 ВIКНА З ГРАФIКАМИ ФУНКЦIЙ

'------------------------------------------------

SCREEN 2 : CLS

VIEW (1, 1) - (315, 96),, 1

WINDOW (-10, -1.1) - (10, 1.1)

FOR X = -10 TO 10 STEP .02

Y = SIN(X) : PSET (X, Y)

NEXT X

VIEW (325, 1) - (638, 96),, 1

WINDOW (-10, 0) - (10, 1.1)

FOR X = -10 TO 10 STEP .02

Y = 1 / (1 + X^2) : PSET (X, Y)

NEXT X

VIEW (1, 102) - (315, 198),, 1

WINDOW (-10, -.1) - (10, 100)

FOR X = -10 TO 10 STEP .02

Y = X^2 : PSET (X, Y)

NEXT X

VIEW (325, 102) - (638, 198),, 1

WINDOW (-40, -40) - (40, 40)

FOR X = -40 TO 40 STEP .02

Y = X * SIN(X) : PSET (X, Y)

NEXT X

END

'ВИПАДКОВI КОЛА

'----------------------------

SCREEN 2 : CLS

VIEW

WINDOW (-10,


 
Загрузка...