Архів якісних рефератів

Знайти реферат за назвою:         Розширений пошук

Меню сайту

Головна сторінка » Інформатика, програмування

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, -10) - (110, 110)

FOR I = 1 TO 100

X = 100 RND(1) : Y = 100 RND(1) : R = 5 RND(1)

CIRCLE (X, Y), R

NEXT I

END

'НОТИ

'----------

5 CLS

LOCATE 1, 1: PRINT "--------- СI (B)"

LOCATE 2, 1: PRINT "--------- ЛЯ (A)"

LOCATE 3, 1: PRINT "--------- СОЛЬ (G)"

LOCATE 4, 1: PRINT "--------- ФА (F)"

LOCATE 5, 1: PRINT "--------- МI (E)"

LOCATE 6, 1: PRINT "--------- РЕ (D)"

LOCATE 7, 1: PRINT "--------- ДО (C)"

LOCATE 9, 1: PRINT " Вихiд (Q)"

PLAY "O2"

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

IF W$="B" OR W$="b" THEN LOCATE 1,5: PRINT "O": PLAY "B2": GOTO 5

IF W$="A" OR W$="a" THEN LOCATE 2,5: PRINT "O": PLAY "A2": GOTO 5

IF W$="G" OR W$="g" THEN LOCATE 3,5: PRINT "O": PLAY "G2": GOTO 5

IF W$="F" OR W$="f" THEN LOCATE 4,5: PRINT "O": PLAY "F2": GOTO 5

IF W$="E" OR W$="e" THEN LOCATE 5,5: PRINT "O": PLAY "E2": GOTO 5

IF W$="D" OR W$="d" THEN LOCATE 6,5: PRINT "O": PLAY "D2": GOTO 5

IF W$="C" OR W$="c" THEN LOCATE 7,5: PRINT "O": PLAY "C2": GOTO 5

IF W$="Q" OR W$="q" THEN END

BEEP: GOTO 10

'МУЗИКАЛЬНI МЕЛОДIЇ

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

CLS : WIDTH 40

PRINT "---Варшав'янка---"

PLAY "t100 l8 o3 mn a4 ml a. mn g16 f4 ml f. mn c+16 d4 ml d."

PLAY "mn c16 d4 f4 e4 a. a16 ml a g f mn e ml d e f mn g a2 p2"

PRINT "---Окрасился месяц багрянцем---"

PLAY "t100 l8 mn o3 g c4 c e- g4 f e- ml g4. f16 mn e-16 d4."

PLAY "c o2 b-4 o3 d f b-4 o4 c o3 a- ml g2 mn g p p o4"

PLAY "d c4 o3 g g o4 ml e- mn d c o3 g ml b-4. a-16 mn g16"

PLAY "ml f e- mn d c g4 f g ml b- mn a- d e- c2 p2"

PRINT "---Засвистали козаченьки---"

PLAY "t100 l4 mn o3 g o4 g ml g f8 mn e-8 d g c c f f f g4 ml"

PLAY "d2 f8 e-8 d8 mn c8 d d d e- ml d8 c8 o3 b-8 mn a8 g o4 g"

PLAY "ml f8 e-8 d8 mn c8 o3 b- a g2 ml g8 p2"

PRINT "---заспіваймо пісню веселеньку---"

PLAY "t140 l4 mn o3 e a o4 c. o3 a8 b8 o4 d8 c8 o3 b8 a e"

PLAY "o4 c o3a ml o4 d8 c8 o3 mn b8 a8 ml g+8 mn g+8 ml b8"

PLAY "mn a8 e e4o4 e e g. e8 d ml g8 mn f8 e d c. o3 a8"

PLAY "o4 d8 c8 o3 b8 a8 o4 e2 d2"

END

'HAPPY BIRTHDAY

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

RESTORE Happy

READ Frequensy, Duration

WHILE Frequensy <> -1

SOUND Frequensy, Duration 1.33

READ Frequensy, Duration

WEND

END

Happy:

DATA 784, 3, 659, 2, 523, 6, 659, 6, 784, 6, 1047, 15, 1329, 3

DATA 1175, 2, 1047, 6, 659, 6, 740, 6, 784, 15, -1, -1

'ЗВУКОВI ЕФЕКТИ

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

WHILE Q$ <> "Q"

CLS

PRINT "Sound effects": PRINT

COLOR 15, 0: PRINT " B"; : COLOR 7, 0: PRINT "ouncing"

COLOR 15, 0: PRINT " F"; : COLOR 7, 0: PRINT "alling"

COLOR 15, 0: PRINT " K"; : COLOR 7, 0: PRINT "laxon"

COLOR 15, 0: PRINT " S"; : COLOR 7, 0: PRINT "iren"

COLOR 15, 0: PRINT " Q"; : COLOR 7, 0: PRINT "uit"

PRINT : PRINT "Select: ";

Q$ = " "

WHILE INSTR("BFKSQbfksq", Q$) = 0

Q$ = INPUT$(1)

WEND

CLS

IF Q$ = "B" OR Q$ = "b" THEN

PRINT "Bouncing . . . "

CALL Bounce(32767, 246)

ELSEIF Q$ = "F" OR Q$ = "f" THEN

PRINT "Falling . . . "

CALL Fall(2000, 550, 500)

ELSEIF Q$ = "S" OR Q$ = "s" THEN

PRINT "Wailing . . ."

PRINT " . . . press any key to end."

CALL Siren(780, 650)

ELSEIF Q$ = "K" OR Q$ = "k" THEN

PRINT "Oscillating . . ."

PRINT " . . . press any key to end."

CALL Klaxon(987, 329)

ELSEIF Q$ = "q" THEN

Q$ = "Q"

END IF

WEND

END

SUB Bounce (Hi, Low) STATIC

FOR Count = 60 TO 1 STEP -2

SOUND Low - Count / 2, Count / 20

SOUND Hi, Count / 15

NEXT

END SUB

SUB Fall (Hi, Low, Del) STATIC

FOR Count = Hi TO Low STEP -10

SOUND Count, Del / Count

NEXT

END SUB

SUB Klaxon (Hi, Low) STATIC

WHILE INKEY$ = ""

SOUND Hi, 5

SOUND Low, 5

WEND

END SUB

SUB Siren (Hi, Rng) STATIC

WHILE INKEY$ = ""

FOR Count = Rng TO -Rng STEP -4

SOUND Hi - ABS(Count), .3

Count = Count - 2 / Rng

NEXT

WEND

END SUB

'ГРАФIЧHИЙ РЕДАКТОР

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

ON KEY (1) SUB 500

KEY (1) ON

SCREEN 2

200 x$=input$(1)

IF X$="S" OR x$="s" THEN END

IF X$="A" OR X$="a" THEN DRAW "L5"

IF X$="D" OR X$="d" THEN DRAW "R5"

IF X$="W" OR X$="w" THEN DRAW "U5"

IF X$="X" OR x$="x" THEN DRAW "D5"

IF X$="E" OR x$="e" THEN DRAW "E5"

IF X$="C" OR x$="c" THEN DRAW "F5"

IF X$="Z" OR x$="z" THEN DRAW "G5"

IF X$="Q" OR x$="q" THEN DRAW "H5"

IF X$="F" OR x$="f" THEN DRAW "C0 U0 C1 BL5 U0"

IF X$="H" OR x$="h" THEN DRAW "C0 U0 C1 BR5 U0"

IF X$="B" OR x$="b" THEN DRAW "C0 U0 C1 BD5 U0"

IF X$="T" OR x$="t" THEN DRAW "C0 U0 C1 BU5 U0"

GOTO 200

500 END

'СОРТУВАHHЯ СЛIВ

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

CLS

LOCATE 10,25

INPUT "Кiлькiсть слів, що сортуються: ";N

DIM X$(N)

FOR I = 1 TO N

CLS

LOCATE 10, 20 : PRINT "Введiть ";i;" слово";

INPUT X$(I)

NEXT I

CLS

FOR I = 1 TO N - 1

FOR J = I + 1 TO N

IF X$(I) > X$(J) THEN SWAP X$(I), X$(J)

NEXT J, I

FOR I=1 TO N

LOCATE I+3,30

PRINT X$(I)

NEXT I

END

' IМIТАЦIЯ ОБЕРТАHHЯ РИСОЧКИ

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

ON KEY (1) GOSUB 500

KEY (1) ON

CLS

50 LOCATE 12,40: PRINT "( ¦ )" : DELAY .1

LOCATE 12,40: PRINT "( / )" : DELAY .1

LOCATE 12,40: PRINT "( - )" : DELAY .1

LOCATE 12,40: PRINT "( \ )" : DELAY .1

GOTO 50

500 END

'ПОБУДОВА ДIАГРАМИ

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

SUB GRAF(NX1,NY1,NX2,NY2,N,Y(1))

SCREEN 2

YMAX=Y(1): YMIN=Y(1)

FOR I = 1 TO N

IF Y(I) < YMIN THEN YMIN = Y(I)

IF Y(I) > YMAX THEN YMAX = Y(I)

NEXT I

DX1 = 8 : DX = FIX((NX2 - NX1 - (N - 1) DX1) / N)

X1 = NX1

Y1 = NY2 - FIX(((-YMIN) (NY2 - NY1)) / (YMAX - YMIN))

FOR I = 1 TO N

X2 = X1 + DX

Y2 = NY2 - FIX(((Y(I) - YMIN) (NY2 - NY1)) / (YMAX - YMIN))

LINE (X1,Y1) - (X2,Y2),,BF

X1 = X2 + DX1

NEXT I

LINE (nx1,Y1) - (nx2,Y1)

END SUB

CLS

INPUT "ЗАДАЙТЕ КІЛЬКІСТЬ ВУЗЛІВ ГРАФІКА"; M

DIM Z(M)

FOR I = 1 TO M

INPUT Z(I)

NEXT I :

CLS

X1 = 80: X2 = 500

Y1 = 50: Y2 = 150

CALL GRAF(X1,Y1,X2,Y2,M,Z())

END

Основна таблиця ASCII

000

001

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

>

017

<

018

c

019

!!

020

021

022

;

023

c

024

025

026

027

028

029

030

031

032

033

!

034

"

035

#

036

$

037

%

038

&

039

'

040

(

041

)

042

043

+

044

,

045

046

.

047

/

048

0

049

1

050

2

051

3

052

4

053

5

054

6

055

7

056

8

057

9

058

:

059

;

060

<

061

=

062

>

063

?

064

@

065

A

066

B

067

C

068

D

069

E

070

F

071

G

072

H

073

I

074

J

075

K

076

L

077

M

078

N

079

O

080

P

081

Q

082

R

083

S

084

T

085

U

086

V

087

W

088

X

089

Y

090

Z

091

[

092

\

093

]

094

^

095

_

096

`

097

a

098

b

099

c

100

d

101

e

102

f

103

g

104

h

105

i

106

j

107

k

108

l

109

m

110

n

111

o

112

p

113

q

114

r

115

s

116

t

117

u

118

v

119

w

120

x

121

y

122

z

123

{

124

:

125

}

126

~

127

Розширена таблиця ASCII (альтернативне кодування)

128

А

129

Б

130

В

131

Г

132

Д

133

Е

134

Ж

135

З

136

И

137

Й

138

К

139

Л

140

М

141

Н

142

О

143

П

144

Р

145

С

146

Т

147

У

148

Ф

149

Х

150

Ц

151

Ч

152

Ш

153

Щ

154

155

156

Ь

157

158

Ю

159

Я

160

а

161

б

162

в

163

г

164

д

165

е

166

ж

167

з

168

и

169

й

170

к

171

л

172

м

173

н

174

о

175

п

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

р

225

с

226

т

227

у

228

ф

229

х

230

ц

231

ч

232

ш

233

щ

234

235

236

ь

237

238

ю

239

я

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255




Реферат на тему: Hовi команди системи Turbo-Basic (реферат)


Схожі реферати



5ka.at.ua © 2010 - 2017. Всі права застережені. При використанні матеріалів активне посилання на сайт обов'язкове.    
.