Microsoft Word Alqoritm ilk 5 muhazire docx



Yüklə 234,89 Kb.
Pdf görüntüsü
səhifə7/10
tarix14.10.2017
ölçüsü234,89 Kb.
#4696
növüMühazirə
1   2   3   4   5   6   7   8   9   10

begin 

setcolor(acolor); 

rectangle(x,y,x+dx,y+dy); 

end; 


 Qrafik 

obyektlərin təsvirinin  əsas proqramın yaradılmasına mane olmaması üçün onu 

Graphobj modulu kimi formalaşdıraq.  

Unit Graphobj; 

Interface 

{bu hissədə ancaq obyektlərin elanı verilir} 

Type TgraphObj=object 

………end; 


Implementation  

{burada bütün metodların təsviri verilir} 

Uses Graph; 

Constructor TgraphObj.Init; 

…………..end; 

End. 


Obyektlərin istifadəsi 

Sahə  və alqoritmlərin inkapsulyasiyası ideyasını  nəinki ancaq qrafik obyektlərə  həm də 

bütövlükdə proqrama tətbiq etmək olar. Bir obyekt yaradaq və ona inisializasiya (Init), əsas işin 

icrası (Run) və qurtarma (Done) öyrədək.  

Init-də ekran qrafik rejimə keçir və qrafik obyektlər görünür. (100 nöqtə, bir xətt, dairə  və 

düzbucaqlı). Run mərjələsində klaviatura yoxlanır və qrafik obyektlər hərəkət etdirilir. Nəhayət 

Done mərhələsində ekran mətn rejiminə keçir və proqramın işi qurtarır. Bu obyekti Thereketgraph 

adlandıraq və Hereketgraph modulunda yerləşdirək.  

 

 Unit 


HereketGraph; 

Interface 

Type  

Thereket = object 



Procedure Init; 

Procedure Run; 

Procedure Done; 

End; 


Implementation 

…. 


End; 

 

Bu halda əsas proqram çox sadə olacaq. 



 

Program Grafik_obyektler; 

Uses hereketgraph; 

Var hereket:thereketgraph; 

Begin 

Hereket.Init; 



Hereket.Run; 

Hereket.Done; 

End. 



Göründüyü kimi metodlara müraciət zamanı obyekt tipli dəyişən elan edirik 

(Hereket:Thereketgraph) və Həmindəyişən.metod yazırıq.  

Destructor sadəcə bir prosedurdur. Adı  fərqlidir. Bu constructor-a uyğun yaradılıb, yəni onun 

əvəzinə prosedur da yazmaq olar.  Sadəcə proqramı bitirən proseduru destructor adlandırmaqla 

proqramı daha da oxunaqlı etmək olar. Beləliklə, constructor, virtual və object əsas anlayışlardır.  

{Hereket graph modulunu əlavə edirik} 

unit hereketgraph; 

interface 

uses graphobj; 

const npoints=100; 

type 

thereketgraph=object 



points:array[1..npoints] of tpoint; 

circ:tcircle; 

activeobj:integer; 

procedure init; 

procedure run; 

destructor done; 

procedure showall; 

procedure moveactiveobj(dx,dy:integer); 

end; 

implementation 



uses graph,crt; 

procedure thereketgraph.init; 

var d,r,err,k:integer; 

begin 


d:=detect; 

initgraph(d,r,'c:\bp\bgi'); 

err:=graphresult; 

if err<>0 then begin grapherrormsg(err); 

halt 

end; 


for k:=1 to npoints do 

points[k].init(random(getmaxx),random(getmaxy),random(15)+1); 

circ.init(getmaxx div 2, getmaxy div 2, getmaxy div 5, white); 

showall; 

activeobj:=1; 

end; 


procedure thereketgraph.run; 

var stop:boolean; 

const d=5; 

begin 


stop:=false; 

repeat 


case readkey of 

#27 : stop:=true; 

#9 :begin 

inc(activeobj); 

if activeobj>3 then activeobj:=3; 



end; 

#0 : case readkey of 

#71 :moveactiveobj(-d,-d); 

#72 :moveactiveobj(0,-d); 

#73 :moveactiveobj(d,-d); 

#75 :moveactiveobj(-d,0); 

#77 :moveactiveobj(d,0); 

#79 :moveactiveobj(-d,d); 

#80 :moveactiveobj(0,d); 

#81 :moveactiveobj(d,d); 

end 

end; 


showall; 

until stop; 

end; 

destructor thereketgraph.done; 



begin 

closegraph; 

end; 

procedure thereketgraph.showall; 



var 

k:integer; 

begin 

 for k:=1 to npoints do points[k].show; 



 circ.show; 

 end; 


 procedure tgraphapp.moveactiveobj; 

 begin 


 if activeobj=1 then circ.moveto(dx,dy); 

 end; 


 end. 

 

Mühazirə 3.  



Proqramlaşdırma prinsipləri. 

Delphi vizual modeli 

Delphi proqramların hazırlanması üçün vizual mühitdir. Bu o deməkdir ki, xarici görünüşün 

formalaşmasında çox işi siçanın köməyi ilə (lazımi obyektləri formanın üzərində qoymaqla) etmək 

olar. Bu əməllər kubiklərdən evciyin qurulmasına bənzəyir. Delphi mühiti proqramların 

hazırlanmasını proqramçılar üçün maksimum dərəcədə rahatlaşdırır. Proqramın xarici görünüşünü 

düzəltmək prosesi sürətlənir. Bu zaman proramın işləmə məntiqinə diqqət ayırmaq olar və bilavasitə 

proqramın riyazi hissəsinin yaradılması ilə məşqul olmaq olar.  

Komponentləri yerləşdirməzdən əvvəl bir az nəzəriyyəyə baxaq. Bu Delphinin obyektlərinə, 

siniflərinə  və komponent modelinə aiddir. Bu əsasdır və onu istənilən proqramçı bilməlidir. Sadə 

proqramı  hətta meymuna da öyrətmək olar, lakin müstəqil həqiqi proqramlar yaratmaq üçün 




proqramlaşdırmanın bütün əsaslarını başa düşək lazımdır.  Əks halda siz müxtəlif  şablonları 

təkrarlamış olacaqsınız və onları  dəyişdirə  və ya yaxşılaşdıra bilməyəcəksiniz. Bu paraqrafda ən 

zəruri biliklər verilir ki, onları praktikada istifadə edəcəyik. Lakin burda hələlik abstrakt 

proqramlaşdırma dili istifadə edəcəyik. Növbəti paraqrafda Delphi dili ilə bilavasitə tanış olacağıq.  



Prosedur proqramlaşdırma 

Proqramlaşdırma dillərinin inkişafı ilə proqramlaşdırma texnologiyaları da inkişaf edib. İlk 

proqramlar ancaq mətnlər idi. Belə bir yanaşma ilə çox az iş görmək olardı. Məntiq ancaq şərti 

keçidlərlə mümkün idi. Şərti keçid müəyyən  şərt daxilində  hər hansı  əmrə keçməkdir.  Xətti 

proqramlaşdırma ilə ancaq xətti məntiq yaratmaq olar. Məsələn, proqramlardakı masterlər (Master 

Wizard) xətti məntiqə malikdir. Ancaq müəyyən addımları icra edir.  

Növbəti addım prosedur yanaşma oldu. Bu yanaşmada proramın hər hansı bir kodu ayrıca 

bloklar (prosedurlar) şəklində birləşə bilər. Bundan sonra belə əmrlər blokunu proqramın istənilən 

yerindən çağırmaq olar. Məsələn,  

Prosedurun başlanğıcı 

əmr 1 

əmr 2  


prosedurun sonu 

Nəticədə eyni bir kodu bir proqramda bir neçə dəfə istifadə etmək olar.  

Proqramın əvvəli  

əmr 1 


əmr 2 

şərt ödənəndə 1 proseduru icra olunsun 

əmr 3 

proqramın sonu 



Proqramın kodu rahat və anlaşılan oldu. Delphinin atası Pascal, Object Pascal prosedur dillərdir.  

Prosedurlar indiyə  qədər qalır və  hər yerdə  tətbiq olunur, ona görə  də onları anlamaq vacibdir.  

Proseduraya müxtəlif qiymətlər göndərməklə, müxtəlif hesablamalar aparmaq olar.  Prosedurları 

çağırmaqla onları icra edirlər.  

Funksiyalar da proseduradır, ancaq qiymət qaytara bilir, həmin qiymətin tipi də göstərilir, onun 

üzərində əməliyyat aparılır.  

 

Obyekt yönümlü proqramlaşdırma 

Proqramlaşdırma texnologiyasının inkişafında növbəti addım OYP-nin yaranması oldu. 

Burda proqram kodu daha  “səthi” deyil və roqramçı  nəinki ancaq prosedur və funksiyalarla

həmçinin bütöv siniflərlə əməliyyatlar aparır.  

Sinif –xassələr, üsullar və hadisələr yığımıdır. Bu o deməkdir ki, sinif üsullar, xassələr və 

hadisələrdən ibarətdir və onlar da sinfin tam işini təmin edir. Məsələn düymə (button) təsəvvür edək.  

O aşağıdakılara malikdir: 

1.

 



Xassələr (rəng, düymə üzərində mətn, mətnin şrifti və s.) 

2.

 



Hadisələr (məsələn, düymə üzərinə basmaq) 

3.

 



Üsullar (düymənin işini təmin edir, məsələn, mətnin yazılması üsulu vəs.) 


Yüklə 234,89 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə