Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Генерация дидактических материалов по математике

Название: Генерация дидактических материалов по математике
Раздел: Рефераты по информатике, программированию
Тип: реферат Добавлен 23:31:31 11 сентября 2009 Похожие работы
Просмотров: 25 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

IV Гомельская научно-практическая конференция школьников по математике, ее приложениям и информационным технологиям "Поиск"

Учебно-исследовательская работа

«Генерация дидактических материалов по математике»

Ученицы

11/А класса

ГУО СОШ№22 г. Гомеля

Прохоренко Елены Александровны

Научный руководитель –

Горский Сергей Михайлович, учитель математики Государственного учреждения образования СОШ №22 г.Гомеля

Гомель, 2009


Содержание

Введение

1 Описание работы программы

1.1 Запуск программ

1.2 Описание файла шаблона

2 Использование постобработчиков

Заключение

Список использованных источников

Приложение 1

Введение

На данный момент некоторые преподаватели уже пытались привлечь компьютер к составлению самостоятельных работ, контрольных работ, домашних заданий. Наиболее формализуемые и параметризуемые задачи относятся к таким предметам как математика, физика, химия. В литературе приведены примеры генерации заданий по математике для квадратных уравнений, по геометрии на объемы и поверхности тел вращения, по химии на концентрации растворов, по физике на решение треугольников (векторы сил в механике). Однако в описанных примерах каждая работа создается отдельной программой, вид параметризованных формул "вшит" в программный код и недостаток данного подхода отмечается даже самими авторами [2].

В данной работе излагается метод генерации произвольных задач с решениями, позволяющий избежать колоссальных трудозатрат по верстке и составлению задач, а также демонстрируется программа генерации заданий по математике, удовлетворяющих условиям различности и равноценности. Отличие предлагаемого метода от методов, реализованных, в уже существующих программах заключается в том, что пользователю предоставляется механизм создания параметризованных задач и аппарат для их клонирования (создание нескольких вариантов). То есть клонируемые задачи не обязаны подходить под определенный тип, а число вариантов задается во внешнем файле-сценарии или определяется через условия, накладываемые на параметры.

Следует заметить, что в большинстве существующих программ предлагается генерировать только задания для последующего их распечатывания. Наличие отдельного напечатанного варианта при проведении контрольной или самостоятельной работы имеет ряд преимуществ перед отсутствием такового: например, решается проблема списывания — каждый учащийся вынужден обрабатывать свои данные. Есть и свои недостатки — учителю затем нужно проверить не 2 варианта, а 25–30.

Разработанная мною программа устраняет этот недостаток, поскольку она позволяет включать в текст задачи и решение, и ответ, которые выносятся в отдельный файл.

Так же программа поддерживает написание тестов, с перемешиванием вариантов ответов в каждом варианте теста и позволяет производить выбор между различными однотипными, но различными по шаблону заданиями.

Поскольку программа работает с текстовыми файлами, то она позволяет

- составлять шаблоны файлов в различных форматах, близких к plaintext (LaTeX, MathML+HTML),

- проводить обработку иными средствами, такими как MatLab, Mathematica и др.

- при создании специализированного языка разметки, задачи, генерируемые данной программой, могут быть использованы в интерактивном режиме, реализуя не только функции проверки определенной темы, но для реализации режима «подсказки», для дифференциации заданий для учащихся (если учащийся не решил данную задачу, предложить более легкую).

Данная программа широко используется для подготовки контрольных и самостоятельных работ в 5–7 классах ГУО СОШ№ 22 г. Гомеля.


1 Описание работы программы

Программа, являющаяся скриптом, написана на языке программирования Python 2.4. Данный язык является свободно распространяемым интерпретатором, а свободно распространяемая программа py2exe позволяет создать из скрипта программу для систем семейства Windows. Текст скрипта приведен в приложении 1.

1.1 Запуск программы

Для запуска программы необходимо в командной строке набрать команду ex2. количество вариантов имя файла шаблона имя файла. После выполнения программы появится файл имя файла.txt содержащий текст сгенерированных вариантов и файл имя файла answ.txt содержащий ответы к файлам.

1.2 Описание файла шаблона

Файл шаблона является обычным plain-text файлом, содержащим строки с маркерами в начале строки.

Маркер code означает, что после него идет инициализация переменных используемых в тексте шаблона.

Маркер отв. означает, что строка, содержащая маркер переходит в файл с ответами.

Маркер choice означает, что из заданий и ответов, разделенных символом ` следует выбрать случайным образом только один.

Маркер test означает, что варианты ответов для теста, разделенные символом ` следует перемешать, правильный вариант должен быть помечен символом !. В файл с заданием переноситься все варианты ответов, а в файл с ответами номера правильных.

При инициализации переменных можно использовать все арифметические операции (/ — деление, * — умножение), все математические функции в американской нотации, следующие специальные функции:

· abs(x) — модуль числа,

· pow(x,y[,m]) — возведение x в степень y по модулю m,

· math.sqrt(x) — квадратный корень из x,

· round(n[,z]) — округление чисел до заданного знака после (до) точки,

· random.random() — случайное число из диапазона [0;1),

· random.randrange([start,]stop[,step]) — выдает случайное число из диапазона [start,stop) с интервалом step (по умолчанию step=1, start=0),

· условный оператор if условие : оператор

· del переменная удаляем переменную

· s.replace(‘что-то’, ‘чем-то’) замена в строке s “что-то” “чем-то”.

Пример файла шаблона

code a=random.randrange(100)+10

code b=random.randrange(100)+10

code c=random.randrange(100)+10

2. Найдите неизвестный член пропорции x:{a}={b}:{c}.

При необходимости ответ округлите.

отв 2.

test {c*b/a}`{c*c/b}`!{a*b/c}`{a/b/c}

Данный шаблон генерирует следующее задание:

2. Найдите неизвестный член пропорции x:17=97:63.

При необходимости ответ округлите.

1) 26 2) 40 3) 0 4) 359


2. Использование постобработчиков

В случае, когда составляемое задание содержит более сложные с точки зрения математики проблемы, программа для его генерации будет довольно громоздкой. Значительно облегчить процесс генерации заданий позволит система компьютерной алгебры Mathematica фирмы Wolfram Research, Inc. Этот программный продукт является признанным мировым лидером среди множества компьютерных инструментов, используемых в научных исследований и в педагогическом процессе. С помощью этой системы легко осуществлять широкий спектр символьных преобразований, в том числе и в сфере математического анализа (дифференцирование, интегрирование). Она позволяет решать уравнения, находить пределы, строить разнообразные графики и многое другое.

Mathematica позволяет пользователю писать программы на ее встроенном языке, поддерживая при этом различные стили программирования — как функциональный, так и процедурный. В данной заметке не затрагиваются вопросы программирования собственно в среде Mathematica. Нас будет интересовать возможность взаимодействия этой программы с файлами, содержащими команды разметки TeX. В такие файлы (а также, в файлы, содержащие программы на языках C или Fortran) можно вставлять выражения системы Mathematica, ограничивая их, слева и справа комбинаций знаков <* и *>. Получившийся файл обрабатывается системой Mathematica, которая заменяет заключенное между этими символами выражение на результат его вычисления.

Файл, содержащий команды разметки языка TeX и функции системы Mathematica, должен иметь расширение mtex. При обработке такого файла командой Splice[], сформировавшийся результат будет автоматически сохранен в файл с расширением tex.

Например, пусть файл task2.mtex содержит следующий фрагмент текста:

Рассмотрим неравенство$\dfrac{<*u=(3x-5)(x+4); v=(x+4)(x-5); PolynomialRemainder[u,-v,x]*>}{<*Expand[-v]*>}\leqslant <*-PolynomialQuotient[u,-v,x]*>.$ \hfill $(*)$\bigskipиэквивалентноеему$\dfrac {(3x-5)(x+4)}{(x+4)(x-5)}\geqslant 0.$ \hfill $(**)$

Тогда после выполнения команды Splice["task2.mtex"] автоматически

созданный файл task2.tex уже будет содержать результат выполнения функций системы Mathematica:

Рассмотрим неравенство

$\dfrac{40 + 10\,x}{20 + x - {x^2}}\leqslant 3.$ \hfill $(*)$\bigskipи эквивалентное ему$\dfrac {(3x-5)(x+4)}{(x+4)(x-5)}\geqslant 0.$ \hfill $(**)$

В данном примере использовались следующие функции системы Mathematica:

Expand[v] — раскрывает скобки в выражении v;

PolynomialRemainder[u,v,x] — вычисляет остаток от деления многочлена u(x) на многочлен v(x);

PolynomialQuotient[u,v,x] — находит частное от деления этих многочленов.

Результат обработки данного файла программой TeX показан на врезке.


Заключение

Существует потребность в создании интерактивных систем, где задача диалога с учеником и проверка решения ложится на компьютер. Диалоговое взаимодействие обеспечивает следующие аспекты обучения: непрерывный контроль деятельности обучаемого, диагностирование, управление системой со стороны самого обучаемого.

Поэтому я в дальнейшем планирую написать программу, реализующую указанные возможности.

Список использованных источников

1. Г. Россум, Язык программирования Python . / Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач, М. Задка, М. Левис, С. Монтаро, Э.С. Реймонд, А.М. Кучлинг, М.-А. Лембург, К.-П.Йи, Д. Ксиллаг, Х.Г. Петрилли, Б.А. Варсав, Дж.К. Ахлстром, Дж. Роскинд, Н. Шеменор, С. Мулендер.— 2001 — 454 c.

2. Шестаков А.П., Генерация дидактических материалов по математике, // http://comp-science.narod.ru

Приложение 1

# -*- coding: cp1251 -*-

#

# запуск:

# имя_программы количество_вариантов файл_шаблона

# файл_заданий

#

import re

import random

import math

import sys

import string

n=int(sys.argv[1]) # считываем количество вариантов

templet=sys.argv[2] # считываем имя файла шаблона

output=sys.argv[3] # считываем имя файла вывода заданий

problems=open(output+'.txt','w') # открываем файл заданий для

# записи

answers=open(output+'_answ.txt','w')

pattern=r"\{(.+?)\}" # создаемрегулярноевыражение

expression=re.compile(pattern)

for i in range(1,n+1): # цикл по количеству вариантов

task=open(templet,'r') # открываемшаблон

problems.write('Вариант '+str(i)+'\n')

answers.write('Вариант '+str(i)+'\n')

for line in task:

if line.find('code ')>-1: # инициализацияпеременныхв

шаблоне

line=line.replace('code ','')

exec line

else:

k=expression.findall(line) # заменавыраженияего

значением

for element in k:

line=line.replace(element,str(eval(element)))

line=line.replace('{','') # косметическое удаление

# фигурныхскобок

line=line.replace('}','')

if line.find('отв ')>-1:

line=line.replace('отв ','')

answers.write(line)

elif line.find('test ')>-1: # обработкавариантов

тестовогозадания

line=line.replace('test ','')

line=line.replace('\n','')

test=line.split("`")

random.shuffle(test)

for i in range(0,len(test)):

if test[i].find('!')>-1:

test[i]=test[i].replace('!','')

problems.write(str(i+1)+') '+test[i]+' ')

answers.write(str(i+1)+'\n')

else:

problems.write(str(i+1)+') '+test[i]+' ')

problems.write('\n')

elif line.find('choice ')>-1: # обработкавариантов

# выбора

line=line.replace('choice ','')

line=line.replace('\n','')

variant=line.split("`")

num=2*random.randrange(round(len(variant)/2))

problems.write(variant[num]+'\n')

answers.write(variant[num+1]+'\n')

else:

problems.write(line)

problems.write('\n\n')

answers.write('\n\n')

task.close

problems.close

answers.close

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений06:46:43 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
19:52:33 28 ноября 2015

Работы, похожие на Реферат: Генерация дидактических материалов по математике

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(151148)
Комментарии (1843)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru