- •Введение
- •1. Общая часть
- •Цель и анализ использования разработки
- •1.2 Характеристики используемой операционной систем
- •1.3 Характеристика языка программирования
- •1.3.1 История возникновения и развития языка Object Pascal
- •1.3.2 Компиляторы Delphi
- •Постановка задачи
- •1.3.3 Выражения в Object Pascal (Delphi)
- •2. Специальная часть
- •Алгоритм программы (подпрограммы)
- •2.3 Текст программы с комментариями
- •2.4 Описание процесса отладки
- •2.5 Результат работы программы
- •2.6 Инструкция по решению задач
- •Заключение
- •Используемая литература
- •Приложение а. Вопросы по теме «Двигатель»
- •Приложение b. Вопросы по теме «Кривошипно-шатунный механизм»
- •Приложение c. Вопросы по теме «Механизм газораспределения»
- •Приложение d. Текст программы
Приложение d. Текст программы
unit Unit_Meny;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls;
type
TMenu1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
BitBtn3: TBitBtn;
procedure BitBtn3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Menu1: TMenu1;
implementation
uses Unit_Test2, Unit_Test1, Unit_Help, Unit_Test3;
{$R *.dfm}
Кнопка «Выход»
procedure TMenu1.BitBtn3Click(Sender: TObject);
begin
close;
end;
Кнопка «Двигатель»
procedure TMenu1.Button1Click(Sender: TObject);
begin
Test1.show;K:=0; otc:=0;
end;
Кнопка «КШМ»
procedure TMenu1.Button2Click(Sender: TObject);
begin
test2.Show; k:=0; otc:=0;
end;
Кнопка «Механизм газораспределения»
procedure TMenu1.Button3Click(Sender: TObject);
begin
test3.show; K:=0; otc:=0;
end;
procedure TMenu1.FormCreate(Sender: TObject);
begin
application.Title:='ИТОГ'
end;
end.
Тест по теме «Двигатель»
На вкладках расположены вопросы, при ответе на все выводится окно с количеством набранных баллов и оценкой при нажатии на кнопку завершить тест программа переходит на форму «Меню». Есть кнопка далее которая, которая позволяет переход с вопроса на вопрос.
unit Unit_Test1;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ComCtrls,Dialogs, ExtCtrls;
type
TTest1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
OKBtn: TButton;
CancelBtn: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
GroupBox2: TGroupBox;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
CheckBox13: TCheckBox;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
GroupBox3: TGroupBox;
CheckBox14: TCheckBox;
CheckBox15: TCheckBox;
CheckBox16: TCheckBox;
CheckBox17: TCheckBox;
CheckBox18: TCheckBox;
CheckBox19: TCheckBox;
CheckBox20: TCheckBox;
GroupBox4: TGroupBox;
CheckBox21: TCheckBox;
CheckBox22: TCheckBox;
CheckBox23: TCheckBox;
CheckBox24: TCheckBox;
CheckBox25: TCheckBox;
GroupBox5: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
GroupBox6: TGroupBox;
CheckBox26: TCheckBox;
CheckBox27: TCheckBox;
CheckBox28: TCheckBox;
CheckBox29: TCheckBox;
CheckBox30: TCheckBox;
GroupBox7: TGroupBox;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
RadioButton9: TRadioButton;
GroupBox8: TGroupBox;
CheckBox31: TCheckBox;
CheckBox32: TCheckBox;
CheckBox33: TCheckBox;
CheckBox34: TCheckBox;
CheckBox35: TCheckBox;
CheckBox36: TCheckBox;
CheckBox37: TCheckBox;
CheckBox38: TCheckBox;
CheckBox39: TCheckBox;
CheckBox40: TCheckBox;
GroupBox9: TGroupBox;
CheckBox41: TCheckBox;
CheckBox42: TCheckBox;
CheckBox43: TCheckBox;
CheckBox44: TCheckBox;
CheckBox45: TCheckBox;
TabSheet11: TTabSheet;
TabSheet12: TTabSheet;
TabSheet13: TTabSheet;
TabSheet14: TTabSheet;
TabSheet15: TTabSheet;
TabSheet16: TTabSheet;
TabSheet17: TTabSheet;
TabSheet18: TTabSheet;
Label31: TLabel;
GroupBox10: TGroupBox;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
GroupBox11: TGroupBox;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Label61: TLabel;
GroupBox12: TGroupBox;
CheckBox46: TCheckBox;
CheckBox47: TCheckBox;
CheckBox48: TCheckBox;
CheckBox49: TCheckBox;
CheckBox50: TCheckBox;
GroupBox13: TGroupBox;
RadioButton10: TRadioButton;
RadioButton11: TRadioButton;
RadioButton12: TRadioButton;
RadioButton13: TRadioButton;
RadioButton14: TRadioButton;
GroupBox14: TGroupBox;
CheckBox51: TCheckBox;
CheckBox52: TCheckBox;
CheckBox53: TCheckBox;
CheckBox54: TCheckBox;
CheckBox55: TCheckBox;
Label62: TLabel;
TabSheet19: TTabSheet;
TabSheet20: TTabSheet;
TabSheet21: TTabSheet;
TabSheet22: TTabSheet;
TabSheet23: TTabSheet;
TabSheet24: TTabSheet;
TabSheet25: TTabSheet;
GroupBox15: TGroupBox;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
Edit15: TEdit;
Edit16: TEdit;
Edit17: TEdit;
Edit18: TEdit;
Edit19: TEdit;
GroupBox16: TGroupBox;
Label71: TLabel;
Label72: TLabel;
Label73: TLabel;
Label74: TLabel;
Label75: TLabel;
Label76: TLabel;
Label77: TLabel;
Label78: TLabel;
Label79: TLabel;
Label80: TLabel;
Label81: TLabel;
Label82: TLabel;
Label83: TLabel;
Label87: TLabel;
Edit20: TEdit;
Edit22: TEdit;
Edit21: TEdit;
Edit23: TEdit;
GroupBox17: TGroupBox;
Label88: TLabel;
Label89: TLabel;
Label90: TLabel;
Label91: TLabel;
Label92: TLabel;
Label93: TLabel;
Label94: TLabel;
Label95: TLabel;
Label96: TLabel;
Label97: TLabel;
Label98: TLabel;
Label99: TLabel;
Label100: TLabel;
Label101: TLabel;
Edit24: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Edit27: TEdit;
Label105: TLabel;
GroupBox18: TGroupBox;
Label106: TLabel;
Label107: TLabel;
Label108: TLabel;
CheckBox56: TCheckBox;
CheckBox57: TCheckBox;
CheckBox58: TCheckBox;
CheckBox59: TCheckBox;
CheckBox60: TCheckBox;
CheckBox61: TCheckBox;
CheckBox62: TCheckBox;
GroupBox19: TGroupBox;
Label112: TLabel;
Label113: TLabel;
CheckBox63: TCheckBox;
CheckBox64: TCheckBox;
CheckBox65: TCheckBox;
CheckBox66: TCheckBox;
CheckBox67: TCheckBox;
GroupBox20: TGroupBox;
CheckBox68: TCheckBox;
CheckBox69: TCheckBox;
CheckBox70: TCheckBox;
CheckBox71: TCheckBox;
CheckBox72: TCheckBox;
TabSheet26: TTabSheet;
GroupBox21: TGroupBox;
RadioButton15: TRadioButton;
RadioButton16: TRadioButton;
RadioButton17: TRadioButton;
RadioButton18: TRadioButton;
RadioButton19: TRadioButton;
Label4: TLabel;
procedure OKBtnClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Test1: TTest1;
k:integer; otc:byte;
implementation
Uses Unit_Meny;
{$R *.dfm}
Кнопка «Далее» - считает количество набранных баллов
procedure TTest1.OKBtnClick(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
1:if (not checkbox1.checked) and(not checkbox2.Checked)and
(not checkbox3.Checked) and (not checkbox4.Checked)and
(not checkbox5.Checked)and (checkbox6.Checked)and
(Checkbox7.Checked)then k:=k+2
else if (checkbox6.Checked) or (checkbox7.Checked)
then k:=k+1;
2:if (checkbox8.checked) and(checkbox9.Checked)and
(checkbox10.Checked) and ( checkbox11.Checked)and
(not checkbox12.Checked)and (not checkbox13.Checked)then k:=k+2
else if (checkbox8.checked) and(checkbox9.Checked)and
(checkbox10.Checked) and ( checkbox11.Checked)then k:=k+1;
3: if (checkbox14.checked) and(checkbox15.Checked)and
(checkbox16.Checked) and (checkbox19.Checked)and
(checkbox20.Checked)and (not checkbox17.Checked)and
( not Checkbox18.Checked)then k:=k+2
else if (checkbox14.checked) or(checkbox15.Checked)or
(checkbox16.Checked) or (checkbox19.Checked) or
(checkbox20.Checked) then k:=k+1;
4:if (not checkbox21.checked) and(not checkbox22.Checked)and
(not checkbox23.Checked) and (checkbox24.Checked)and
(checkbox25.Checked) then k:=k+2
else if(checkbox24.Checked)or (checkbox25.Checked) then k:=k+1 ;
5: if radiobutton4.Checked then k:=k+2;
6: if (not checkbox27.Checked)and(not checkbox26.Checked)and
(checkbox29.Checked)and (checkbox28.checked)and
(checkbox30.Checked) then k:=k+2
else if (checkbox29.Checked)or (checkbox28.checked)or
(checkbox30.Checked) then k:=k+1;
7: if radiobutton7.Checked then k:=k+2;
8: if (checkbox31.Checked)and(not checkbox32.Checked)and
(checkbox33.Checked)and (not checkbox34.checked)and
(checkbox35.Checked)and(not checkbox36.Checked)and
(not checkbox39.Checked)and
(checkbox37.Checked)and (checkbox38.checked)and
(checkbox40.Checked) then k:=k+2
else if (checkbox31.Checked)or (checkbox33.checked)or
(checkbox35.Checked)or(checkbox37.Checked)or
(checkbox38.checked)or(checkbox40.Checked) then k:=k+1;
9 :if (checkbox41.Checked)and(not checkbox42.Checked)and
(not checkbox43.Checked)and (checkbox44.checked)and
( not checkbox45.Checked) then k:=k+2
else if (checkbox41.Checked)and(checkbox44.Checked)
then k:=k+1;
11:if (edit1.text='3')and(edit2.Text='7')and
(edit3.Text='8')and(edit4.Text='5')and
(edit5.Text='4')and(edit6.Text='1')and
(edit7.Text='6')and(edit8.Text='2')then k:=k+2;
12: if (edit9.text='3')and(edit10.Text='6')and
(edit11.Text='2')and(edit12.Text='5')and
(edit13.Text='1')and(edit14.Text='4')then k:=k+2;
14:if (checkbox46.Checked)and(not checkbox47.Checked)and
(checkbox48.Checked)and (NOT checkbox49.checked)and
( not checkbox50.Checked) then k:=k+2
else if (checkbox46.Checked)and(checkbox48.Checked)
then k:=k+1;
15: if radiobutton14.Checked then k:=k+2;
16: if (checkbox51.Checked)and(checkbox52.Checked)and
(checkbox53.Checked)and (NOT checkbox54.checked)and
(checkbox55.Checked) then k:=k+2
else if (checkbox51.Checked)or(checkbox52.Checked)or
(checkbox53.Checked)or(checkbox55.checked)then k:=k+1;
18: if (edit15.text='2')and(edit16.Text='5')and
(edit17.Text='1')and(edit18.Text='4')and
(edit19.Text='3')then k:=k+2;
19: if ((edit20.text='c')or(edit20.Text='C'))and
((edit21.Text='a')or(edit21.Text='A'))and
((edit22.text='d')or(edit22.Text='D'))and
((edit23.Text='b')or(edit23.Text='B')) then k:=k+2;
20: if ((edit24.text='a')or(edit24.Text='A'))and
((edit25.Text='b')or(edit25.Text='B'))and
((edit26.text='c')or(edit26.Text='C'))and
((edit27.Text='d')or(edit27.Text='D')) then k:=k+2;
22: if (checkbox56.checked) and(not checkbox57.Checked)and
(not checkbox58.Checked) and (not checkbox59.Checked)and
(checkbox60.Checked)and (not checkbox61.Checked)and
(Checkbox62.Checked)then k:=k+2
else if (checkbox56.Checked)or(checkbox60.Checked)or
(checkbox62.Checked) then k:=k+1;
23: if (not checkbox63.checked) and(not checkbox64.Checked)and
(checkbox65.Checked) and (checkbox66.Checked)and
(not checkbox67.Checked) then k:=k+2
else if (checkbox65.Checked) or (checkbox66.Checked)
then k:=k+1;
24: if (not checkbox68.checked) and(checkbox69.Checked)and
(checkbox70.Checked) and (not checkbox71.Checked)and
(not checkbox72.Checked) then k:=k+2
else if (checkbox69.Checked) or (checkbox70.Checked)then k:=k+1;
25:Begin if radiobutton16.Checked then k:=k+2;
if k> 89*42/100 then otc:=5
else if k > 79*42/100 then otc:=4
else if k>69*42/100 then otc:=3
else otc:=2;
Окно выводящее количество набранных баллов и оценку
showmessage('Набранно баллов '+ inttostr(k)+' из 42'+#13#10+
'оценка '+inttostr(otc));
pagecontrol1.Enabled:=false;
cancelbtn.Enabled:=true;
okbtn.Enabled:=false;
end;
end;
pagecontrol1.ActivePageIndex:= pagecontrol1.ActivePageIndex+1;
end;
procedure TTest1.FormActivate(Sender: TObject);
var k:integer;
begin
K:=0;
pagecontrol1.ActivePageIndex:=0
end;
Кнопка «Завершить тест» - переводит программу на форму «меню»
procedure TTest1.CancelBtnClick(Sender: TObject);
begin
test1.hide;
menu1.Button1.Enabled:=false;
end;
end.
Тест по теме «КШМ»
На вкладках расположены вопросы, при ответе на все выводится окно с количеством набранных баллов и оценкой при нажатии на кнопку завершить тест программа переходит на форму «Меню». Есть кнопка далее которая, которая позволяет переход с вопроса на вопрос.
unit Unit_Test2;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ComCtrls, ExtCtrls, Dialogs;
type
TTest2 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
OKBtn: TButton;
CancelBtn: TButton;
Label1: TLabel;
TabSheet4: TTabSheet;
Label2: TLabel;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
GroupBox2: TGroupBox;
Label9: TLabel;
Label10: TLabel;
Edit2: TEdit;
Label14: TLabel;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
TabSheet11: TTabSheet;
TabSheet12: TTabSheet;
TabSheet13: TTabSheet;
TabSheet14: TTabSheet;
GroupBox3: TGroupBox;
Label15: TLabel;
Label16: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
GroupBox4: TGroupBox;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
CheckBox13: TCheckBox;
CheckBox14: TCheckBox;
CheckBox15: TCheckBox;
CheckBox16: TCheckBox;
GroupBox5: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
GroupBox6: TGroupBox;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
RadioButton9: TRadioButton;
RadioButton10: TRadioButton;
GroupBox7: TGroupBox;
CheckBox17: TCheckBox;
CheckBox18: TCheckBox;
CheckBox19: TCheckBox;
CheckBox20: TCheckBox;
CheckBox21: TCheckBox;
CheckBox22: TCheckBox;
CheckBox23: TCheckBox;
CheckBox24: TCheckBox;
CheckBox25: TCheckBox;
CheckBox26: TCheckBox;
CheckBox27: TCheckBox;
CheckBox28: TCheckBox;
GroupBox8: TGroupBox;
CheckBox29: TCheckBox;
CheckBox30: TCheckBox;
CheckBox31: TCheckBox;
CheckBox32: TCheckBox;
CheckBox33: TCheckBox;
CheckBox34: TCheckBox;
CheckBox35: TCheckBox;
CheckBox36: TCheckBox;
CheckBox37: TCheckBox;
CheckBox38: TCheckBox;
CheckBox39: TCheckBox;
CheckBox40: TCheckBox;
GroupBox9: TGroupBox;
CheckBox41: TCheckBox;
CheckBox42: TCheckBox;
CheckBox43: TCheckBox;
CheckBox44: TCheckBox;
CheckBox45: TCheckBox;
GroupBox10: TGroupBox;
Label41: TLabel;
RadioButton11: TRadioButton;
RadioButton12: TRadioButton;
RadioButton13: TRadioButton;
RadioButton14: TRadioButton;
GroupBox11: TGroupBox;
Label45: TLabel;
RadioButton15: TRadioButton;
RadioButton16: TRadioButton;
RadioButton17: TRadioButton;
RadioButton18: TRadioButton;
RadioButton19: TRadioButton;
RadioButton20: TRadioButton;
GroupBox12: TGroupBox;
CheckBox46: TCheckBox;
CheckBox47: TCheckBox;
CheckBox48: TCheckBox;
CheckBox49: TCheckBox;
CheckBox50: TCheckBox;
TabSheet15: TTabSheet;
TabSheet16: TTabSheet;
TabSheet17: TTabSheet;
TabSheet18: TTabSheet;
TabSheet19: TTabSheet;
TabSheet20: TTabSheet;
TabSheet21: TTabSheet;
TabSheet22: TTabSheet;
GroupBox13: TGroupBox;
Label52: TLabel;
CheckBox51: TCheckBox;
CheckBox52: TCheckBox;
CheckBox53: TCheckBox;
CheckBox54: TCheckBox;
Label56: TLabel;
GroupBox14: TGroupBox;
Label57: TLabel;
Label58: TLabel;
Label59: TLabel;
Label60: TLabel;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
Label68: TLabel;
Image1: TImage;
Label69: TLabel;
Label70: TLabel;
Label71: TLabel;
Label72: TLabel;
Label73: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Label74: TLabel;
GroupBox15: TGroupBox;
Label75: TLabel;
RadioButton21: TRadioButton;
RadioButton22: TRadioButton;
RadioButton23: TRadioButton;
RadioButton24: TRadioButton;
RadioButton25: TRadioButton;
RadioButton26: TRadioButton;
GroupBox16: TGroupBox;
Label76: TLabel;
Label77: TLabel;
CheckBox55: TCheckBox;
CheckBox56: TCheckBox;
CheckBox57: TCheckBox;
CheckBox58: TCheckBox;
CheckBox59: TCheckBox;
CheckBox60: TCheckBox;
GroupBox17: TGroupBox;
CheckBox61: TCheckBox;
CheckBox62: TCheckBox;
CheckBox63: TCheckBox;
CheckBox64: TCheckBox;
GroupBox18: TGroupBox;
Label78: TLabel;
RadioButton27: TRadioButton;
RadioButton28: TRadioButton;
RadioButton29: TRadioButton;
RadioButton30: TRadioButton;
TabSheet23: TTabSheet;
TabSheet24: TTabSheet;
TabSheet25: TTabSheet;
TabSheet26: TTabSheet;
GroupBox19: TGroupBox;
Label79: TLabel;
Label80: TLabel;
CheckBox65: TCheckBox;
CheckBox66: TCheckBox;
CheckBox67: TCheckBox;
CheckBox68: TCheckBox;
CheckBox69: TCheckBox;
CheckBox70: TCheckBox;
Label81: TLabel;
GroupBox20: TGroupBox;
Label82: TLabel;
Label83: TLabel;
Label84: TLabel;
Label85: TLabel;
Label86: TLabel;
Label87: TLabel;
Label88: TLabel;
Label89: TLabel;
Label90: TLabel;
Label91: TLabel;
Image2: TImage;
Label92: TLabel;
Label93: TLabel;
Label94: TLabel;
Label95: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Label96: TLabel;
TabSheet27: TTabSheet;
TabSheet28: TTabSheet;
TabSheet29: TTabSheet;
GroupBox21: TGroupBox;
Label97: TLabel;
Label98: TLabel;
CheckBox71: TCheckBox;
CheckBox72: TCheckBox;
CheckBox73: TCheckBox;
CheckBox74: TCheckBox;
CheckBox75: TCheckBox;
CheckBox76: TCheckBox;
CheckBox77: TCheckBox;
CheckBox78: TCheckBox;
GroupBox22: TGroupBox;
Label99: TLabel;
CheckBox79: TCheckBox;
CheckBox80: TCheckBox;
CheckBox81: TCheckBox;
CheckBox82: TCheckBox;
CheckBox83: TCheckBox;
CheckBox84: TCheckBox;
CheckBox85: TCheckBox;
CheckBox86: TCheckBox;
CheckBox87: TCheckBox;
CheckBox88: TCheckBox;
GroupBox23: TGroupBox;
CheckBox89: TCheckBox;
CheckBox90: TCheckBox;
CheckBox91: TCheckBox;
CheckBox92: TCheckBox;
CheckBox93: TCheckBox;
CheckBox94: TCheckBox;
CheckBox95: TCheckBox;
procedure OKBtnClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Test2: TTest2;k:integer; otc:integer;
implementation
uses Unit_Meny;
{$R *.dfm}
Кнопка «Далее»
procedure TTest2.OKBtnClick(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
1: If (edit1.text='Вращательное') or (edit1.text='вращательное')or
(edit1.text='ВРАЩАТЕЛЬНОЕ')then k:=k+2;
2: If (edit2.text='Пальца') or (edit2.text='пальца')or
(edit2.text='ПАЛЬЦА')then k:=k+2;
4: if (checkbox1.Checked)and(not checkbox2.Checked)and
(not checkbox3.Checked)and (checkbox4.checked)and
(not checkbox5.Checked)and(not checkbox6.Checked)and
(checkbox7.Checked)and
(checkbox8.Checked)and (not checkbox9.checked)and
(checkbox10.Checked) then k:=k+2
else if (checkbox1.Checked)or (checkbox4.checked)or
(checkbox7.Checked)or(checkbox8.Checked)or
(checkbox10.checked) then k:=k+1 ;
5: if (not checkbox11.Checked)and(not checkbox12.Checked)and
(checkbox13.Checked)and ( not checkbox14.checked)and
(not checkbox15.Checked)and(checkbox16.Checked)then k:=k+2
else if (checkbox13.Checked)or(checkbox16.Checked)then k:=k+1;
6: if radiobutton5.Checked then k:=k+2;
7: if radiobutton10.Checked then k:=k+2;
8: if (checkbox17.Checked)and(checkbox18.Checked)and
(not checkbox19.Checked)and (checkbox20.checked)and
(not checkbox21.Checked)and(not checkbox22.Checked)and
(not checkbox23.Checked)and(checkbox24.Checked)and
(checkbox25.checked)and(not checkbox26.Checked)and
(checkbox27.Checked)and(not checkbox28.Checked) then k:=k+2
else if (checkbox17.Checked)or(checkbox18.Checked)and
(checkbox20.checked)or(checkbox24.Checked)and
(checkbox27.Checked)or(checkbox25.Checked) then k:=k+1;
9: if (not checkbox29.Checked)and(not checkbox30.Checked)and
(not checkbox31.Checked)and (not checkbox32.checked)and
(checkbox33.Checked)and(checkbox34.Checked)and
(checkbox35.Checked)and(not checkbox36.Checked)and
(not checkbox37.checked)and(not checkbox38.Checked)and
(not checkbox39.Checked)and(checkbox40.Checked) then k:=k+2
else if (checkbox33.Checked)or(checkbox34.Checked)and
(checkbox35.checked)or(checkbox40.Checked)then k:=k+1;
10: if (checkbox41.Checked)and(not checkbox42.Checked)and
(not checkbox43.Checked)and (checkbox44.checked)and
(not checkbox45.Checked)then k:=k+2
else if (checkbox41.Checked)or
(checkbox44.checked) then k:=k+1;
11: if radiobutton12.Checked then k:=k+2;
12:if radiobutton18.Checked then k:=k+2;
13:if (checkbox46.Checked)and(not checkbox47.Checked)and
(checkbox48.Checked)and (checkbox49.checked)and
(not checkbox50.Checked)then k:=k+2
else if (checkbox46.Checked)or (checkbox48.checked)or
(checkbox49.Checked) then k:=k+1;
14:if (not checkbox51.Checked)and(not checkbox52.Checked)and
(checkbox53.Checked)and (checkbox54.checked)then k:=k+2
else if (checkbox53.Checked)or
(checkbox54.checked) then k:=k+1;
16: if(edit3.Text='3')and(edit4.Text='4')and
(edit5.Text='1') and(edit6.Text='5') and
(edit7.Text='2') then k:=k+2;
18:if radiobutton21.Checked then k:=k+2;
19: if (not checkbox55.Checked)and(checkbox56.Checked)and
(checkbox57.Checked)and (checkbox58.checked)and
(not checkbox59.Checked)and (checkbox60.Checked)then k:=k+2
else if (checkbox56.Checked)or (checkbox57.checked)or
(checkbox58.Checked)or (checkbox60.Enabled)then k:=k+1;
20:if (not checkbox61.Checked)and(checkbox62.Checked)and
(not checkbox63.Checked)and (checkbox64.checked)then k:=k+2
else if (checkbox62.Checked)or (checkbox64.checked)then k:=k+1;
21:if radiobutton28.Checked then k:=k+2;
22: if (not checkbox65.Checked)and(not checkbox66.Checked)and
(not checkbox67.Checked)and (not checkbox68.checked)and
(checkbox69.Checked)and (checkbox70.Checked)then k:=k+2
else if (checkbox69.Checked)or
(checkbox70.checked) then k:=k+1;
24: if(edit8.Text='1')and(edit9.Text='3')and
(edit10.Text='4') and(edit11.Text='2') then k:=k+2;
26:if (not checkbox71.Checked)and(checkbox72.Checked)and
(not checkbox73.Checked)and (checkbox74.checked)and
(checkbox75.Checked)and(checkbox76.Checked)and
(not checkbox77.Checked)and (checkbox78.checked) then k:=k+2
else if (checkbox72.Checked)or (checkbox74.checked)or
(checkbox75.Checked)or(checkbox76.Checked)or
(checkbox78.Checked)then k:=k+1;
27: if (checkbox79.Checked)and(checkbox80.Checked)and
(checkbox81.Checked)and (not checkbox82.checked)and
(not checkbox83.Checked)and(checkbox84.Checked)and
(checkbox85.Checked)and (not checkbox86.checked) and
(not checkbox87.Checked)and (checkbox88.Checked) then k:=k+2
else if (checkbox79.Checked)or(checkbox80.Checked)or
(checkbox81.Checked)or (checkbox84.checked)or
(checkbox85.Checked)or(checkbox88.Checked) then k:=k+1;
28:begin if (checkbox89.Checked)and(checkbox90.Checked)and
(not checkbox91.Checked)and (not checkbox92.checked)and
(checkbox93.Checked)and(not checkbox94.Checked)and
(checkbox95.Checked)then k:=k+2
else if (checkbox89.Checked)or(checkbox90.Checked)or
(checkbox93.Checked)or(checkbox95.checked) then k:=k+1;
if k> 89*46/100 then otc:=5
else if k > 79*46/100 then otc:=4
else if k>69*46/100 then otc:=3
else otc:=2;
Окно выводящее оценку и количество набранных баллов
showmessage('Набранно баллов '+ inttostr(k)+' из 46'+#13#10+
'оценка '+inttostr(otc));
pagecontrol1.Enabled:=false;
cancelbtn.Enabled:=true;
okbtn.Enabled:=false;
end;
end;
pagecontrol1.ActivePageIndex:= pagecontrol1.ActivePageIndex+1;
end;
procedure TTest2.FormActivate(Sender: TObject);
begin
K:=0;
pagecontrol1.ActivePageIndex:=0
end;
Кнопка «Завершить тест» переводит программу на форму «Меню»
procedure TTest2.CancelBtnClick(Sender: TObject);
begin
test2.hide;
menu1.Button2.Enabled:=false;
end;
end.
Тест по теме «Механизм газораспределения»
На вкладках расположены вопросы, при ответе на все выводится окно с количеством набранных баллов и оценкой при нажатии на кнопку завершить тест программа переходит на форму «Меню». Есть кнопка «далее» которая, позволяет переход с вопроса на вопрос.
unit Unit_Test3;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ComCtrls, Dialogs,ExtCtrls;
type
TTest3 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
OKBtn: TButton;
CancelBtn: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
Label11: TLabel;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
CheckBox13: TCheckBox;
CheckBox14: TCheckBox;
Label12: TLabel;
Label14: TLabel;
CheckBox15: TCheckBox;
CheckBox16: TCheckBox;
CheckBox17: TCheckBox;
CheckBox18: TCheckBox;
CheckBox19: TCheckBox;
CheckBox20: TCheckBox;
CheckBox21: TCheckBox;
CheckBox22: TCheckBox;
CheckBox23: TCheckBox;
CheckBox24: TCheckBox;
CheckBox25: TCheckBox;
CheckBox26: TCheckBox;
CheckBox27: TCheckBox;
Label16: TLabel;
CheckBox28: TCheckBox;
CheckBox29: TCheckBox;
CheckBox30: TCheckBox;
CheckBox31: TCheckBox;
CheckBox32: TCheckBox;
CheckBox33: TCheckBox;
CheckBox34: TCheckBox;
CheckBox35: TCheckBox;
CheckBox36: TCheckBox;
CheckBox37: TCheckBox;
CheckBox38: TCheckBox;
Label17: TLabel;
CheckBox39: TCheckBox;
CheckBox40: TCheckBox;
CheckBox41: TCheckBox;
CheckBox42: TCheckBox;
CheckBox43: TCheckBox;
CheckBox44: TCheckBox;
CheckBox45: TCheckBox;
CheckBox46: TCheckBox;
CheckBox47: TCheckBox;
CheckBox48: TCheckBox;
CheckBox49: TCheckBox;
CheckBox50: TCheckBox;
Label19: TLabel;
Label20: TLabel;
Image1: TImage;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
TabSheet9: TTabSheet;
TabSheet10: TTabSheet;
TabSheet11: TTabSheet;
TabSheet12: TTabSheet;
TabSheet13: TTabSheet;
TabSheet14: TTabSheet;
TabSheet15: TTabSheet;
TabSheet16: TTabSheet;
TabSheet17: TTabSheet;
TabSheet18: TTabSheet;
TabSheet19: TTabSheet;
TabSheet20: TTabSheet;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Image2: TImage;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label43: TLabel;
Image3: TImage;
CheckBox51: TCheckBox;
CheckBox52: TCheckBox;
CheckBox53: TCheckBox;
CheckBox54: TCheckBox;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Image4: TImage;
CheckBox55: TCheckBox;
CheckBox56: TCheckBox;
CheckBox57: TCheckBox;
CheckBox58: TCheckBox;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
Image5: TImage;
CheckBox59: TCheckBox;
CheckBox60: TCheckBox;
CheckBox61: TCheckBox;
CheckBox62: TCheckBox;
CheckBox63: TCheckBox;
Label53: TLabel;
Label54: TLabel;
Label55: TLabel;
Label56: TLabel;
Label57: TLabel;
Label58: TLabel;
Image6: TImage;
Label59: TLabel;
CheckBox64: TCheckBox;
CheckBox65: TCheckBox;
CheckBox66: TCheckBox;
CheckBox67: TCheckBox;
Label60: TLabel;
Label61: TLabel;
Label62: TLabel;
CheckBox68: TCheckBox;
CheckBox69: TCheckBox;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
CheckBox70: TCheckBox;
CheckBox71: TCheckBox;
CheckBox72: TCheckBox;
CheckBox73: TCheckBox;
CheckBox74: TCheckBox;
CheckBox75: TCheckBox;
CheckBox76: TCheckBox;
Label68: TLabel;
Label69: TLabel;
CheckBox77: TCheckBox;
CheckBox78: TCheckBox;
CheckBox79: TCheckBox;
CheckBox80: TCheckBox;
CheckBox81: TCheckBox;
Label70: TLabel;
Label71: TLabel;
CheckBox82: TCheckBox;
CheckBox83: TCheckBox;
CheckBox84: TCheckBox;
CheckBox85: TCheckBox;
CheckBox86: TCheckBox;
CheckBox87: TCheckBox;
Label72: TLabel;
Label73: TLabel;
Label74: TLabel;
Label75: TLabel;
Label76: TLabel;
Label77: TLabel;
Label78: TLabel;
Label79: TLabel;
Label80: TLabel;
Label81: TLabel;
Edit9: TEdit;
Label82: TLabel;
Label83: TLabel;
Label84: TLabel;
Image7: TImage;
Label85: TLabel;
Edit10: TEdit;
Label86: TLabel;
Image8: TImage;
Label87: TLabel;
Label88: TLabel;
CheckBox88: TCheckBox;
CheckBox89: TCheckBox;
CheckBox90: TCheckBox;
CheckBox91: TCheckBox;
CheckBox92: TCheckBox;
CheckBox93: TCheckBox;
Label89: TLabel;
Label90: TLabel;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
RadioButton9: TRadioButton;
Image9: TImage;
Label91: TLabel;
TabSheet21: TTabSheet;
TabSheet22: TTabSheet;
Label92: TLabel;
Label93: TLabel;
CheckBox94: TCheckBox;
CheckBox95: TCheckBox;
CheckBox96: TCheckBox;
CheckBox97: TCheckBox;
CheckBox98: TCheckBox;
Label94: TLabel;
Label95: TLabel;
Label96: TLabel;
Label97: TLabel;
CheckBox99: TCheckBox;
CheckBox100: TCheckBox;
CheckBox101: TCheckBox;
Label98: TLabel;
CheckBox102: TCheckBox;
CheckBox103: TCheckBox;
Label99: TLabel;
Label18: TLabel;
Label15: TLabel;
Label13: TLabel;
Label10: TLabel;
Label8: TLabel;
Label100: TLabel;
procedure OKBtnClick(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Test3: TTest3;k,otc :integer;
implementation
uses Unit_Meny;
{$R *.dfm}
Кнопка «Далее»
procedure TTest3.OKBtnClick(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
1: If (edit1.text='Своевременного') or (edit1.text='своевременного')or
(edit1.text='СВОЕВРЕМЕННОГО')then k:=k+2;
2: if (checkbox1.Checked)and(checkbox2.Checked)and
(not checkbox3.Checked)and(checkbox4.Checked)and
(not checkbox5.Checked) and(checkbox6.checked) and
(not checkbox7.Checked)then k:=k+2
else if (checkbox1.Checked)or(checkbox2.Checked)or
(checkbox4.Checked)or (checkbox6.checked) then k:=k+1 ;
3: if (checkbox8.Checked)and(not checkbox9.Checked)and
(checkbox10.Checked) and (not checkbox11.Checked)and
(not checkbox12.Checked)and (not checkbox13.Checked)and
(checkbox14.Checked)then k:=k+2
else if (checkbox8.Checked)or(checkbox10.Checked)or
(checkbox14.Checked) then k:=k+1 ;
4: if (checkbox15.Checked)and(checkbox16.Checked)and
(checkbox17.Checked)and (not checkbox18.Checked)and
( not checkbox19.checked)and (not checkbox20.Checked) and
(checkbox21.Checked) and (not checkbox22.Checked)and
(not checkbox23.Checked)and (not checkbox24.Checked)and
(not checkbox25.Checked) and (not checkbox26.Checked) then k:=k+2
else if (checkbox15.Checked)or(checkbox16.Checked)or
(checkbox17.Checked)or(checkbox21.checked)then k:=k+1;
5: if (not checkbox27.Checked)and(not checkbox28.Checked)and
(not checkbox29.Checked)and (checkbox30.Checked)and
(checkbox31.checked)and (not checkbox32.Checked) and
(not checkbox33.Checked) and (not checkbox34.Checked)and
(checkbox35.Checked)and (checkbox36.Checked)and
(not checkbox37.Checked) and (not checkbox38.Checked) then k:=k+2
else if (checkbox30.Checked)or (checkbox31.checked)or
(checkbox35.Checked)or(checkbox36.Checked) then k:=k+1;
6: if (not checkbox39.Checked)and(not checkbox40.Checked)and
(not checkbox41.Checked) and(not checkbox42.Checked)and
(not checkbox43.Checked)and(checkbox44.Checked)
and (not checkbox45.Checked)and(checkbox46.Checked)and
( not checkbox47.Enabled) and (not checkbox48.Checked)and
(checkbox49.Checked)and (checkbox50.checked)
then k:=k+2
else if (checkbox44.Checked)or(checkbox46.Checked)or
(checkbox49.Checked) or (checkbox50.checked) then k:=k+1 ;
7: if (edit2.text='1')and(edit3.text='4')and
(edit4.text='5')and (edit5.text='3') and
(edit6.text='7')and (edit7.text='6') and
(edit8.text='2') then k:=k+2;
8: if radiobutton4.Checked then k:=k+2;
9: if (checkbox51.Checked)and(not checkbox52.Checked)and
(not checkbox53.Checked)and (checkbox54.Checked)then k:=k+2
else if (checkbox51.Checked)or
(checkbox54.checked) then k:=k+1;
10: if (not checkbox55.Checked)and(checkbox56.Checked)and
(checkbox57.Checked) and (checkbox58.Checked) then k:=k+2
else if (checkbox56.Checked)or(checkbox57.Checked)or
(checkbox58.Checked) then k:=k+1;
11:if (not checkbox59.Checked)and(not checkbox60.Checked)and
(checkbox61.Checked)and (checkbox62.Checked)and
(not checkbox63.Checked)then k:=k+2
else if (checkbox61.Checked)or
(checkbox62.checked) then k:=k+1;
12:if (checkbox64.Checked)and(not checkbox65.Checked)and
(not checkbox66.Checked) and(checkbox67.Checked)and
(not checkbox68.Checked)and(checkbox69.Checked) then k:=k+2
else if (checkbox64.Checked)or(checkbox67.Checked)or
(checkbox69.Checked) then k:=k+1;
13:if (checkbox70.Checked)and(not checkbox71.Checked)and
(checkbox72.Checked)and(not checkbox73.Checked)and
(checkbox74.Checked)and (not Checkbox75.Checked)and
(not checkbox76.Checked) then k:=k+2
else if (checkbox70.Checked)or(checkbox72.Checked)or
(checkbox74.Checked) then k:=k+1;
14:if (not checkbox79.Checked)and(checkbox78.Checked)and
(not checkbox77.Checked)and(checkbox80.Checked)and
(checkbox81.Checked) then k:=k+2
else if (checkbox78.Checked)or(checkbox80.Checked)or
(checkbox81.Checked) then k:=k+1;
15:if (not checkbox82.Checked)and( checkbox83.Checked)and
(not checkbox84.Checked)and (checkbox85.Checked)and
(checkbox86.Checked)and (checkbox87.Checked)then k:=k+2
else if (checkbox83.Checked)or(checkbox85.Checked)or
(checkbox86.Checked)or (checkbox87.Checked) then k:=k+1;
16:if (edit9.Text='фазами') or(edit9.Text='Фазами')or
(edit9.Text='ФАЗАМИ') then k:=k+2;
17:if (EDIT10.Text='перекрытием')or (EDIT10.Text='Перекрытием')
or (EDIT10.Text='ПЕРЕКРЫТИЕМ') then k:=k+2;
18: if (not checkbox88.Checked)and(not checkbox89.Checked)and
(checkbox90.Checked)and (checkbox91.Checked)and
(checkbox92.Checked)and(checkbox93.Checked)then k:=k+2
else if (checkbox90.Checked)or(checkbox91.Checked) or
(checkbox92.Checked)or(checkbox93.Checked)then k:=k+1;
19: if radiobutton6.Checked then k:=k+2;
20:if (not checkbox94.Checked)and(not checkbox95.Checked)and
(checkbox96.Checked)and(not checkbox97.checked)and
(checkbox98.Checked)then k:=k+2
else if (checkbox96.Checked)or (checkbox98.Checked)then k:=k+1;
21: begin if (not checkbox99.Checked)and(checkbox100.Checked)and
(not checkbox101.Checked)and(checkbox102.checked)and
(checkbox103.Checked) then k:=k+2
else if (checkbox100.Checked)or(checkbox102.Checked)or
(checkbox103.Checked)then k:=k+1;
if k> 89*42/100 then otc:=5
else if k > 79*42/100 then otc:=4
else if k>69*42/100 then otc:=3
else otc:=2;
Окно вывода оценки и количества набранных баллов
showmessage('Набранно баллов '+ inttostr(k)+' из 42'+#13#10+
'оценка '+inttostr(otc));
pagecontrol1.Enabled:=false;
cancelbtn.Enabled:=true;
okbtn.Enabled:=false;
end;
end;
Pagecontrol1.ActivePageIndex:= pagecontrol1.ActivePageIndex+1;
end;
Кнопка «Завершить тест» выводит программу на форму «Меню»
procedure TTest3.CancelBtnClick(Sender: TObject);
begin
test3.hide;
menu1.Button3.Enabled:=false;
end;
end.
