Ia9 -fesil-1: 9 qxd


Turbo Pascalın standart riyazi funksiyaları



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

Turbo Pascalın standart riyazi funksiyaları

Funksiya

Təyinatı

Arqument

Nəticə

Abs(X)

X-in mütləq qiyməti

Real, yaxud Integer

Real, yaxudInteger

Cos(X)

X bucağının kosinusu

Real, yaxud Integer(radianla)

Real

Exp(X)

ex, e = 2.71828...

Real, yaxud Integer

Real

Ln(X)

X-in natural loqarifmi, X > 0

Real, yaxud Integer

Real

Round(X)

X ədədinə ən yaxın tam ədəd

Real

Integer

Sin(X)

X bucağının sinusu

Real, yaxud Integer(radianla)

Real

Sqr(X)

X-in kvadratı

Real, yaxud Integer

Real, yaxudInteger

Sqrt(X)

X-in müsbət kvadrat kökü,X > 0.0

Real, yaxud Integer

Real

Trunc(X)

X-in tam hissəsi

Real

Integer




Aşağıda verilmiş Artma proqramıa, b, cdəyişənlərinin qiymətlərini elədəyişir ki, onlar artma sırasıyla düzülür (a < b < c).



program Artma; var

a, b, c : Integer;

procedure Swap(var x, y : Integer); var

t : Integer;

begin

t := x; x := y; y := t; end; begin;

WriteLn('Üç ədəd daxil edin '); ReadLn(a, b, c); if a > b then Swap(a, b) if b > c then Swap(b, c) if a > b then Swap(a, b) WriteLn(a:5, b:5, c:5); ReadLn; end.

Swap proseduruna diqqət edin. Bu prosedur iki dəyişənin qiymətinin yerinidəyişir. Belə yerdəyişmədən proqramlaşdırmada tez-tez istifadə olunur.

Altproqramın yerinə yetirilməsinin dayandırılması və çağıran proqramaqayıdılması, idarəetmə altproqramın son operatoruna çatanda baş verir. Bu isəhəmişə əlverişli olmur. Buna görə də altproqramın yerinə yetirilməsinin yarıdakəsilməsi və idarəetmənin dərhal çağıran proqrama qaytarılması imkanı vardır.Pascal dilində bu məqsədləexitoperatorundan istifadə olunur.



  1. Altproqramlardan istifadənin hansı üstünlükləri var?

  2. Altproqramların hansı növləri var?

  3. Funksiya prosedurdan nə ilə fərqlənir?

  4. Klaviaturadan daxil edilən n ədədinin 3-ə bölünüb-bölünmədiyiniyoxlayan funksiya yazın.

UU3BFAYLLAR

İndiyədək tanış olduğunuz proqramların hamısı interaktiv proqramlar idi.İnteraktiv proqramlar bütün giriş verilənlərini klaviaturadan oxuyur, nəticələriisə ekrana çıxarır. Kiçikhəcmli verilənlərlə işləyərkən interaktiv giriş və çıxışdaha yaxşı olur, ancaq bu cür yanaşma böyük həcmli informasiyalarla işləyərkənsəmərəsizdir. Bu halda vəziyyətdən çıxmaq məqsədilə giriş və çıxış üçün fayllar-dan istifadə etmək olar. Pascal iki növ informasiya faylı ilə işləyir: mətn ikilikfayllarla.



Mətn faylı diskdə bir ad altında saxlanılan ayrı-ayrı simvollar yığınıdır.Proqramın emal edəcəyi bütün ilkin verilənləri proqramın başladılmasından öncəmətn faylında saxlamaq olar. Bundan sonra proqramı elə dəyişmək lazımdır ki, oözünün istifadə etdiyi verilənləri klaviaturadan deyil, mətn faylından oxusun.

| Mətn fayll bir ad altında saxlanılan ayrı-ayrı simvollar yığınıdır.

Giriş və çıxış faylları. Proqramın giriş verilənlərindən ibarət fayla girişfaylı deyilir. Giriş faylı həm mətn faylı, həm də ikilik fayl ola bilər. Giriş faylın-dan istifadənin üstünlüklərindən biri giriş verilənlərinin mətn redaktorunda hazır-lana bilməsidir. Bu zaman verilənləri emal edilmək üçün proqrama verməmişdənöncə yoxlamaq və əgər səhvlər olarsa, onları düzəltmək imkanı vardır. İkinciüstünlük ondan ibarətdir ki, giriş verilənlərindən ibarət fayl proqram tərəfindəntəkrar-təkrar oxuna bilər. Bu imkan proqramın sazlanmasını asanlaşdırır, çünkiproqramınız başladıldıqda ilkin verilənləri hər dəfə giriş faylından oxuya bilər.İnteraktiv proqramda isə siz hər dəfə verilənləri klaviaturadan daxil etməli ola-caqdınız.

Giriş faylı proqramın giriş verilənlərindən ibarət fayldır.

Eyni zamanda proqramı elə dəyişdirmək olar ki, o, hesablanmış nəticələriekrana çıxarmasın, mətn faylına yazsın. Diskdə olan həmin faylı sonradan çapavermək, yaxud hətta başqa proqram üçün giriş faylı kimi, istifadə etmək olar.Proqramın işinin nəticələrinin toplandığı fayla çıxış faylı deyilir.



I Çixiş fayll proqramın işinin nəticələrinin toplandığı fayldır.

Mətn faylları ilə işləmək üçün beş əməliyyatı yerinə yetirmək lazımdır:



    1. Faylın təsvir edilməsi. Proqramda olan hər bir obyekt kimi, mətn faylı da isti-fadədən öncə təsvir olunmalıdır. Faylvarbölümündə təsvir edilir və bununüçüntextaçar sözündən istifadə olunur. Məsələn,

var f1, f2: text;

yazılışıf1f2-nin mətn faylı olduğunu bildirir. Bu haldaf1f2-yə fayldəyişənləri də deyirlər.



    1. Təsvir olunmuş faylın xarici daşıyıcıda olan konkret faylla əlaqələndir-ilməsi. Diskdə saxlanılan fayla müraciət etmək üçün proqrama həmin faylınadını və onun hansı qovluqda (kataloqda) saxlandığını bildirmək lazımdır.Başqa sözlə, proqram faylın tam adını bilməlidir. Bunun üçün Pascal dilindəAssignproseduru nəzərdə tutulub. Məsələn,CdiskindəALTAYqovluğundasaxlanılanin.txtfaylınıf1fayldəyişəninəbağlamaqüçünproqramda

Assign (f1, 'c:\ALTAY\in.txt');

proseduru göstərilməlidir. Əgər yalnız faylın adı göstərilibsə, onda TurboPascal nəzərdə tutur ki, fayl proqramın yerləşdiyi qovluqdadır. Məsələn,



Assign(f2, 'out.txt');

proseduru proqram qovluğunda yerləşənout.txtfaylınıf2fayl dəyişəninəbağlayır.Assignproseduru faylın gerçək adıyla işləyən yeganə funksiyadır.Qalan funksiyaların hamısı fayl dəyişənindən istifadə edir. Bu səbəbdən proq-ramçılarf1-ə faylın daxili adı,c:\ALTAY\ in.txt-yə isə onun xarici adı deyirlər.



3. Faylın oxuması, yaxud yazılması üçün onun açılması. Proqramın mətn faylıilə manipulyasiya edə bilməsi üçün həmin fayl giriş, yaxud çıxışa hazırlanma-lıdır, başqa sözlə, fayl açılmalıdır. Mətn faylı eyni zamanda həm giriş, həm dəçıxış üçün açıla bilməz. Yəni verilənlər mətn faylından oxunursa, siz nəticələrihəmin fayla yaza bilməzsiniz. Mətn faylını açmaq üçün Pascal dilindəReset Rewriteprosedurları nəzərdə tutulub.

Reset(f1);

Bu prosedurf1fayl dəyişəni ilə əlaqələndirilmiş faylı proqrama daxil edilməküçün hazırlayır. Bu zaman cari mövqe göstəricisi faylın başlanğıcına keçir.Cari mövqe göstəricisi emal olunacaq növbəti simvolu göstərir.Resetprose-duru faylın oxunmasına başlamazdan əvvəl çağırılmalıdır.



Rewrite(f2);

Bu prosedurf2fayl dəyişəni ilə əlaqələndirilmiş faylı proqramdan çıxışa veri-ləcək verilənləri qəbul etmək üçün hazırlayır. Əgər diskdə göstərilən fayl ol-mazsa, həmin ad altında yeni boş fayl yaradılacaq. Diskdə göstərilən fayl artıqmövcuddursa, o, boşaldılacaq və cari mövqe göstəricisi faylın başlanğıcına ke-çəcək.



4. Verilənlərin fayla yazılması, yaxud fayldan oxunması. Verilənləri mətnfaylından oxumaq üçünReadLnprosedurundan istifadə etmək olar. Bu prose-dur klaviaturadan daxil edilən verilənləri necə emal edirsə, mətn faylının hərbir sətri ilə də elə işləyir.

ReadLn(f1, n);

proseduruf1giriş faylından verilənləri oxuyur vəndəyişəninə yazır. Faylda ikiardıcıl elementi birdən oxuyub,abdəyişənlərinə yazmaq üçün



Read(f1, a, b);

prosedurundan istifadə etmək olar.

Verilənləri ekrana çıxarmaq üçünWriteLnWriteprosedurları ilə artıq ta-nışsınız. Bu prosedurlardan verilənləri mətn faylına yazmaq üçün də istifadəedilir.

WriteLn(f2, n);

prosedurundəyişəninin qiymətinif2faylına yazır. Yeni verilənlər faylanövbəti sətirdən yazılacaq.



Write(f2, a, b);

proseduruf2faylınaabədədlərini yazır və növbəti yazı həmin sətirdəndavam olunacaq.



5. Faylın bağlanması. Giriş, yaxud çıxış faylı ilə işi bitirdikdən sonra diskdəkifaylla proqram arasında əlaqəni kəsmək lazımdır. Başqa sözlə, açıq fayllarbağlanmalıdır. Bunun üçün Turbo PascaldaCloseproseduru nəzərdə tutulub.

Close(f1); Close(f2);

Nəzərə alın ki,Close (f1, f2);yazılışı düzgün deyil - hər bir fayl ayrıcabağlanmalıdır!

İndi fayllarla işləmək üçün iki misala baxaq. Birincidə iki ədəd fayla yazılır,ikinci misalda isə həmin ədədlər fayldan oxunur və ekrana çıxarılır.

program P1; var



f: text; {Fayl elan olunur}

n: Integer; begin

Assign(f,'file1.txt');

{f faylı diskdə olanfile1.txt faylı ilə əlaqələndirilir} Rewrite(f); {f faylı yazılmaq üçün açılır}

n := 7;

WriteLn(f, n); {n dəyişənin qiyməti fayla yazılır} WriteLn(f, 5); {5 ədədi fayla yazılır} Close(f); {Fayl bağlanılır}

end.

program P2; var

f: text; {Fayl elan olunur}

n: Integer;

begin



Assign (f,'file1.txt'); {f faylı diskdə olan file1.txtfaylı ilə əlaqələndirilir}


Reset(f); ReadLn(f, n

WriteLn(n);
{f faylı oxunmaq üçün açılır} {Birinci ədəd n dəyişəninə oxunur}

{n dəyişəninin qiyməti (7 ədə di) ekrana çıxarılır}







ReadLn(f, n WriteLn(n);

Close(f);
{İkinci ədəd n dəyişəninə oxunur} {n dəyişəninin qiyməti (5 ədədi) ekrana çıxarılır} {Fayl bağlanılır}






end.

Sonda fayllarla işləmək üçün tez-tez istifadə olunan bir neçə funksiya ilə dətanış olaq.



Mətn faylına informasiyanın artırılması. Mətn fayllarının sonuna infor-masiya artırmaq imkanı da nəzərdə tutulub. Bunun üçün faylıRewriteprosedu-ru ilə deyil,Appendproseduru ilə açmaq lazımdır.

Append();

Bu prosedur çağırıldıqdan sonra fayl yazılış üçün açılır, ancaqRewrite prosedurunda olduğu kimi, fayldakı mövcud informasiya silinmir. Cari mövqegöstəricisi faylın sonuna keçir və deməli, yazılan informasiya faylın sonuna əlavəolunur.

Misal olaraq yuxarıdakıP1proqramı vasitəsilə yaradılanfile1.txtfaylınayeni yazı əlavə edək:

program P3; var



f: text; begin

Assign (f,'file1.txt');

Append(f); WriteLn(f, 9);

Close(f); end.


Aşağıdakı cədvəldə fayllarla iş zamanı lazım olan daha bir neçə funksiyahaqqında qısa məlumat verilib.


Funksiya

Təyinatı

Eof

()

f fayl dəyişəni ilə bağlı olan fayl üçün End-of-file (faylın sonu) vəziyyətini bildirir: cari mövqegöstərici faylın sonundadırsa, yaxud fayl boşdursa,True, qalan hallarda isə False qiymətini qaytarır.

Erase

()

f fayl dəyişəni ilə bağlı olan xarici faylı silir.

Rename

(, )

Faylın adı dəyişdirilir.

MkDir

()

Yeni qovluq yaradır.

RmDir

()

Qovluğu uzaqlaşdırır. Bu zaman uzaqlaşdırılanqovluğun içərisində altqovluqlar, yaxud fayllarolmamalıdı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ə