Обучающие и контролирующие программы как пример диалоговых программ

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

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

Далее для каждого кадра составляется вопрос для проверки усвоения учащимся информации этого кадра и формулируется эталон — правильный ответ на этот вопрос (или правило его вычисления).

Вся информация по каждому кадру вводится в ЭВМ.

В соответствии со сказанным обучение с помощью ЭВМ производится за ряд шагов. На каждом шаге ЭВМ (программа):

  • • выдает один кадр информации;
  • • выдает вопрос, на который обучаемый должен ответить;
  • • принимает ответ обучаемого и сравнивает его с эталоном.

Если ответ верен, то программа выдает следующий кадр информации; если неверен, то сообщает об этом, а иногда и дает некоторые разъяснения, после чего выдает тот же кадр для продолжения его изучения.

Контролирующая программа. Это частный случай обучающей программы. Контролирующие программы предназначены для контроля знаний и в соответствии с этим должны выдавать учащимся только вопросы, проверять правильность ответов и оценивать степень знаний учащихся. Принципиальных отличий от обучающих программ контролирующие не имеют. Особенность их — они определяют число правильных ответов и выдают («выставляют») оценку знаний учащегося.

Для примера рассмотрим построение простейших программ указанного вида.

Задача 12.14

Построить контролирующую программу по теме «Геометрическая фигура — прямоугольник».

Предварительно разобьем информацию, подлежащую контролю, на такие кадры:

  • 1) определение понятия «прямоугольник»;
  • 2) вычисление площади прямоугольника;
  • 3) вычисление периметра прямоугольника.

Текст каждого кадра, вопрос и эталон указаны непосредственно в сценарии.

Сценарий диалога контролирующей программы

П. 1. ЭВМ: «Проверим, что вы знаете о прямоугольнике? Вы готовы отвечать?(д/н)».

П. 2. Пользователь: ОТВЕТ=«д»/«н».

П. 3. ЭВМ:

  • а) если ОТВЕТ=«н» — «Готовьтесь!» Перейти к п. 16;
  • б) если ОТВЕТ ф «д»/«н» — «Введите правильный ответ». Перейти к п. 1; иначе — перейти к п. 4.

П. 4. ЭВМ: «Введите фамилию».

П. 5. Пользователь: ОТВЕТ = <Фамилия>.

Кадр 1.

П. 6. ЭВМ: «<Фамилия>. Ответьте — которое из трех определений прямоугольника верное: *»

«1....»;

«2....»;

«3....».

П. 7. Пользователь: ОТВЕТ= 1/2/3.

П. 8. ЭВМ:

  • а) если ОТВЕТ=1/3 — «Учите определение прямоугольника», «<Фамилия>». Перейти к п. 9;
  • б) если ОТВЕТ=2 — «Правильно!». «<Фамилия! >». Число правильных ответов М увеличить на 1 (М=М+1). Перейти к п. 9;
  • в) если ОТВЕТ ф 1/2/3 — «Ответ не понятен!».

Перейти к п. 6.

Кадр 2.

П. 9. ЭВМ: «Ответьте на вопрос: чему равна площадь прямоугольника ЛВСВ: ЛВ = СВ = 50; ВС=М = 60?».

П. 10. Пользователь: ОТВЕТ = 300/<7У>, где N ф 300.

П. 11. ЭВМ:

  • а) если ОТВЕТ ф 300 — «Учите формулу вычисления площади!». Перейти кп. 12;
  • б) если ОТВЕТ = 300 — «Правильно!»; М=М+1.

Кадр 3.

П. 12. ЭВМ: «Ответьте на следующий вопрос: чему равен периметр прямоугольника АВСВ: АВ=СВ=30; ВС=СВ= 100?».

П. 13. Пользователь: ОТВЕТ = 260/<А^>, где А[1] ф 260.

П. 14. ЭВМ:

  • а) если ОТВЕТ ф 260 — «Учите формулу вычисления периметра». Перейти кп. 15;
  • б) если ОТВЕТ = 260 — «Правильно!»; М=М+1.

П. 15. ЭВМ: «<Фамилия>», «число Ваших верных ответов =», <М>; если М<3 — «Плохо! Учите!». Перейти к п. 1.

если М = 3 — «Молодец! Отлично!». Перейти к п. 1.

П. 16. ЭВМ: «До свидания!». Останов.

Примечание. 1. При выводе кадра 1 сценария мы предусмотрели обращение к пользователю по фамилии. Такой прием позволяет сделать диалог более «теплыми, более дружественным. В кадрах 2 и 3 мы не использовали подобное обращение, чтобы не загромождать сценарий.

Итак, мы получили сценарий диалога задачи. Далее, используя его непосредственно, можно составить требуемую программу, опираясь лишь на Основные принципы алгоритмизации (см. 10.1).

Для построения программы в этом случае достаточно каждый пункт сценария заменить соответствующим оператором языка Бейсик — ввода, вывода, условным и т.д. Это самый простой подход, в результате которого, правда, создаются не самые эффективные программы, прямо скажем, громоздкие. Тем не менее рекомендуем читателю написать программу, используя этот подход, с тем, чтобы он мог «прочувствовать» все особенности составления диалоговых программ. Подход, обеспечивающий построение более эффективных программ подобного вида, рассмотрен в 12.4.4.

  • [1] Подразумевается, что далее на экран выводятся три различных определения прямоугольника, из которых верно лишь второе.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >