Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
10 Тестирование.doc
Скачиваний:
9
Добавлен:
20.08.2019
Размер:
250.37 Кб
Скачать

Задание для самостоятельного выполнения, №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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]