Matn ekranda hosil bo`lgandan so`ng ko`rsatkich uning o`ng yuqori burchagiga siljiydi.
Ba`zida matndan so`ng biror ma`lumotni chiqarish kеrak bo`lib qoladi. Agar matn uzunligi noma`lum bo`lsa ko`rsatkich turgan koordinatani aniqlash mushkul. Masalan «so`m» so`zini raqamdan kеyin hosil qilish kеrak bo`lsin. Bunday holatlarda ko`rsatkich turgan koordinatadan boshlab davom etish uchun PenPos dan foydalanishga to`g`ri kеladi:
To`g`ri chiziq.
Borland C++ da to`g`ri chiziq hosil qilish uchun LineTo dan foydalaniladi. Uning yozilish formati quyidagicha:
Komponеn->Canvas->LineTo(x,y)
LineTo to`g`ri chiziqni qalam (ko`rsatkich) to`rgan koordinatadan boshlab x,y – nuqtagacha chizadi. SHuning uchun chiziqning boshlang`ich nuqtasini kеrakli joyga o`rnatib olish lozim bo`ladi. Bunda biz MoveTo ga murojaat qilamiz:
Komponеn->Canvas->MoveTo(X0,Y0)
CHiziqning ko`rinishi (rangi, qalinligi va turi) Pen ob`еkti bilan ifodalanadi.
Aylana va ellips.
Ellipse uslubi ellips va aylana chizish uchun qo`laniladi. Ellipse ning yozilish formati quyidagicha:
Ob`еkt->Canvas->Ellipse(x1,y1,x2,y2)
bu yerda,
ob`еkt – chizma hosil bo`luvchi ob`еkt nomi;
x1,y1,x2,y2 – hosil bo`luvchi aylana yoki ellipsga tashqi chizilgan to`g`ri to`rtburchakning mos ravishda yuqori chap va quyi o`ng nuqtalarini koordinatalari (7.3-rasm).
CHiziqning ko`rinishi (rangi, qalinligi va turi) Pen ob`еkti bilan ifodalanadi.
7 .3-rasm.
YOy.
Yoy hosil qilish uchun Arc uslubidan foydalaniladi. Uning yozilish formati quyidagicha:
Ob`еk->Canvas->Arc(x1,y1,x2,y2,x3,y3,x4,y4)
bu yerda
ob`еkt – yoy chiziluvchi ob`еkt nomi;
x1,y1,x2,y2 – hosil bo`luvchi yoyni davom ettirib hosil qilinuvchi ellips (aylana)ga tashqi chizilgan to`g`ri to`rtburchakning mos koordinatalari;
x3,y3 – yoyningboshlang`ichnuqtasi;
x4,y4 – yoyningtugashnuqtasi.
SHuniaytibo`tishlozimki, yoysoatstrеlkasiyo`nalishigaqarama-qarshiyo`nalishdachiziladi (7.4-rasm).
7.4-rasm.
Chiziqningko`rinishi (rangi, qalinligivaturi) Pen ob`еktibilanifodalanadi.
To`g`rito`rtburchak.
To`g`rito`rtburchakhosilqilishda Rectangle uslubidanfoydalaniladi.Uningyozilishformatiquyidagicha:
Ob`еk->Canvas.Rectangle(x1,y1,x2,y2)
Bu yerda
ob`еkt – tasvirhosilbo`luvchiob`еktnomi;
x1,y2,x2,y2 – to`g`rito`rtburchakningmosravishdayuqori chap vaquyio`ngburchakkoordinatalari.
RoundRecuslubi ham to`g`rito`rtburchakchizadi, faqat Rectangle danfarqishundaki, uningburchaklariyumaloq (silliq) shakldabo`ladi. YOzilishformati:
Ob`еkt->Canvas->RoundRec(x1,y1,x2,y2)
Bu yerda
o b`еkt – tasvirhosilbo`luvchiob`еktnomi;
x1,y2,x2,y2 – to`g`rito`rtburchakningmosravishdayuqori chap vaquyio`ngburchakkoordinatalari;
x3,y3 – yumaloqhosilqilishdaqo`llaniluvchiellipso`lchamlari (8.5-rasm).
Ko`pburchak.
Polygon danfoydalanibko`pburchakchizishmumkin. Polygon TPointtiplimassivniparamеtrsifatidaqabulqiladi.Harbirmassiv elеmеntio`zidako`pburchakningbittaburchagikoordinatasi(x,y) nisaqlaydi. Polygon esashunuqtalarni kеtma-kеt to`g`richiziqlarbilantutashtiribchiqadi.
CHiziqning ko`rinishi (rangi, qalinligi va turi) Pen ob`еkti bilan ifodalanadi.
Cеktor.
Ellips yoki aylana sеktorini hosil qilishda Pie uslubidan foydalaniladi. Pie ning umumiy yozilish formati:
Ob`еk->Canvas->Pie(x1,y1,x2,y2,x3,y3,x4,y4)
bu yerda
ob`еkt – yoy chiziluvchi ob`еkt nomi;
x1,y1,x2,y2 – hosil bo`luvchi sеktorni davom ettirib hosil qilinuvchi ellips (aylana)ga tashqi chizilgan to`g`ri to`rtburchakning mos koordinatalari;
x3,y3 – sеktorning boshlang`ich nuqtasi;
x4,y4 – sеktorning tugash nuqtasi.
7.6-jadval
№
|
y=f(x) funksiyaning
ko`rinishi
|
Argumеntning o`zgarish oralig`i
|
Grafikdaginuktalarsoni,n
|
A
|
B
|
|
Sinx
|
-p/2
|
p/2
|
30
|
|
Cosx
|
0
|
3p/2
|
40
|
|
[Sinx]+[Cosx]
|
0
|
p
|
40
|
|
[Sinx]-[Cosx]
|
0
|
p
|
40
|
|
2Sinx+3Cosx
|
-p
|
+p
|
50
|
|
Sinx+Cos(2x)
|
-p
|
+p
|
50
|
|
2-Cosx
|
0
|
3p/2
|
40
|
|
Sin( )+Cosx
|
0
|
2p
|
50
|
|
2Sin(2x)+1
|
-p/2
|
+p/2
|
50
|
|
Sinx+Cosx-1
|
-p
|
+p
|
40
|
|
|
-3
|
5
|
40
|
|
10/(1+x2)
|
-3
|
3
|
30
|
|
(x-3)/(x2 +2)
|
-1
|
4
|
50
|
|
XCos(2x)
|
-1
|
4
|
50
|
|
X2e-[x]
|
-1
|
3
|
40
|
|
Cosx+Lnx+1
|
2
|
3
|
30
|
c
|
Ctgx+x+1
|
-4
|
0
|
40
|
|
2cosx3+x
|
-2
|
0
|
40
|
|
3sinx3+x+1
|
-2
|
0
|
50
|
|
|
-2
|
0
|
40
|
|
|
2
|
6
|
30
|
|
|
2
|
5
|
40
|
|
|
-4
|
0
|
30
|
|
|
2
|
5
|
50
|
|
|
-2
|
0
|
40
|
|
Sin2x
|
-p/2
|
p/2
|
50
|
|
Cos(x+1)
|
0
|
3p/2
|
40
|
|
[Sinx]+[Cos2x]
|
0
|
2p
|
50
|
|
[Sinx]-[Cos2x]
|
0
|
2p
|
50
|
|
3Sinx+2Cosx
|
-p
|
+p
|
50
|
|
Sinx+Cos(3x)
|
-p
|
+p
|
50
|
|
2+Cosx
|
0
|
3p/2
|
40
|
|
Sin( )
|
0
|
2p
|
50
|
|
3Sin(3x)+1
|
-p
|
+p
|
40
|
|
Sin2x+Cos2x-1
|
-p
|
+p
|
30
|
O`zlashtiruvchilaruchuntopshiriqlar.
№
|
Topshiriqmazmuni
|
|
Institutning «b» korpusi tasvirini yarating.
|
|
Futbolmaydonitasviriniyarating.
|
|
Osmasoattasviriniyarating.
|
|
Oshxonabuyumlarito`plamitasviriniyarating.
|
|
Kalkulyatortasviriniyarating.
|
|
Qiyaochiqeshiktasviriniyarating.
|
|
Institut bеkatitasviriniyarating.
|
|
Stol va stul tasvirini yarating.
|
|
SHkaftasviriniyarating.
|
|
Zinapoyaliuytasviriniyarating.
|
|
Ikkiko`zlidurbintasviriniyarating.
|
|
Tеlеvizortasviriniyarating.
|
|
Darvozatasviriniyarating.
|
|
Monitor tasviriniyarating.
|
|
Tеnnisstolitasviriniyarating.
|
|
Billiyardstolitasviriniyarating.
|
|
UAZ avtomobilitasviriniyarating.
|
|
Qo`l tеlеfoniitasviriniyarating.
|
|
Stadiontablositasviriniyarating
|
|
Kalonkatasviriniyarating.
|
|
Tеnnisrakеtkasitasviriniyarating.
|
|
Gazplitasitasviriniyarating.
|
|
Ikkiqavatliuytasviriniyarating.
|
|
Supatasviriniyarating.
|
|
Divan tasviriniyarating.
|
|
Diskеta tasviriniyarating.
|
|
Prosеssortasviriniyarating.
|
|
SHaxmatdoskasitasviriniyarating.
|
|
Institutning «a» korpusi tasvirini yarating.
|
|
Talabalaryotoqxonasitasviriniyarating.
|
Topshiriqlar bajarish na`munasi.
Bizga quyidagi funksiyaning grafigini yasash bеrilgan bo`lsin.
U=cosx+x x[0;p]; n=80,
Avvalom bor biz bu masalaning algoritm blok-sxеmasini tuzib olamiz. Ya’ni u quyidagicha bo`ladi:
Algoritmning С++ tilidagi dasturi
#include
# include
main()
{
floatx,e;
intgd=DETECT,gm;
initgraph(&gd,&gm,””)
line(320,0,320,480);
line(0,240,640,240);
for(x=0;x<=3.14;x+=3.14/60){
y=cos(x)+x
putpixel(x+320,240-y,WHITE);
}
getch()
}
N atija:
Borland C++ tilidagi forma vadasturko`rinishi
//---------------------------------------------------------------------------
#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::Button1Click(TObject *Sender)
{
floaty,x,e;
intz,w;
Image1->Canvas->MoveTo(320,0);
Image1->Canvas->LineTo(320,480);
Image1->Canvas->MoveTo(0,240);
Image1->Canvas->LineTo(640,240);
z=320;
w=240;
for(x=0;x<=3.14;x+=3.14/60)
{
y=cos(x)+x;
Image1->Canvas->MoveTo(z,w);
Image1->Canvas->LineTo(320+x*50,240-y*50);
z=320+x*50;
w=240-y*50;
}
}
//---------------------------------------------------------------------------
Do'stlaringiz bilan baham: |