Что может и чего не может компьютер, как средство, которое помогает при изучении математики? Какие пределы его использования? Эффективен ли он вообще? На эти и другие вопросы отвечает данная статья. В основу положена практическая разработка, которая именно и есть средством позволяющим ответить на поставленные вопросы.
Пакет „Каштан” предназначен для контроля знаний учащихся и выработки навыков решения задач и упражнений. В основу создания тренировочно – контролирующих программ положена идея генерации заданий, реализация алгоритма, который конструирует задания, реализуя весь спектр возможных упражнений и задач. Общая идея реализации состоит в следующем. Выбирается определенный раздел математических знаний, в котором с методической точки зрения выделяются отдельные типы упражнений разделяемых на уровни сложности. Эти группы в каждой из программ будем называть уровнями. Програмная часть реализуется в виде внутренних процедур или внешних модулей. Рассмотрим пример реализации программы, которая предполагает выполнение вычислений с учетом порядка действий. Она состоит из шести уровней по степеням сложности. Рассмотрим фрагмент уровня 4 содержащий задания:
1) (a+b)-c 2) a+(b-c) 3) a-(b+c) 4) (a+b)+c 5) a-(b-c) 6) (a-b)+c 7) (a+b)+c+d 8) a+(b+c)+d 9) a+b+(c+d)
10) (a+b)+c-d 11) (a+b)-c+d
12) a+(b+c)-d 13) a-(b+c)+d 14) a-(b+c)-d 15) a+b-(c+d) 16) a-b-(c+d)
17) a-b+(c+d) 18) (a+b)-c-d
Одним из условий есть вычисления в пределах 1000. Програмная реализация предполагает, что для этого задания соответствующим есть фрагмент программы (вариант 4):
fr:=random(997)+2;f2:=random(fr-1)+1;f1:=fr-f2;f3:=random(fr-2)+1;
str(f1,sv1);str(f2,sv2);str(f3,sv3);
s:='('+sv1+'+'+sv2+')-'+sv3;
fr:=f1+f2-f3;
r1:=f1+f2;r2:=r1-f3;
Здесь часть переменных числовые: fr, f1, f2, f3, r1, r2:integer;, а часть литерные s, sv1, sv2, sv3: string;. Последние нужны для вивода завдания на экран в графическом режиме работы. Назначение переменных fr, f1, f2, f3 очевидно – они являются числами, которые фигурируют в примерах, а r1 и r2 промежуточые результаты вычисления, предназначенные для дополнительного контроля. Соответствующее задание и этапи решения изображены на рисунках
Очевидно, что мы можем получить любое числовое наполнение примеров типу 4) (Програмная реализация остальных из 17 вариантов аналогична). Тоесть, можно говорить про базу заданий, как про полную. Кроме того, заранее невизвестно, какое задание получит ученик. Поэтому, работая с программой он всегда работает в условиях индивидуального режима выбора заданий. Вибор варианта типа задания также есть делом случайным. Для каждого из вариантов предусмотрены подобные програмные компоненти. Таким образом, мы получаем чрезвычайно широкую базу для тренировки учеников, контролируя их знания и вырабатывая навыки.
Другие уровни программы имеют такой набор вариативных заданий:
Уровень 1
1) a+b 2) a-b 3) ab 4) a:b
Уровень 2
1) a+b+c 2) a+b-c 3) a-b+c 4) a-b-c
5) abc 6) ab:c 7) a:bc 8) a:b:c
Уровень 3
1) ab+c 2) a+bc 3) ab-c 4) a-bc
5) a:b+c 6) a:b-c 7) a+b:c 8) a-b:c
Уровень 5
1) a-(b+c):d 2) a+(b-c)d 3) a:(b+c)d 4) a+bc-d
5) a+b-cd 6) a:b+c:d 7) ab-c:d 8) ab+c:d
9) (a+b):cd 10) ab-c-d 11) a:bc-d 12) ab:c+d
13) a+b:c-d 14) a:bc:d 15) a+(b+c):d 16)(a-b):c+d
17) a-(b+c):d 18) a+b:(c:d) 19) (a-b)c:d 20) a(b+c)
21) a(b-c) 22) a:(b+c) 23) a:(b-c) 24) (a+b)c
25) (a-b)c 26) (a+b):c 27) (a-b):c
Уровень 6
1) (a-b)(c:d-x) 2) ab+(c-d)+x 3) (a+b)-(c:d+x)
4) a(b-c):(d-k) 5) a-(b+c):(d+k) 6) (a+b)(c+d):(k-x)
7) (ab+e)-(c:d+f) 8) ab+(c:d-k) 9) a:b+c-dk
10) a:bc:d+k 11) ab+c+d:x 12) a:b+c+dx
13) ab+c-d:x 14) a+(b-c)(d+x) 15) (a+b)-(c+d)k
16) (a+b)+(c+d)-k 17) (a-b)+(c-d)+k 18) (a-b)+(c-d):k
19) a+(b-c)-k:x 20) a-bc+(k-x) 21) (ab-c):(d-e)
22) (a:b+c)(d-e) 23) a(b:c)+d:f 24) ab+(c+d:e)
25) a:b+c:d+e:f 26) a:b+c:d-e:f
Програмная реализация для задания (a-b)(c:d-x) выглядит так:
f4:=random(7)+2;f3:=random(7)+2;f5:=random(f3-2)+1;f3:=f3*f4*10;
fr:=random(7)+2;f1:=random(97-fr-1)+fr+1;f2:=f1-fr;f5:=f5*10;
str(f1,sv1);str(f2,sv2);str(f3,sv3);str(f4,sv4);str(f5,sv5);
s:='('+sv1+'-'+sv2+')x('+sv3+':'+sv4+'-'+sv5+')';
fr:=(f1-f2)*(trunc(f3/f4)-f5);
r1:=f1-f2;r2:=trunc(f3/f4);r3:=r2-f5;r4:=r1*r3;
Другой аспект программ состоит в том, что реализована не только генерация, а и контроль введенного учеником ответа и реакция на действия ученика. Переменные fr, r1 и r2 предназначены для сравнения ответа ученикас правильным ответом в режиме как окончательного значения так и пошагового. Выполняя вычисления ученик сразу видит правильно ли они выполнены. Кроме того текущий протокол работы ученика сохраняется в виде файла и может быть просмотрен учителем для оценки действий ученика.
Одной из проблемм возникавших при создании программ пакета была необходимость реализации большого количества различных вариантов заданий. В рассмотренной программе их около ста. И конечно соответствующие фрагменты реализованы для каждого из них. В некоторых программах их меньше, в некоторых больше. Это говорит о сложном пути создания программ такого типа, но результаты работы говорят о реальности создания подобных програмных комплексов.