49075 (Создание тестирующей программы)

2016-07-30СтудИзба

Описание файла

Документ из архива "Создание тестирующей программы", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49075"

Текст из документа "49075"

Содержание

Введение

РАЗДЕЛ 1. Задача программы

1.1 Постановка задачи

РАЗДЕЛ 2. Обзор существующих тестирующих программ и обоснование выбора темы

2.1 Тестирующая программа по английскому языку

РАЗДЕЛ 3. Разработка программы

3.1 Используемые методы

3.2 Алгоритм реализации роботы

Заключение

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

Приложение 1

1.1 Код программы для создания файла с вопросами и ответами

1.2 Код программы для чтения файла с вопросами и введения ответов

Приложение 2

2.1 Блок – схема программы



ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

РАЗДЕЛ 1. Задача программы

1.1 Постановка Задачи

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

РАЗДЕЛ 2. Обзор существующих тестирующих программ

2.1 Тестирующая программа по английскому языку

Существует множество разнообразных программ, которые производят проверку знаний учащихся, по различны предметам обучения. Все обучающие программы могу быть написаны на разны языках программирования: Delphi, C++, С Sharp, Turbo Pascal и др.

Например: Тестирующая программа по английскому языку. Эта программа прописана на языке объектного программирования Delphi. В среде Delphi существуют уже созданные формы процедур, функций и др. Этот язык облегчает работу описания программ тем, что не нужно пописывать формы. Но, как и во всех других языках програмирования, Delphi содержит свои недостатки. Например: если программист укажет форму процедуры вручную, то компилятор её не увидит. Для этого нужно в настройках отмечать, что указанную форму нужно прочитать.

Turbo Pascal – это основа всех языков программирования, поэтому программа тестирования по математике написана на этом языке.

РАЗДЕЛ 3. Разработка программы

3.1 Используемые методы

В программе используется следующий алгоритм работы с данными;

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

Использование файловой системы. Файл – это создаваемый документ, при дальнейшем его использовании в программе. Все данные тестирования хранятся в файле name.dat и загружаются в программу при помощи инициализации файлов. Для этого нужно указать направление передачи данных для этого файла. В турбо Паскале можно открыть файл для чтения. Записи информации, а также для чтения и записи одновременно.

Использование модуля CRT. Модуль CRT содержит мощные подпрограммы, которые предоставляют возможность полного управления PC. Подпрограммы модуля CRT обеспечивают контроль над текстовыми режимами экрана, расширенными кодами клавиатуры, цветами, окнами и звуком.

Использование процедур. Процедура – это независимая именованная часть программы, которую можно вызвать из любой части программы по имени для выполнения определённой в ней последовательности действий.

3.2 Алгоритм реализации работы

Для реализации алгоритма создадим две программы:

  1. Программа "Vvod" – это программа, которая создаёт файл с вопросами и ответами;

  2. Программа "Initialization" – при запуске программы выводится сообщение о начале тестирования и производится инициализация файла, т.е считывание вопросов и даётся возможность ввести свои ответы на вопросы.

1. "Vvod". Создаём запись. Раздел записи состоит из нескольких идентификаторов полей, за идентификатором ставится двоеточие, и описание типа полей.

Type rec=record

vopros:string;

otvet:string;

end;

Здесь показано, что rec есть запись с полями vopros, otvet стригового типа.

  • Vopros – будет содержать вопрос;

  • Otvet – будет содержать ответ;

Создадим переменные:

  • f – файл стрингового типа;

  • x - целого типа, используется в качестве счётчика, который используется в цикле ввода вопросов;

  • q - содержит запись типа rec, для ввода записи в файл;

Тело программы:

В начале программы, счётчик х обнуляем: х:=0. С помощью операторов Assign и Rewrite создается файл данная программа создоёт запись в файл name.dat. Создаём цикл с пост условием(repeat).

Счётчику х присвоим шаг +1: х:=х+1: т.е после каждого прохода цикла, х будет на одну единицу больше. Для текстовых файлов, открытых процедурой RESET, нельзя использовать процедуру WRITE или WRITELN. Нужно использовать стандартную процедуру REWRITE.

REWRITE ()

инициирует запись информации в файл , связан с sq ранее с файловой переменной . Процедурой REWRITE нельзя инициировать запись информации в ранее существовавший дисковый файл: при выполнении этой процедуры старый файл уничтожается и никаких сообщений об этом в программу не передается. Новый файл подготавливается к приему информации и его указатель принимает значение 0.

При запуске программы на экране будет выводиться сообщение "ввести вопрос" . После считывания переменной q. vopros происходит запись в файл и на экране выводится новое сообщение "введите ответ" считывания переменной q. otvet происходит запись в файл. На экране выводится новое сообщение "ввести вопрос".

Эти два сообщения будут выводиться на экран и записываться в файл name.dat до тех пор, пока вы не введёте двадцать вопросов и ответов, т.е пока х не будет равен n (Условие выхода из цикла: until x=n).

После окончания количества сеансов ввода, файл закрывается. Функция close(f) – закрывает файл, однако связь файлов с именем файла, установленная ранее процедурой ASSIGN, сохраняется. Вызов процедуры Close необходим при завершении работы с файлом. Если по какой-то причине процедура Close не будет выполнена, файл все - же будет создан на внешнем устройстве, но содержимое последнего буфера в него не будет перенесено. Для входных файлов использование оператора закрытия файла необязательно.

program Vvod;

type rec=record

vopros:string;

otvet:string;

end;

var f:file of string;

x:integer;

q:rec;

begin

x:=0;

assign(f,'name.dat');

rewrite(f);

repeat

x:=x+1;

writeln('введите вопрос');

readln(q.vopros);

write(f,q.vopros);

writeln('введите ответ');

readln(q.otvet);

write(f,q.otvet);

until x=n;

close(f);

end.

2 "Initialization"

В начале этой программы на экран выводится сообщение процедуры "Main Menu". Для начала тестирования нажмите "y". Для редактирования вопросов или выхода из программы нажмите "R". Чтобы создать эту процедуру, нужно в теле основной программы подключить модуль "crt", описать константы, в описании переменных указать ключ символьного типа:

uses crt;

const simbol:set of char=['y','Y','n','N',’r’,’R’,’t’,’T’];

….

var … key:char;

Procedure MainMenu(posmaster:word);

В описании констант мы указываем ['y','Y','n','N',’r’,’R’,’t’,’T’] – это символы вводимые с клавиатуры. Далее начинаем цикл с пост условием

Repeat

Ключу (key) присвоим значение считать ключ (readkey) , при этом условие выхода ключ указанный в списке констант (until key in symbol):

key:=readkey until key in simbol;

По нажатию клавиши 'y','Y' – происходит дальнейшее считывание. Срабатывает процедура "Test".

case key of

'y','Y':writeln;

…;

end;

По нажатию клавиши 'r','R' -

case key of

'r','r':begin

на экран выводится сообщение "Для завершения программы нажмите – n" "Для редактирования вопросов –T". При нажатии "n" происходит завершение программы и, всех процедур и функций.

case key of

'n','N':halt;

При нажатии "T" – происходит редактирование вопросов и ответов.

case key of

't','T':begin

…;

End;

Вы должны указать количество вопросов, после чего будет совершена перезапись файла. Для этого в теле основной программы нужно указать счетчик "x" – целого типа, он указывает количество вопросов; и счетчик "j" – для использования в качестве условия выхода из цикла

until j=x;

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

Процедура "umnogenie"

Эта процедура разработана для вывода на экран сообщения – предупреждения, о том что знак умножения (shift+8) обязателен, иначе ответ не будет считатьс правильным.

Procedure umnogenie;

Begin

Writeln(‘учтите, что при вводе ответа знак умножения "*" (shift+8) – обязателен’);

Writeln(‘ иначе ответ не будет считаться правильным. ‘);

Writeln (‘Для продолжения нажмите ENTER’);

End.

Процедура " Test"

Создадим переменные:

  • Readstring – переменная, для считывания переменной стрингового типа из файла;

  • Otv – переменная стрингового типа , для ввода ответа;

  • Otvfile – переменная ответа из файла, для сравнения правильности ответов на вопросы;

  • z, e, u – переменные целого типа (счетчики). "z" – Количество вопросов; "е" – Счётчик правильных ответов; "u" – Оценка;

  • z1, z2, z3 – переменные действительного типа, для определения количества правильных ответов на оценку.

Переменные z1, z2, z3 описываем в теле основной программы

Var … z1, z2, z3: integer;

Эти переменные зависят от того сколько вопросов "x" вы ввели. Количество вопросов делим на заданные числовые переменные. Встроенная функция "round" округляет полученные ответы до ближайшего целого

z1:=round(x/4);

z2:=round(x/2);

z3:=round(x/1.3);

Переменные z, e, u также описываются в теле основной программы.

Var … z, e, u :integer;

Начало процедуры: обнуляем счетчики "z", "е" (для корректной работы программы).

e:=0; z:=0;

Далее с помощью процедуры "ASSIGN" связываем ранее объявленные файловые переменные с именем уже существующего файла.

assign(f,' name.dat');

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5140
Авторов
на СтудИзбе
442
Средний доход
с одного платного файла
Обучение Подробнее