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

     

     

     

     

     

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

     

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

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

    У ті часи, коли я викладав математику в школі (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

    Аналогічно отримуємо другу співмножники. Не треба забувати про те, що значення виразу за абсолютною величиною не повинно перевищувати 10.

    Таким чином, вираз може бути отримано за допомогою наступного фрагменту програми:

    B1: = 1 + Random (9);

    C1: = 1 + Random (9);

    A: = 2 + Random (4); (НОД знаменників дробів суми)

    B: = A * B1; (Знаменник першого дробу)

    C: = A * C1; (Знаменник другого дробу)

    D: = 1 + Random (B - 2); (Чисельник першим дробу)

    F: = 1 + Random (C - 2); (Чисельник другу дробу)

    K: = Nod (D, B); (НОД чисел D, B)

    D: = D Div K; (Скорочення перше дробу)

    B: = B Div K;

    K: = Nod (F, C); (НОД чисел F, C)

    F: = F Div K; (Скорочення другого дробу)

    C: = C Div K;

    K: = B * C Div Nod (B, C) * (1 + Random (7)); (Другий співмножники

    в першому творі)

    Repeat

    Repeat

    M: = 3 + Random (6); (Одне з чисел, на яке буде

    проводитися скорочення у другому творі)

    Ch1: = M * (1 + Random (3)) (Чисельник другого дробу)

    Until Odd (M) and Odd (Ch1);

    Zn: = M * 5; (Знаменник першим співмножники у другому

    творі)

    SS: = 2 + Random (4);

    Zn1: = Stepen (2, SS); (Знаменник другу співмножники -

    випадкова ступінь числа 2)

    Ch: = Zn1 Div 2; (Чисельник першого дробу)

    Until (Ch

    поки чисельнику не стануть

    менше знаменників)

    S: = Nod (Ch, Zn);

    Ch: = Ch Div S; (Скорочення дробу)

    Zn: = Zn Div S;

    Ch1: = Ch1 * Stepen (10, SS); (Підготовка чисельника

    другого дробу до цілочисельного

    поділу)

    (Друк результату генерації в файл Name)

    WriteLn (Ch1, '', Zn1);

    Write (Name, '$ $ left (', 1 + Random (3), 'frac (', D);

    Write (Name, '}{', B, ') + frac (', F,'}{', C, ') right) cdot');

    Write (Name, K Div 100,'{,}', K Mod 100, '-frac (', Ch);

    WriteLn (Name, '}{', Zn, ') cdot 0 {,}', Ch1 Div Zn1,'.$$')

    У фрагменті програми використані функції користувача: Nod (A, B) - НОД (A, B); Stepen (A, B) - AB. Зазначені функції мають бути описані в програмі.

    Результати роботи програми для кількості завдань, рівного 5:

    $ $ left (1frac (2) (3) + frac (5) (8) right) cdot0 (,) 48-frac (4) (35) cdot 0 (,) 875 .$$

    $ $ left (3frac (1) (2) + frac (1) (7) right) cdot0 (,) 98-frac (8) (35) cdot

    0 (,) 4375 .$$

    $ $ left (2frac (10) (27) + frac (1) (18) right) cdot2 (,) 7-frac (8) (25) cdot

    0 (,) 3125 .$$

    $ $ left (2frac (1) (2) + frac (5) (6) right) cdot0 (,) 24-frac (4) (15) cdot 0 (,) 375 .$$

    $ $ left (1frac (5) (6) + frac (3) (5) right) cdot1 (,) 5-frac (4) (35) cdot 0 (,) 875 .$$

    Результат обробки цього файлу буде наступним:

    Приклад 2. Квадратне рівняння.

    Справжній приклад дещо простішим за попередній. Розглянемо два випадки: а) корені рівняння -- цілі; б) корені рівняння - звичайні дробу.

    Як і в попередньому випадку, доцільно йти до отримання завдання від відповіді. Згенеруємо два кореня рівняння і, використовуючи теорему Вієта, отримаємо його коефіцієнти. При генерації цілих коренів розумно зробити їх різними і відмінними від нуля. У наведеному нижче прикладі це завдання з буквами а, б. При виведення завдання у файл потрібно врахувати, що коефіцієнти можуть бути рівними нулю, а також той факт, що коефіцієнт, що дорівнює одиниці, яка не записується.

    Завдання під в, г припускають наявність двох різних коренів, які є звичайними правильними дробами. Алгоритм отримання відповідних коефіцієнтів у цьому випадку більш громіздкий, хоча в основу покладена все та ж теорема Вієта. Спочатку знову ж таки генеруємо ненульові різні корені рівняння, а потім на їхній основі отримуємо рівняння в цілими коефіцієнтами. У прикладі це робиться поетапно: спочатку -- корені рівняння; потім - коефіцієнти рівняння - звичайні дробу, нарешті, коефіцієнти - цілі числа, причому НОК (A, B, C) = 1.

    Нижче наводяться закінчений фрагмент програми , генерує завдання, приклад роботи цієї програми та результат обробки файлу, отриманого за допомогою програми.

    Program Kw;

    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, '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;

    (НОК)

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

    Begin

    NoK: = X * Y Div NoD (X, Y)

    END;

    Var X1, I, X2, A, C, B: Integer;

    Ch, Ch1, Zn, Zn1, BCh, BZn, CCh, CZn, J, V, Vsp: Integer;

    Begin

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

    ReWrite (F);

    UST;

    Randomize;

    (Корені рівняння (цілі))

    Repeat X1: = -10 + Random (21) Until X1 <> 0;

    Repeat X2: = -10 + Random (21) Until X2 <> 0;

    B: = - (X1 + X2);

    C: = X1 * X2;

    WriteLn (F, 'begin (tabular) (ll }');

    Write (F, 'а) ~ $ 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);

    WriteLn (F, '= 0 $; & б )~$');

    Repeat X1: = -10 + Random (21) Until X1 <> 0;

    Repeat X2: = -10 + Random (21) Until (X2 <> 0) And (X2 <> X1);

    B: = - (X1 + X2);

    C: = X1 * X2;

    Write (F, '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);

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

    (Генеруємо рівняння з корінням -- звичайними дробами)

    For J: = 0 To 1 Do

    Begin

    Repeat (першого корінь)

    Repeat Ch: = -5 + Random (11) Until Ch <> 0; (чисельник)

    Zn: = 2 + Random (8); (знаменник)

    V: = Nod (Abs (Ch), Zn);

    Ch: = Ch Div V;

    Zn: = Zn Div V

    Until (Zn> 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