Использование ЭВМ при обучении математики
Рефераты >> Математика >> Использование ЭВМ при обучении математики

IF p = 1 THEN slovo$(5) = " начало вектора AB "

IF p = 2 THEN slovo$(5) = " начало вектора CD "

IF p = 3 THEN slovo$(5) = " конец вектора AB "

IF p = 4 THEN slovo$(5) = " конец вектора CD "

IF p = 5 THEN slovo$(5) = " начало вектора m "

IF p = 6 THEN slovo$(5) = " конец вектора m "

IF p > 10 THEN slovo$(1) = " Введи с клавиатуры ": slovo$(3) = " и нажми <Enter> ": slovo$(4) = " если ошибся ": slovo$(5) = " нажми <== "

IF p = 11 THEN slovo$(2) = " координату x вектора AB "

IF p = 12 THEN slovo$(2) = " координату y вектора AB "

IF p = 13 THEN slovo$(2) = " координату x вектора CD "

IF p = 14 THEN slovo$(2) = " координату y вектора CD "

IF p = 15 THEN slovo$(2) = " координату x вектора m "

IF p = 16 THEN slovo$(2) = " координату y вектора m "

IF p = 20 THEN FOR cl = 1 TO 5: slovo$(cl) = " ": NEXT cl

LINE (403, 235)-(626, 309), 15, B

LINE (403, 235)-(625, 308), 7, B

PAINT (450, 240), 0, 7

FOR lo = 18 TO 22

LOCATE lo, 52: PRINT slovo$(lo - 17)

NEXT lo

LOCATE 6, 52: PRINT "<F1>-Помощь <Esc>-Выход"

LINE (403, 65)-(626, 89), 15, B

LINE (403, 65)-(625, 88), 7, B

COLOR ccc

RETURN

zapusk:

zapusk$(1) = " СЛОЖЕНИЕ ВЕКТОРОВ "

zapusk$(2) = " "

zapusk$(3) = " Тебе предстоит: "

zapusk$(4) = " выполнить 10 заданий "

zapusk$(5) = " "

zapusk$(6) = " В каждом задании нужно: "

zapusk$(7) = "1 - построить на "

zapusk$(8) = " координатной плоскости "

zapusk$(9) = " два вектора, указав "

zapusk$(10) = " их начало и конец "

zapusk$(11) = "2 - ввести их координаты "

zapusk$(12) = "3 - сложить построенные "

zapusk$(13) = " векторы и ввести "

zapusk$(14) = " координаты вектора суммы"

zapusk$(15) = "4 - построить вектор суммы"

zapusk$(16) = " указав начало вектора "

zapusk$(17) = " в произвольной точке "

zapusk$(18) = " "

FOR ii = 1 TO 26

FOR ki = speed TO speed * 2: BEEP: NEXT ki

FOR ji = 1 TO 18

LOCATE ji + 4, 51 + ii

PRINT MID$(zapusk$(ji), ii, 1)

NEXT ji

NEXT ii

DO WHILE INKEY$ = "": LOOP

FOR ii = 26 TO 1 STEP -1

FOR ki = speed TO speed * 2: BEEP: NEXT ki

FOR ji = 1 TO 18

LOCATE ji + 4, 51 + ii

PRINT " "

NEXT ji

NEXT ii

RETURN

glupo:

glupo = glupo + 1

FOR clor = 15 TO 0 STEP -1

PLAY "n60l20"

COLOR clor

LOCATE 16, 53: PRINT "ОШИБКА! ПОВТОРИТЕ ВВОД"

NEXT clor

COLOR ccc

RETURN

Приложение №3

Файл - vector2.bas

REM РАЗНОСТЬ ВЕКТОРОВ

'Константы

speed = 800 'Скорость

FILEHLP$ = "vector.hlp"

filerez$ = "vector.rez"

oshibka = 0 'Общее количество ошибок

k = 10 'Длина пера вектора

k1 = 3 'Ширина пера вектора

radius = 2 'Радиус начала вектора

zakr = 1 'Закраска начала вектора

zakrstr = 1 'Закраска стрелки вектора

c = 12 'Цвет стрелки - курсора

curx = 0: cury = 0 'Установка начальниых координат положения стрелки

DIM colora(10)

DIM slovo$(5)

DIM zapusk$(18)

SCREEN 9, , 0, 0

OPEN filerez$ FOR APPEND AS #3

PRINT #3, DATE$; " СТАРТ ПРОГРАММЫ < РАЗНОСТЬ ВЕКТОРОВ > - "; TIME$;

GOSUB coord 'Построение координатной плоскости

GOSUB zapusk 'Страничка с заданиями

FOR shag = 1 TO 10

PRINT #3, : PRINT #3, "Задание - "; shag

glupo = 0

GOSUB coord 'Построение координатной плоскости

p = 1: GOSUB slov

FOR ccc = 10 TO 13 STEP 3

GOSUB telo

IF ccc = 10 THEN abx = curx - curoldx: aby = cury - curoldy ELSE cdx = curx - curoldx: cdy = cury - curoldy

NEXT ccc

PRINT #3, "AB("; abx; ","; aby; ")"; TAB(15); "; CD("; cdx; ","; cdy; ")"; " ;"; TAB(34); "m("; cdx - abx; ", "; cdy - aby; ")";

GOSUB analis

NEXT shag

GOSUB coord

LOCATE 10, 53: PRINT "Вы допустили "; oshibka; " ошибок"

PRINT #3,

PRINT #3, "Количество допущенных ошибок - "; oshibka

PRINT #3,

CLOSE #3

DO WHILE INKEY$ = "": LOOP

GOTO alis

telo:

GOSUB preobr:

GOSUB zapomin ' Запоминает

GOSUB strelka ' Рисует стрелку

GOSUB vibor '

GOSUB oldstrelka ' Закрашивает место, где была стрелка

IF fl = 2 THEN fl = 0: RETURN

GOTO telo

vibor:

flag = 0

kbd$ = INKEY$

SELECT CASE kbd$

CASE CHR$(0) + "H": IF cury < 10 THEN cury = cury + 1: flag = 1

CASE CHR$(0) + "P": IF cury > -10 THEN cury = cury - 1: flag = 1

CASE CHR$(0) + "K": IF curx > -11 THEN curx = curx - 1: flag = 1

CASE CHR$(0) + "M": IF curx < 11 THEN curx = curx + 1: flag = 1

CASE CHR$(0) + CHR$(59): GOSUB reklama

CASE CHR$(32): GOSUB final: IF fl = 2 THEN RETURN

CASE CHR$(27): GOSUB vihod

END SELECT

IF flag = 0 THEN GOTO vibor

kx = x: ky = y

GOSUB preobr

RETURN

strelka:

'==== x y c ============ Рисует стрелку ========

PSET (x, y), c

DRAW "r6g2f4g2h4g2u6"

PAINT (x + 1, y + 1), c

PSET (x, y), 15

DRAW "r6g2f4g2"

RETURN

zapomin:

'==== x y ============ zap(9,9) ========

DIM zap(9, 9)

FOR i = 1 TO 9

FOR j = 1 TO 9

zap(i, j) = POINT(i + x - 1, j + y - 1)

NEXT j

NEXT i

RETURN

oldstrelka:

'==== kx ky zap(9,9) ==== Рисует ====

FOR i = 1 TO 9

FOR j = 1 TO 9

PSET (i + kx - 1, j + ky - 1), zap(i, j)


Страница: