на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Диплом: Использование ЭВМ при обучении математики

Распре-делите-

ли

Интег-рато-ры
ГенерирующиеФункциональныеДемонстрационные
ГенераторыВариаторыАктивные (открытые)Пассивные (закрытые)
Контроли-рующие и обучаю-щиеТренаж-ерыМодели-рующиеИмита-ционные (игровые)Опера-ционныеИнфор-мационные
Структуры верхнего уровня составляют управляющие, предметные, инструментальные и объектные пакеты. Управляющие пакеты решают задачи управления и организации урока. Дидактика средней школы определяет некоторую общую схему организации урока, единую для всех предметов. Такая схема может быть структурирована программными средствами. Программы, реализующие последовательность выводов запланированных на уроке пакетов, образуют структурирующие пакеты. Возможность выделить структурирующие пакеты в самостоятельную группу обеспечивается тем, что соответствие между элементами структурирующего пакета и содержанием конкретного урока, для которого учитель комплектует набор планируемых пакетов, устанавливается с помощью специальных программ-формирователей - в ходе диалога пользователя - учителя с формирующим пакетом. Наконец, после урока учителю предстоит собрать информацию о ходе урока, успехах и неудачах учеников. Сбор, структурирование и форматирование итогов урока выполняют протоколирующие пакеты. Информация, собранная протоколирующими пакетами и соответствующим образом структурированная, чаще всего непосредственно используется учителем, проводившим компьютеризованный урок. Статистическая учебная информация позволяет формировать научно обоснованные суждения о степени усвоения материала отдельными учащимися, группами, учащимися всего класса. Выполняемая по алгоритмам - заданиям, разработанным специалистами по педагогической психологии, статистическая обработка учебной информации, которая собрана персональными машинами школьного кабинета информатики во время урока, дает возможность квалифицированно диагностировать учебный процесс, вырабатывать сообщения учителю, классному руководителю, родителям с дополнительными рекомендациями, касающимися разных аспектов учебной деятельности школьников, также физического и психологического их состояния. В такого рода программах заинтересованы психологи, исследующие школьный учебный процесс. Программные средства этих, вообще говоря, малосвязанных с содержанием конкретных уроков преобразований информации представляют собой статистические пакеты. В том случае, когда школьный кабинет информатики представляет собой локальную сеть ПЭВМ, а не автономный набор машин, среди управляющих пакетов существенную роль начинают играть сетевые пакеты - распределители (организующие информационные потоки от учительской машины к ученическим) и интеграторы (собирающие информацию с ученических машин в учительскую). В группе инструментальных пакетов функциональная связь программных средств с содержанием школьного пакета выраженных чаще всего неясно: основные целевые характеристики этих пакетов определены используемыми программными инструментами. Редактирующие (текстовые) пакеты собираются из программ текстовой информации и создают комфортные условия для ученика и учителя при работе с текстами. Такие пакеты незаменимы в диктантах, они весьма удобны в изложениях и оказываются весьма удобны в сочинениях. Программы редактирующих пакетов обеспечивают вставку символов, слов, строк, их исключения, замены, всевозможные способы выделения фрагментов текстов (разрядка, назначение шрифтов, цветовое оформление) и т.д. Удобства работы с текстом на экране ПЭВМ, эстетичность восприятия, возможность бесследной корректировки ошибок, обнаруженных во время написания текста, раскрепощает ученика и значительно повышают производительность его работы над текстами, идет ли речь о рутинных видах работы (как диктанты) или о творческой деятельности (сочинения). Среди предметных областей редактирующих пакетов превалирующими являются, конечно, родной язык и литература, однако столь же активно они могут использоваться при изучении иностранных языков, математики и др. Глава II. Разработка обучающей программы. §1.Структура обучающей программы для ЭВМ. Идеей создания программы объединяющей несколько обучающих программ послужило создание нового пользовательского интерфейса. Практически неподготовленный пользователь (в частности учащийся, с минимальным багажом знаний ПК), при запуске программы буквально за считанные минуты овладевает теми знаниями, требованиями необходимыми при работе с программой, что немаловажно при использовании компьютера при обучении математики. Курс ОИВТ в средней школе изучается в 10-11 классах, а если учесть, что программа написана для 5 или 6 класса, то у учащихся возникают проблемы, «как запустить программу». Вариант такой программы был разработан автором дипломной работы. При ее запуске на экране появляется основное меню состоящее из пунктов: 1. Работа в системе. 2. Справка о программе 3. Выход Пользуясь клавишами управления курсором ñò учащийся устанавливает курсор на необходимый ему пункт, заранее сказанный учителем и нажимает клавишу <ENTER>. При выборе пункта 1 (Работа в системе) на экране появляется дополнительное меню в котором учащемуся предлагается выбрать нужное задание (выбор задания аналогичен выбору пункта в главном меню). Варианты заданий будут рассмотрены в §2. Главы II. При выборе учащимся пункта 2 (Справка о программе) на экране появляется информационно справочная система, в которой можно узнать информацию об использовании программы. Выход из информационно-справочной системы осуществляется нажатием клавиши <Esc>. При ошибочном входе в программу можно выбрать пункт 3 (Выход). При необходимости добавления нового задания в дополнительное меню необходимо в каталог в котором находятся файлы программы переписать файлы программ с новыми заданиями, войти в дополнительное меню и нажать клавишу <F3>. После ввода названия пункта меню необходимо написать полное имя файла, при этом следует учитывать, что расширение файла должно иметь имя EXE, COM, BAT, или программа написанная на языке QBASIC с расширением BAS. После этих процедур в дополнительном меню появляется новый пункт. §2.Разработка обучающей программы по теме «Векторы на плоскости» В основу разработки комплекса обучающих программ по математике теме «Векторы на плоскости и в пространстве» были взяты книги «Аналитическая геометрия», «Векторы на плоскости и в пространстве». В этих учебных пособиях указанная выше тема раскрыта достаточно полно и поэтому в этой дипломной работе мы не будем дублировать теоретический материал по математике. Отметим, что эти пособия предназначены для школьника старших классов и для студентов первых курсов высшего учебного заведения. В работе над программой перед авторами стояла задача контроля качества пройденного материала с помотаю ЭВМ. Несмотря на то что тема «Векторы на плоскости и в пространстве» довольно таки часто упоминалась в различных учебных изданиях и монографиях автор считает, что их собственная концепция изложения темы несколько отличается от традиционной, ей присуще некоторая своеобразность и новизна. Так, отлично от общепринятого определение вектора - не как направленного отрезка, а как представителя класса направленных отрезков, что выводит ученика на более научный уровень усвоения материала, нежели предполагает школьный и ряд вузовских учебников. В программах присутствует несколько взаимосвязанных разделов, каждый из которых выполняет особую функцию: - «Помощь», раздел, который содержит в себе справочник по теоретическим основам темы «Векторы на плоскости»; - Теоретический тренажер по теме «Векторы на плоскости», позволяющий проводить тестирование испытуемого по практическим навыкам решения задач. Но это лишь описание структуры уже готовой программы. Хочется сказать, что автор делает основной упор программы на некоторые аспекты проведения текущего контроля знаний. В настоящее время новые информационные технологии (НИТ), базирующиеся на деятельностном подходе к обучению, призваны стать мощным инструментом в совершенствовании учебно-воспитательного процесса. Анализ советского и зарубежного опыта показывает, что проблема использования НИТ не может быть решена только за счет развития техники, так как компьютер сам по себе не определяет реальной среды обучения. Новые технологии обучения порождают новые формы учения, психологический подход к содержанию урока и специфичное учебное содержание. Причины возникновения компьютерных учебников и их внедрение в учебный процесс связано с появлением ряда проблем, которые оказались неразрешимыми существующим методологическим подходом к уроку, учебному курсу. Для разработки и внедрения комплекса компьютерных программ в учебный процесс предусматривалось следующее функциональное назначение: - организация практических занятий, в которых посредством компьютерного учебника осуществлялась связь: ученик <=> компьютер <=> учитель; - усиление пропедевтического подхода в учебном курсе; - увеличение интенсивности учебной деятельности, как на уроке так и дома, которое диктуется внедрением компьютера в саму учебную деятельность, с одновременным снятием с учащегося рутинных работ; - расширение класса решаемых задач с увеличением наглядности обучения; - контроль за учебной деятельностью обучаемого; - возможность оценки освоения материала с одновременным анализом деятельности учащегося. Выходными данными после прохождении программы есть протокол работы учащегося написанный в доступном виде (состоит из реальных ответов ученика). На основе полученных данных можно провести контроль данных как указано выше и конечно же поставить «стандартную» школьную отметку. Важно и то, что компьютерный учебник ученик может использовать и как незаменимый помощник при подготовке к экзамену, зачету, чтобы выявить свой уровень знаний. Структура программы. Интерфейс пользователя. Комплекс обучающих программ по теме «Векторы на плоскости» состоит из следующих программ: ·Сложение векторов. Учащемуся предлагается построить два вектора на координатной плоскости, ввести их координаты и посчитать координаты вектора суммы. Затем учащемуся предлагается построить вектор суммы. ·Вычитание векторов. Учащемуся предлагается построить два вектора на координатной плоскости, ввести их координаты и посчитать координаты вектора разности. Затем учащемуся предлагается найденный вектор суммы. ·Умножение вектора на число. Учащемуся предлагается построить вектора на координатной плоскости, ввести его координаты и посчитать координаты вектора равного произведению построенного вектора и числу загаданному компьютером. Затем учащемуся предлагается построить вектор произведения. Каждая программа состоит из 10 однотипных заданий. Все три программы имеют одинаковый внешний вид. При входе в выбранную программу в правой части экрана появляется задание которое необходимо выполнить. В левой части экрана появляется изображение координатной плоскости. В правом верхнем углу нарисовано 10 яблок, которые являются индикатором степени выполняемости заданий. Если в процессе выполнения задания учащийся не допускает ошибок, то яблоко закрашивается в красный цвет, если учащийся допустил 1 ошибку яблоко приобретает желтую окраску, 2 ошибки - зеленый цвет, 3 ошибки - синий, 4 и более ошибок - белый. Рассмотрим вариант программы (Умножение вектора на число). При запуске программы на в левой части экрана изображается координатная плоскость и стрелочка-курсор. Учащийся при помощи клавиш управления курсором перемещает стрелочку до места, где он предполагает отметить начало вектора и нажимает клавишу <ПРОБЕЛ>, тем самым отмечая на координатной плоскости начало вектора. Затем аналогичным образом он отмечает конец вектора. После этого все события переходят в правую часть экрана, где испытуемому предлагается указать координаты построенного вектора. При неправильном указании координат испытуемому предлагается повторить ввод координат. На следующем этапе работы с программой учащемуся предлагается ввести координаты вектора произведения равного произведению построенного испытуемым вектора на число загаданное компьютером. При правильном построении на экране появляется сообщение о количестве ошибок и предлагается выполнить следующее задание. Выйти из программы можно нажав клавишу <Esc>. Программы построены таким образом, что от пользователя практически не требуется никаких навыков работы с персональным компьютером, благодаря удачному пользовательскому интерфейсу. В каждой программе выходными данными является количество ошибок за тестирование. Количество ошибок не говорит о точном оценивании знаний учащегося, так как неизвестен «уровень претензий» предъявляемых к тестируемому. Благодаря обширной системе подсказок пользователь может в том или ином месте программы нажав клавишу <F1> получить всегда хорошую помощь в виде сообщения на экране. Программа написана на языке программирования Qbasic. Программа требует для работы персональной компьютер совместимый с IBM PC 386 и выше. Обязательно должен быть загружен драйвер кириллицы. §3. Приложения Приложение №1 Файл - modul.bas REM ГЛАВНОЕ МЕНЮ CLS FILEHLP$ = "GLMENU.HLP" menuha: 'вывод на экран меню baz$ = "menu.dat" dlin = 30 m = 1 GOSUB menu IF rez1$ = "Работа в системе" THEN GOTO rmp IF cur = 2 THEN GOSUB reklama IF rez1$ = "Выход" THEN CLS : SYSTEM GOTO menuha rmp: REM вывод на экран меню с темами baz$ = "prog.dat" baz$ = parh$ + baz$ dlin = 30 GOSUB menu finalshow: OPEN "bat.bat" FOR OUTPUT AS #1 FOR i = 1 TO LEN(rez2$) IF MID$(rez2$, i, 1) = "." THEN rash$ = MID$(rez2$, i + 1, 3) NEXT i PRINT #1, "@echo off " IF rash$ = "bas" THEN PRINT #1, "@qbasic.exe /run "; rez2$ IF rash$ = "com" OR rash$ = "exe" OR rash$ = "bat" THEN PRINT #1, rez2$ PRINT #1, "@del bat.bat" CLOSE #1 CLS SYSTEM reklama: OPEN FILEHLP$ FOR INPUT AS #1 S = 0 DO ON ERROR GOTO 0 LINE INPUT #1, stran$ S = S + 1 LOOP UNTIL EOF(1) CLOSE #1 IF FIX(S / 18) >= (S / 18) THEN KS = FIX(S / 18) ELSE KS = FIX(S / 18) + 1 DIM stran$(S) OPEN FILEHLP$ FOR INPUT AS #1 FOR i = 1 TO S ON ERROR GOTO 0 LINE INPUT #1, stran$(i) NEXT i CLOSE #1 NS = 1 GOSUB stran obrabotka: A$ = INKEY$ IF A$ = CHR$(0) + CHR$(73) THEN NS = NS - 1: GOSUB stran IF A$ = CHR$(0) + CHR$(81) THEN NS = NS + 1: GOSUB stran IF A$ = CHR$(27) THEN ERASE stran$: RETURN GOTO obrabotka stran: IF NS < 1 THEN NS = 1: RETURN IF NS > KS THEN NS = KS: RETURN n = 18 * NS 'SLC: LOCATE 1, 1 PRINT "г"; STRING$(64, "="); "T=============¬" PRINT "¦"; STRING$(15, " "); : COLOR 15, 0: PRINT "ИНФОРМАЦИОННО - СПРАВОЧНАЯ СИСТЕМА"; : COLOR 7, 0: PRINT STRING$(15, " "); IF NS < 10 THEN PRINT "¦ Страница "; NS; "¦" ELSE PRINT "¦ Страница"; NS; "¦" PRINT "¦"; STRING$(64, " "); "L=============¦" FOR i = n - 17 TO n IF i > S THEN PRINT "¦"; STRING$(78, " "); "¦" ELSE PRINT "¦ "; stran$(i); STRING$((76 - LEN(stran$(i))), " "); "¦" NEXT i PRINT "L"; STRING$(78, "="); "-" COLOR 1, 7: PRINT " Выход - Esc "; IF NS = 1 THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Предыдущая страница - PageUp "; IF NS = KS THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Следующая страница - PageDown " COLOR 7, 0 RETURN menu: COLOR 7, 0 CLS OPEN baz$ FOR INPUT AS #2 DIM mas$(150, 2) INPUT #2, R$ i = 0 DO i = i + 1 INPUT #2, mas$(i, 1) INPUT #2, mas$(i, 2) LOOP UNTIL EOF(2) CLOSE #2 m = i IF m > 10 THEN m = 10 R = INT((25 - m) / 2) nashalo: u = 1: cur = 1: cur1 = 1 uold = LEN(R$): uold = dlin - uold: uuold = INT(uold / 2): uuuold = uold - uuold R1$ = STRING$(uuuold, "=") + R$ + STRING$(uuold, "=") ' Формирование заголовка таблицы tablisha: LOCATE R, 1 PRINT STRING$(21, " "); "г"; R1$; "¬" PRINT STRING$(21, " "); "¦"; STRING$(dlin, " "); "¦" schet = 0 FOR t = u TO u + m - 1 schet = schet + 1 COLOR 7, 0: PRINT STRING$(21, " "); "¦"; IF cur1 = schet THEN COLOR 0, 7 ' установка стандартной длинны фразы uold = LEN(mas$(t, 1)): uold = dlin - uold: uuold = INT(uold / 2): uuuold = uold - uuold t$ = STRING$(uuuold, " ") + mas$(t, 1) + STRING$(uuold, " ") PRINT t$; COLOR 7, 0: PRINT "¦" NEXT t PRINT STRING$(21, " "); "L"; STRING$(dlin, "="); "-" GOSUB smotr chetire: kbd$ = INKEY$ flag = 0 SELECT CASE kbd$ CASE CHR$(0) + "H": cur = cur - 1: cur1 = cur1 - 1: flag = 1 CASE CHR$(0) + "P": cur = cur + 1: cur1 = cur1 + 1: flag = 1 CASE CHR$(0) + CHR$(61): GOTO dopoln CASE CHR$(13): GOTO final CASE CHR$(27): CLS : SYSTEM END SELECT IF flag = 0 THEN GOTO chetire IF cur = 0 THEN u = i - m + 1: cur = i: cur1 = m: GOTO tablisha IF cur = i + 1 THEN GOTO nashalo IF cur1 = 0 THEN u = u - 1: cur1 = 1 IF cur1 = m + 1 THEN : u = u + 1: cur1 = m GOTO tablisha smotr: LOCATE 1, 1: COLOR 15, 3: PRINT STRING$(80, " ") ddl = (80 - LEN(mas$(cur, 2))) / 2 LOCATE 1, 1: COLOR 15, 3: PRINT STRING$(ddl, " "); mas$(cur, 2) COLOR 7, 0 RETURN final: rez1$ = mas$(cur, 1) rez2$ = mas$(cur, 2) ERASE mas$ RETURN dopoln: CLS LOCATE 10, 20: COLOR 7, 0: PRINT "Добавление новой темы в меню" LOCATE 12, 10: COLOR 7, 0: PRINT "Для отмены нажмите <Esc> или <F3> для продолжения" mmm: kbd$ = INKEY$ SELECT CASE kbd$ CASE CHR$(0) + CHR$(61): GOSUB pop CASE CHR$(27): CLS : GOTO rmp END SELECT GOTO mmm pop: CLS LOCATE 10, 10: COLOR 7, 0 PRINT "Введите название новой темы" LOCATE 12, 10 PRINT "Введите имя файла" COLOR 0, 7 LOCATE 10, 40: PRINT STRING$(31, " ") LOCATE 12, 40: PRINT STRING$(31, " ") LOCATE 10, 40: INPUT "", a1$ LOCATE 12, 40: INPUT "", a2$ ERASE mas$ CLS OPEN baz$ FOR APPEND AS #1 PRINT #1, a1$ PRINT #1, a2$ CLOSE #1 GOTO rmp Приложение №2 Файл - vector1.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) NEXT j NEXT i ERASE zap RETURN preobr: x = curx * 16 + 203 y = 160 - cury * 14 RETURN final: kx = x: ky = y: GOSUB oldstrelka IF fl = 1 THEN x2 = x: y2 = y: GOSUB strvect: IF ccc = 10 THEN p = 2: GOSUB slov ELSE p = 5: GOSUB slov IF fl = 0 THEN curoldx = curx: curoldy = cury: x1 = x: y1 = y: CIRCLE (x, y), radius, ccc: IF zakr = 1 THEN PAINT (x, y), ccc IF ccc = 10 AND fl = 0 THEN p = 3: GOSUB slov IF ccc = 13 AND fl = 0 THEN p = 4: GOSUB slov IF ccc = 14 AND fl = 0 THEN p = 6: GOSUB slov fl = fl + 1 GOSUB zapomin: GOSUB strelka: RETURN coord: COLOR 15: CLS 'LINE (0, 0)-(639, 349), 15, B LINE (10, 10)-(395, 311), 15, B LINE (10, 10)-(394, 310), 7, B LINE (400, 10)-(629, 311), 15, B LINE (400, 10)-(628, 310), 7, B FOR g = 27 TO 380 STEP 16 LINE (g, 15)-(g, 305), 8, B NEXT g FOR g = 20 TO 300 STEP 14 LINE (19, g)-(387, g), 8, B NEXT g FOR g = -10 TO 10 STEP 2 LOCATE 13, g * 2 + 25 IF g <> 0 THEN PRINT g NEXT g FOR g = -10 TO 10 STEP 2 LOCATE 12 - g, 24 PRINT g NEXT g LINE (19, 160)-(387, 160), 7, B LINE (384, 158)-(387, 160), 7 LINE (384, 162)-(387, 160), 7 LINE (203, 15)-(203, 305), 7, B LINE (200, 18)-(203, 15), 7 LINE (206, 18)-(203, 15), 7 LOCATE 2, 28 PRINT "y" LOCATE 11, 49 PRINT "x" shar: FOR c = 1 TO 10 CIRCLE (405 + c * 20, 41), 7, 15 LINE (405 + c * 20, 38)-(410 + c * 20, 31), 15 PAINT (405 + c * 20, 39), colora(c), 15 NEXT c RETURN strvect: dx = SQR((x2 - x1) ^ 2) dy = SQR((y2 - y1) ^ 2) df = SQR((dx * dx) + (dy * dy)) IF df = 0 THEN df = 1 dsx = k * dx / df dsy = k * dy / df dxx = k1 * dy / df dyy = k1 * dx / df IF x1 < x2 THEN x3 = x2 - dsx: x4 = x2 - dsx / 2 ELSE x3 = x2 + dsx: x4 = x2 + dsx / 2 IF y1 < y2 THEN y3 = y2 - dsy: y4 = y2 - dsy / 2 ELSE y3 = y2 + dsy: y4 = y2 + dsy / 2 IF SGN(x1 - x2) = SGN(y1 - y2) THEN x31 = x3 - dxx: y31 = y3 + dyy: x32 = x3 + dxx: y32 = y3 - dyy IF SGN(x1 - x2) * (-1) = SGN(y1 - y2) THEN x31 = x3 + dxx: y31 = y3 + dyy: x32 = x3 - dxx: y32 = y3 - dyy IF SGN(x1 - x2) = 0 OR SGN(y1 - y2) = 0 THEN x31 = x3 - dxx: y31 = y3 - dyy: x32 = x3 + dxx: y32 = y3 + dyy LINE (x31, y31)-(x2, y2), ccc LINE (x32, y32)-(x2, y2), ccc IF zakrstr = 1 THEN LINE (x32, y32)-(x31, y31), ccc: PAINT (x4, y4), ccc LINE (x1, y1)-(x2, y2), ccc RETURN reklama: SCREEN 9, , 1, 1 COLOR 7, 0 OPEN FILEHLP$ FOR INPUT AS #1 S = 0 DO ON ERROR GOTO 0 LINE INPUT #1, stran$ S = S + 1 LOOP UNTIL EOF(1) CLOSE #1 IF FIX(S / 18) >= (S / 18) THEN KS = FIX(S / 18) ELSE KS = FIX(S / 18) + 1 DIM stran$(S) OPEN FILEHLP$ FOR INPUT AS #1 FOR i = 1 TO S ON ERROR GOTO 0 LINE INPUT #1, stran$(i) NEXT i CLOSE #1 NS = 1 GOSUB stran obrabotka: a$ = INKEY$ IF a$ = CHR$(0) + CHR$(73) THEN NS = NS - 1: GOSUB stran IF a$ = CHR$(0) + CHR$(81) THEN NS = NS + 1: GOSUB stran IF a$ = CHR$(27) THEN ERASE stran$: SCREEN 9, , 0, 0: RETURN GOTO obrabotka stran: IF NS < 1 THEN NS = 1: RETURN IF NS > KS THEN NS = KS: RETURN n = 18 * NS LOCATE 1, 1 PRINT "г"; STRING$(64, "="); "T=============¬" PRINT "¦"; STRING$(15, " "); : COLOR 15, 0: PRINT "ИНФОРМАЦИОННО - СПРАВОЧНАЯ СИСТЕМА"; : COLOR 7, 0: PRINT STRING$(15, " "); IF NS < 10 THEN PRINT "¦ Страница "; NS; "¦" ELSE PRINT "¦ Страница"; NS; "¦" PRINT "¦"; STRING$(64, " "); "L=============¦" FOR i = n - 17 TO n IF i > S THEN PRINT "¦"; STRING$(78, " "); "¦" ELSE PRINT "¦ "; stran$(i); STRING$((76 - LEN(stran$(i))), " "); "¦" NEXT i PRINT "L"; STRING$(78, "="); "-" 'COLOR 1, 7: PRINT " Выход - Esc "; 'IF NS = 1 THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Предыдущая страница - PageUp "; 'IF NS = KS THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Следующая страница - PageDown " COLOR 7, 0 RETURN analis: PRINT #3, PRINT #3, "Варианты ответов ученика:"; ccc = 10 COLOR ccc LOCATE 9, 58: PRINT "__" LOCATE 10, 58: PRINT "AB ( ; )" PRINT #3, PRINT #3, "координата x вектора AB "; vectx1: p = 11: GOSUB slov mm = 3: nx = 10: ny = 63 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF abx <> VAL(m$) THEN GOSUB glupo: GOTO vectx1 PRINT #3, PRINT #3, "координата y вектора AB "; vecty1: p = 12: GOSUB slov mm = 3: nx = 10: ny = 69 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF aby <> VAL(m$) THEN GOSUB glupo: GOTO vecty1 ccc = 13 COLOR ccc LOCATE 11, 58: PRINT "__" LOCATE 12, 58: PRINT "CD ( ; )" PRINT #3, PRINT #3, "координата x вектора CD "; vectx2: p = 13: GOSUB slov mm = 3: nx = 12: ny = 63 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF cdx <> VAL(m$) THEN GOSUB glupo: GOTO vectx2 PRINT #3, PRINT #3, "координата y вектора CD "; vecty2: p = 14: GOSUB slov mm = 3: nx = 12: ny = 69 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF cdy <> VAL(m$) THEN GOSUB glupo: GOTO vecty2 ccc = 14 COLOR ccc LOCATE 13, 53: PRINT "__ __ _" LOCATE 14, 53: PRINT "AB+CD=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 <> abx + cdx OR mmy <> aby + cdy 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) = " В каждом задании нужно: " 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) NEXT j NEXT i ERASE zap RETURN preobr: x = curx * 16 + 203 y = 160 - cury * 14 RETURN final: kx = x: ky = y: GOSUB oldstrelka IF fl = 1 THEN x2 = x: y2 = y: GOSUB strvect: IF ccc = 10 THEN p = 2: GOSUB slov ELSE p = 5: GOSUB slov IF fl = 0 THEN curoldx = curx: curoldy = cury: x1 = x: y1 = y: CIRCLE (x, y), radius, ccc: IF zakr = 1 THEN PAINT (x, y), ccc IF ccc = 10 AND fl = 0 THEN p = 3: GOSUB slov IF ccc = 13 AND fl = 0 THEN p = 4: GOSUB slov IF ccc = 14 AND fl = 0 THEN p = 6: GOSUB slov fl = fl + 1 GOSUB zapomin: GOSUB strelka: RETURN coord: COLOR 15: CLS 'LINE (0, 0)-(639, 349), 15, B LINE (10, 10)-(395, 311), 15, B LINE (10, 10)-(394, 310), 7, B LINE (400, 10)-(629, 311), 15, B LINE (400, 10)-(628, 310), 7, B FOR g = 27 TO 380 STEP 16 LINE (g, 15)-(g, 305), 8, B NEXT g FOR g = 20 TO 300 STEP 14 LINE (19, g)-(387, g), 8, B NEXT g FOR g = -10 TO 10 STEP 2 LOCATE 13, g * 2 + 25 IF g <> 0 THEN PRINT g NEXT g FOR g = -10 TO 10 STEP 2 LOCATE 12 - g, 24 PRINT g NEXT g LINE (19, 160)-(387, 160), 7, B LINE (384, 158)-(387, 160), 7 LINE (384, 162)-(387, 160), 7 LINE (203, 15)-(203, 305), 7, B LINE (200, 18)-(203, 15), 7 LINE (206, 18)-(203, 15), 7 LOCATE 2, 28 PRINT "y" LOCATE 11, 49 PRINT "x" shar: FOR c = 1 TO 10 CIRCLE (405 + c * 20, 41), 7, 15 LINE (405 + c * 20, 38)-(410 + c * 20, 31), 15 PAINT (405 + c * 20, 39), colora(c), 15 NEXT c RETURN strvect: dx = SQR((x2 - x1) ^ 2) dy = SQR((y2 - y1) ^ 2) df = SQR((dx * dx) + (dy * dy)) IF df = 0 THEN df = 1 dsx = k * dx / df dsy = k * dy / df dxx = k1 * dy / df dyy = k1 * dx / df IF x1 < x2 THEN x3 = x2 - dsx: x4 = x2 - dsx / 2 ELSE x3 = x2 + dsx: x4 = x2 + dsx / 2 IF y1 < y2 THEN y3 = y2 - dsy: y4 = y2 - dsy / 2 ELSE y3 = y2 + dsy: y4 = y2 + dsy / 2 IF SGN(x1 - x2) = SGN(y1 - y2) THEN x31 = x3 - dxx: y31 = y3 + dyy: x32 = x3 + dxx: y32 = y3 - dyy IF SGN(x1 - x2) * (-1) = SGN(y1 - y2) THEN x31 = x3 + dxx: y31 = y3 + dyy: x32 = x3 - dxx: y32 = y3 - dyy IF SGN(x1 - x2) = 0 OR SGN(y1 - y2) = 0 THEN x31 = x3 - dxx: y31 = y3 - dyy: x32 = x3 + dxx: y32 = y3 + dyy LINE (x31, y31)-(x2, y2), ccc LINE (x32, y32)-(x2, y2), ccc IF zakrstr = 1 THEN LINE (x32, y32)-(x31, y31), ccc: PAINT (x4, y4), ccc LINE (x1, y1)-(x2, y2), ccc RETURN reklama: SCREEN 9, , 1, 1 COLOR 7, 0 OPEN FILEHLP$ FOR INPUT AS #1 S = 0 DO ON ERROR GOTO 0 LINE INPUT #1, stran$ S = S + 1 LOOP UNTIL EOF(1) CLOSE #1 IF FIX(S / 18) >= (S / 18) THEN KS = FIX(S / 18) ELSE KS = FIX(S / 18) + 1 DIM stran$(S) OPEN FILEHLP$ FOR INPUT AS #1 FOR i = 1 TO S ON ERROR GOTO 0 LINE INPUT #1, stran$(i) NEXT i CLOSE #1 NS = 1 GOSUB stran obrabotka: a$ = INKEY$ IF a$ = CHR$(0) + CHR$(73) THEN NS = NS - 1: GOSUB stran IF a$ = CHR$(0) + CHR$(81) THEN NS = NS + 1: GOSUB stran IF a$ = CHR$(27) THEN ERASE stran$: SCREEN 9, , 0, 0: RETURN GOTO obrabotka stran: IF NS < 1 THEN NS = 1: RETURN IF NS > KS THEN NS = KS: RETURN n = 18 * NS LOCATE 1, 1 PRINT "г"; STRING$(64, "="); "T=============¬" PRINT "¦"; STRING$(15, " "); : COLOR 15, 0: PRINT "ИНФОРМАЦИОННО - СПРАВОЧНАЯ СИСТЕМА"; : COLOR 7, 0: PRINT STRING$(15, " "); IF NS < 10 THEN PRINT "¦ Страница "; NS; "¦" ELSE PRINT "¦ Страница"; NS; "¦" PRINT "¦"; STRING$(64, " "); "L=============¦" FOR i = n - 17 TO n IF i > S THEN PRINT "¦"; STRING$(78, " "); "¦" ELSE PRINT "¦ "; stran$(i); STRING$((76 - LEN(stran$(i))), " "); "¦" NEXT i PRINT "L"; STRING$(78, "="); "-" 'COLOR 1, 7: PRINT " Выход - Esc "; 'IF NS = 1 THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Предыдущая страница - PageUp "; 'IF NS = KS THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Следующая страница - PageDown " COLOR 7, 0 RETURN analis: PRINT #3, PRINT #3, "Варианты ответов ученика:"; ccc = 10 COLOR ccc LOCATE 9, 58: PRINT "__" LOCATE 10, 58: PRINT "AB ( ; )" PRINT #3, PRINT #3, "координата x вектора AB "; vectx1: p = 11: GOSUB slov mm = 3: nx = 10: ny = 63 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF abx <> VAL(m$) THEN GOSUB glupo: GOTO vectx1 PRINT #3, PRINT #3, "координата y вектора AB "; vecty1: p = 12: GOSUB slov mm = 3: nx = 10: ny = 69 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF aby <> VAL(m$) THEN GOSUB glupo: GOTO vecty1 ccc = 13 COLOR ccc LOCATE 11, 58: PRINT "__" LOCATE 12, 58: PRINT "CD ( ; )" PRINT #3, PRINT #3, "координата x вектора CD "; vectx2: p = 13: GOSUB slov mm = 3: nx = 12: ny = 63 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF cdx <> VAL(m$) THEN GOSUB glupo: GOTO vectx2 PRINT #3, PRINT #3, "координата y вектора CD "; vecty2: p = 14: GOSUB slov mm = 3: nx = 12: ny = 69 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF cdy <> VAL(m$) THEN GOSUB glupo: GOTO vecty2 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 glupo: glupo = glupo + 1 FOR clor = 15 TO 0 STEP -1 PLAY "n60l20" COLOR clor LOCATE 16, 53: PRINT "ОШИБКА! ПОВТОРИТЕ ВВОД" NEXT clor COLOR ccc RETURN Приложение №4 Файл - vector3.rez 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 ccc = 10 GOSUB telo abx = curx - curoldx: aby = cury - curoldy er: 'Задание числа er RANDOMIZE TIMER er = INT(RND(1) * 19) - 9 IF ABS(er * abx) > 20 OR ABS(er * aby) > 22 THEN GOTO er PRINT #3, "AB("; abx; ","; aby; ")"; TAB(15); "Загадано число "; er 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) NEXT j NEXT i ERASE zap RETURN preobr: x = curx * 16 + 203 y = 160 - cury * 14 RETURN final: kx = x: ky = y: GOSUB oldstrelka IF fl = 1 THEN x2 = x: y2 = y: GOSUB strvect: IF ccc = 10 THEN p = 2: GOSUB slov ELSE p = 5: GOSUB slov IF fl = 0 THEN curoldx = curx: curoldy = cury: x1 = x: y1 = y: CIRCLE (x, y), radius, ccc: IF zakr = 1 THEN PAINT (x, y), ccc IF ccc = 10 AND fl = 0 THEN p = 3: GOSUB slov 'IF ccc = 13 AND fl = 0 THEN p = 4: GOSUB slov 'IF ccc = 14 AND fl = 0 THEN p = 6: GOSUB slov fl = fl + 1 GOSUB zapomin: GOSUB strelka: RETURN coord: COLOR 15: CLS 'LINE (0, 0)-(639, 349), 15, B LINE (10, 10)-(395, 311), 15, B LINE (10, 10)-(394, 310), 7, B LINE (400, 10)-(629, 311), 15, B LINE (400, 10)-(628, 310), 7, B FOR g = 27 TO 380 STEP 16 LINE (g, 15)-(g, 305), 8, B NEXT g FOR g = 20 TO 300 STEP 14 LINE (19, g)-(387, g), 8, B NEXT g FOR g = -10 TO 10 STEP 2 LOCATE 13, g * 2 + 25 IF g <> 0 THEN PRINT g NEXT g FOR g = -10 TO 10 STEP 2 LOCATE 12 - g, 24 PRINT g NEXT g LINE (19, 160)-(387, 160), 7, B LINE (384, 158)-(387, 160), 7 LINE (384, 162)-(387, 160), 7 LINE (203, 15)-(203, 305), 7, B LINE (200, 18)-(203, 15), 7 LINE (206, 18)-(203, 15), 7 LOCATE 2, 28 PRINT "y" LOCATE 11, 49 PRINT "x" shar: FOR c = 1 TO 10 CIRCLE (405 + c * 20, 41), 7, 15 LINE (405 + c * 20, 38)-(410 + c * 20, 31), 15 PAINT (405 + c * 20, 39), colora(c), 15 NEXT c RETURN strvect: dx = SQR((x2 - x1) ^ 2) dy = SQR((y2 - y1) ^ 2) df = SQR((dx * dx) + (dy * dy)) IF df = 0 THEN df = 1 dsx = k * dx / df dsy = k * dy / df dxx = k1 * dy / df dyy = k1 * dx / df IF x1 < x2 THEN x3 = x2 - dsx: x4 = x2 - dsx / 2 ELSE x3 = x2 + dsx: x4 = x2 + dsx / 2 IF y1 < y2 THEN y3 = y2 - dsy: y4 = y2 - dsy / 2 ELSE y3 = y2 + dsy: y4 = y2 + dsy / 2 IF SGN(x1 - x2) = SGN(y1 - y2) THEN x31 = x3 - dxx: y31 = y3 + dyy: x32 = x3 + dxx: y32 = y3 - dyy IF SGN(x1 - x2) * (-1) = SGN(y1 - y2) THEN x31 = x3 + dxx: y31 = y3 + dyy: x32 = x3 - dxx: y32 = y3 - dyy IF SGN(x1 - x2) = 0 OR SGN(y1 - y2) = 0 THEN x31 = x3 - dxx: y31 = y3 - dyy: x32 = x3 + dxx: y32 = y3 + dyy LINE (x31, y31)-(x2, y2), ccc LINE (x32, y32)-(x2, y2), ccc IF zakrstr = 1 THEN LINE (x32, y32)-(x31, y31), ccc: PAINT (x4, y4), ccc LINE (x1, y1)-(x2, y2), ccc RETURN reklama: SCREEN 9, , 1, 1 COLOR 7, 0 OPEN FILEHLP$ FOR INPUT AS #1 S = 0 DO ON ERROR GOTO 0 LINE INPUT #1, stran$ S = S + 1 LOOP UNTIL EOF(1) CLOSE #1 IF FIX(S / 18) >= (S / 18) THEN KS = FIX(S / 18) ELSE KS = FIX(S / 18) + 1 DIM stran$(S) OPEN FILEHLP$ FOR INPUT AS #1 FOR i = 1 TO S ON ERROR GOTO 0 LINE INPUT #1, stran$(i) NEXT i CLOSE #1 NS = 1 GOSUB stran obrabotka: a$ = INKEY$ IF a$ = CHR$(0) + CHR$(73) THEN NS = NS - 1: GOSUB stran IF a$ = CHR$(0) + CHR$(81) THEN NS = NS + 1: GOSUB stran IF a$ = CHR$(27) THEN ERASE stran$: SCREEN 9, , 0, 0: RETURN GOTO obrabotka stran: IF NS < 1 THEN NS = 1: RETURN IF NS > KS THEN NS = KS: RETURN n = 18 * NS LOCATE 1, 1 PRINT "г"; STRING$(64, "="); "T=============¬" PRINT "¦"; STRING$(15, " "); : COLOR 15, 0: PRINT "ИНФОРМАЦИОННО - СПРАВОЧНАЯ СИСТЕМА"; : COLOR 7, 0: PRINT STRING$(15, " "); IF NS < 10 THEN PRINT "¦ Страница "; NS; "¦" ELSE PRINT "¦ Страница"; NS; "¦" PRINT "¦"; STRING$(64, " "); "L=============¦" FOR i = n - 17 TO n IF i > S THEN PRINT "¦"; STRING$(78, " "); "¦" ELSE PRINT "¦ "; stran$(i); STRING$((76 - LEN(stran$(i))), " "); "¦" NEXT i PRINT "L"; STRING$(78, "="); "-" 'COLOR 1, 7: PRINT " Выход - Esc "; 'IF NS = 1 THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Предыдущая страница - PageUp "; 'IF NS = KS THEN COLOR 8, 7 ELSE COLOR 1, 7 PRINT " Следующая страница - PageDown " COLOR 7, 0 RETURN analis: PRINT #3, "Варианты ответов ученика:"; ccc = 10 COLOR ccc LOCATE 9, 58: PRINT "__" LOCATE 10, 58: PRINT "AB ( ; )" PRINT #3, PRINT #3, "координата x вектора AB "; vectx1: p = 11: GOSUB slov mm = 3: nx = 10: ny = 63 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF abx <> VAL(m$) THEN GOSUB glupo: GOTO vectx1 PRINT #3, PRINT #3, "координата y вектора AB "; vecty1: p = 12: GOSUB slov mm = 3: nx = 10: ny = 69 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF aby <> VAL(m$) THEN GOSUB glupo: GOTO vecty1 ccc = 14 COLOR ccc LOCATE 13, 53: PRINT TAB(56); " __ _" LOCATE 14, 53: PRINT er; TAB(56); "*AB= m( ; )" PRINT #3, PRINT #3, "координата x вектора m "; vectx3: p = 15: GOSUB slov mm = 3: nx = 14: ny = 64 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF er * abx <> VAL(m$) THEN GOSUB glupo: GOTO vectx3 PRINT #3, PRINT #3, "координата y вектора m "; vecty3: p = 16: GOSUB slov mm = 3: nx = 14: ny = 70 l$ = "+-1234567890" m$ = "": m = 0 GOSUB napis PRINT #3, VAL(m$); IF er * 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 <> abx * er OR mmy <> aby * er 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 = 3 THEN slovo$(5) = " конец вектора AB " IF p = 5 THEN slovo$(5) = " начало вектора m=" + STR$(er) + "*AB " IF p = 6 THEN slovo$(5) = " конец вектора m=" + STR$(er) + "*AB " 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 = 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) = " вектор AB, указав его " zapusk$(10) = " начало и конец " zapusk$(11) = "2 - ввести его координаты " zapusk$(12) = "3 - умножить построенный " zapusk$(13) = " вектор на число a " zapusk$(14) = " заданное компьютером " zapusk$(15) = "4 - построить вектор " zapusk$(16) = " произведения AB * a " 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 Заключение В конце исследовательской работы подведем некоторые итоги и ответим на вопросы, поставленные в начале диплома. В данной работе, в полное мере, удалось показать все положительные и отрицательные стороны при обучении математике с помощью компьютера. Во введении есть обоснование всем проблемам компьютеризации в сфере образования. Дана оценка программированному обучению. Освещены проблемы создания и использования обучающих программ. Показана целесообразность и возможности компьютерного обучения, рассмотрены проблемы взаимодействия человека и компьютера в сфере образования. Рассмотрены предпосылки для подачи учебного материала с применением ЭВМ. В основе дипломной работы применены исследования многих ученых, мнения и суждения отечественных и зарубежных источников информации. В тоже время есть ряд очень сложных проблем компьютеризации учебного процесса в целом. Основной проблемой является нищета учебных заведений. Практически все сельские школы слабо оснащены компьютерной техникой, учащиеся заканчивая 11-й класс не имеют представления о компьютере. В городских школах дела обстоят немного лучше, хотя не во всех. Второй не менее важной проблемой является то, что если даже школе удалось приобрести компьютеры, то возникают проблемы с программным обеспечением. В этом случае компьютер используется не как средство обучения, а в качестве печатной машинки. В приложении приведен листинг программ написанных на языке программирования высокого уровня Qbasic. Список литературы: 1. Машбиц Е.И. Компьютеризация обучения: проблемы и перспективы. "Знание" 1986/1 2. Изучение основ информатики и вычислительной техники в средней школе. опыт и перспективы. М. Просвещение 1987 3. Компьютеризация учебного процесса: Межвуз.сб.науч.тр./Под ред.проф. В.Н.Врагова; Новосиб.ун-т. Новосибирск, 1992. 4. ЭВМ в учебном процессе: Межвуз.сб.науч.тр./Под ред.проф. В.Н.Врагова; Новосиб.ун-т. Новосибирск, 1990. 5. Компьютеризация образования: Межвуз.сб.науч.тр./Под ред.проф. В.Н.Врагова; Новосиб.ун-т. Новосибирск, 1991. 6. Информационные технологии в народном образовании. Методические разработки 1991. 7. Методические рекомендации по технологии написания обучающих программ для ЭВМ. /Сост. Цукарь А.Я. - Новосибирск: Изд. НГПИ, 1990. 8. Фролова Г.В. Педагогические возможности ЭВМ. Новосибирск, Наука, сибирское отделение, 1998. 9. Гершунский В.С. Компьютеризация в сфере образования: проблемы и перспективы. Москва, Педагогика, 1987. 10. Новые информационные технологии в учебном процессе и управлении. Тезисы докладов Омской научно-практической конференции 1990г. Омск, из-во пединститута, 1990г. 11. Липков А.И. На пороге видеокомпьютерной эры. М.:Знание, 1998. 12. Знакомьтесь: компьютер. -М.:Мир, 1989. 13. Заварыкин В.М., Житомирский В.Г., Лапчик М.П. Основы информатики и вычислительной техники. -М.:Просвещение, 1989. 14. Машбиц Е.И., Бондаровская В.М. Зарубежные концепции программированного обучения. Киев, 1964. 15. Гради Буч. Объектно-ориентированное проектирование с примерами применения. -Киев:Диалектика, 1992. 16. Жафяров А.Ж. Аналитическая геометрия. Новосибирск: изд-во НГПИ, 1993г. 17. Жафяров А.Ж. Векторы на плоскости и в пространстве. Новосибирск: изд-во НГПИ, 1991г. 18. Жафяров А.Ж. Векторный и координатный методы в пространстве. Новосибирск: изд-во НГПИ, 1992г. 19. Компьютер обретает разум. -М.:Мир, 1990. 20. Воронов Ю.П. Компьютеризация: шаг в будущее. Новосибирск, Наука, 1990г. 21. Информатика и образование. 1990-1997гг. 22. Компьютерные игры. М.:Знание, 1988. 23. Информатика и научно-технический прогресс. М.:Наука,1987. 24. Савельев А.Я., Сазонов Б.А., Лукьянов С.Э. Персональный компьютер для всех. Выпуски 1-4. -М. Высшая школа, 1991. 25. Мичи Д., Джонсон Р. Компьютер-творец. -М.:Мир, 1987. 26. Будущее искусственного интеллекта. -М.:Наука, 1991. 27. Кудрявцев Л.Д. Мысли о современной математике и ее изучении. -М.:Наука, 1977. 28. Трохименко Я.К. Игры с микро-ЭВМ. -Киев: Техника, 1986. 29. Нейлор К. Как построить свою экспертную систему. -М.:Энергоатомиздат,1991. 30. Нестеренко А.В. ЭВМ и профессия программиста. Москва: Просвещение, 1990. 31. Парамзин А.В., Ярохмедова С.Д. Вычислительная практика: методические рекомендации для студентов математического и физического факультетов. Новосибирск, НГПИ, 1990.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.