Mühazirəçi : b/m Bağıyeva Ruhiyyə M. FƏNnin proqrami kursun məzmunu


Turbo Paskal dilində sabit və dəyişənlər, onların tipləri



Yüklə 1,3 Mb.
səhifə5/16
tarix21.04.2017
ölçüsü1,3 Mb.
#14970
növüMühazirə
1   2   3   4   5   6   7   8   9   ...   16

Turbo Paskal dilində sabit və dəyişənlər, onların tipləri

Turbo Paskal dilində sabit və dəyişənlərin proqramda istifadəyə qədər tipləri müəy­yən olunmalıdır. Verilənlər, başqa sözlə sabit və dəyişənlər 5 əsas tipə bölünürlər:

1. sadə tiplər;

2. struktur tipi;

3. göstərici tipi;

4. sətir tipi;

5. prosedura tipi.

Öz növbəsində sadə tiplər: nizami tiplərə və həqiqi tipə bölünürlər.

Nizami tiplər aşağıdakılardır:

tam tip; məntiqi tip; simvol tipi; sadalanan tip; diapazon tipi.

Struktur tipli verilənlərin isə aşağıdakı növləri mövcuddur:

massivlər; yazılar; çoxluqlar; fayllar.



  • tam tiplər Tam dəyişən və sabitləri təsvir etmək üçün beş tip mövcuddur ki, onlar aşağıdakılardır: işarəli qısa tam (Shortint), İşarəli tam ( integer), İşarəli uzun tam (longint), İşarəsiz qısa tam (Byte), İşarəsiz tam (Word)

Məsələn, A, B, C, D dəyişənləri

Var

A, B: integer;

C, D : byte:

kimi elan edilibsə, onda A və B dəyişənləri yaddaşda 2 baytlıq yer tutaraq -32768-dən +32768-ə qədərki aralıqda qiymət ala bilərlər, C və D dəyişənləri isə yaddaşda 1 baytlıq yer tutaraq 0-dan 255-ə qədərki aralıqda qiymət ala bilərlər.



Məntiqi tipli verilənlər BOOLEAN kimi elan edilir və onların ala biləcəyi qiymətlər FALSE (yalan) və ya TRUE (doğru) ola bilər.

Sadalanan tip elan edilərkən, dəyişənin ala biləcəyi qiymətlər mötərizədə göstəril­məlidir. Məsələn,



Type

İxtisaslar= (menecment, marketinq, mühasibat uçotu, informasiya sistemləri, iqtisadçı-mühəndis);

Bu o deməkdir ki, İxtisaslar adlı identfikator proqram daxilində mötərizədəki 5 ixtisasın adlarından birini ala bilər.



Simvol tipli verilənlər CHAR tipi kimi göstərilir. Bu tipə aid olan sabit və dəyişənlərin qiymətləri dırnaq arasında verilir: məsələn X=’a’. Qeyd etmək lazımdır ki, hər bir simvola 0..255 arasında bir ədəd kod kimi uyğundur. 0..31 arasındakı kodlar xidməti kodlardır. Əsas simvollara (klaviaturaya uyğun simvollara) uyğun kodlar 32 .. 127 arasılığında yerləşir. Məsələn 4 rəqəminin simvol kodu 52, A hərfinin simvol kodu 65, a hərfinin (kiçik və baş hərflərin kodları fərqlidir) simvol kodu 97- dir.

-həqiqi tiplər. Bu qrupa beş birqat dəqiqlikli həqiqi (Single), həqiqi (real), ikiqat dəqiqlikli həqiqi (Double), yüksək dəqiqlikli həqiqi (Extended), tam həqiqi formatda (comp) tiplər daxildir.

Qeyd edək ki, COMP tipindən böyük tam ədədlərlə işləmək məqsədilə də istifadə etmək mümkündür.

Turbo Paskal dilində riyazi funksiyalarla işlədikdə ən çox tam tipli verilənlər üçün İNTEGER, həqiqi tipli verilənlər üçün isə REAL tipləri istifadə edilir.

Qeyd edək ki, istifadəçi özü də yeni tiplər müəyyənləşdirə bilər. Yəni əvvəldə tipi verilən sabit və ya dəyişəni sonra yeni dəyişənin tipi kimi göstərə bilər. Bu halda mütləq TYPE sözü yazılır, sonra isə dəyişənlərin siyahısı və tip kimi qəbul edilən artıq elan olunmuş dəyişən ümumi qaydalara uyğun verilir.



MÖVZU 5.2

TURBO PASCAL dilində proqram tərtibinin ümumi qaydaları. TURBO PASKAL dilinin operatorları

Plan:


  1. TURBO PASCAL dilində proqram tərtibinin ümumi qaydaları

  2. Turbo Paskal dilinin mənimsəmə, şərti və şərtsiz keçid, seçmə operatorları

  3. Dövri strukturlu alqoritmlərin proqramlaşdırılması


Turbo Pascal dilində proqram tərtibinin qaydaları və standart modullar

Turbo Pascal dilində tərtib edilən proqramın ümumi quruluşu aşağıdakı kimi olmalıdır:

{Proqram başlığı}

Program proqramın adı;

{İstifadə olunan proqram modullarının təsviri bölməsi}

Uses Istifadə olunan proqram modullarının siyahısı;

{Təsvirlər bölməsi}

Label Nişanların təsviri;

const Sabitlərin təsviri ;

Type tiplərin təsviri;

var dəyişənlərin təsviri;


Prosedur və funksiyaların təsviri;


{operatorlar bölməsi}

begin

operator 1;



operator 2;

. . . . . . . . . . . .

. . . . . . . . . ..

operator n;

end.

İstifadə edilən istənilən bölmə ya konkret élan olunmuş proqram elementlərindən, ya da təyin olunmuş əməliyyatı yerinə yetirən operatorlardan təşkil olunmuş bir və ya bir neçə cümlələrdən ibarət olur. Cümlələr bir-biri ilə nöqtəli vergüllə ayrılır. Turbo Pascalda proqram başlığı məcburi deyil, əgər istifadə olunarsa, onda o aşağıdakı sintaksis formada yazılır:



PROGRAM ad ( proqramın parametrləri);

Pascal dilinin standartında bölmələr yuxarıdakı ardıcıllıqla yerləşməlidir. Turbo Pascalın bəzi xüsusiyyətləri mövcuddur. Belə ki, proqram başlığı və istifadə olunan modulların təsviri bölməsi istisna olmaqla bölmələrin yerləşmə ardıcıllığı sərbəstdir. Bundan başqa bir neçə eyni bölmə yaratmaq olar. Proqramda istifadə olunan elementlər ya proqram mətninin əvvəlində təyin olunmalı, ya da dilin qabaqcadan təyin olunmuş elementləri olmalıdır. Turbo Pascalın bu xüsusiyyətləri olmasına baxmayaraq dilin standartında nəzərdə tutulan ardıcıllığa riayət etmək lazımdır. Yalnız prinsipcə vacib olduqda ardıcıllığın dəyişdirilməsi məqsədə­uyğundur. Proqram gövdəsi BEGIN sözü ilə başlayır və proqramın sonunu göstərən END sözü ilə qurtarır, sonda isə nöqtə qoyulur.

Əgər istifadəçi proqram daxilində müəyyən şərhlər vermək istəyirsə, onda (* *), { } işarələrindən istəfadə etməlidir. Məsələn:

(* Bu proqram Turbo Paskal dilində tərtib edilib!*)

və ya


{Mənim birinci proqramım}

Proqram daxilində dəyişənlərin qiymətlərini birbaşa və klaviaturadan verməklə daxil etmək mümkündür. Birbaşa daxil etmədə mənimsəmə operatorundan istifadə edilir. Məsələn, Y dəyişəninə 3 qiymətini mənimsətmək istəyiriksə bunu aşağıdakı kimi yazırıq:



Y3;

Əgər dəyişənin qiymətini klaviaturadan daxil edəcəyiksə, onda



READ (Y);

və ya


READLN(Y);

yazırıq. READ standart prosedurasından istifadə etdikdə dəyişən daxil edildikdən sonra yeni dəyişənin daxil edilməsi həmin sətirdə gözlənilir, READLN istifadə edildikdə isə yeni dəyişənin qiyməti növbəti sətirdə, yəni yeni sətirdən daxil edilməlidir. Bu proseduranın ümumi yazılışı aşağıdakı kimidir:



READ (daxil ediləcək dəyişənlərin adlarının siyahısı);

READLN (daxil ediləcək dəyişənlərin adlarının siyahısı);

Əgər bu proseduraların yazılışı aşağıdakı şəkildədirsə



READ (fayl dəyişəni, daxil ediləcək dəyişənlərin adlarının siyahısı);

READLN (fayl dəyişəni, daxil ediləcək dəyişənlərin adlarının siyahısı);

onda dəyişənin qiyməti fayl dəyişəni ilə adlandırılmış fayldan və ya məntiqi qyrğudan daxil edilir.

Proqramın nəticələrini, eləcə də sabit və dəyişənlərin qiymətlərini ekrana çıxarmaq məqsədilə aşağıdakı standart proseduralardan istifadə edilir:

WRİTE (sabit və dəyişənlərin siyahısı);

WRİTELN (sabit və dəyişənlərin siyahısı);

Bunlarda fərq ondan ibarətdir ki, birincidə siyahıdakı sabit və dəyişənlərə uyğun qiymətlər bir sətrə çıxarılır və növbəti dəfə bu proseduraya müraciətdə də yeni qiymətlər də həmin sətrə çıxarılacaq. İkinci prosedura yerinə yetirildikdə isə göstərilən sabit və dəyişənlərə uyğun qiymətlər ekrana verildikdən sonra, növbəti müraciətdə nəticələr avtomatik olaraq yeni sətrə keçilərək verilir.

Əgər nəticələrin hər hansı fayl və ya məntiqi qurğuya (diskə, printerə və s.) çıxarılması nəzərdə tutulubsa, onda qaydalar eyni ilə qalmaqla aşağıdakı yazılışdan istifadə edilir:

WRİTE (fayl dəyişəni, sabit və dəyişənlərin siyahısı);

WRİTELN (fayl dəyişəni, sabit və dəyişənlərin siyahısı);

Qeyd edək ki, proqramın yerinə yetirilməsində proqram dilinin imkanları və daxili ehtiyatlarından yararlanmaq məqsədilə dilin standart modullarından istifadə edilir. Bu istifadə edilən modulların adları USES sözündən sonra aralarında vergül qoyulmaqla göstərilir. Turbo Paskal dilinin standart modulları aşağıdakılardır:

SYSTEM- Turbo Paskalın bütün standart funksiya və proseduralarını özündə saxlayır. Bu modulu göstərmək lazım deyil, çünki o avtomatik yüklənir;

CRT- Bu modulun köməyi ilə ekranın mətn rejiminin idarə edilməsinin standart funksiya və proseduraları işçi vəziyyətə gətirilir, adətən bu bütün proqramlarda göstərilir:

PRİNTER- printerə çıxışı təmin edir. Printerə çıxış üçün modul göstərildikdən sonra çıxış proseduru olan WRITE və ya WRİTELN daxilində LST fayl dəyişəni göstərilməlidir. Məsələn x dəyişəninin qiymətini çap etmək üçün

WRİTELN (LST, X:8:2);

yazılır. Burada x- həqiqi tiplidir, onun qiymətindəki ümumi rəqəmlərin sayı 8, vergüldən sonrakı rəqəmlərin sayı isə 2-dir.

GRAPH- Ekranın qrafik rejiminin standart prosedura və funksiyalarını özündə saxlayır və qrafik rejimdə işləyərkən onun göstərilməsi məcburidir;

TURBO3 və GRAPH3- Turbo Paskalın əvvəlki versiyaları ilə uyğunlaşmanı təmin edir (uyğun olaraq adi proqram və qrafik rejimlərdə):

DOS- PS DOS (MS DOS) sisteminin proqramlarına çıxışı təmin edir;

OVERLAY- Bu modul proqramlaşdırmada overleylərdən istifadəyə imkan verir. Adətən overleylər iri həcmli proqramlarla işləyərkən lazım olur. Proqram həcmcə iri olduqda yaddaş çatışmamazlığı problemi ilə qarşılaşmaq olar. Əgər OVERLAY modulunun imkanlarından istifadə olunsa proqram yerinə yetirilərkən yalnız əməli yaddaşa proqram daxilində olan və cari vaxtda istifadəsi tələb olunan proqram cağrılır. Ona müraciət qurtardıqda avtomatik olaraq geriyə qaytarılaraq yeni cağrilan funksiya və ya prosedura əməli yaddaşa yüklənir. Beləliklə yaddaş çatışmamazlığı aradan qaldırılır.



Turbo Paskal dilinin mənimsəmə, şərti və şərtsiz keçid, seçmə operatorları:

Turbo Paskal dilində dəyişənlərə qiymətlərin mənimsədilməsi məqsədilə mənimsəmə (mənsubetmə) operatorundan istifadə edilir. Operatorun ümumi yazılışı aşağıdakı kimidir:



Dəyişənin adı  qiymət və ya qiyməti mənimsədiləcək ifadə;

Burada, dəyişənin adı- dilin düzgün identifikatorudur; sağ tərəfdə isə həmin dəyişənə mənimsədiləcək məlum qiymət və ya qiyməti hesablanacaq ifadə durur.

Turbo Paskal dilində budaqlanan strukturalı alqoritmlərin proqramlaşdırılması zamanı hər hansı şərtdən asılı olaraq hesablama və ya yerinə yetirilmə prosesi şaxələnir. Başqa sözlə, şərtdən asılı olaraq proqram daxilində keçidin yerinə yetirilməsi baş verir. Bu keçidin həyata keçirilməsi dilin şərti keçid operatorları vasitəsilə yerinə yetirilir. Şərti keçid operatorunun ümumi şəkli aşağıdakı kimidir:

İF şərt THEN operator_1 ELSE operator_2

Burada: İF, THEN, ELSE ( əgər, onda, əks halda) dilin açar sözləri olub operatoru müəyyən edirlər;



Şərt- məsələnin qoyuluşundan asılı məntiqi tipli ifadə olan şərtdir;

Operator_1 və operator_2 Turbo Paskal-ın ixtiyari operatorlarıdır.

Əvvəlcə şərti ifadə hesablanır, əgər şərt ödənilirsə, onda operator_1 yerinə yetirilir və operator2 buraxılaraq yerinə yetirmə davam etdirilir, əks halda idarəetmə operator_2-yə verilir və operator_2 yerinə yetirilir. Burada operator2 verilməyə də bilər. Belə halda şərt ödənmədikdə yerinə yetirmə növbəti mərhələyə keçir. Qeyd edək ki, operator_2 əvəzinə şərtsiz keçid operatorunun özü də iştirak edə bilər, yəni



.....................................

İF A >B THEN Y:=2 ELSE IF A=B THEN Y:=5 ELSE Y:=3;

.....................................

və ya


...................................

IF A>B THEN IF C

IF R< D THEN Y:=1 ELSE Y:=0;

yazılışları doğrudur.



Misal: Verilmiş funksiyanı hesablamaq üçün blok-sxem və proqram tərtib edin:



Blok sxemə görə proqram tərtib edək:

program budaqlanan;

var x,y,t,a:real;

begin

writeln('x,t,a-i daxil edin:');



read(x,t,a);

if x<-1 then y:=2*sin(x)/cos(x)+a else if x>3 then y:=3*x*x+t else y:=4*exp(5*ln(x))*cos(a)/

exp(1/3*ln(x-5);

writeln('x=',x:4:2,' y=',y:5:2);

end.

Bir çox hallarda proqram tərtibi zamanı proqram daxilində heç bir şərt qoyulmadan keçidin yerinə yetirilməsi tələb olunur. Belə halda şərtsiz keçid operatorundan istifadə edilir. Şərtsiz keçid operatorunun ümumu şəkli aşağıdakı kimidir:



GOTO nişan;

Burada nişan ixtiyari identifikator olub proqramın operator və ya bir neçə operatorunu adlandırmaq, daha döğrusu göstərmək üçün istifadə edilir. Nişan metka kimi də adlandırılır. Proqramda istifadə olunan nişanlar (metkalar) proqramın əvvəlində elan hissəsində göstərilməlidirlər. Nişanlar (metkalar) aşağıdakı kimi elan edilir:



LABEL nişan1, nişan2,..., nişanN;

Proqramda şərtsiz keçid operatoruna yerinə yetirmə çatan kimi idarəetmə GOTO operatorundan sonra göstərilən nişan olan proqram sətrinəin ardınca gələn operatorlara verilir. Nişandan sonra “:” qoyulur. Məsələn:



PROQRAM KECİD;

USES CRT;

LABEL M1;

......................................

BEGİN

................................

GOTO M1;

................................

M1: READLN (x);

.........................

END.

Burada yerinə yetirilmə M1 nişanı olan sətirdəki READLN (x) operatoruna verilir.

Proqram tərtibində bəzən mümkün bir neçə imkanlardan birini seçməklə proqramın davam etdirilməsi lazım olur. Belə halda seçmə operatorundan istifadə etmək mümkündür. Seçmə operatorunun ümumi görünüşü aşaqıdakı kimidir:

CASE seçmə açarı OF seçmə siyahısı ELSE operator END;

Burada: CASE, OF, ELSE, END (seçmə,- dən(-dan), əks halda, son) dilin ehtiyat açar sözləri olub operatoru təşkil edir;



Seçmə açarı- nizami tipli ifadədir;

Seçmə siyahısı- bir və ya bir neçə seçmə sabiti: operator şəkilli yazılışlardır;

seçmə sabiti- seçmə açarı ilə eyni tipli sabitdir:

operator- hər iki halda Turbo Paskalın operatorlarıdır.

Operatorun işləmə alqoritmi belədir: siyahıdan seçmə açarına uyğun seçmə sabiti axtarılıb tapılır və ona uyğun operator yerinə yetirilir. Əgər uyğun seçmə sabiti tapılmazsa yerinə yetirilmə ELSE-dən sonrakı operatora verilir. Nümunə üçün aşağıdakı proqramı verək:



Proqram SECOND;

USES CRT;

VAR

OP: CHAR; (* dayishanlar*)

X, Y, Z: REAL;

DAYAN: BOOLEAN;

BEGİN

(*Proqramin asas hissasi*)

DAYAN:= FALSE;

WRITELEN; (*Bosh satir*)

WRITE (‘(x,y)=’);

READLN (x,y);

WRITE (‘Op:’);

READLN ( OP);

CASE OP OF

+’:Z:=X+Y;

-‘: Z:=X-Y;

*’: Z:=X*Y;

/’: Z:=X-Y;

ELSE

DAYAN:=TRUE;

END;

IF not DAYAN THEN WRITELN (‘ NATICA= ‘ Z:8:2);

END.
Dövri strukturlu alqoritmlərin proqramlaşdırılması

Turbo Paskal dilində dövri strukturalı alqoritmlərin proqramlaşdırılması məqsədilə üç cür operatordan istifadə edilir.



  1. Dövr operatoru.

Operatorun ümumi şəkli aşağıdakı kimidir:

FOR := TO DO

;

Burada, FOR, TO, DO –dilin ehtiyat sözləridir (ingiliscə “üçün”, “qədər”, “yerinə yetirmək” mənasını daşıyır);



<dövr parametri> - dövrün parametric olub İNTEGER tipli dəyişəndir (eyni zamanda ixtiyari nizami tip ola bilər);

<başlanğıc qiymət> - dövr parametrinin tipində olan parametrin başlanğıc qiymətidir;

<son qiymət> - son qiymət dövr parametrinin tipində olan parametrin son qiymətidir;

- Turbo paskal dilinin ixtiyari operatorudur.

Opertor belə yerinə yetirilir: Əvvəlcə dövr parametrinə başlanğıc qiymət mənimsədilir. əgər o son qiymətdən kiçikdirsə onda idarəetmə operatora verilir, əks halda idarəetmə növbəti sətrə verilir. Növbəti mərhələdə başlanğıc qiymətin üzərinə vahid əlavə edilir və proses analoji olaraq yerinə yetirilir. Qeyd edək ki, burada ,



şərti ödənilməlidir.

Dövr daxilində olan sətirlər bir neçə olarsa, onda həmin sətirlər BEGİN END arasında verilməlidir. Yalnız bir sətir olduqda isə bu operatorlarsız da sətiri vermək olar.

Dövr operatorunun digər bir variantı da mövcuddur:

FOR := DOWNTO DO

;

Bu operatorda da istifadə edilən dəyişənlər üçün qaydalar əvvəlki variantda olduğu kimidir. Opertatorun fərqi ondan ibarətdir ki, hər sonrakı təkrarlanmada başlanğıc qiymətdən bir vahid çıxılır və onun qiyməti son qiymətdən kiçik olduqda idaretmə növbəti sətrdəki operatora verilir. Burada



şərti ödənilməlidir.

Nümunə1: S= ifadəsini hesablayan alqoritmin blok sxemini və proqramını qurun.

Paskal proqram:

PROGRAM MİSAL3;

USES CRT;

CONST


N=10;

VAR


İ:İNTEGER;

A, S:REAL;

BEGİN

READLN (A);



CLRSCR;

S:=0;


FOR İ:=1 TO N DO

S:=S+(SQR(İ)+A);

WRITELN (‘A=’,A:2:1,’ N=’,N,’ S=’,S:6:2);

END.




  1. WHILE təkrarlanma operatoru.

Operatorun ümumi şəkli aşağıdakı kimidir:

WHILE <şərt> DO begin ;end;

Burada WHILE, DO - dilin ehtiyat (açar) sözləridir (ingiliscə “hələlik (yerinə yetirildiyi müddətdə)”, “etmək( yerinə yetirmək)” mənasını daşıyır);



<şərt> - məntiqi tipli ifadə və şərtdir;

- Turbo Paskalın ixtiyari operatorudur.

Operator aşağıdakı kimi işləyir: əgər şərt ödənirsə, yəni doğrudursa onda operator yerinə yetirilir və şərtin təkrar yoxlanması aparılır. Şərt ödənmədikdə idarəetmə növbəti sıradakı operatora verilir.



Nümunə2: P=ifadəsini nb-nin ixtiyari qiymətlərində hesab-layan alqoritmin blok-sxemini və Paskal proqramını qurun.

Paskal proqramı:

PROGRAM MİSAL4:

USES CRT;

VAR


K, N: İNTEGER;

B, P: REAL;

BEGİN

READLN(N, B);



CLRSCR;

K:=1;


P:=1;

WHILE K<=N DO

BEGIN

P:=P*(SQRT(ABS(K+B)));



K:=K+1;

END;


WRITELN(‘N=’,N,’ B=’,B:5:2,’ P=’,P:9:2);

END.



  1. REPEAT operatoru:

Operatorun ümumi şəkli aşağıdakı kimidir:

REPEAT UNTIL <şərt>;

Burada, REPEAT UNTİL – dilin ehtiyat sözləridir (ingiliscə “təkrarlamaq”, “ o vaxta qədər ki (yerinə yetirilməyənədək)” mənasını daşıyır);



- Turbo Paskal dilinin operatorları ardıcıllığıdır;

<şərt> - məntiqi tipli ifadə və ya şərtdir.

Operator belə yerinə yetirilir: əvvəlcə dövrün gövdəsi heç olmazsa bir dəfə yerinə yetirilir. Sonra şərt yoxlanılır, əgər şərt ödənmirsə onda dövrün gövdəsi yenidən hesablanır, əks halda yəni şərt ödəndikdə idarəetmə dövrdən sonrakı operatora verilir.



MÖVZU 5.3

Turbo Pascal dilində sətir tipli verilənlər, yazilar, çoxluqlar və massivlərlə işin təşkili

Plan:


1. Turbo Pascal dilində sətir tipli verilənlər, yazilarla işin təşkili

2. Turbo Pascal dilində çoxluqlarla işin təşkili

3. Turbo Pascal dilində massivlərlə işin təşkili
Turbo Paskal dilində əvvəlki dərslərimizdə qeyd olunduğundan məlumdur ki. verilən və dəyişənlərin tiplərindən biri də struktur tiplilərdir. Bu tipə massivlər, yazılar və çoxluqlar aiddir. Qeyd edək ki. bu tipə aid olan bütün verilən və dəyişənlərin ümumi xüsusiyyəti onların elementlər çoxluğundan ibarət olmasıdır.

Sətir tipli dəyişənlərlər və onlar üzərində əməllər:

Sətir tipli dəyişənlər aşağıdakı kimi elan edilirlər: Dəyişən: STRING [N]; Burada, N- sətirin uzunluğudur. Onun maksimum qiyməti 256 ola bilər, başqa sözlə sətirdəki simvolların sayı maksimim 256 ola bilər. Əgər sətirdəki simvolların sayı göstərilməyibsə (sadəcə olaraq Dəyişən: STRING; kimi elan edilibsə) onda sətirin uzunluğu 255 qəbul edilir.

Məsələn, VAR S1:STRİNG[10]; S2:STRING [20];

Burada S1 dəyişəni 10, S2 dəyişəni 20 simvoldan ibarət sətir tipli dəyişənlərdir.

Sətir tipli dəyişənlər üzərində aşağıdakı əməliyyatları aparmaq olar:

CONCAT (S1, S2, ..., SN)- S1, S2, ..., SN sətirlərini ardıcıllığa uyğun olaraq birləşdirir;

COPY (S, N, M)- S sətrindən N nömrəli simvoldan başlayaraq M sayda simvolların surəti köçürülür;

DELETE(S, N, M)- S sətrində N nömrəli simvoldan başlayaraq M sayda simvol silinir:

İNSERT(ST, S, N)- S sətrinin N-ci mövqeyindən başlayaraq ST alt sətri əlavə edilir;

LENGTH (S)- S sətrinin uzunluğunu (simvolların sayını) təyin edir:

POS (ST,S)- S sətrində ST alt sətrinin daxil olduğu mövqeyə uyğun qiyməti veriri;

UPCASE (simvol) – simvolun yuxarı registrdəki qiymətini qaytarırı. Əgər belə qiymət yoxdursa, onda simvolun özünü qaytarır.



Nümunə:

PROGRAM STR;

USES CRT, PRINTER;

VAR S1, S2:STRING [18];

S3: STRING [2];

S4: STRING[60];

BEGIN

S3:=’ ‘; READLN(S1);

READLN(S2);

S4:=CONCAT(S1, S3, S2); WRITELN(S4); END.
Yazılar:

Turbo Paskal dilində yazı yazı sahələri adlanan qeyd olunmuş sayda komponent­lərdən ibarət verilənlər strukturudur. Yazılar aşağıdakı kimi elan edilir:

Ad= RECORD yazılar sahəsi END;

Ad- yazıya verilən ad olub düzgün identifikatordur; RECORD, END- açar sözləridir (yazı, son);

Yazılar sahəsi- yazılar bölməsini göstərməklə bir-birindən “;”-lə ayrılırlar.

Məsələn:


VAR DG= RECORD

GUN, AY: BYTE; İl: İNTEGER; END;

Burada, DG- yazının adı, GUN, AY, İl- yazı sahələridir. Yazı sahələrilə işləməni asanlaşdırmaq məqsədilə aşağıdakı operatordan istifadə edilir: WITH yazı sahələri DO operator

Yazı sahələri- yazı tipli dəyişənlərdir; operator- Turbo Paskalın istənilən operatorudur.

Çoxluqlar:

Çoxluq- bir-biri ilə müəyyən qaydada əlaqəli olan eyni tipli obyektlər yığımıdır. Turbo Paskal dilində çoxluqlar aşağıdakı kimi elan edilir:



Ad= SET OF tip

Burada. Ad- çoxluğun adı; SET (çoxluq), OF (-ın, -in, -un, -ün)- açar sözləri; tip- çoxluq element-lərinin tipidir.

Məsələn:

VAR

A1, A2: SET OF 0..5;

A3, A4: SET OF 3..8;

Burada A1, A2, A3, A4 çoxluqların adıdır. A1 və A2 çoxluqları 0-dan 5-ə qədər rəqəmləri, A3, A4 çoxluqları isə 3-dən 8-ə qədər rəqəmləri özündə birləşdirir.

Çoxluqlar üzərində aşağıdakı əməliyyatları aparmaq olar:

*- çoxluqların kəsişməsi;

+ - çoxluqların birləşməsi

- - çoxluqların fərqi; birinci yazılmış çoxluğun ikinciyə aid olmayan elementlərindən ibarət çoxluq.

Çoxluqlar arasındakı münasibətləri öyrənmək məqsədilə aşağıdakı əməliyyatlardan istifadə edilir:

=- çoxluqların ekvivalentliyinin yoxlanması; <>-çoxluqların ekvivalent olmamasının yoxlanması;



<=-birinci çoxluğun ikinciyə daxil olmasının yoxlanması;

>=-ikinci çoxluğun birinciyə daxil olmasının yoxlanması;

in- elementin çoxluğa daxil olmasının yoxlanması: əgər element çoxluğa daxildirsə TRUE (doğru), əks halda isə FALSE (yalan) qaytarılır.

Massivlər: Turbo Paskal dilində istifadə olunan massivlər riyaziyyatdakı matrislər ardıcıllıqlar eləcə də cəbri vektorlarla eynidir. Massivlərin fərqləndirici xüsusiyyəti onun elementlərinin eyni tipli olmasıdır. Digər tərəfdən isə massivin elementləri adətən kəmiyyət göstəricilərindən ibarət olurlar.

Massivləri elan etmək məqsədilə aşaşıdakı ümumi formadan istifadə olunur:



Tipin adı = ARRAY [massivin olçü göstəriciləri] OF tip;

Burada, tipin adı- massivə verilən addır, massivin ölçü göstəriciləri-massivin element­lərinin sayını, sətir və sütunlarının sayını göstərən göstəricilərdir, tip-massiv element-lərinin tipidir və Turbo Paskal dilinin LONGİNT tipindən başqa istənilən tipi ola bilər. Adətən məsələlərin həllində ən çox rast gəlinən massivlər birölçülü və ikiölçülü massivlərdir. Başqa sözlə daha çox ardıcıllıq və ya matrislərdən istifadə olunur. Əgər A= ARRAY [1..14] of real; verilibsə, bu o deməkdir ki, massivin adı A-dır, onun 14 elementi var və elementlər həqiqi tipli ədədlərdir. Bu massivin elementləri yaddaşda ardıcıl yerləşir və müraciət vaxtı ünvana uyğun olaraq çağrılır. Elementlərə qiymət aşağıdakı kimi mənimsədilir: A[1]:=1.2; A[2]:=76.9 və sair. Əgər massiv iki ölçülüdürsə, onda o, aşağıdakı kimi göstəriləcək:



B= ARRAY [1..3,1..5] OF INTEGER;

Burada B-massivin adıdır, onun 3 sətri, 5 sütunu var və elementləri tam tiplidirlər.Bu şəkildə massivin elementləri aşağıdakı kimi mənimsədilir: B[1,2]:=2; B[3,4]:=24;

Bu o deməkdir ki. B ikiölçülü massivinin 1-ci sətrinin 2-ci sütununun elementi 2; 3-cü sətirinin 4-cü sütununun elementi isə 24-ə bərabərdir.


Yüklə 1,3 Mb.

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




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin