- •Практическая работа №10 «Разработка проекта тест по физике»
- •Общие положения
- •План разработки программы, №8
- •В разделе Var переменные Num1, Num2 и CountR объявите как целочисленные перед разделом implementation. Задание для самостоятельного выполнения, №8
- •«Разработка проекта тест по информатике» п остановка задачи
- •План разработки программы, №9
- •Задание для самостоятельного выполнения, №9
- •Листинг программы, №9
- •«Разработка проекта тест по географии» п остановка задачи
- •Разработал студент группы 2а1 Смирнов Иван
- •План разработки, №10
- •2 . Создать титульную форму
- •Разработал студент группы 2а1 Смирнов Иван
- •3. Создать форму меню (u_Menu)
- •6. Создание формы помощи (u_Instr)
- •7. Создать форму Тестирование (u_Test)
- •8. Создать форму Результат (u_Res)
- •Задание для самостоятельного выполнения, №10
- •Листинг программы, №10
Задание для самостоятельного выполнения, №9
|
Задание |
Подсказка |
1 |
Для контроля правильности работы программы вывести на панель набранную пользователем сумму баллов. |
Заголовку соответствующей панели (или метки) присвоить значение IntToStr(sum). |
2 |
Запустите программу и убедитесь, что верная сумма баллов получается лишь при последовательном выборе переключателей сначала из RadioGroup1, затем из RadioGroup2 и т.д. Если порядок нарушен, то результат может быть неверным. Чтобы этого не случилось, вставьте дополнительную кнопку и сделайте подсчет баллов только после ее нажатия |
|
3 |
Сделайте возможным повторный запуск программы. |
|
4 |
Для наглядности вывести результат разным цветом. |
В оператор Case при выводе результата задать свойству Font.Color выбранный цвет. Например: Panel1.Font.Color:=clRed; |
5 |
Усовершенствуйте программу, введя в раздел описания массив констант с номерами правильных ответов, а в программе только сравнивайте индекс переключателя со значением константы. |
|
Листинг программы, №9
unit unit8; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; RadioGroup1: TRadioGroup; RadioGroup2: TRadioGroup; RadioGroup3: TRadioGroup; RadioGroup4: TRadioGroup; RadioGroup5: TRadioGroup; Label6: TLabel; Panel1: TPanel; BitBtn1: TBitBtn; Button1: TButton; BitBtn2: TBitBtn; procedure Button1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; type T1 = array[0..4, 0..4] of byte; const otv:T1=((0,0,0,1,0),(0,1,0,0,0),(0,1,0,0,0),(0,1,0,0,0),(1,0,0,0,0)); var Form1: TForm1; sum :integer; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin sum:=otv[0,RadioGroup1.ItemIndex]+otv[1,RadioGroup2.ItemIndex]+ otv[2,RadioGroup3.ItemIndex]+otv[3,RadioGroup4.ItemIndex]+ otv[4,RadioGroup5.ItemIndex]; case sum of 0..2:begin Panel1.Font.Color:=$000000; Panel1.Caption:=IntToStr(sum)+' баллов.Плохо!'; end; 3: begin Panel1.Font.Color:=$0000FF; Panel1.Caption:=IntToStr(sum)+' баллов.Удолетворительно!'; end; 4: begin Panel1.Font.Color:=$00FF00; Panel1.Caption:=IntToStr(sum)+' баллов.Хорошо!'; end; 5:begin Panel1.Font.Color:=$FF0000; Panel1.Caption:=IntToStr(sum)+' баллов.Отлично!'; end; end; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin RadioGroup1.ItemIndex:= -1; RadioGroup2.ItemIndex:= -1; RadioGroup3.ItemIndex:= -1; RadioGroup4.ItemIndex:= -1; RadioGroup5.ItemIndex:= -1; Panel1.Caption:=''; end; end. |