ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Генерація дидактичних матеріалів з математики
         

     

    Інформатика, програмування

    Генерація дидактичних матеріалів з математики

    У ті часи, коли я викладав математику в школі (1990-1997), зіткнувся з проблемою відсутність достатньої кількості дидактичних матеріалів на друкованій основі для проведення занять. Зокрема, при проведенні контрольних робіт було лише два варіанти завдань, і, природно, учні списували, що, з моєї точки зору, неприпустимо. Тоді я став придумувати варіанти завдань і роздруковувати їх за допомогою старенької друкарської машинки. Одразу зауважу, що заняття це рутинне, абсолютно не творча і нудне - придумати 20-25 однотипних варіантів з різним вмістом. Тим не менш, один рік я таке практикував.

    Коли в інституті мене почали вчити програмуванню, одразу виникла ідея пристосувати для створення дидактичних матеріалів комп'ютер. Він для цих цілей ідеально підходив, оскільки дозволяв автоматизувати не тільки роздруківку тексту, але й сам процес його розробки. Дійсно, досить запрограмувати зразок для одного завдання, і відповідно до нього буде отримано будь-яку кількість завдань. Але і тут були свої проблеми, пов'язані з тим, що згенерований текст DOS доводилося потім "доводити до розуму" (ставити верхні і нижні індекси, малювати дробу і т.д.) за допомогою текстового редактора типу ChiWriter або Lexicon, причому кінцевий продукт виглядав в результаті досить безглуздо і кострубато.

    Технологія остаточно сформувалася в 1994 р., коли я познайомився з системою форматування текстів LaTeX, що дозволяє форматувати тексти, які містять математичні формули будь-якої складності. Зазвичай в основу самостійної або контрольної роботи закладаються вже існуючі дидактичні матеріали до того чи іншого шкільного підручника математики, і за цим образом і подобою готується робота, де дані в кожному з варіантів різні. Таким чином складається ілюзія наявності такої ж кількості варіантів, скільки учнів у класі.

    Наявність окремого надрукованого варіанту при проведенні контрольної або самостійної роботи має ряд переваг перед відсутністю такого: по-перше, вирішується проблема списування - кожен учень змушений обробляти свої дані (правда, при цьому можна як зразок використовувати роботу сусіда, але це було і при традиційному проведенні контрольної роботи); по-друге, немає необхідності перед початком уроку втискати текст контрольної роботи на дошку (дуже не люблю писати на дошці!); по-третє, ні для кого не є секретом, що зір більшості учнів в даний час ослаблений, і їм доводиться підходити до дошки або перепитувати вчителя для уточнення тексту завдання, при вказаному підході проблема знімається. Можна знайти й інші гідності, мною не зазначені, я думаю ... Є і свої недоліки - вчителю потім потрібно перевірити не 2 варіанти, а 25-30. Не всякий за нинішньої завантаженості на це зважиться. Але при бажанні число істотно різних варіантів можна скоротити до 5-10.

    Продемонструй на парі-трійці прикладів технологію підготовки тексту у форматі LaTeX.

    Приклад 1. Алгебраїчних виразів.

    Одне з найбільш часто зустрічаються в 5-7 класах завдань - обчислення значення вирази. Генеруючи такі вирази, потрібно враховувати такі обставини, як:

    1) відповідність вивчається і віку учнів (наприклад, у 5 класі значення виразу не має дорівнювати негативного числа);

    2) після виконання чергового дії отримане значення повинне вийти простіше і прийнятним для виконання наступного дії, де це значення використовується (тобто деякі величини в виразі будуть випадковими, інші - обчислюється);

    3) при записі десяткового дробу в шкільній математиці використовується десяткова кома, а при запису на комп'ютері - десяткова точка;

    4) якщо в запису вирази використовуються десяткові дробу, то вони повинні бути несократімимі і правильними.

    Враховуючи наведені вище міркування, покажемо на прикладі наступного числового виразу отримання його аналогів:

    Проаналізуємо даний вираз. Його значення дорівнює 2,32 і виходить як різниця двох творів. Таким чином, значення вираження - довільне раціональне число, модуль якого не більше 10. Значення першого і другого творів -- десяткові дроби, це відповідно 2,62 і 0,3. При генерації творів будемо орієнтуватися також на десяткові значення. У першому творі перший співмножники - сума звичайних дробів з різними знаменниками, НОД яких відрізняється від 1, а другий співмножники - число, яке можна скоротити з спільним знаменником перший співмножники. Другий твір - твір звичайною і десяткового дробу, які потрібно підібрати так, щоб результат був точною десятковим дробом.

    Розпочнемо створення виразу. Нехай A = НОД (B, C), де B, C - знаменники дробів суми. Тоді B = A * B1, C = A * C1, де B1, C1 - випадкові числа. D, F - чисельнику розглянутих дробів, причому D 1) And (Zn> Abs (Ch ));

    Repeat (другий корінь)

    Repeat Ch1: = -4 + Random (11) Until Ch1 0;

    Zn1: = 2 + Random (8);

    V: = Nod (Abs (Ch1), Zn1);

    Ch1: = Ch1 Div V;

    Zn1: = Zn1 Div V

    Until (Zn1 > 1) And (Zn1> Abs (Ch1)) And (Ch * Zn1 + Zn * Ch1 0);

    Vsp: = Nod (Abs (Ch * Zn1 + Zn * Ch1), Zn1 * Zn);

    BCh: = (Ch * Zn1 + Zn * Ch1) Div Vsp; (чисельник коефіцієнта B)

    BZn: = Zn * Zn1 Div Vsp; (знаменник коефіцієнта B)

    Vsp: = Nod (Abs (Ch * Ch1), Zn1 * Zn);

    CCh: = Ch * Ch1 Div Vsp; (чисельник коефіцієнта C)

    CZn: = Zn1 * Zn Div Vsp; (знаменник коефіцієнта C)

    A: = Nok (BZn, CZn); (A)

    B: = BCh * A Div BZn; (B)

    C: = CCh * A Div CZn; (C)

    Write (F, Chr (Ord ( 'в') + J),')~$', A, 'x ^ 2');

    If B 0

    Then Begin

    If B> 0

    Then If B 1 Then Write (F, '+', B) Else Write (F,'+')

    Else If B -1 Then Write (F, B) Else Write (F,'-');

    Write (F, 'x');

    End;

    If C 0 Then If C <0 Then Write (F, C) Else Write (F, '+', C);

    Write (F, '= 0 $;');

    If J = 0 Then WriteLn (F, '&') Else WriteLn (F,'');

    End;

    WriteLn (F, 'end (tabular }');

    WriteLn (F);

    WriteLn (F, 'end (document }');

    Flush (F);

    Close (F)

    End.

    documentstyle [12pt, a4wide] (article)

    topmargin-3cm

    pagestyle (empty)

    setlength (textheight) (27cm)

    setlength (textwidth) (16cm)

    begin (document)

    begin (tabular) (ll)

    а) ~ $ x ^ 2 +2 x-8 = 0 $; & б )~$

    x ^ 2-4x-45 = 0 $;

    в) ~ $ 49x ^ 2-7x-6 = 0 $;&

    г) ~ $ 12x ^ 2 +16 x +5 = 0 $;

    end (tabular)

    end (document)

    Якщо в наведену вище програму внести незначні зміни, то можна отримати варіант , генерує логарифмічні рівняння або будь-які інші. Ось результат роботи такої програми.

    documentstyle [12pt, a4wide] (article)

    topmargin-3cm

    pagestyle (empty)

    setlength (textheight) (27cm)

    setlength (textwidth) (16cm)

    begin (document)

    begin (tabular) (ll)

    а) ~ $ log_ (2) ^ 2x-log_ (2) x-20 = 0 $; & б) ~ $ log_ (5) ^ 2x

    7 log_ (5) x +10 = 0 $;

    в) ~ $ 15log_ (3) ^ 2x 22 log_ (3) x +8 = 0 $;&

    г) ~ $ 27log_ (2) ^ 2x 12 log_ (2) x 1 = 0 $;

    end (tabular)

    end (document)

    Приклад 3. Завдання з темою "Чи тотожні перетворення алгебраїчних виразів ". (З книги" Збірник задач для вступників у ВТУЗі ": Учеб. посібник/В.К. Єгерєв, Б.А. Кордемский, В.В. Зайцев та ін; Під. ред. М.І. Сканаві. - 6-е изд., Испр. і доп. - М.: "Сторіччя", 1997 - упр. 2.061, с. 21):

    При вирішенні поставленого завдання перш за все проаналізуємо заданий вираз. Для цього виконаємо його перетворення і отримаємо відповідь:

    Таким чином, можна помітити, що чисельник дробу-ділимо, отриманої після алгебраїчних перетворень в перших дужках, є твір відповіді і чисельника дробу-дільника, отриманої після перетворень в других дужках. Отже, сам відповідь, знаменник дробів і чисельник дробу-дільника можуть бути згенерували довільно, а на їх основі будується дріб-ділене. Крім того, для приведення вирази до виду, заданому у зразку, необхідно і в першій, і в другому дужки чисельник частково розділити на знаменник.

    Ці міркування і реалізовані у наведеній нижче програмі .

    Program V;

    Var F: Text;

    (Процедура, що виробляє початкові установки в форматі LaTeXа)

    Procedure UST;

    Begin

    WriteLn (F, 'documentstyle [12pt, a4wide] (article }');

    WriteLn (F, 'topmargin-3cm');

    WriteLn (F, 'pagestyle (empty }');

    WriteLn (F, 'setlength (textheight) (27cm }');

    WriteLn (F, 'setlength (textwidth) (16cm }');

    WriteLn (F, 'newcommand (ds) (displaystyle }');

    WriteLn (F, 'begin (document }');

    END;

    Function Nod (X, Y: Integer): Integer;

    Begin

    WHILE X  Y Do

    IF X> Y THEN X: = X - Y ELSE Y: = Y - X;

    Nod: = X

    END;

    Var D, I, A, C, B, E, G, H, O, P, L, M, N, E1, G1, H1, O1, P1: Integer;

    Vx2, J, Vsp: Integer;

    X, Znak: Char;

    Begin

    Assign (F, 't: rustexex_v.tex');

    ReWrite (F);

    UST;

    Randomize;

    For I: = 1 To 5 Do

    Begin

    Repeat (поки у чисельнику дріб не будуть взаємно прості числа)

    X: = Chr (Ord ( 'x') + Random (3)); (літера-мінлива)

    (Отримуємо знаменник - вираз виду Ax + B,

    A, B - Цілі, x - буква)

    A: = 1 + Random (5);

    Repeat B: = -4 + Random (9) Until B 0;

    Vsp: = Nod (A, Abs (B ));

    A: = A Div Vsp; B: = B Div Vsp;

    Repeat

    Repeat

    (Отримуємо чисельник дільника після перетворення

    -- вираз виду Lx ^ 2 + Mx + N,

    L, M, N - цілі, x - буква)

    L: = 1 + Random (5);

    Repeat M: = -4 + Random (9) Until M 0;

    Repeat N: = -4 + Random (9) Until N 0;

    Vsp: = Nod (Nod (L, Abs (M)), Abs (N ));

    L: = L Div Vsp;

    M: = M Div Vsp;

    N: = N Div Vsp;

    (Отримуємо відповідь - вираз виду Cx + D,

    C, D - Цілі, x - буква)

    C: = A * (1 + Random (3 ));

    Repeat D: = -4 + Random (9) Until D 0;

    (Формуємо вираз-дільник. Отримуємо його у вигляді

    (Ex + G + (Hx ^ 2 + Ox + P)/(Ax + B ))}

    Repeat E: = -3 + Random (7) Until E 0;

    Repeat G: = -3 + Random (7) Until G 0;

    H: = L - A * E;

    O: = M - (B * E + G * A);

    P: = N - B * G;

    Until (H  0) And (O 0) And (P 0);

    If H <0 Then Begin Znak: = '-'; H: =-H; O: =-O; P: =-P End

    Else Znak: ='+';

    (Формуємо на основі відповіді і дільника вираз-ділене

    виду (E1x ^ 2 + G1x + (O1x + P1)/(Ax + B ))}

    E1: = C * L Div A;

    Vx2: = D * L + M * C - E1 * B;

    Until Vx2 Mod A = 0;

    G1: = Vx2 Div A;

    O1: = D * M + N * C - G1 * B;

    P1: = D * N;

    Until (Nod (Abs (H), Nod (Abs (O), Abs (P))) = 1) And (Nod (Abs (O1), Abs (P1)) = 1);

    (виводимо в файл чергове вийшло вираз,

    огляду на те, що деякі з коефіцієнти можуть бути нулями,

    коефіцієнти, що дорівнюють 1 або -1, не вказуються та ін)

    Write (F, Chr (Ord ( 'а') + I - 1), ') ~ $ dsleft (');

    If Abs (E1)  1 Then Write (F, E1)

    Else If E1 = -1 Then Write (F,'-');

    Write (F, X, '^ 2');

    If G1 0

    Then Begin

    If Abs (G1) 1 Then Begin

    If G1> 0 Then Write (F,'+');

    Write (F, G1)

    End

    Else If G1 = -1

    Then Write (F,'-')

    Else Write (F,'+');

    Write (F, X);

    End;

    If O1 0

    Then Begin

    If O1 <0

    Then Begin Write (F,'-'); O1: =-O1; P1: =-P1 End

    Else Write (F,'+');

    Write (F, 'frac {');

    If O1 1 Then Write (F, O1);

    Write (F, X);

    If P1 0

    Then Begin If P1> 0 Then Write (F,'+');

    Write (F, P1)

    End;

    Write (F, '}');

    End

    Else If P1  0

    Then Begin If P1 <0

    Then Write (F,'-')

    Else Write (F,'+');

    Write (F, 'frac (', Abs (P1),'}');

    End;

    If (O1  0) Or (P1 0)

    Then Begin

    Write (F,'{');

    If A 1 Then Write (F, A);

    Write (F, X);

    If B> 0 Then Write (F,'+');

    Write (F, B,'}')

    End;

    Write (F, 'right): left (');

    If Abs (E)  1 Then Write (F, E)

    Else If E = -1 Then Write (F,'-');

    Write (F, X);

    If G> 0 Then Write (F,'+');

    Write (F, G);

    Write (F, Znak, 'frac {');

    If H 1 Then Write (F, H);

    Write (F, X, '^ 2');

    If O> 0 Then Write (F,'+');

    If Abs (O)  1 Then Write (F, O)

    Else If O = -1 Then Write (F,'-');

    Write (F, X);

    If P> 0 Then Write (F,'+');

    Write (F, P, '}{');

    If A 1 Then Write (F, A);

    Write (F, X);

    If B> 0 Then Write (F,'+');

    WriteLn (F, B, ') right )$;');

    WriteLn (F)

    End;

    WriteLn (F);

    WriteLn (F, 'end (document }');

    Flush (F);

    Close (F)

    End.

    Ось один із результатів її роботи:

    documentstyle [12pt, a4wide] (article)

    topmargin-3cm

    pagestyle (empty)

    setlength (textheight) (27cm)

    setlength (textwidth) (16cm)

    newcommand (ds) (displaystyle)

    begin (document)

    а) ~ $ dsleft (6z ^ 2 + z + frac (13z 6) (3z-4) right):

    left (-z-2 + frac (5z ^ 2-z-6) (3z-4) right )$;

    б) ~ $ dsleft (12y ^ 2 +20 y + frac (19y-1) (y-1) right):

    left (2y +3 + frac (2y ^ 2 3 y 4) (y-1) right )$;

    в) ~ $ dsleft (4x ^ 2-2x-frac (8x 3) (x +1) right):

    left (-x-1 + frac (3x ^ 2 6 x 2) (x +1) right )$;

    г) ~ $ dsleft (12x ^ 2-22x + 39x frac (1) (x 2) right):

    left (-2x +3 + frac (6x ^ 2 +3 x-7) (x 2) right )$;

    д) ~ $ dsleft (z ^ 2 +2 z-frac (2z-9) (z-2) right):

    left (-2z +2 + frac (3z ^ 2-9z 7) (z-2) right )$;

    end (document)

    А ось що отримано після обробки цього документа за допомогою LaTeX:

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

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.comp-science.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status