Использование ЭВМ при обучении математикиРефераты >> Математика >> Использование ЭВМ при обучении математики
ccc = 14
COLOR ccc
LOCATE 13, 53: PRINT " _"
LOCATE 14, 53: PRINT " CD-AB=m( ; )"
PRINT #3,
PRINT #3, "координата x вектора m ";
vectx3:
p = 15: GOSUB slov
mm = 3: nx = 14: ny = 63
l$ = "+-1234567890"
m$ = "": m = 0
GOSUB napis
PRINT #3, VAL(m$);
IF cdx - abx <> VAL(m$) THEN GOSUB glupo: GOTO vectx3
PRINT #3,
PRINT #3, "координата y вектора m ";
vecty3:
p = 16: GOSUB slov
mm = 3: nx = 14: ny = 69
l$ = "+-1234567890"
m$ = "": m = 0
GOSUB napis
PRINT #3, VAL(m$);
IF cdy - aby <> VAL(m$) THEN GOSUB glupo: GOTO vecty3
ccc = 14: p = 5: GOSUB slov
vectm:
GOSUB telo
'Обработка ошибки правильности построения вектора m
mmx = curx - curoldx: mmy = cury - curoldy
IF mmx <> cdx - abx OR mmy <> cdy - aby THEN GOSUB glupo: PRINT #3, : PRINT #3, "Построил вектор m("; mmx; ","; mmy; ")"; : CIRCLE (x1, y1), radius, 12: ccccc = ccc: ccc = 12: GOSUB strvect: ccc = ccccc: GOTO vectm
p = 20: GOSUB slov
IF glupo = 0 THEN colora(shag) = 4: coob$ = " Нет ошибок ": GOSUB shar
IF glupo = 1 THEN colora(shag) = 14: coob$ = " Одна ошибка ": GOSUB shar
IF glupo = 2 THEN colora(shag) = 2: coob$ = " Две ошибки! ": GOSUB shar
IF glupo = 3 THEN colora(shag) = 9: coob$ = " Три ошибки! ": GOSUB shar
IF glupo > 3 THEN colora(shag) = 15: coob$ = " Много ошибок!!! ": GOSUB shar
oshibka = oshibka + glupo
glupo = 0
COLOR colora(shag): LOCATE 20, 52: PRINT coob$: COLOR ccc
DO WHILE INKEY$ = "": LOOP
RETURN
napis:
LOCATE nx, ny: PRINT STRING$(mm, " ")
napis1:
k$ = ""
DO WHILE k$ = ""
LOCATE nx, ny: PRINT CHR$(95)
k$ = INKEY$
IF k$ = CHR$(0) + CHR$(59) THEN GOSUB reklama
LOOP
k = ASC(k$)
IF k = 13 AND m <> 0 THEN LOCATE nx, ny: PRINT " ": RETURN
IF k = 27 THEN GOSUB vihod
IF k = 8 AND m <> 0 THEN m = m - 1: m$ = LEFT$(m$, m): LOCATE nx, ny: ny = ny - 1: PRINT " ": GOTO napis1
IF INSTR(1, l$, k$) = 0 OR m = mm THEN GOTO napis1
m = m + 1:
m$ = m$ + k$: LOCATE nx, ny: PRINT k$: ny = ny + 1
GOTO napis1
vihod:
vih$ = ""
SCREEN 9, , 1, 1
CLS
LOCATE 10, 10
PRINT "Выйти из программы - <Esc>"
DO WHILE vih$ = ""
vih$ = INKEY$
IF vih$ = CHR$(27) THEN CLS : PRINT #3, "Выход из программы по желанию пользователя - "; TIME$: PRINT #3, : CLOSE #3: GOTO alis
LOOP
SCREEN 9, , 0, 0
RETURN
alis:
CLS
LOCATE 10, 30: PRINT "GOOD BYE !!!"
DO WHILE INKEY$ = "": LOOP
FOR i = 1 TO 120
LINE (i + 200, 140)-(i + 240, 120), 0
SOUND i * 3 + 1100, .05
FOR j = 1 TO speed: NEXT j
NEXT i
SYSTEM
slov:
COLOR 15
IF p < 10 THEN slovo$(1) = " Перемещай стрелку по ": slovo$(2) = " координатной плоскости ": slovo$(3) = "пользуясь клавишами " + CHR$(27) + CHR$(24) + CHR$(25) + "->": slovo$(4) = " Клавишей <ПРОБЕЛ> укажи "
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) = "1 - построить на "
zapusk$(7) = " координатной плоскости "
zapusk$(8) = " два вектора, указав "
zapusk$(9) = " их начало и конец "
zapusk$(10) = "2 - ввести их координаты "
zapusk$(11) = "3 - вычесть из второго "
zapusk$(12) = " вектора первый вектор "
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