Автор: Преподаватель информатики и информационных технологий высшей категории
школы №461 г. Санкт-Петербурга М.И. Шелепов.
Курсовая
зачетная работа по программированию
Тема: Создание программы тестирования знаний
================
Задание №1 Создание текстового файла
Задание №2
Чтение текстового файла
Задание
№3 Создание тест Базы
Задание
№4 Создание программы тестирования с исполняемым
файлом
Задание
№5 Создание программы тестирования с
выставлением оценки , получения файла отчета, оформление дизайна
Задание
№6 Создание файла
с описанием всех операторов и переменных, используемых в
программе. Описание работы программы тестирования.
Задание
№7 Создание структурной схемы программы
тестирования
Задание
№8 Создание файла спецификации
Спецификация
Перечень необходимых
работ для выполнения курсового зачета по программированию.
Задание
№9 Вопросы для самоконтроля
Тема Работа с текстовыми файлами на Qbasic
-------
Принцип работы программы тестирования
Программа тестирования состоит из двух основных частей:
1 часть
База
теста (Вопросы и номера правильных ответов)
2 часть
Программа анализа правильности введенных в компьютер
ответов и создания текстового файла отчета о прохождении теста.
-------
С помощью текстового редактора wordpad создается
файл базы теста, который сохраняется затем в формате MSDOS
Файл
базы теста содержит вопросы
и варианты ответов к ним , а так же
номер правильного ответа.
Программа, написанная на языке
программирования Basic, считывает вопросы с ответами
из файла базы теста и выводит их на экран. Тестируемый
учащийся выбирает номер правильного
ответа и вводит его в компьютер. Программа теста сравнивает номер ответа введенного учащимся с заведомо правильным номером ответа из базы теста и выдает сообщение:
"ответ правильный", или наоборот "ответ
неверный". Количество правильных ответов суммируется. При
завершении теста сравнивается количество правильных ответов и определяется оценка
за пройденный тест.
После вывода на экран оценки за пройденный тест,
программа тестирования создает текстовый файл отчета, в котором
записываются регистрационные данные тестируемого, оценка за пройденный тест, а
так же время выполнения теста.
------
Цель работы
1) Изучить и выполнить код программы по созданию и
записи на диск текстового файла
2) Изучить и выполнить код программы чтения текстового
файла и вывода текста на экран
3) Создание зачетной программы по
тестированию в выбранной тематике
----------------------------------------
1.)Создание
текстового файла
Команда создания
текстового файла
OPEN "test.txt"
FOR OUTPUT AS #1
Запись текстовой строки
M$ в файл "text.txt"
PRINT #1,M$
Обязательная команда
завершение работы с файлом "text.txt"
CLOSE #1
-----------------------------------------------
Задание №1
1.Набрать и выполнить программу №1
2.Вводить пять раз различные (фамилия Имя Отчество)
3.Использовать латинский алфавит
4.Сохранить программу на диске под
именем 1fio.bas, 1fio.txt
5.Просмотреть полученный в ходе
выполнения программы файл fio.txt
6.Скопировать файлы (1fio.bas, 1fio.txt, fio.txt) в личную папку на сервере
Создание
и запись файла
Создание программы
информационного файла для теста
Запись текстовых строк в файл в файл
Программа 001
OPEN "FIO.txt" FOR OUTPUT AS #1 :Rem Создать текстовый файл N1 FIO.txt
FOR N=1 TO 5 :Rem Цикл записи 5 строк
Print "Введите
фамилию Имя Отчество"
LINE INPUT M$ :Rem ВВод строки с клавиатуры в M$
PRINT #1,M$ :Rem Запись Введенной строки в файл FIO.txt
NEXT N :Конец цикла, следующий
CLOSE #1 :Rem Закрыть файл FIO.txt
Print"Конец
программы"
----------------------------------------
Задание 2
Чтение текстового файла и вывод текста на экран
Команда Открыть файл test.txt" для чтения
OPEN "test.txt"
FOR INPUT AS #1
Прочитать текстовую
строку из файла "text.txt"и записать ее в переменную M$
LINE INPUT #1, M$
Вывести считанную текстовую строку M$ на экран
Print M$
Обязательная команда
завершение работы с файлом "text.txt"
CLOSE #1
-----------------------------------------------
Задание №2
1.Набрать и выполнить программу №2
2.Прочитать и вывести на экран
полученный в программе №1 текстовый файл fio.txt
3.Сохранить программу на диске под
именем 2fio.bas, 2fio.txt
4.Скопировать файлы (1fio.bas, 1fio.txt, ) в личную папку на сервере
------------------------------------------------
Программа 002
OPEN " FIO.txt "
FOR INPUT AS
#1 :Rem Открыть файл для чтения N1
DO WHILE NOT EOF(1) :Rem Читать файл пока не завершится
LINE INPUT #1, M$ :Rem Прочитать строку из файла в M$
PRINT M$ :Rem Вывести на экран строку M$
LOOP :Rem Конец цикла, следующий
CLOSE
#1 :Rem Закрыть файл N1 для работы
Print"Конец
программы"
-------------------------------------------
К Заданию 3
Методика
подготовки теста
Задание считывается из текстового файла
Ниже приведена структура файла
1 строка Главный заголовок теста
2 Строка Первый вопрос теста
3 Строка 1 Вопрос
4 Строка 2 Вопрос
5 Строка 3 Вопрос
6 Строка 4 Вопрос
7 Строка Номер правильного ответа
9 Строка Первый
вопрос теста
10 Строка 1 Вопрос
11 Строка 2 Вопрос
12 Строка 3 Вопрос
13 Строка 4 Вопрос
14 Строка Номер правильного ответа
И так далее до конца теста
Пример:
Тест по
теме Аппаратное обеспечение ПК
Тактовая частота МП измеряется
в
1.битах
2.байтах
3.мегабайтах
4. мегагерцах
4
2. ROM -
это
1.оперативная память
2.постоянная память
3.кэш - память
4. внешняя память
2
3. Системная
шина предназначена для
1.хранения информации
2.обмена информацией
3.обработки информации
4. кодирования информации
2
Всего
19 строк
Задание 3
1.Запустите программу wordpad Пуск->стандартные->wordpad
2.Наберите свой
тест в текстовый файл используя структуру
методики подготовки теста.
3.
4.Сохраните текстовый файл Файл -> Сохранить
как->(Имя файла testfio.txt)
Тип файла текстовый документ MS-DOS, подтвердите выполнение операции
ДА
5. Убедитесь в правильности создания файла testfio.txt,
выполнив
Пуск->стандартные->wordpad Файл->Открыть (тип
файлов текстовые документы MS-DOS) Файл testfio.txt
6. Запустите
Программу 002 заменив имя файла чтения на testfio.txt, на
экране должен отобразиться текст вашего теста
7.Скопируйте файл testfio.txt в свою личную
папку на сервере
-----------------------------------------------------------------------------------
Задание 4
1.
Внимательно прочитайте материал к 4 му заданию
2.
Скопируйте в папку Basik на
своем компьютере файлы (Testd2.bas, tstds.txt, Testdos.exe)
Запустите файл Testdos.exe
проанализируйте работу теста.
3. В файлах testwin.txt просмотрите
программный код исходника теста, в
файле tstbwin.txt-структура
задание теста.
4. Запустив бейсик
, откройте в нем исходник программы Testd2.bas
запустите его просмотрите результат.
5. Используя методику 3 го задания в программе wordpad создать банк своего тест задания , проверить работу своего теста
6.
Дописать в Testd2.bas
фрагмент программы, определяющий оценку тестируемого.
7.
Сохранить исходник своей программы под именем Fiotest.bas, Fiotest.txt
8. Получите исполняемый модуль для своей программы теста.
Для этого откомпилируйте окончательно полученную версию исходника теста Fiotest.bas в выполнив
Alt ->Run-> Make exe File ->Stand-Alone Exe file, произведя
тем самым компиляцию исходника те получение исполняемого файла с
расширением Exe. Исполняемый
файл будет находиться в папке Basik имя файла .
Полученный в результате исполняемый файл теста Fiotest.exe запустить
и убедиться в его работе
9.Скопируйте файлы тестовой базы и своих исходников Fiotest.bas,
Fiotest.txt, Fiotest.exe исполняемый
файл теста в свою личную папку на сервере.
Задание 5
1. Используя методику
3, 4 задания создать файл базы
теста на 20 вопросов
2. Дописать в Fiotest.bas
фрагмент программы, определяющий оценку
Примерный
код
IF sumotv>18 then print "Тест
пройден оценка ";5:Goto 20
IF sumotv>16 then print "Тест пройден оценка ";4:Goto 20
IF sumotv>11
then print "Тест пройден оценка ";3:Goto 20
IF sumotv<12
then print"Тест не пройден оценка ";2:Goto 20
20 Print "Конец программы"
Сохранить исходник под именем Fiotest1.bas , Fiotest1.txt получить
исполняемый файл Alt ->Run-> Make exe File ->Stand-Alone Exe file,
Получив Fiotest1.exe. Запустить исполняемый файл
проверить работу теста
3.Скопируйте файлы тестовой базы и своих исходников Fiotest1.bas,
Fiotest1.txt, Fiotest1.exe исполняемый
файл теста в свою личную папку на сервере
4.Сохранение данных регистрации, времени выполнения и
оценки за тест
Скопируйте из папки qbtest
файлы (Vrfile.exe, Vrfile.bas ) в папку Basik. Запустите
Vrfile.exe проанализируйте работу
программы, перепишите в тетрадь код программы Программа Vrfile.bas,
приведена ниже.
5.Добавьте необходимый код программы в исходник теста Fiotest1.bas,
Проверьте работоспособность полученной программы. (Тест должен выдавать 20
вопросов, выставлять оценку и сохранять результаты регистрации и тестирования в
файл regFio.txt)
6.
Создайте дизайн для своей программы. (Установите нужный цвет фона, задайте цвет
текста, Цвет вопроса, ответов и комментариев должен быть различным)
Пример:
Color 10,2:cls :Rem Где 10- Цвет текста, 2 -Цвет Фона
7. Откомпилируйте
полученную версию программы, проверьте работу исполняемого файла и скопируйте файлы тестовой базы и своих исходников
Fiotest2.bas, Fiotest2.txt, Fiotest2.exe исполняемый
файл теста в свою личную папку на сервере
8. В текстовом редакторе Microsoft Word создайте файл отчета
Перечислите с небольшим описанием все операторы программирования , использующиеся
в вашей программе их назначение. Перепишите в список используемых переменных
для создания программы теста с
подробными комментариями
См фрагмент отчета:
==================
==================
Программа Vrfile.bas (Определение Даты,
времени, создание файла регистрации, с оценкой)
CLS
PRINT "Зарегистрируйтесь введите имя Фамилию
класс"
LINE INPUT g$: REM Ввод имени
t$ = TIME$: REM Вычисление
текущего времени
d$ = DATE$: REM Вычисление
текущей даты
CLS
PRINT g$: REM Вывод имени
vr$ = "Vremy nachala testa " + t$ + " " + d$
PRINT vr$: REM Вывод времени
начала теста
PRINT "При завершении теста нажмите Enter"
DO
LOOP WHILE INKEY$ = "":
REM do loop while inkey$ = "": приостанавливает программу до
нажатия REM любой кнопки
vr2$ = "Vremy konca testa " + TIME$: REM вывод времени конца
теста
PRINT vr2$: REM вывод времени
конца теста
REM Вывод сведений в файл
ocenka = 5
OPEN "regFio.txt" FOR OUTPUT AS #2
PRINT #2, g$
PRINT #2, "Tema Fizika 10 kl Mechanika"
PRINT #2, vr$
PRINT #2, vr2$
PRINT #2, "Vasha ocenka za test"; ocenka
CLOSE #2
============================================
Задание
№6
В текстовом редакторе Microsoft Word создайте файл отчета
Перечислите с небольшим описанием все
операторы программирования использующиеся в вашей программе их назначение.
Перепишите в список используемых переменных
для создания программы теста с
подробными комментариями. Опишите принцип работы вашей программы
пример:Описание работы программы тестирования
.doc
Задание
№7
Создать структурную
схему программы тестирования
Используя
текстовый редактор Microsoft word, начертите алгоритм программы в виде структурной схемы.
Используйте режим Word а Автофигуры->Блок схема
пример:Алгоритм
программы теста.doc
См Приложение: N002
==================================================
Задание
№8
Спецификация
Перечень необходимых работ для
выполнения курсового зачета по программированию.
1)
Создать в программе Microsoft Word Базу теста не
менее 20 вопросов с 4 мя вариантами ответами на каждый вопрос с указанием
правильного ответа
пример: Тест по Физике 10 кл Иванова Саши.Doc
2)
Создать рабочую базу теста в формате текст (WIN) текст (MS DOS)
пример: testfiow.txt, testfiod.txt
3)
Создать программу тестирования на одном из языках программирования (Basic, paskal, Delphi) добиться ее работоспособности. Исходник программы
сохранить в программе Microsoft Word
пример:Исходник программы теста.doc
4)
Сохранить исходник программы теста в файле на языке программирования (*.bas или*.pas, txt)
пример:Fiotest.bas, Fiotestw.txt,
5) Получить и сохранить исполняемый
файл программы тестирования
пример: Fiotest.exe
6)
Используя текстовый редактор Microsoft word, начертить алгоритм программы в виде структурной схемы.
пример:Алгоритм
программы теста.doc
7) В текстовом редакторе Microsoft Word создайте файл отчета
Перечислите с небольшим описанием все
операторы программирования, использующиеся
в вашей программе их назначение. Перепишите в
список используемых переменных для создания программы
теста с подробными комментариями.
Опишите принцип работы вашей программы
пример:Описание работы программы тестирования
.doc
8) В
текстовом редакторе Microsoft Word создайте файл спецификации с перечнем и описанием
всех полученных файлов. Выполнить спецификацию в виде таблицы
пример:Спецификация к зачетной работе по программированию.doc
Описание Иходника программы тестирования
Создание рабочего зачетного теста оценкой правильности ответов
Исходник
программы тестирования
Приложение
N001
1.
Неполный список используемых переменных
FIO$ - (Фамилия Имя
класс) например: Иванов Сергей 10 Б
DT$ - (Число , месяц год) например:
15_11_04
zag$ -Название тема теста
vpr$ -Вопрос из
теста
otv1$ , otv2$, otv3$, otv4$ (4 варианта ответов)
otvpr - Номер
правильного ответа
nom - Номер ответа
введенный с клавиатуры
sumotv -Сумма правильных ответов
Приложение:
N002
2.Структурная
Схема программы теста
Приложение:
N003
3.
Текст неполного исходника программы
==========
CLS : REM Очистка экрана
sumotv = 0: REM Установить сумму
правильных ответов в 0
PRINT
"Зарегистрируйтесь"
PRINT
"Введите Фамилию Имя класс"
LINE INPUT fio$: REM Ввод Фамилии Имени
Кл в компьютер
Rem PRINT "ВВедите, число, месяц год"
Rem LINE INPUT
DT$: REM Ввод числа месяца года
CLS
PRINT "Добро
пожаловать на тест "; fio$
PRINT
OPEN
"tstds.txt" FOR INPUT AS #1: REM Открыть файл для чтения N1
LINE INPUT #1,
zag$: REM Прочитать Тему теста назв теста из файла в
zag$
PRINT zag$: REM Вывести на экран тему теста
PRINT
DO WHILE NOT EOF(1): REM Читать текстовый
файл пока не завершит LINE INPUT #1, vpr$ :Rem Прочитать
строку вопрос теста в пер vpr$
LINE INPUT #1,
vpr$
PRINT vpr$: REM Вывести вопрос теста
PRINT
LINE INPUT #1,
otv1$: REM Прочитать вариант ответа в пер otv1$
PRINT otv1$: REM
Вывести 1 вар ответа
LINE INPUT #1,
otv2$: REM Прочитать вариант ответа в пер otv2$
PRINT otv2$: REM
Вывести 2 вар ответа
LINE INPUT #1,
otv3$: REM Прочитать вариант ответа в пер otv3$
PRINT otv3$: REM Вывести 3 вар ответа
LINE INPUT #1,
otv4$: REM Прочитать вариант ответа в пер otv4
PRINT otv4$: REM Вывести 4 вар ответа
LINE INPUT #1,
otvpr$: REM Прочитать номер правильн ответа в пер
otvpr
REM PRINT otvpr$
otvpr =
VAL(otvpr$):rem Преобразование
текстовой строки в число
PRINT
"Выберите номер ответа"
INPUT nom: REM Записать номер выбранного ответа в пер Nom
REM Если
otvpr=nom количество правильных ответов +1, печать верно
IF otvpr = nom
THEN sumotv = sumotv + 1: PRINT
"Правильно "; : GOTO
10
PRINT
"неверно "; : REM Иначе Неверно
10 PRINT
"Продолжить? Нажмите любую клавишу "
LINE INPUT MMM$
CLS : REM Очищаем
экран для следующей группы вопросов и ответов
LOOP: REM
Конец цикла, следующий
CLOSE #1: REM
Закрыть файл N1 для работы
PRINT "Конец
теста"
PRINT "число
правильных ответов "; sumotv: REM Выводим на
экран количество правильных ответов
End
Вопросы для
самоконтроля
1) Предназначение
языков программирования, назвать не менее трех видов
2) Что называется
оператором программирование, определение , пример
3) Перечислите два
основных типа переменных их назначение
4) Дайте определение
понятиям Алгоритм, Программа
5) Что называется
структурной схемой программы , каким образом записываются: начало, конец
программы, Ввод-вывод, процесс, условие, цикл-модификация, переход на новый
адрес.
6) Как запустить язык
программирования Basic необходимые
настройки
7) Что называется
исходником программы, как запустить и выполнить исходник программы.
8) Как сохранить в файл
исходник программы, каким образом получить текстовый листинг программы,
пошаговые действия.
9) Что такое компиляция
программы, как получить исполняемый файл программы, пошаговые действия.
10) Команда создания
текстового файла.
11) Команда Открытия
текстового файла для
чтения .
12) Запись текстовой
строки в заданый файл.
13) Каким образом из
файла прочитать текстовую строку и вывести ее на экран.
14) Обязательная
команда завершение работы с файлом
15) К какому действию
приведет выполнение кода следующих
строк
OPEN "tstds.txt" FOR INPUT AS #1:LINE INPUT
#1, z$
print z$:close #1:end
16)Какие логические конструкции
программирования используются в программе, приведите конкретный пример с
описанием .
17) Каким образом можно
считывать файл пока он не завершится? привести код с комментариями.
18) Сколько условий выполняется в
программе тестирования, их назначение, с описанием
19) С помощью каких операторов
программирования использованных в
данной работе можно организовать циклические действия, перечислить операторы,
продемонстрировать циклические конструкции.
20) Кратко опишите назначение операторов программирования
PRINT,
CLS, INPUT, LINE INPUT, Rem, VAL, IF THEN, GOTO,
TIME$, DATE$, Color
DO WHILE NOT EOF(1), LOOP
OPEN "tstds.txt" FOR INPUT AS #1,
OPEN "regFio.txt" FOR OUTPUT AS #2
LINE INPUT #1,Z$,
PRINT #2, g$,
Close #1
21) С помощью какой
программы Windows и каких действий можно преобразовать
и сохранить текст из кодировки windows в текст формата
MSDOS, пошаговые действия.
© 2004 все права защищены. Копирование и распространение
без письменного разрешения автора не допускается E mail: kolpincentr@mail.ru