Вход

Разработка обучающе-контролирующей программы по теме "Основы программирования"

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 284352
Дата создания 05 октября 2014
Страниц 28
Мы сможем обработать ваш заказ (!) 27 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 240руб.
КУПИТЬ

Описание

Курсовая с программой, программа выполнена на delfi. ...

Содержание

Содержание
Введение 3
1 Этапы разработки программы и описание компонентов, из которых состоит программа 4
2 Код программы и алгоритмы основных обработчиков 9
3 Интерфейс и работа с программой 22
Заключение 26
Список использованных источников 27

Введение


Тесты известны своей универсальностью и точностью. Тест (от слова англ. test) —Испытание, проверка.
Своеобразные проверки используются во всех видах деятельности. Зачем нужны тесты? Они определяют некий уровень способностей человека, правильность работы программ или приборов, состояние здоровья человека и т. д. Для чего нужны тесты в образовании? В сферах образования очень распространенные тесты, ведь учитель может одновременно опросить множество учеников, узнать их слабое место в знаниях.
Обучающие тесты позволяют быстро и объективно оценить уровень знаний ученика и подкорректировать слабые места в знаниях по определённой теме или в определённой области науки. Они также позволяют оценить большого количества людей за малый промежуток времени. Это и определило выбор моей работы.
Целью рабо ты является написание тестирующей обучающей программы для тестирования учащихся по теме ”Основы программирования”
Для достижения цели решались следующие задачи:
Изучить теоретический материал по теме написание тестов в Delphi.
Изучить практическое состояние проблемы по написанию тестов.
Выбрать средство разработки программы.
Создать тестирующую программу.
Протестировать программу на работоспособность.
Составить вопросы для теста по теме “Основы программирования”
Объектом исследования является среда разработки Delphi.
Предмет исследования – тестирующая программа.

Фрагмент работы для ознакомления

Т.е. в строке "ABC" символ "A" - первый, "B" - второй и т.д.Порядковый номер символа в строке придуман не случайно, ведь именно по этим номерам, индексам, осуществляются действия над строками. Получить любой символ из строки можно указанием его номера в квадратных скобках рядом с именем переменной.Чуть позже, когда мы будем изучать массивы, станет понятно, что строка - это массив символов. Отсюда следует и форма обращения к отдельным символам.Длину строки можно узнать с помощью функции Length(). Функция принимает единственный параметр - строку, а возвращает её длину.Неотъемлемой задачей является нахождение подстроки в строке. Т.е. задача формулируется так: есть строка S1. Определить, начиная с какой позиции в неё входит строка S2. Без выполнения этой операции ни одну обработку представитьневозможно. Итак, для такого нахождения существует функция Pos(). Функция принимает два параметра: первый - подстроку, которую нужно найти, второй - строку, в которой нужно выполнить поиск. Поиск осуществляется с учётом регистра символов. Если функция нашла вхождение подстроки в строку, возвращается номер позиции её первого вхождения. Если вхождение не найдено, функция даёт результат 0.Удалить часть строки можно процедурой Delete(). Следует обратить внимание, что это именно процедура, а не функция - она производит действия непосредственно над той переменной, которая ей передана. Итак, первый параметр - переменная строкового типа, из которой удаляется фрагмент (именно переменная! конкретное значение не задаётся, т.к. процедура не возвращает результат). Второй параметр - номер символа, начиная с которого нужно удалить фрагмент, третий параметр - количество символов для удаления.Следует отметить, что если длина удаляемого фрагмента окажется больше количества символов в строке, начиная с указанной позиции (т.е. "вылезем за край"), функция нормально отработает. Поэтому, если нужно удалить фрагмент из строки с какого-то символа до конца, не нужно вычислять количество этих символов. Лучшим способом будет задать длину самой этой строки.Вот пример. Допустим, требуется найти в строке первую букву "a" и удалить следующую за ней часть строки. Сделаем следующим образом: позицию буквы в строке найдём функцией Pos(), а фрагмент удалим функцией Delete().Попробуем подставить значения и посмотреть, что передаётся функции Delete. Первая буква "a" в строке стоит на позиции 9. Длина всей строки - 15 символов. Значит вызов функции происходит такой: Delete(Str,9,15). Видно, что от буквы "a" до конца строки всего 7 символов... Но функция сделает своё дело, не смотря на эту разницу. Результатом, конечно, будет строка "This is ". Данный пример одновременно показал и комбинирование нескольких функций.Ещё одной важной задачей является копирование части строки. Например, извлечение из текста отдельных слов. Выделить фрагмент строки можно удалением лишних частей, но этот способ неудобен. Функция Copy() позволяет скопировать из строки указанную часть. Функция принимает 3 параметра: текст (строку), откуда копировать, номер символа, начиная с которого скопировать и количество символов для копирования. Результатом работы функции и будет фрагмент строки.В данном случае из строки копируется фрагмент от начала до первого пробела. Число символов берётся на единицу меньше, т.к. в противном случае пробел также будет скопирован.Если требуется в имеющуюся строку вставить другую строку, можно использовать процедуру Insert(). Первый параметр - строка для вставки, второй - переменная, содержащая строку, куда нужно вставить, третий - позиция (номер символа), начиная с которого будет вставлена строка.[9] (Больше информации можно по описанию строковых типов данных найти в [2,12])2 Код программы и алгоритмы основных обработчиковunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Memo1: TMemo; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; Label1: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; procedure zapol; procedure FormPaint(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses StrUtils; var f: TextFile; q1,q2,q3,q4,q5,q6,pos,k,s,buf: String; pr,npr ,r,otv, ver, i,w: Integer;{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);beginopenDialog1.Filter := 'Text files only|*.txt';if OpenDialog1.Execute=true then begin AssignFile(f,OpenDialog1.FileName); //открытие файла Reset(f); Readln(f,r); pr:=0; npr:=0; BitBtn2.Visible:=true; end;end;procedure TForm1.BitBtn2Click(Sender: TObject);begin Memo1.Visible:=True; RadioButton1.Visible:=true; RadioButton2.Visible:=true; RadioButton3.Visible:=true; RadioButton4.Visible:=true; BitBtn1.Visible:=false; BitBtn2.Visible:=false; BitBtn3.Visible:=true; BitBtn4.Visible:= false; Label1.Visible:=true; AssignFile(f,OpenDialog1.FileName); Reset(f); readln(f,r); zapol; Label1.Caption:='Вопросов осталось'+':'+ IntToStr(r); RadioButton1.Checked:=false; RadioButton2.Checked:=false; RadioButton3.Checked:=false; RadioButton4.Checked:=false; otv:=0; pr:=0; npr:=0;end;procedure TForm1.zapol;begin buf:=''; repeat readln(f,s); if (s <>'.') and (s <>',') then buf:= Buf +s +' '+#13; until (s = '.') or (s = ','); if s = '.' then q1:= buf else q1:= buf; buf:=''; repeat readln(f,s); if (s <>'.') and (s <>',') then buf:= Buf +s +#13; until (s = '.') or (s = ','); if s = '.' then q2:= buf +'0' else q2:= buf +'1'; buf:=''; repeat readln(f,s); if (s <>'.') and (s <>',') then buf:= Buf +s +#13; until (s = '.') or (s = ','); if s = '.' then q3:= buf +'0' else q3:= buf +'1'; buf:=''; repeat readln(f,s); if (s <>'.') and (s <>',') then buf:= Buf +s +#13; until (s = '.') or (s = ','); if s = '.' then q4:= buf +'0' else q4:= buf +'1'; buf:=''; repeat readln(f,s); if (s <>'.') and (s <>',') then buf:= Buf +s +#13; until (s = '.') or (s = ','); if s = '.' then q5:= buf +'0' else q5:= buf +'1'; buf:=''; repeat readln(f,s); if (s <>'.') and (s <>',') then buf:= Buf +s +#13; until (s = '.') or (s = ','); if s = '.' then q6:= buf else q6:= buf ; Memo1.Text:=q1;//заполнение мемо //заполнение вопросов i:=length(q2); w:=StrToInt(q2[i]); if w = 1 then ver:=1; delete(q2,i,i); RadioButton1.Caption:=q2; i:=length(q3); w:=StrToInt(q3[i]); if w = 1 then ver:=2; delete(q3,i,i); RadioButton2.Caption:=q3; i:=length(q4); w:=StrToInt(q4[i]); if w = 1 then ver:=3; delete(q4,i,i); RadioButton3.Caption:=q4; i:=length(q5); w:=StrToInt(q5[i]); if w = 1 then ver:=4; delete(q5,i,i); RadioButton4.Caption:=q5;end;procedure TForm1.BitBtn3Click(Sender: TObject);begin if radioButton1.Checked = true then otv:=1 else if RadioButton2.Checked = true then otv:=2 else if RadioButton3.Checked = true then otv:=3 else if RadioButton4.Checked = true then otv:=4; if otv = 0 then ShowMessage('Выберете ответ') else begin if ver = otv then begin pr:=pr+1; readln(f,s); if s = '//' then begin ShowMessage('Конец теста'+ ' Прав: '+IntToStr(pr)+' Неправ: '+ IntToStr(npr)); Memo1.Visible:=false; RadioButton1.Visible:=false; RadioButton2.Visible:=false; RadioButton3.Visible:=false; RadioButton4.Visible:=false; BitBtn1.Visible:=true; BitBtn2.Visible:=true; BitBtn3.Visible:=false; BitBtn4.Visible:=true; Label1.Visible:=false; end else begin r:=r-1; Label1.Caption:='Вопросов осталось'+':'+ IntToStr(r); RadioButton1.Checked:=false; RadioButton2.Checked:=false; RadioButton3.Checked:=false; RadioButton4.Checked:=false; otv:=0; zapol; end; end else begin npr:=npr+1; ShowMessage(q6); readln(f,s); if s = '//' then begin ShowMessage('конец теста'+ ' прав: '+IntToStr(pr)+' не прав: '+ IntToStr(npr)); Memo1.Visible:=false; RadioButton1.Visible:=false; RadioButton2.Visible:=false; RadioButton3.Visible:=false; RadioButton4.Visible:=false; BitBtn1.

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

Бежанова М. М. Практическое программирование: структуры данных и алгоритмы: учеб. для вузов / М.М. Бежанова, Л.А. Москвина, И.В. Поттосин.- М.: Логос, 2001, с. 223.
Беленький П.П. Учебное пособие по информатике - Ростов на дону «Феникс» 2004. – 448c.
Бобровский С. Delphi 5: Учебный курс. - СПб.: Издательство "Питер", 2000. - 640 с.
Дантеманн Дж., Мишел Д., Тэйлор Д. Программирование в среде Delphi.- К.: НИПФ-'Diasoft-Ltd.',1995. - 608с.
Дарахвелидзе П.Г., Марков Е.П. Delphi - среда визуального программирования.- СПб: BHV-Санкт-Петербург, 1996. - 352с
Епанешников А., Епанешников В. Программирование в среде Delphi 2.0. Учебное пособие. В 4-х частях. Ч.2. Язык Object Pascal 9.0. –М.:ДИАЛОГ-МИФИ, 1997. -319с.
Кнут Д. Э. Искусство программирования. В 3 т. Т1. Основные алгоритмы: учеб. пособие [пер. с англ.] / Д.Э. Кнут.- 3-е изд.-М. : Вильямс, 2000, с. 720.
Прохоров А. Программы для создания тестов и проведения тестирования. КомпьютерПресс. 2005. №11.
Рубенкинг С.А. Программирование в Delphi для "чайников". - К.: Диалектика, 1996. - 304с.
Сурков К.А., Сурков Д.А., Вальвачев А.Н. Программирование в среде DELPHI 2.0. - Минск: ООО "Попурри", 1997. - 640с.
Фаронов В.В. Delphi 4. Учебный курс. –М.: Нолидж, 1999. -447с.
Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. Учебное пособие. –М.:Нолидж, 1997. -432с.
Яцура Н. Г. Методика конструирования тестов. – Минск: Высшая школа, 1986
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00478
© Рефератбанк, 2002 - 2024