Ia9 -fesil-1: 9 qxd



Yüklə 0,93 Mb.
səhifə3/9
tarix08.10.2017
ölçüsü0,93 Mb.
#3833
növüDərs
1   2   3   4   5   6   7   8   9

Hər bir hesab operatoru konstant, dəyişən, yaxud başqa hesabi ifadə olabiləcək iki operandla işləyir. +, -, * / operatorlarının operandlarıRealIntegertipli ola bilər. Cədvəldən göründüyü kimi, +, -, * operatorlarından isti-fadə edərkən alınan nəticənin tipi operandların tipi ilə üst-üstə düşür, / operatoru-nun nəticəsi isə həmişə həqiqi ədəd olur. Sonuncu iki operatorun operandları(divmod) isə yalnız tam ədədlər ola bilər.

Yuxarıda sadalanan operatorlardan istifadə etməklə konstant (sabit kəmiyyət)və dəyişənlərdən ifadə qurmaq olar, məsələn:

(a + b) / c

(MaxI * n + ql) div (n + ql)

(flag or not(a = b)) and (n <> ql)

İfadədə əməllərin yerinə yetirilmə ardıcıllığı mötərizələrlə müəyyənləşir.Bununla yanaşı, riyaziyyatda mövcud olan adi qaydalar da qüvvədədir, məsələn,vurma və bölmə əməlləri toplamadan əvvəl yerinə yetirilir və s.



  1. Identifikator nədir?

  2. Bunlardan hansıları identifikator deyil? Səbəbini izah edin.

End ReadLn program 123XYZ XYZ123

_Y=Z 'Max' AyOl Ay-01 1 Ay

3. Pascal proqramı hansı əsas hissələrdən ibarət olmalıdır?

    1. Dəyişənlərin adlandırılması qaydası necədir?

    2. Aşağıdakı şərhlərdə sintaktik səhvləri düzəldin.

{ Bu şərhdir *)

{ Bu da {şərhə} oxşayır }

1.7.OPERATORLAR

Pascal dilindəki proqramlar dəyişənlərin təsvirindən və onlar üzərindəaparılan müxtəlif əməliyyatlardan, başqa sözlə, operatorlardan ibarətdir.

Verilənlər operatorlar vasitəsilə emal olunur. Operatorlar iki cür olur: icraolunmayan (verilənləri və proqramın strukturunu təsvir etmək üçün) və icra olu-nan (müxtəlif əməliyyatları yerinə yetirmək üçün) operatorlar. Biz təsviretməoperatoru ilə tanış olduq. İndi isə bəzi icra olunan operatorlarla tanış olaq.



Mənimsətmə operatoru. Dəyişənlərə qiymətlər vermək, yaxud onlarıdəyişdirmək üçün proqramlaşdırma dillərinin hamısında mənimsətmə operatoruolur. Həmin operatorun ümumi şəkli belədir:

Mənimsətmə operatorunun sol tərəfində yeni qiymət alacaq dəyişənin identi-fikatoru göstərilir. Mənimsətmə işarəsi müxtəlif proqramlaşdırma dillərində müx-təlif olur. Məsələn, BASIC və C dillərində mənimsətmə işarəsi adi bərabərlikişarəsi (=) kimi olduğu halda, Pascal dilində o,:=(iki nöqtə və bərabərdir)simvollar kombinasiyası şəklindədir.

Mənimsətmə operatoruna nümunələr:

x := 5; x dəyişəninə 5 ədədi mənimsədilir;

y := x; y dəyişəninə x-in qiyməti mənimsədilir;

y := x + 10; y dəyişəninin qiyməti x dəyişəninin qiymətindən 10 vahidartıq olur;

x := x - 2; x dəyişəninə özündən 2 vahid az olan qiymət mənim-

sədilir;


y := y + 1; y dəyişəninə özündən 1 vahid çox olan qiymət mənim-

sədilir.


program Happiness; var

I, You, We: Integer; begin

I := 1; You := 1; We := I + You; end.

Giriş və çıxış operatorları. Proqram işləyərkən istifadə olunan bütünverilənlər kompüterin operativ yaddaşında yerləşir. Proqram başqa qaynaqlardayerləşmiş verilənlərə xarici verilənlər kimi baxır. Verilənlərin xarici mənbələrdənalınıb-verilməsi əməliyyatlarına giriş (daxiletmə), yaxud çıxış əməliyyatları de-yilir.

Giriş (daxiletmə) - verilənlərin xarici mənbədən qəbul edilməsi.Çıxış - verilənlərin xarici qəbulediciyə verilməsi.

WriteLn proseduru. İstifadəçi ilə interaktiv qarşılıqlı əlaqədə işləyən proq-ramlarda çox zaman ekrana çıxarma operatoru tətbiq olunur. Pascal dilində veri-lənləri ekrana çıxarmaq üçünWrİteLnstandart prosedurundan istifadə olunur.Ekrana çıxarılası dəyişənlər və ifadələr bu prosedurun parametrləri olur.

WriteLn('Cəmi ', a);

Bu operator iki elementi -'Cəmi'sətrini vəadəyişəninin qiymətini ekran-da əks etdirir. Onun icrasınadəkadəyişəninin qiyməti, məsələn, 2.345 olarsa,ekrana



Cəmi 2.3450000000E+00

cıxacaq (əgər həqiqi ədədin ekrana çıxarılması zamanı heç bir format gös-tərilməmişsə, Pascal eksponensional formatdan istifadə edir).Tutaq ki, proqramda



WriteLn('Cəmi ', a); WriteLn;

WriteLn('Son ');

operatorlar ardıcıllığı var. Bu operatorların icrasından sonra ekranda



Cəmi 2.3450000000E+00 Son

sətirləri əks olunacaq. Gördüyünüz kimi, ikinci operatorda çıxış siyahısıolmadığından ekrana boş sətir çıxarılır.

Beləliklə,WriteLnproseduru çıxış siyahısında verilmiş hər bir dəyişəni,yaxud konstantı əks etdirir, sonra isə kursoru növbəti sətrin başlanğıcına keçirir.Əgər çıxış siyahısında apostrofa alınmış sətir varsa, apostroflar çap olunmur(ekrana çıxarılmır). Çıxış siyahısı boşdursa,WrİteLnprosedurunun icrasındansonra kursor, sadəcə olaraq, növbəti sətrin başlanğıcına keçəcək.

Write proseduru. Pascal dilində verilənləri çıxışa vermək üçün daha birprosedur -Writeproseduru nəzərdə tutulub. Bu prosedurunWriteLnprosedu-rundan yeganə fərqi bundadır ki, onun icrasından sonra kursor növbəti sətrinbaşlanğıcına keçmir. Tutaq ki, proqramda

Write('Cəmi ');

WriteLn(a);

operatorlar cütü vardır. Bu operatorların icrasının nəticəsi



WriteLn('Cəmi ', a);

operatorunun icrasının nəticəsi kimi olacaq.



ReadLn proseduru. Verilənləri klaviaturadan daxil etmək üçün PascaldilindəReadLnproseduru nəzərdə tutulub. Bu prosedurun ümumi formasıbelədir:

ReadLn(giriş siyahısı)

ReadLnproseduru proqramın icrası zamanı istifadəçinin klaviaturadan daxiletdiyi verilənləri oxuyub, kompüterin yaddaşına yazır. Giriş siyahısında göstəril-miş hər bir dəyişən üçün istifadəçi bir element daxil etməli, sonra isəklavişini basmalıdır. Giriş siyahısında dəyişənlərin adları vergüllə ayrılır.Verilənlərin daxiledilmə ardıcıllığı dəyişənlərin giriş siyahısındakı ardıcıllığınauyğun gəlməlidir. Daxil edilən ədədi verilənləri bir, yaxud bir neçə boşluqsimvolu ilə ayırmaq lazımdır. Ədədi verilənlərin daxilində, yaxud onların arasın-da vergül olmamalıdır.

var a, b: integer;

Write('Ədədləri daxil edin: '); ReadLn(a, b);

Read proseduru. Verilənləri klaviaturadan daxil etmək üçün daha bir vasitə-Readproseduru da vardır.ReadReadLnprosedurları arasında əsas fərqondan ibarətdir ki,Readproseduru verilənlər sətrində olan artıq simvolları oxu-mur (bu simvollar növbətiRead, yaxudReadLnproseduru vasitəsilə oxunabilər).ReadLnproseduru isə, əksinə, daxil edilən sətirdəki bütün simvollarıemal edir (yalnız sətrin sonundakı artıq simvolları nəzərə almır).

Formatlama. Yuxarıda qeyd olunduğu kimi, xusüsi göstəriş yoxdursa, Pascalbütün həqiqi ədədləri eksponensional formatda əks etdirir. Bəs verilənləri bizəlazım olan formatda necə göstərmək olar? ÖncəIntegertipli dəyişənlər, yaxudqiymətlər üçün formatların necə verilməsinə baxaq. Bununçün dəyişənin adından(yaxud qiymətdən) sonra iki nöqtə (:) və sahənin eni, yəni əks olunası rəqəmlərinsayı göstərilir. Məsələn,

Write('a = a:1);

WriteLn(' və b = ', b:2);

operatorları göstərir ki,adəyişəninin qiyməti 1 rəqəmlə,b-nin qiyməti isə 2rəqəmlə əks olunacaq. Məsələn, əgəradəyişəninin qiyməti 7-yə,b-nin qiymətiisə 8-ə bərabərdirsə, onda ekrana çıxarılacaq sətir belə görünəcək:



a = 7 və b = 8

Diqqətlə baxsanız,bdəyişəninin qiymətindən qabaqda əlavə boşluqgörərsiniz. Bu onunla izah olunur ki,b-nin qiyməti 1 rəqəmli olduğu halda, çıxışformatının 2 rəqəmli olması göstərilib (b:2).



Realtipli dəyişənlər, yaxud qiymətlərin çıxış formatını vermək üçün həmsahənin enini, həm də onluq mərtəbələrin sayını göstərmək lazımdır. Sahəninümumi eni yetərincə böyük olmalıdır ki, onluq nöqtənin önündə və arxasındaolan mərtəbələrin hamısı yerləşə bilsin. Bu zaman bir yer onluq nöqtə üçün, biryer də minus işarəsi üçün ayırmaq lazımdır (çünki ədəd mənfi də ola bilər).Məsələn, əgərRealtipliXədədi -99.9 və 999.9 aralığında qiymətlər ala bilərsə,

WriteLn(X :5 :1);

operatoruX-in qiymətini bir onluq işarə dəqiqliyilə ekrana çıxaracaq. Aşağıdakıcədvəldə tam və həqiqi ədədlərin formatlanmasına aid nümunələr verilib.




Qiymət

Format

Çıxış

234

:4

234

234

:5

234

234

:1

234

-234

:6

-234

3.14159

:5:2

3.14

3.14159

:5:3

3.142

0.1234

:4:2

0.12

-0.006

:8:3

-0.006

-0.006

:8:5

-0.00600

-0.006

:7:5

-0.00600



Konstantlar. Proqramda dəyişən kəmiyyətlərlə yanaşı sabit kəmiyyətlərdəndə (konstantlardan) istifadə olunur. Pascal dilində konstantlar təyin etmək vəonlara ad vermək imkanı vardır. Belə olan halda proqramın sonrakı mətnindəhəmin konstantın əvəzinə verilmiş adı işlətmək olar. Bütün konstantlar proqramınxüsusi bölümündə - konstantların təsviri bölümündə sadalanır.

const ad1 = qiymətl;

ad2 = qiymət2;

adN = qiymətN;

Buradaad1, ad2,...ixtiyari identifikatorlar,qiymətl, qiymət2, ...isəyuxarıda göstərilmiş qaydada yazılmış ədədlər, apostrofa alınmış simvollar,yaxud true, false konstantlarıdır, məsələn:



const g = 981E-2;

atmosfer = 0.76; pi = 3.1415926;
Ən azı iki səbəbdən konstantların təsvir olunmasının faydası var.

Birincisi, sabit kəmiyyətlər üçün hərfi işarələmədən istifadə olunması fizika vəriyaziyyatdan qalma ənənədir. Bu ənənəni saxlamaqla proqramlar daha anlaşıqlıedilir. Konstantlara mənalı ad verilməsi proqrama şərhlər verilməsi üsullarındanbiridir - "sətrin_uzunluğu" yazısı "60"-a nisbətən daha informativdir.

İkincisi, konstantların təsvir olunması proqramda dəyişiklik edilməsiniyüngülləşdirir. Məsələn, çap olunan sətrin uzunluğunu 60 deyil, 40 götürməküçün konstantların təsviri bölümündə "sətrin_uzunluğu = 60" yazısını"sətrin_uzunluğu = 40" ilə əvəz etmək kifayətdir. Əks halda, proqramda olanbütün 60 ədədlərini axtarıb tapmaq, onların sətrin uzunluğuna aid olduğunumüəyyənləşdirib 40 ilə əvəzləmək lazım gələrdi.

Yeni verilənlər tiplərinin müəyyən olunması. Proqramçı standarttiplərdən başqa, yeni verilənlər tipləri təyin etmək və onlara ad vermək imkanınamalikdir. Bundan sonra standart tiplər kimi yeni tiplərdən də istifadə etmək olar.Tiplərin təyin olunması bölümü aşağıdakı şəkildə olur.

type ad1 = təsvir1;



ad2 = təsvir2;

adN = təsvirN;

Buradaad1, ad2,...ixtiyari identifikatorlar,təsvirl, təsvir2, ...isə tiplərintəsviridir.



Dəyişənlərin inisiallaşdırılması. Giriş və çıxışı dəyişənlərin inisiallaşdı-rılması komandası ilə qarışdırmaq olmaz. Dəyişənin inisiallaşdırılması dedikdəproqramın icrasından qabaq, yaxud onun işləməsi vaxtı dəyişənlərə başlanğıcqiymətlərin mənimsədilməsi nəzərdə tutulur.

Pascal dilində dəyişəni yalnız onun elan edilməsi zamanı inisiallaşdırmaqolar, məsələn:



var i: Integer = 3;

Bu operator nə giriş operatorudur, nə də - mənimsətmə.



IF CASE SEÇİM OPERATORLARI

Alqoritm yerinə yetirilərkən göstərişlər bir-birininardınca emal olunur. Ancaq həyatda komandalar ardıcıl-lığını dəyişmədən həll edilən məsələlərə az hallarda rastgəlinir. Mürəkkəb məsələləri həll etmək üçün özhərəkətlərini dəyişən çevik alqoritmlər tələb olunur.

Alqoritmlərdə bir neçə mümkün hərəkətdən birininseçilməsinə budaqlanma vasitəsilə nail olunur. Bu-daqlanma təməl alqoritmik strukturlardan biridir.Budaqlanma bir, yaxud bir neçə şərtin yoxlanmasınaəsaslanır və həmin şərtlərin doğruluğundan asılı olaraqmüəyyən əməliyyat yerinə yetirilir.

Proqramlaşdırma dillərinin hamısında budaqlanmanı yerinə yetirən xüsusioperatorlar vardır. Belə operatorlara şərt operatorları deyilir. Sadə şərt operatoruiki hissədən ibarət olur:



    1. şərtin özü;

    2. icra olunan operator.

Şərt doğru olduqda icra operatoru yerinə yetirilir, əks halda o, buraxılır.

if x < 5 then x := x + 1;

Buradaif(əgər) açar sözü şərt operatorunun başlanğıcını bildirir. Ondan sonraşərt verilir. Daha sonrathen(onda) açar sözü gəlir. Axırda icra operatoru dayanır.Yoxlama zamanı şərt doğru olarsa, bu operator yerinə yetirilir, yalan olarsa, bura-xılır. Belə şərt operatoruna bir alternativli şərt operatoru da deyilir.

Əgər şərt doğru olduqda bir neçə operatoru yerinə yetirmək lazım gələrsə,"operator mötərizələrindən " (beginendaçar sözlərindən) istifadə olunur.Bir neçə icra operatorunun olduğu şərt operatoru aşağıdakı kimi yazılır:

if X < 5 then begin



X := X + 1; Y := Y + 1; end;

beginendaçar sözlərinə operator mötərizələri deyilir.

Şərt operatorunun tam forması. Çox zaman şərt doğru olduqda bir,yalan olduqda isə başqa bir əməliyyatın yerinə yetirilməsi tələb olunur. Bu haldaşərt operatorunun tam formasından istifadə edilir.

if X < 5 then

X := X + 1

else



X := X - 1;

Şərt doğru olduqdathenaçar sözündən sonra gələn operator (operatorlar)yerinə yetirilir. Şərt yalan olduqda isəelse(əks halda) açar sözündən sonra gös-tərilmiş operator (operatorlar) icra olunur. Belə şərt operatoruna iki alternativlişərt operatoru da deyilir.

Pascal dilindəelseaçar sözündən qabaq nöqtəli vergül (;) qoyulmur.


Bir alternativlişərt operatorunun blok-sxemi






İki alternativlişərt operatorunun blok-sxemi






Şərt operatorları zənciri. Bir çox alqoritmlərdə bir neçə şərtin yoxlanıl-ması tələb olunur. Bu halda şərt operatorlarının zənciri əmələ gəlir. Məsələn:

if X < 5 then

X := X + 1 else if X < 10 then

X := X - 1 else if X = 13 or X = 15 then

X := X * 2 else

X := 10;

Şərt operatorları zəncirinə iç-içə operatorlar qrupu kimi baxmaq olar, ancaqonun yazılışında növbətiifaçar sözüelseilə eyni sətirdə yazılmalıdır, çünki buhalda proqramın strukturu daha sadə və anlaşıqlı olur.

Zəncirdə olan vəelse ifkomandaları ilə ayrılmış icra operatorlarından yalnızbiri yerinə yetirilir.

Seçim operatoru. Şərt operatorları zəncirinin qurulmasında istifadə olunanyoxlamaların hamısında yalnız bir ifadə iştirak edirsə və o tam qiymət alırsa, beləoperatorlar qrupunu daha sadə şəkildə yazmaq olar. Bunun üçün seçim operatorunəzərdə tutulub. Pascal dilində seçim operatorucase ofsətri ilə başlanır. Bu ikisözün arasında yoxlanılası ifadə yazılır. Seçim operatorundan istifadə etməkləyuxarıdakı şərt operatorları zəncirini belə yazmaq olar:

case X of



1..4: X := X + 1 5..9: X := X - 1 13,15: X := X * 2 else

X := 10; end;

Yoxlanılan qiymətlər ayrıca ədədlər və intervallar şəklində verilir. İntervalıvermək üçün minimal və maksimal qiymətləri, aralarında iki nöqtə (..) olmaqlagöstərmək lazımdır. Əgər eyni bir operatoru yoxlanılan ifadənin müxtəlifqiymətləri üçün yerinə yetirmək lazımdırsa, həmin qiymətlər (və intervallar)aralarında vergül qoymaqla yazıla bilər. Qiymətlər siyahısından sonra iki nöqtə(:) qoyulur, ondan sonra isə yoxlanılan ifadənin qiyməti həmin siyahıdakıqiymətlərin biri ilə üst-üstə düşərsə, növbəti operator icra olunur. Əks haldaifadənin qiyməti növbəti sətirdəki siyahı ilə müqayisə olunur.

Əgər ifadənin qiyməti siyahılardan heç biri ilə üst-üstə düşmürsə,elseaçarsözündən sonra göstərilən operator yerinə yetirilir (elsebölümü olmaya dabilər). Seçim operatoru həmişəendaçar sözü ilə bitir.

Əgər eyni qiymət bir neçə siyahıda göstərilibsə, həmin qiymətin birinci rastgəlindiyi siyahıya uyğun operator yerinə yetirilir. Sonra idarəetmə seçim opera-torunun ardınca gələn komandaya ötürülür.



  1. Yüklə 0,93 Mb.

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




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

    Ana səhifə