33-сурет
2. Компоненттердің оқиғалары мен қасиеттерін төменде берілген бағдарламаға сәйкес өңдеп, жұмыс мақсатына сәйкес әрекеттерді атқарыңыз.
34-сурет
35-сурет
Жұмысты орындау бағдарламасы:
unit essaktau;
implementation
const
KC = 5; // санның разрядтылығы (цифрлар саны)
LT = 10; // сандардың саны (тест ұзындығы)
var
numb: integer; // сыналушы еске сақтауға тиіс сан
right: integer; // дұрыс еске сақталған сандар саны
n: integer; // сандар есептеуіші
{$R *.dfm}
// k-разрядты санды генерациялайды
function GetNumb(k: integer) : integer;
var
n: integer; // генерацияланатын сан
i: integer;
begin
// процедура санды үлкенінен бастап разряды бойынша генерациялайды
n:= Random(9)+1; // үлкен разряд нөл бола алмайды
// қалған разрядтар
for i := 1 to (k-1) do
n := n*10 + Random(10);
GetNumb := n;
end;
// пішін құру
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Visible := False; // Edit1 енгізу өрісін жасыру
Edit1.MaxLength := KC; // енгізуге болатын символдар саны
Label1.WordWrap := True; // сөзді келесі жолға тасымалдауға рұхсат //беру
Label1.Caption := 'Қазір экранда сандар пайда болады. ' +
'Сіз сол санды еске сақтап, оны пернетақтада теріңіз, сосын Enter басыңыз';
Button1.Caption := 'Бастау';
Timer1.Enabled := False; // таймер тоқтатылды
Timer1.Interval := 1000; // санның көріну уақыты - 1 секунд
right := 0; // дұрыстарының саны
n := 0; // сандарды есептеуіш
Randomize; // ГСЧ инициализациялау
end;
// «Бастау/Аяқтау» батырмасында шерту
procedure TForm1.Button1Click(Sender: TObject);
begin
if Button1.Caption = 'Аяқтау' then
Form1.Close; // бағдарлама терезесін жабу
if Button1.Caption = 'Бастау' then
begin
Button1.Caption := 'Аяқтау';
Button1.Visible := False; // батырманы жасыру
// Button1 батырмасы сынақ аяқталған соң ғана қол жетімді //болады
Label1.Caption := '';
Label1.Font.Size := 24; // Label1өрісінің қаріп өлшемі
Edit1.Font.Size := 24; // Edit1 өрісінің қаріп өлшемі
// санды генерациялау және шығару
numb := GetNumb(KC);
Label1.Caption := IntToStr(numb);
Timer1.Enabled := True; // таймерді іске қосу
// таймерден түскен сигналды өңдеу процедурасы санды //«өшіреді»
end;
end;
// таймер оқиғасын өңдеу
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := False; // таймерді тоқтату
Label1.Visible := False; // санды жасыру
Edit1.Visible := True; // Edit1 өрісін қол жетімді ету
Edit1.SetFocus; // Edit1 өрісіне көрсеткішті орнату
end;
// Edit1 өрісінде пернені басу
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
igrok: integer; // сыналушы енгізген сан
begin
case Key of
'0'..'9',#8: ; // "0"-"9" пернелері,
#13: // пернесі
begin
igrok := StrToInt(Edit1.Text);
if (igrok = numb)
then right := right + 1;
n := n + 1; // сандар есептеуіші
Edit1.Text := '';
Edit1.Visible := False; // Edit1 өрісін жасыру
if n < LT then
begin
numb := GetNumb(KC); // келесі санды генерациялау
Label1.Caption := IntToStr(numb); // санды бейнелеу
Label1.Visible := True;
Timer1.Enabled := True; // таймерді іске қосу
End // сынақ аяқталды
else begin // нәтиже шығару
Label1.Font.Size := 10;
Label1.Caption := 'Нәтиже:' + #13 +
'Көрінген сандар: ' + IntToStr(LT) + #13 +
'Дұрысы: ' + IntToStr(right);
Label1.Visible := True;
Button1.Visible := True; // «Аяқтау» батырмасы көрінеді
end;
end;
else Key := Chr(0);
end;
end;
end.
№20. Электр тізбегінің кедергісін табу
Жұмыстың мақсаты – физика пәні бойынша электр тізбегінің кедергісін есептейтін бағдарлама құру.
1. Ол үшін жаңа жоба ашып, 36-суретте көрсетілген компоненттерді Пішінге орналастырыңыз.
2. Компоненттердің оқиғалары мен қасиеттерін төменде берілген бағдарламаға сәйкес өңдеп, жұмыс мақсатына сәйкес әрекеттерді атқарыңыз.
Достарыңызбен бөлісу: |