ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 92
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
4. Жобаны сақтаңыз, оны іске қосып, орындалуын тексеріп көріңіз.
Ішкі бағдарлама листингі:
procedure TForm1.CheckListBox1ClickCheck (Sender: TObject);
var i, s: Integer;
begin
ListBox1.Clear;
for i: = 0 to CheckListBox1.Items.Count-1 do if CheckListBox1.Checked[i] then ListBox1.Items.Add (CheckListBox1.Items[i]);
s := 0;
for i := 0 to ListBox1.Items.Count -1 do
s := s + StrToInt(ListBox1.Items[i]); Label1.Caption := 'Қосынды: ' + IntToStr(s); if s = 50 then
begin
Label1.Caption := 'Қосынды:' + IntToStr (s); CheckListBox1.Enabled := False; ListBox1.Enabled := False; end;
end;
№ 13. Калькулятор
Жұмыстың мақсаты – кезкелген санмен (ондық бөлшекпен де) қосу мен азайту амалдарын орындай алатын қарапайым калькулятордың бағдарламасын дайындау. 1. Бағдарлама іске қосылғанда калькулятор терезесін шығару.
21-сурет
2. Калькулятормен кезкелген санды қосу және азайту амалдарын орындау.
3. Калькуляторды уақытша көрсетпеу үшін тақырып жолындағы «Жиыру», ал бағдарламадан шығу үшін «Жабу» батырмасын шерту керек.
Бағдарламаны іске асыру жоспарының сипаттамасы
1.Жаңа жоба ашу.
2.Пішінге мына компоненттерді: Button батырмасын, Edit мәтіндік өрісін орналастыру.
3.Мына бағдарламаны пайдаланып, Калькуляторды дайындап көріңіз:
var
accum: real; // аккумулятор
oper: integer; // амал: 1 - '+' ; 2 - '-'; // 0 - "орындау"("=" батырмасы)
f: integer; { f = 0 жаңа санның бірінші цифрын күту, мыс, амал орындалған соң, индикаторда нәтиже көрінген кезде.
f = 1 қалған цифрларды күту}
procedure TForm1.Button0Click(Sender: TObject); // 0 батырмасы
begin
if f = 0 // санның бірінші цифры
then begin Edit1.Text := '0'; f := 1; //басқа цифрларды күту end
else if Edit1.Text <> '0' // индикатордағы санның басында бірнеше нөл болмауы үшін
then Edit1.Text := Edit1.Text + '0';
end;
procedure TForm1.Button1Click(Sender: TObject); // 1 батырмасы
begin
if f = 0 // санның бірінші цифры
then begin Edit1.Text := '1'; f := 1; // басқа цифрларды күту end
else Edit1.Text := Edit1.Text + '1';
end;
procedure TForm1.Button2Click(Sender: TObject); // 2 батырмасы
begin
if (f = 0) then begin Edit1.Text := '2'; f := 1; end
else Edit1.Text := Edit1.Text + '2';
end;
procedure TForm1.Button3Click(Sender: TObject); // 3 батырмасы
begin
if f = 0 then begin Edit1.Text := '3'; f := 1; end
else Edit1.Text := Edit1.Text + '3';
end;
procedure TForm1.Button4Click(Sender: TObject); // 4 батырмасы
begin
if f = 0 then begin Edit1.Text := '4'; f := 1; end
else Edit1.Text := Edit1.Text + '4';
end;
procedure TForm1.Button5Click(Sender: TObject); // 5 батырмасы
begin
if (f = 0) then begin Edit1.Text := '5'; f := 1; end
else Edit1.Text := Edit1.Text + '5';
end;
procedure TForm1.Button6Click(Sender: TObject); // 6 батырмасы
begin
if f = 0 then begin Edit1.Text := '6'; f := 1; end
else Edit1.Text := Edit1.Text + '6';
end;
procedure TForm1.Button7Click(Sender: TObject); // 7 батырмасы
begin
if f = 0 then begin Edit1.Text := '7'; f := 1; end
else Edit1.Text := Edit1.Text + '7';
end;
procedure TForm1.Button8Click(Sender: TObject); // 8 батырмасы
begin
if f = 0 then begin Edit1.Text := '8'; f := 1; end
else Edit1.Text := Edit1.Text + '8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
if f = 0 then begin Edit1.Text := '9'; f := 1; end
else Edit1.Text := Edit1.Text + '9';
end;
procedure TForm1.ButtonZClick(Sender: TObject); // ондық үтір
begin
if Edit1.Text = '0' then begin Edit1.Text := '0,'; f := 1; end;
if Pos(',',Edit1.Text) = 0 then Edit1.Text := Edit1.Text + ',';
end;
procedure DoOper; // амалдардың орындалуы
var numb: real; // индикатордағы сан
begin // accum алдыңғы амалдар нәтижесінен тұрады
// oper – орындалатын амалдың коды. Операнд индикаторда тұр.
numb := StrToFloat(Form1.Edit1.Text);
case oper of
0: accum := numb;
1: accum := accum + numb;
2: accum := accum - numb;
end;
Form1.Edit1.Text := FloatToStr(accum);
end;
procedure TForm1.ButtonPlusClick(Sender: TObject); // "+" батырмасы
{ мұнда алдыңғы амалды орындап, нәтижені индикаторға шығару керек, сосын ағымдағы амалды еске сақтап және жаңа санның бірінші цифрын күту режимін орнату керек.}
begin
if f = 0 then oper := 1 // амалды еске сақтау
else begin DoOper; // алдыңғы амалды орындау
oper :=1; // ағымдағы амалды еске сақтау f:=0; end;
end;
procedure TForm1.ButtonMinusClick(Sender: TObject); // "-" батырма
begin
if f = 0 then oper := 2 else begin DoOper; oper :=2; f:=0; end;
end;
procedure TForm1.ButtonEnterClick(Sender: TObject); // "=" батырма
begin
if f = 0 then oper := 0 else begin DoOper; oper :=0; f:=0; end;
end;
procedure TForm1.ButtonCClick(Sender: TObject); // "с" - тазарту
begin
Edit1.Text := '0'; accum := 0; oper := 0; f := 0;
end;
// Edit1 өрісінде пернені басу
procedure TForm1.Edit1Change(Sender: TObject; var Key:Char);
begin
Key := Chr(0); // символдарды көрсетпеу
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
oper := 0;
end;
end.
№14. Жиымдағы кездейсоқ сандардың индексін табу
Жұмыстың мақсаты – жиымдағы кездейсоқ сандардың индексін табатын бағдарлама құру.
Бағдарламаны іске асыру жоспарының сипаттамасы
1. Жаңа жоба ашу.
2. Пішінге мына компоненттерді: Button, Edit, Label орналастыру.
3. Мына кестеде көрсетілген әрекеттерді орындау:
13 - кесте
Белгі- ленген нысан | Object Inspector терезесінің астары | Қасиеттің аты/ Оқиғаның аты | Атқарылатын әрекет |
Forml | Properties | Caption | Пішінге «Жиым 1» атын орнату |
Events | OnCreate | Мәтіндік өрістердің Text қасиетінің мәндерін тазалау | |
Buttonl | Properties | Caption | «Тазалау» атын енгізу |
Events | Onclick | Мәтіндік өрістердің Text қасиетінің мәндерін тазалау | |
Button2 | Properties | Caption | «Жабу» атын енгізу |
Events | Onclick | Пішінді Жабу оқиғасын өңдеу | |
Button3 | Properties | Caption | «Элементтің индексін табу» атын енгізу |
Events | Onclick | Енгізілген санның индексін табу оқиғасын өңдеу | |
Button4 | Properties | Caption | «Элементті кездейсоқ енгізу» атын енгізу |
Events | Onclick | Жиым элементтерін кездейсоқ енгізу | |
Editl | Properties | Caption | Text қасиетінің мәнін тазалау |
Edit2 | Properties | Caption | Text қасиетінің мәнін тазалау |
Edit3 | Properties | Caption | Text қасиетінің мәнін тазалау |
4. айнымалыларды енгізу: ik, k, i : integer; s : string; a : array [1..15] of integer.
5. Жобаны сақтап, сосын оны іске қосып, орындалуын тексеріңіз.
Бағдарлама листингі
procedure Tform1.FormCreate(Sender: Tobject); begin
Edit1.Text := ''; Edit2.Text := ''; Edit3.Text := ''; end;
procedure Tform1.Button1Click(Sender: Tobject); begin
Edit1.Text := ''; Edit2.Text := ''; Edit3.Text := ''; end;
procedure Tform1.Button2Click(Sender: Tobject); begin
close;
end;
procedure Tform1.Button3Click(Sender: Tobject); begin
k := StrToInt (Edit2.Text); For i:= 1 to 15 do
if k = a[i] then ik := i; if ik = 0 then Edit3.Text := 'number ubsent' else Edit3.Text := IntToStr (ik);
end;
procedure Tform1.Button4Click(Sender: Tobject); begin
randomize;
s := '';
For i := 1 to 15 do begin
a[i] := random (26); s := concat (s, IntToStr (a[i]), #32); end; Edit1.Text := s; end; end.
Әрекеттер бойынша жобалардың түрлері:
22-сурет
23-сурет
24-сурет
25-сурет
№15. Уақыт есептеуіш
Жұмыстың мақсаты – ағымдағы уақыт пен ағымдағы күнді шығарып, көрсететін бағдарлама құру.
Бағдарламаны іске асыру жоспарының сипаттамасы
1. Жаңа жоба ашу.
2. Пішінге мына компоненттерді: Button, Edit, Label орналастыру.
3. Мына кестеде жазылған әрекеттерді орындау:
14 - кесте
Белгі- ленген нысан | Object Inspector терезесінің астары | Қасиеттің аты/ Оқиғаның аты | Атқарылатын әрекет |
Form1 | Properties | Caption | Пішінге «Таймер» атын орнату |
Button1 | Properties | Caption | «ағымдағы уақыт» атын енгізу |
Events | Onclick | DateTime:=Time; Edit1.Text:=TimeToStr(DateTime); | |
Button2 | Properties | Caption | «Бүгінгі күн» атын енгізу |
Events | Onclick | Edit2.Text:=DateToStr(Date); | |
Edit1 | Properties | Caption | Text қасиетінің мәнін тазарту |
Edit2 | Properties | Caption | Text қасиетінің мәнін тазарту |
26-сурет
Ішкі бағдарлама листингі:
var
DateTime : TdateTime;
procedure Tform1.Button1Click(Sender: Tobject); begin
DateTime:=Time;
Edit1.Text:=TimeToStr(DateTime); end;
procedure Tform1.Button2Click(Sender: Tobject); begin
Edit2.Text:=DateToStr(Date); end; end.
№16. Оятқыш сағат
Жұмыстың мақсаты – көрсетілген уақытта оятатын оятқыш сағаттың бағдарламасын жасау. Пішінде қазіргі уақыт пен ояту уақыты бөлек-бөлек көрсетіліп тұруы тиіс.
27-сурет
Жұмысты іске асырудың бағдарламасы:
var
Hour,Min: word; // индикатордағы уақыт
AlHour, AlMin: word; //оятқышқа орнатылған уақыт AlHour:AlMin
// бағдарлама жұмысының басталуы
procedure TForm1.FormCreate(Sender: TObject);
begin
Hour := HourOf(Now);
Min := MinuteOf(Now);
Label1.Caption := IntToStr(Hour);
if Min < 10
then Label2.Caption := '0'+IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// таймерден түсетін сигнал
procedure TForm1.Timer1Timer(Sender: TObject);
var
cHour,cMin: word;
begin
// ағымдағы уақытты алу
cHour := HourOf(Now);
cMin := MinuteOf(Now);
if Timer1.Tag = 0 //экрандағы бағдарлама терезесі
then begin
{ ағымдағы уақытпен индикаторда көрінген уақыттың сәйкестігін тексеру}
if cHour <> Hour then
begin
Hour := cHour;
Label1.Caption := IntToStr(Hour);
end;
if cMin <> Min then
begin
Min := cMin;
if min <10
then Label2.Caption := '0' + IntToStr(Min)
else Label2.Caption := IntToStr(Min);
end;
// (:) қос нүктенің жыпылықтауын қаматамасыз ету
if Label3.Visible
then Label3.Visible := False
else label3.Visible := True;
end
else // бағдарлама терезесі жасырылған, сигнал
// жіберу сәтінің келгендігін тексеру
if (cHour = AlHour) and (cMin = AlMin)
// сигнал !
then begin
Form2.Show;
Timer1.Tag := 0;
Timer1.Interval := 1000;
end;
end;
// UpDown1 шерту оятқыш -сағаттың сигнал беру уақытын өзгертеді
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown1.Position < 10
then Label4.Caption := '0' + IntToStr(UpDown1.Position)
else Label4.Caption := IntToStr(UpDown1.Position);
end;
// UpDown1 шерту оятқыш-минуттың сигнал беру уақытын өзгертеді
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
if UpDown2.Position < 10
then Label5.Caption := '0' + IntToStr(UpDown2.Position)
else Label5.Caption := IntToStr(UpDown2.Position);
end;
// OK батырмасын шерту
procedure TForm1.Button1Click(Sender: TObject);
begin
// оятқышты орнату
AlHour := UpDown1.Position;
AlMin := UpDown2.Position;
Timer1.Tag := 1;
Form1.Hide; //
Timer1.Interval := 3000; // әрбір 3 секунд сайын тексеру
end;
end.
№17. Олимпиада жалауы
Жұмыстың мақсаты – пішін бетінде олимпиада жалауын сызатын бағдарлама құру.