![]() |
|
|
Курсовая работа: Создание проекта для тестирования знаний студентов по языку программирования Delphi по теме "Назначение и основные свойства палитры компонентов "Standard"TabOrder TabStop Tag Top Width События: OnClick - (основной обработчик) OnDblClick OnEnter OnExit OnKeyDown OnKeyPress OnKeyUp OnMouseDown OnMouseMove OnMouseUp 1.2.10 ComboBoxComboBox - ещё один список для выбора, но выпадающий - на экране видна всего одна строка, а сам список появляется при нажатии на кнопку со стрелкой. Установив свойство Style в csDropDownList можно запретить ввод произвольного значения в ComboBox. Текст выбранной строки доступен в свойстве Text. Свойства: Color Cursor DropDownCount - высота (в элементах списка) списка при раскрытии. Enabled Font Height Hint ItemIndex Items - список строк, содержащихся в ComboBox. Редактируется в мини-редакторе. Left MaxLength - максимально возможное количество символов в поле ввода. PopupMenu ShowHint Sorted Style - стиль выпадающего списка. Чаще всего используются 3 значения этого свойства: csDropDown - вы можете выбрать элемент из списка, но и ввод данных в текстовое поле возможен. csDropDownList - вы можете только выбрать уже имеющийся элемент из списка. В текстовое поле ввести что-либо нельзя. csSimple - при установке этого значения список выполняет роль Edit. Возможность выбора из выпадающего списка отсутствует. TabOrder TabStop Tag Text - какой бы ни был выбран стиль списка, свойство всегда возвращает то, что находится в текстовом поле. Top Width События: OnChange - (основной обработчик) OnClick OnDblClick OnDropDown - происходит, когда пользователь вызывает список нажатием на кнопку. OnEnter OnExit OnKeyDown OnKeyPress OnKeyUp OnMouseDown OnMouseMove OnMouseUp 1.2.11 ScrollBarScrollBar - Полоса прокрутки. Вставляется внутрь компонента, у которого необходимо обеспечить прокрутку. Пригодится в том случае, если компонент не умещается на форме. Standard - GroupBox Группа. Компонент предназначен для группировки других компонентов внутри себя. Свойства: Align Caption - заголовок группы. Color Cursor Enabled Font Height Hint Left PopupMenu ShowHint TabOrder TabStop Tag Top Width События: OnClick - (основной обработчик) OnDblClick OnEnter OnExit OnMouseDown OnMouseMove OnMouseUp 1.2.12 GroupBoxGroupBox - "контейнер" для компонент. Используется для объединения элементов в отдельные области. При перемещении GroupBox'а все компоненты, расположенные на нём, также перемещаются. Для размещения компонент в этом контейнере следует после выбора их на Палитры компонент щёлкнуть по самому контейнеру (а не по форме, как обычно). У GroupBox можно задать текст заголовка (свойство Caption). 1.2.13 RadioGroupRadioGroup - группа из нескольких RadioButton'ов. Тексты строк задаются в свойстве Items. Номер выбранной строки - свойство ItemIndex (нумерация строк начинается с нуля!). Внешне она похожа на смесь GroupBox и ListBox с радиокнопками. Внутри группы располагается список радиокнопок. Свойства: Align Caption - заголовок группы. Color Columns - число колонок, используемых для отображения списка. Cursor Enabled Font Height Hint ItemIndex - индекс выделенной кнопки. Нумерация осуществляется с 0. -1 означает отсутствие выделенного элемента. Items - список заголовков радиокнопок. Редактируется в мини-редакторе. Сами кнопки создаются автоматически. Left PopupMenu ShowHint TabOrder TabStop Tag Top Width События: OnClick - (основной обработчик) OnEnter OnExit 1.2.14 PanelPanel - практически такой же контейнер, что и GroupBox, однако без заголовка и с возможностью отключения рельефных границ. Панель. Может служить либо для отрисовки текста (встроенная возможность), либо контейнером для других компонентов. Свойства: Align Alignment AutoSize - подгон размеров под содержимое панели. Под содержимым подразумеваются дочерние компоненты, а не текст. BevelInner, BevelOuter - стиль внутренней и внешней рамок панели. Настраивая эти свойства, вы можете добиться приподнятого или вдавленного вида панели. BevelWidth - ширина рамок панели в пикселях. BorderStyle - стиль границы. Либо её нет, либо она есть! BorderWidth - расстояние между внешней и внутренней рамкой в пикселях. Caption - текст панели. Color Cursor Enabled Font Height Hint Left PopupMenu ShowHint TabOrder TabStop Tag Top Width События: OnClick - (основной обработчик) OnDblClick OnEnter OnExit OnMouseDown OnMouseMove OnMouseUp 1.2.15 ActionListActionList - компонент для создания и централизованного управления методами, ассоциируемыми с обработчиками событий компонентов. Позволяет управлять действиями (Actions), которые привязываются к пунктам меню, кнопкам и т.д. Глава 2. Разработка программы тестирования для контроля знаний по теме «компоненты палитры «standard»» 2.1 Цель и задачиЦель - Автоматизация процесса контроля знаний учащихся по языку программирования delphi (палитры standard). Задачи: 1. Спроектировать информационную систему; 2. Выбрать средства программирования; 3. Разработать программу; Необходимо: a. создать списки контрольных вопросов; b. создать процесс обработки результатов и выставления оценок; c. создать тестирующую программную оболочку. В результате проведенного анализа существующих инструментальных средств разработки приложений был выбран продукт фирмы Borland Delphi 7.0, что обусловлено очень богатыми возможности среды программирования (работа с файлами, графикой, различными СУБД и т.д.) и простотой в использовании. 2.2 ТребованияТест должен удовлетворять определенным требованиям, так как случайно подобранный набор заданий нельзя назвать тестом: 1. Стандартизация заданий и условий их выполнения; 2. Предложенный блок тестов должен быть валидным (валидность - степень соответствия блока теста его назначению); 3. Текст каждого теста должен быть ясным для понимания и не содержать "смысловых ловушек", если это заранее не спланировано; 4. Ответы на приведённые тесты не должны являться "подсказкой" для решения других тестов; 5. Тестовые блоки должны удовлетворять всем обще дидактическим принципам, т.е. научности, доступности, наглядности; 6. Определенность. После прочтения заданий каждый учащийся понимает, какие действия он должен выполнить, какие знания продемонстрировать. Если учащийся после прочтения задания правильно действует и отвечает менее 70% учащихся, то его необходимо проверить на определенность. 7. Простота. Формулировка заданий и ответы должны быть четкими и краткими. Показателем простоты является скорость выполнения задания. 8. Однозначность. Задание должно иметь единственный правильный ответ – эталон. Большое значение имеет и правильное составление сетки ответов, что, кстати, является наиболее важной и трудной частью композиции тестов. (Действительно, в идеале, каждый ответ должен быть составлен с учётом характерных ошибок учащегося, что позволяет диагностировать его знания и характер личности наиболее точно). Принято считать оптимальное число ответов - пять. В этом случае резко падает вероятность угадывания. ( При таком количестве ответов, вероятность угадывания составляет 20%). При составлении сетки ответов на предложенные тесты можно рекомендовать следующие требования: 1. Помимо правильного ответа, три других ответа должны учитывать характерные ошибки учащегося. Очевидно, что построение такой сетки ответов, по силу лишь учителю с очень большим стажем работы. Исходя из этого, заметим, что составление отдельного теста, реально для любого учителя, однако правильный подбор сетки ответов и компоновка релевантного блока тестов по силу лишь опытному учителю. 2. В случае невозможности построения ответов по указанной в п.1 схеме, недостающее число ответов необходимо дополнить ответами, которые противоречат здравому смыслу. Отбрасывание данных ответов учащимися может трактоваться как наличие определенных знаний, интуиции приобретённой в результате целенаправленной работы в процессе обучения. 3. Ответы могут быть подобраны и таким образом, что все ответы являются правильными, но - частично! И лишь один ответ является полным, а следовательно и правильным. ( Обычно такая сетка ответов конструируется при проверке теоретической базы знаний). 2.3 Листинг программы1. Листинг первой формы: Старт unit Unit2; interface uses {использованные библиотеки} Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, XPMan, Menus, jpeg, ExtCtrls; type TForm2 = class(TForm) Button2: TButton; Button3: TButton; MainMenu1: TMainMenu; N1: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; Image1: TImage; Panel2: TPanel; Memo1: TMemo; Image2: TImage; Image3: TImage; {Описание процедур} procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure N6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses Unit1, Unit3, Unit4, Unit5; {$R *.dfm} //------------------------------------------------------------------ {выход} procedure TForm2.Button3Click(Sender: TObject); begin application.Terminate; end; //-------------------------------------------------------------------- {отображение формы с тестом, скрытие главной формы} procedure TForm2.Button2Click(Sender: TObject); begin form3.show; form2.Hide; end; //------------------------------------------------------------------------ {отображение формы "об авторе", скрытие главной формы} procedure TForm2.N6Click(Sender: TObject); begin AboutBox.show; form2.Hide; end; end. 2. Листинг второй формы: Тест unit Unit3; interface uses {библиотеки использованные при создании данного модуля} Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, ExtCtrls, jpeg; type {Описание объектов имеющихся на форме} TForm3 = class(TForm) Button2: TButton; Button3: TButton; Panel1: TPanel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; Button1: TButton; Panel2: TPanel; Label1: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button4: TButton; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Memo1: TMemo; Timer1: TTimer; Image1: TImage; Image2: TImage; Label2: TLabel; {Описание процедур} procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure RadioButton3Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure theend; private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation uses Unit2, Unit1; //-------------------------------------------------------- {ввод глобальных переменных} var f:textfile; s,d:string; z,g,j,i:integer; min,sek:byte; {$R *.dfm} //----------------------------------------------------- {процедура для начала и выполнения теста} procedure TForm3.Button1Click(Sender: TObject); begin if timer1.enabled=false then timer1.Enabled:=true; if s<>''then if z=strtoint(s) then g:=g+1; radiobutton1.visible:=true; radiobutton2.visible:=true; radiobutton3.visible:=true; button2.visible:=true; button1.caption:='Следующий вопрос'; {если не выбран не один ответ программа выдает соответствующее сообщение} if (radiobutton1.Checked=false) and (radiobutton2.Checked=false) and (radiobutton3.Checked=false) then showmessage ('Выберите один из вариантов ответа') else {иначе выдает следующий вопрос,очищает "радиобаттоны" и считает кол-во вопросов} begin radiobutton1.Checked:=false; radiobutton3.Checked:=false; radiobutton2.Checked:=false; i:=i+1; if i=16 then theend else begin {в этой процедуре переключателям присваиваются варианты ответов} readln(f,s); memo1.Text:=s; readln(f,s); radiobutton1.caption:=s; readln(f,s); radiobutton2.caption:=s; readln(f,s); radiobutton3.caption:=s; readln(f,s); radiobutton1.Checked:=false; end; end; end; //------------------------------------------------------ {процедура для коррекного закрытия программы} procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); begin form3.Button3.Click; end; //------------------------------------------------------------ {процедура перехода на главную форму} procedure TForm3.Button2Click(Sender: TObject); begin {скрытие теста} form3.Hide; {открытие главной формы} form2.show; end; //--------------------------------------------------------- {выход} procedure TForm3.Button3Click(Sender: TObject); begin application.Terminate; end; //---------------------------------------------------------------- {проверка активности переключателя и присвоение ему определенного значения} procedure TForm3.RadioButton1Click(Sender: TObject); begin z:=1; {if radiobutton1.Checked then z:=1; if radiobutton2.Checked then z:=2; if radiobutton3.Checked then z:=3;} end; //---------------------------------------------------------------- {проверка активности переключателя и присвоение ему определенного значения} procedure TForm3.RadioButton2Click(Sender: TObject); begin z:=2; {if radiobutton1.Checked then z:=1; if radiobutton2.Checked then z:=2; if radiobutton3.Checked then z:=3; } end; //----------------------------------------------------------------------- {проверка активности переключателя и присвоение ему определенного значения} procedure TForm3.RadioButton3Click(Sender: TObject); begin z:=3; {if radiobutton1.Checked then z:=1; if radiobutton2.Checked then z:=2; if radiobutton3.Checked then z:=3;} end; //------------------------------------------------------------------------- {открытие файла с вопросами и ответами для теста на чтение} procedure TForm3.FormActivate(Sender: TObject); begin assignfile(f,'Test.txt'); reset(f); end; //------------------------------------------------------------------------- {процедура для повторного тестирования} procedure TForm3.Button4Click(Sender: TObject); begin form3.Hide; form2.Show; form2.Hide; form3.Show; g:=0; j:=0; i:=0; sek:=0; min:=0; radiobutton1.Checked:=true; label1.Caption:='Тест'; button1.caption:='Начать тест'; Edit1.Visible:=false; Edit2.Visible:=false; Edit3.Visible:=false; Edit4.Visible:=false; Edit5.Visible:=false; Edit6.Visible:=false; Edit7.Visible:=false; button1.Visible:=true; button4.Visible:=false; end; //-------------------------------------------------------------------------- procedure TForm3.Timer1Timer(Sender: TObject); begin sek:=sek+1; if sek=60 then begin sek:=0; min:=min+1; end; if min<10 then label2.Caption:='0'+inttostr(min)+':' else label2.Caption:=inttostr(min)+':'; if sek<10 then label2.Caption:=label2.Caption+'0'+inttostr(sek) else label2.Caption:=label2.Caption+inttostr(sek); if min=8 then theend; end; procedure tform3.theend; begin timer1.Enabled:=false; radiobutton1.Visible:=false; radiobutton2.Visible:=false; radiobutton3.Visible:=false; memo1.Text:='РЕЗУЛЬТАТ ТЕСТИРОВАНИЯ'; Edit1.Visible:=True; Edit2.Visible:=True; Edit2.Text:=inttostr(i-1); Edit3.Visible:=True; Edit4.Visible:=True; Edit5.Visible:=True; Edit5.Text:=inttostr(g); Edit6.Visible:=True; Edit7.Visible:=True; Edit7.Text:=inttostr(i-g-1); closefile(f); button1.Visible:=false; button4.Visible:=true; end; end. 3. Листинг третьей формы: Об авторе unit Unit4; interface uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls, jpeg; type TAboutBox = class(TForm) OKButton: TButton; Panel2: TPanel; Memo1: TMemo; Image1: TImage; Image2: TImage; procedure OKButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var AboutBox: TAboutBox; implementation uses Unit2; {$R *.dfm} procedure TAboutBox.OKButtonClick(Sender: TObject); {переход на главную форму и скрытие окна "об авторе"} begin AboutBox.Hide; form2.show; end; end. 2.4 Тестирование программыВ ходе тестирования были проверены требования к программному продукту (тест). Было протестировано правильность работ все командных кнопок, теста программы, и подсчет, вывод результата. В ходе тестирования были выявлены ошибки. Со временем они были устранены. Вопросы и правильные ответы к ним: Пояснение: жирным шрифтом выделены правильные ответы.
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |