38
Dastur dizayni tayyor boʻlganidan soʻng quyidagi dastur matni kiritiladi:
//---------------------------------------------------------------------------
#include
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{ float x,y,a,b,h;
a=StrToFloat(Edit1->Text);
b=StrToFloat(Edit2->Text);
h=StrToFloat(Edit3->Text);
Memo1->Clear();
x=a;
while (a<=b)
{ y=x*x +sin(x) +exp(x);
Memo1->Lines->Add("x=("+FloatToStr(a)+") Y= " + FloatToStrF (y,
ffFixed,6,2));
x=x+h;
a=a+h; } }
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click (TObject *Sender)
{Edit1->Clear();
Edit2->Clear();
Edit3->Clear();
Memo1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click (TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
Dastur matni kiritib boʻlingandan soʻng F9 tugmasi bosiladi va natijada
quyidagi dastur koʻrinishi paydo boʻladi:
39
42-rasm. Natija oynasi
Tajriba ishini bajarish uchun topshiriq variantlari:
Topshiriq variantlari
5-jadval.
№ x
n
x
k
S(x)
h
Y(x)
1
2
3
4
5
6
1
0.1 1
!
1
2
1
...
!
3
1
2
3
n
x
x
x
n
n
0.1
x
sin
2
0.1 1
!
2
...
!
2
1
2
2
n
x
x
n
0.1
2
x
x
e
e
3
0.1 1
n
x
n
n
x
!
4
cos
...
!
1
4
cos
1
0.1
sin
cos
4
cos
x
e
x
4
0.1 1
!
2
1
...
!
2
1
2
2
n
x
x
n
n
0.1
x
cos
5
0.1 1
n
x
n
n
x
2
2
!
1
2
...
3
1
0.1
2
2
2
1
x
e
x
Nazorat sаvоllаri
1.
Tаkrоrlаnuvchi jаrаyon dеb qаndаy hisоblаsh jаrаyonlаrigа аytilаdi?
2.
Tаkrоrlаnuvchi jаrаyon tаrkibi qаndаy qismlаrdаn ibоrаt?
3.
Takrorlanish operatorlarini sanab bering.
4.
O‘zgаruvchili (pаrаmеtrli) tаkrоrlаsh jаrаyoni qаndаy tаshkil etilаdi?
5.
Avvаl shаrtli tаkrоrlаsh jаrаyoni qаndаy tаshkil etilаdi?
6.
So‘ng shаrtli tаkrоrlаsh jаrаyoni qаndаy tаshkil etilаdi?
40
6-LABORATORIYA ISHI
DASTURDA GRAFIK KOMPONENTALARDAN FOYDALANGAN
HOLDA GRAFIK OBYEKTLARNI YARATISH
Ishdan maqsad
: Borland C++ Builder6
ning
asosiy grafik imkoniyatlari bilan
tanishish.
Topshiriqlar:
1.
Nazariy qism bilan tanishib chiqing
2.
Grafik imkoniyatlar bilan tanishib chiqing.
3.
Grafik rejimda ishlatiladigan operatorlar bilan tanishib chiqing.
4.
Tajriba ishiga hisobot topshiring.
Nazariy qism
C++ dasturlash tilida yuqori darajadagi tasvirlarni hosil qilish mumkin. C++
dasturlash tilining grafik imkoniyati
dastur tuzuvchiga sxemalarni, chizmalarni va
rasmlarni chizish imkonini beradi.
Dastur grafik tasvirlarni
Canvas'>Forma
va
Image
komponentasiga chizish imkonini be-
radi.
Obyektlar
Canvas
xususiyati orqali beriladi. Chizmani (to‘g‘ri chiziq,
to‘rtburchak, aylana va h.k.) chizish uchun
Canvas
xussusiyatiga komponentani
qo‘shib qo‘yish kerak bo‘ladi. Umumiy ko‘rinishi quyidagicha bo‘ladi:
;
bu yerda:
-
chizma
chiziladigan joy,
-
chizilayotgan grafik tasvir.
Masalan,
Form1.Canvas.Rectangle(10,10,100,100);
Natijada Formada to‘g‘ri to‘rtburchak hosil bo‘ladi.
Dasturchi chizish uchun qalam va mo‘yqalamdan foydalanishi mumkin. Qalam
yordamida
geometrik figura, nuqtalarni chizish mumkin. Qalamning xususiyatlari:
Color
- chiziq rangi;
Width
– chiziq qalinligi;
Style
– chiziq turi.
Qalamning
Color
xususiyatida ishlatiladigan ranglar quyidagi jadvalda keltiril-
gan:
Qalamning
Color
xususiyatida ishlatiladigan ranglar. 6-jadval.
Konstanta
Rang
Konstanta
Rang
clBlack
Qora
clSilver
Kumush
clMaroon
Kashtan
clRed
Qizil
clOlive
Olivka
clBlue
Ko‘k
clNavy
To‘q -ko‘k
clFuchsia
To‘q-pushti
clPurple
Pushti
clAqua
Moviy
clTeal
Och-ko‘k
clWhite
Oq
clGray
Kul
41
Mo‘yqalam (
Canvas.Brush)
geometrik figuralarni bo‘yash uchun ishlatiladi.
Mo‘yqalam ikkita xususiyatga ega:
1.
Color
– bo‘yaladigan rang;
2.
Style
– bo‘yash turi.
Mo‘yqalam (
Canvas.Brush)
geometrik figuralarni bo‘yash.
7-jadval.
Konstanta
Bo‘yash turi
bsSolid
yahlit bo‘yash
bsClear
soha bo‘yalmaydi
bsHorizontal
gorizantal shtixlash
bsVertical
vertikal shtixlash
bsFDiagonal
Oldinga egilish bilan diagonal shtrixlash
bsBDiagonal
Orqaga egilish bilan diagonal shtrixlash
bsCross
gorizontal-vertikal shtrixlash, to‘r ko‘rinishida
bsDiagCross
diagonal shtrixlash, to‘r ko‘rinishida
Bo‘yash turining ko‘rinishi quyidagi rasmda ko‘rsatilgan (43-rasm):
43-rasm.
Bo‘yash turining ko‘rinishi
Chizmaga matn kiritish uchun
TextOut
usulidan foydalaniladi.
TextOut
usulin-
ing to‘liq ko‘rinish quyidagicha:
Obekt. Canvas. TextOut(x,y,matn);
bu yerda:
Obyekt
– matn chiqariladigan obyektning nomi;
x,y
- matnni yozilishi boshlanadigan koordinata
nuqtalari;
matn
- matnli, sonli va simvolli o‘zgaruvchi, kiritilishi lozim bo‘lgan matn.
Sxemalar
, chizmalar va rasmlarni hosil qilish uchun bir nechta figuralar
majmuidan foydalanishga to‘g‘ri keladi. Bunday figuralarga: nuqta, to‘g‘ri chiziq,
to‘rtburchak, aylana, yoylar va h.k. kiradi.
Ekranda
chizma hosil qilish uchun, dastur shu chizmani tashkil etuvchi sodda
grafiklarni birlashtirib chiqishi kerak. Grafik
chizmalarni chizish uchun
Canvas
komponentasining usullaridan foydalaniladi.
42
Quyida shu metodlarni ko‘rib chiqimiz:
1.
Component.Canvas.lineTo(x,y)
– to‘g‘ri chiziq chizish uchun ishlatiladi.
2.
Obyekt.Canvas.Ellipse(x1,y1, х2,у2)
– berilgan parametrlar bo‘yicha ellips
va aylana chizadi.
3.
Obyekt.Canvas.Arc(x1,y1,х2,у2,х3,у3,х4,у4)-
yoy chizish uchun ishlatiladi.
4.
Obyekt.Canvas.Rectangle(x1, y1,x2, y2)
– to‘g‘ri to‘rt burchak chizadi.
5.
Form1.Canvas.Pixels[10,10]:=clRed
– Nuqta chizish uchun ishlatiladi.
Yuqorida ko‘rib chiqilgan usullardan foydalanib dastur yaratamiz (12-rasm).
1-misol
: Sohalarni to‘ldirish usullaridan foydalangan holda uycha chizamiz.
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Dostları ilə paylaş: