Использование ЭВМ при обучении математикиРефераты >> Математика >> Использование ЭВМ при обучении математики
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)