Share PDF

Search documents:
  Report this document  
    Download as PDF   
      Share on Facebook

Ismayil Sadiqov Ramin MahmudzadÉ™ NaidÉ™ Isayeva

Ümumtəhsil

məktəblərinin

9-cu sinfi üçün dərslik

Azərbaycan Respublikasi Təhsil Nazirliyinin 09.06.2008-ci il tarixli 712 №-li əmri ilə

təsdiq edilmisdir.

Elmi redaktor: Расим Ялигулийев, АМЕА-нын мцхбир цзвц, т.е.д., профессор

Rяyчilяr: Ялякбяр Ялийев, т.е.д., профессор

Hяyat Axundova, Bakы шяhяri, 164 №-li orta mяktяbin mцялlimi

Valid Məhərrəmov, Bakisəhəri, Fizika-riyaziyyat vəinformatika təmayüllüliseyin müəllimi Səmihə Rüstəmova, Bakы шяhяri, 258 №-li orta mяktяbin mцялlimi

Informatika – ümumtяhsil mяktяblяrinin 9-cu sinfi цчцn dяrslik.

И.C.Sadыqov, Р.Я.Мащмудзадя, N.R.Иsayeva. Bakы, “Bakыnяшr”, 2008, 128 sяh.

ISBN-978-9952-430-08-8

©Azяrbaycan Respublikasы Tяhsil Nazirliyi. 2008

©“Bakыnяшr”. 2008

©Dizayn, “Bakыnяшr”, “MTM” artgroup. 2008

1

PASCAL

PROQRAMLASDIRMA

DILI

1.1. PROQRAM T MINATININ T SNIFATI

Kompüterin hər hansi bir isi yerinə yetirməsi üçün aparat təminati ilə yanasi, ona göstərislər toplusu, yəni proqramlar lazimdir. Klaviaturada klavisin basil- masina, siçanin hərəkətinə, basqa kompüterdən informasiyanin alinmasina və digər hərəkətlərə kompüterin necə reaksiya verməsini məhz proqramlar müəyyən edir. Ekrana görüntünün çixarilmasini, sənədin printerdə çap olunmasi üçün hazirlanmasini, kompüterdə musiqinin səsləndirilməsini proqramlar həyata keçirir.

Kompüterin proqram təminati [software] kompüter sisteminin ayrilmaz bir hissəsi olub, kompüterin texniki təminatinin məntiqi davamini təskil edir.

Kompüterin konkret tətbiq sahəsi onun proqram təminati ilə müəyyən olunur. Kompüterin özlüyündə heç bir “bacarigi” yoxdur. Bütün “bacariqlar” kompüter- də icra olunan proqramlarda cəmləsdirilib.

Müasir kompüterlərin proqram təminati oyun proqramlarindan tutmus elmi proqramlara kimi milyonlarla proqramdan ibarətdir.

Kompüterdə olan bütün proqramlari sərti olaraq üç sinfə ayirmaq olar: sistem proqramlari, tətbiqi proqramlar, proqramlasdirma alətləri.

PROQRAM TƏMINATI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sistem proqramlari

 

Tətbiqi proqramlar

 

Proqramlasdirma alətləri

 

 

 

 

 

 

 

 

Sistem proqramlari. Sistem proqramlari kompüterin resurslarini – mərkəzi prosessoru, yaddasi, giris-çixis qurgularini idarə etmək üçündür. Onlar bütün isti-

4

fadəçilər üçün nəzərdə tutulmus proqramlardir. Kompüterin sistem proqramlari elə hazirlanir ki, tətbiqi proqramlar səmərəli isləyə bilsin.

Sistem proqramlari arasinda əməliyyat sistemləri xüsusi yer tutur, sistem proqram təminatinin əsasini əməliyyat sistemi təskil edir. O, fərdi kompüterlərin vacib elementlərindən biridir. Əməliyyat sistemi kompüter yandirildiqda isə düsən, kompüterin bütün hissələrinin tam bir vəhdət halinda isləməsini təmin edən və informasiyani idarə edə bilən proqramlar sistemidir.

Əməliyyat sisteminin köməyilə:

•kompüterlə istifadəçi arasinda dialoq yaranir;

•operativ və daimi yaddas qurgulari isə salinir;

•kompüter idarə olunur;

•istənilən proqram yerinə yetirilməyə baslayir və s.

Vaxtilə IBM PC tipli kompüterlərdə əsasən Microsoft firmasinin hazirladigi MS-DOS əməliyyat sistemindən istifadə olunurdu. Bu əməliyyat sistemində isləyən istifadəçi yalniz konkret bir məsələni həll edə bilərdi.

Hazirdafərdikompüterlərdəçoxtapsiriqliəməliyyatsistemlərindən istifadəolunur

– fərdi kompüterlərin yaddasinda eyni zamanda bir neçə proqram və məsələlər olur ki, mikroprosessor kompüterin resurslarini onlarin arasinda bölüsdürür. Belə əməliyyat sistemlərinə misal olaraq OS/2, MacOS, UNIX, Linux, Windows XP, Windows Vista və digər əməliyyat sistemlərini misal göstərmək olar.

Sistem proqramlarinin digər vacib hissəsini xidməti proqramlar – utilitlər (lat. “utilitas” – xeyir, fayda) təskil edir. Onlar əməliyyat sistemini tamamlayir və onun imkanlarini artirir, həmçinin, müstəqil olaraq bir çox vacib məsələləri də həll edir. Utilitlərin bəzi növləri bunlardir:

•interfeys proqramlari;

•antivirus proqramlari;

•arxivləsdirmə proqramlari;

•proqram örtükləri;

•kompüter qurgularinin is qabiliyyətini yoxlayan proqramlar;

•qurgularin isini idarə edən proqramlar (drayverlər) və s.

1. PASCAL proqramlasdirma dili

5

 

Tətbiqi proqramlar. Insan fəaliyyətinin müxtəlif sahələrinə aid məsələləri həll etmək üçün nəzərdə tutulan proqram təminatina tətbiqi proqramlar deyilir.

Indiki zamanda fərdi kompüterlər üçün yüz minlərlə tətbiqi proqramlar islənib hazirlanmisdir. Onlardan ən çox istifadə olunanlar bunlardir:

•mətn redaktorlari (prosessorlari);

•cədvəl verilənlərinin emali proqramlari – elektron cədvəllər;

•nəsriyyat sistemləri;

•verilənlər bazasinin idarə olunmasi sistemləri;

•təqdimatlarin hazirlanmasi proqramlari;

•qrafik redaktorlar;

•verilənlərin statistik təhlili proqramlari;

•kompüter oyunlari, öyrədici proqramlar və s.

Proqramlasdirma alətləri. Bu sinfə aid olan proqramlar sistem və tətbiqi proqram təminatini yaratmaq üçün nəzərdə tutulmusdur.

Proqram təminatinin hazirlanmasi üçün Basic, C++, Pascal və b. proqramlasdir- ma dillərindən istifadə olunur. Dünyanin bir çox təhsil müəssisələrində usaqlara pro- qramlasdirmanin əsaslarini öyrətmək üçün LOGO dilindən istifadə olunur.

1.Proqram təminati neçə sinfə ayrilir və onlar hansilardir?

2.Sistem proqramlarinin vəzifəsi nədir?

3.Əməliyyat sistemi nədir?

4.Tətbiqi proqramlar nə üçündür?

5.Proqramlasdirma alətləri dedikdə nə nəzərdə tutulur?

6

1.2. PROQRAMLASDIRMA DILL RI

Dilini bilmədiyimiz insana nəyi isə basa salmaq üçün ya jestlərdən, ya da onun basa düsdüyü dildəki sözlərdən istifadə edirik. Kompüterin mərkəzi qur- gusu olan prosessorun da öz dili var.

Masin dili. Kompüterin bilavasitə “basa düsdüyü” yeganə dil – sadəcə, ədədlər yiginindan ibarət olan masin dilidir [machine language]. Ədədlərlə islədiyindən prosessor üçün komandalari kodlasdirmaq, məsələn, ədədlərlə ifadə etmək lazimdir. Tutaq ki, 1 – toplamani, 2 – vurmani, 3 – bölməni (yaxud uygun olaraq 01, 02, 03) və s. bildirir. Müəyyən əməliyyati yerinə yetirmək üçün prosessora komandalardan əlavə verilənlər də lazimdir. Sadəlik üçün, tutaq ki, hər hansi uydurma prosessorun komandasinin ümumi səkli belədir:

komandanin kodu birinci operand ikinci operand nəticə yerləsdiriləcək xananin nömrəsi

Proqramlasdirmada komandanin arqumenti, yəni verilənlər operand adlanir.

Hər bir verilən, kompüterin yaddasinin xanalarinda yerləsir. Bütün yaddas xanalara bölünmüsdür və hər xananin öz nömrəsi – ünvani olur. Beləliklə, hər bir operand iki parametrlə – qiyməti və yaddasda olan yeri ilə təyin olunur.

00xx yazilisi xx ədədinin özünü, 01xx yazilisi isə yaddasda xx nömrəli xanani göstərir. Bir sözlə, xx veriləninin qarsisinda 00 olarsa, bu, verilənin özünü, 01 isə yerini göstərir.

Onda 01 və 02 xanalarinda yerləsmis iki ədədin ədədi ortasini tapan proqram asagidaki səkildə olacaq:

01

0101

0102

0103

03

0103

0002

0103

Birinci sətirdəki komandani adi dildə ifadə edək: 01 xanasindaki verilənlə 02 komandasindaki veriləni topla və nəticəni 03 xanasina yaz.

Ikinci sətirdəki komanda isə asagidaki kimi ifadə olunar: 03 xanasindaki ve- riləni 2-yə böl və nəticəni yenidən 03 xanasina yaz.

Veriləni yaddas xanasina yazarkən orada olan əvvəlki informasiya silinir.

Proqrami bir sətirdə yazsaq belə alinar:

0101010102010303010300020103

Göründüyü kimi, masin dilində yazilmis belə sadə proqram da açilmasi lazim olan “sirli bir aləmdir”. Uydurma olmayan, gerçək kompüterlərdə isə masin kodu qat-qat mürəkkəb olur.

1. PASCAL proqramlasdirma dili

7

 

“Masin kodu” deyəndə, masin dilində yazilmis proqram basa düsülür.

Belə kodda proqram tərtib etmək, sonra isə onun düzgünlüyünü yoxlamaq çox çətindir, çünki bunun üçün ya bütün komandalarin kod və formatini yadda saxlamaq, ya da hər dəfə xüsusi cədvəllərdən istifadə etmək lazim gəlir.

Kodlasdirmada azaciq səliqəsizlik, yazida yanlisliq, rəqəmlərin yerinin qarisdirilmasi gözlənilməz nəticələrə aparib çixarardi. Belə yanlisligi tapmaq da asan is deyildi, çünki proqramçinin qarsisinda az-çox aydin dildə yazilmis alqoritm deyil, rəqəmlər yigini dururdu.

Proqramçilar öz islərini yüngülləsdirmək üçün yollar arayirdilar; elə bir alət yaratmaq lazim idi ki, onun köməyilə kiçik detallara vaxt itirmədən proqram yaz- maq mümkün olsun, özləri yaradiciliqla, alqoritmlərin qurulmasi ilə məsgul olsunlar, qalan islər isə kompüterə həvalə edilsin.

“Ikibasli yozum”

Kompüterə komandalari adi ingilis, fransiz, türk dillərində, yaxud hər hansi basqa dildə vermək mümkün olsaydi, daha yaxsi olardi. Ancaq, təəssüf ki, masinlar insanlarin danisigindaki incəlikləri basa düsə bilmir. Insanlar danisdiqlari zaman öz sözlərinə jestlər və mimikalar əlavə edir, məcazlardan, üstüörtülü ifadələrdən, istehzadan və bəlagətin basqa üsullarindan istifadə edirlər ki, bu da onlara bir sey söyləyib, əslində basqa bir seyi çatdirmaga imkan verir. Insanlar “ikibasli” (çoxanlamli) sözlər islədir, deyilmis sözlərin mənasini dəqiqləsdirən kontekstdən, intonasiyadan və basqa amil- lərdən istifadə edirlər. Hətta yazismalarda da fikrin daha düzgün basa düsülməsinə yardim edən eyhamlardan istifadə olunur.

Insan agli təbii dilin “tapmacalarindan” bas çixara bilir, kompüter isə yalniz tam ciddi, riyazi dəqiqliyə malik ünsiyyət sistemini anlayir. Belə sistemdə hər bir simvol, yaxud simvollar qrupu həmisə eyni bir seyi bildirməli, hər bir cümlə isə hərfiyyən basa dü- sülməlidir. Istehza, danisiq ifadələri, yaxud dolasiq eyhamlar, sadəcə, yolverilməzdir.

Assembler. Masin kodunda proqramlasdirma “iynəylə yer qazmaq” kimi bir seydir. Çox sadə hesablama məsələləri (məsələn, ədədin yaddasdan prosesso- ra yüklənməsi, onun basqa ədədlə toplanmasi, nəticənin yenidən yaddasa yazil- masi) masin kodlarinda uzun-uzadi elə mürəkkəb səkil alirdi ki, kiçik kərpic- lərdən böyük bir binanin necə tikilməsini təsəvvür etmək belə çətin idi.

Assembler dilinin adi ingiliscə “assemble” – “toplamaq”, “yigmaq” sözündən götürülüb.

Bu vəziyyətdən çixmaq üçün ilk addim komandalarin simvollarla əvəzlən- məsi oldu, daha dəqiq desək, komandalar adi sözlərin qisaltmalari ilə göstərildi. Ideya sadə olsa da, onun gerçəkləsdirilməsi yazilmis proqramlarin digər proq-

Yunanca “mnemonikon”
“yaddasaxlama bacarigi” deməkdir.
Qreys Murrey Hopper
(1906 – 1992)
1952-ci ildə Qreys Hopper [GraceMurrayHopper](ABS) dünyada ilk mnemonik proq- ramlasdirma dili olan assemb- ler dilini [assembly language] yaratdi. Assemblerə mnemo- nik komandalar sistemi, prosedurlar kitabxanasi və proqramin mətnini masin koduna çevirən xüsusi proq- ram daxil idi. Proqramin masin dilinə çevrilməsi prose- duruna kompilyasiya, onu gerçəkləsdirən proqrama isə kompilyator deyilir (bu termin də Qreys M.Hopperindir).

8

ramçilar tərəfindən qavranilmasini asanlasdirmaga, səhvlərin sayini azaltmaga, proqramçilarin isini yüngülləsdirməyə imkan verdi.

Komandalarin simvollar vasitəsilə yazilis siste- minə mnemonik yazi sistemi deyilir. Belə sistemin köməyilə yazilmis proqram nümunəsinə baxaq.

TOP

X1,

X2 > X3

BÖL

X3,

2 > X3

Bu fraqmentin birinci sətri bildirir ki, yaddasin 1 və 2 nömrəli Xanalarini TOPlayib, nəticəni 3 nömrəli Xanaya yerləsdirmək lazimdir. Ikinci sətir isə kompüterə yaddasin 3 nömrəli Xanasini 2-yə BÖLüb, nəticəni yenə də 3 nömrəli xanaya yer- ləsdirmək göstərisini verir. Göründüyü kimi, belə yazilis yuxarida verilmis uygun masin kodundaki yazilisdan daha anlasiqlidir.

Bu həm insanin, həm də kompüterin basa düs- düyü proqramlasdirma dilinin yaradilmasi yolunda ilk addim idi.

Ikinci addim prosedurlar kitabxanasinin yara- dilmasi, yəni koddan təkrar-təkrar istifadə olun- masi idi. Ona qədər isə hər bir proqramçi hər dəfə öz “Amerikasini kəsf etməli” idi. Prosedurlar kitabxanalari proqramçilara yeni mürəkkəb proq- ramlari qisa vaxt ərzində keyfiyyətlə tərtib etmək imkani verirdi.

Bu iki istiqamət yeni proqramlasdirma dil- lərinin yaradilmasi və inkisafi üçün özül oldu.

Əlbəttə, assembler proqramçini isin ən arzu- olunmaz hissəsindən – operatorlarin əl ilə masin

koduna çevrilməsindən azad edir. Ancaq buna baxmayaraq, assembler dilinin iki böyük nöqsani var. Birinicisini, ola bilsin, siz özünüz artiq sezdiniz: assembler dilində proqramlasdirma çox diqqət və səbir tələb edən isdir. Mikroprosessorun isini birbasa idarə edərkən həddən artiq xirda məsələlər nəzərə alinmalidir.

Ikinci çatismazliq assembler dilindəki proqramlarin “dasinabilən” [portable] olmamasidir. Məsələn, assembler dilində Intel 8080 prosessoru üçün yazilmis

1. PASCAL proqramlasdirma dili

9

 

proqrami Motorolla 6800 prosessorlu kompüterdə islətmək olmur, proqrami həmin prosessor üçün yenidən yazmaq lazim gəlir. Dogrudur, bu o qədər də çətin məsələ olmasa da, hər halda müəyyən islər görülməlidir.

1.Masin dili nədir?

2.Assembler nədir və onun masin dilindən üstünlüyü nədədir?

3.Assembler dilinin çatismazliqlari hansilardir?

4.Proqramin “dasinabilənliyi” nə deməkdir?

1.3. YÃœKS K S VIYY LI DILL R

Assembler dili mnemonik olsa da, dövrünün baslica kompüter istifadəçiləri olan alimləri qane etmədi, çünki, artiq yuxarida da qeyd olundugu kimi, masin koduna yaxin olduguna görə onu öyrənmək çətindir. Bundan basqa, hər proses- sorun öz assembleri olur və deməli, bir neçə masinda isləyən səxs bəzən “bir neçə ayri-ayri assembler dilini” bilməlidir. Nəhayət, assembler dilində proqramlasdir- maq üçün bütün prosesi ən kiçik detallarinadək təsəvvür etmək, mürəkkəb düs- turlari ayri-ayri əməllərin ardicilligi səklində göstərmək lazimdir. Proqramçi isə beynində daha ümumi kateqoriyalarla isləyir: “düsturu hesablamali”, “ədədi ekrana çixarmali”, “əməliyyati 10 dəfə təkrarlamali” və s.

Assemblerdən basqa, qalan proqramlasdirma dillərinin hər biri yüksək səviyyəli dil adlandirilir, ancaq bu hələ onlarin eynisəviyyəli olmasi demək deyildir. Bir dilin səviyyəsi basqasinin səviyyəsindən yuxari, yaxud asagi ola bilər. “Yüksək səviyyəli dil” dedikdə onun insan dilinə nə qədər yaxin olmasi basa düsülür.

Yəni, məsələn, klaviaturada asagidaki cümləni yigmaqla kompüter sizin göstərisinizi dərhal yerinə yetirir: “Cari il üçün mənfəət və zərəri hesabla, illik hesabati hazirla və ondan bir neçə nüsxə çap edib, lazim olan yerlərə göndər”. Əlbəttə, bugünkü proqram- lasdirma dilləri bu idealdan hələ çox uzaqdir!

Belə problemləri aradan qaldirmaq üçün yeni proqramlasdirma dilinə ehtiyac vardi.Assembler dilindən fərqli olaraq, həmin dilin yaradilmasindan əsas məqsəd onu masinin anlamasi deyil, onunla isləməyin insan üçün əlverisliyi idi.

Beləliklə, insan (proqramçi) üçün daha anlasiqli olan və proqramlasdirma prosesini asanlasdiran yeni dillər yaradilmaga basladi. Proqramlasdirma dilinin hər bir yaradicisi insan-masin əlaqələri haqqinda öz təsəvvürlərini gerçəkləsdir- diyindən qisa müddət ərzində yüzlərlə yeni dil meydana çixdi (1993-cü ilin hesablamalarina görə, 1950-ci ildən həmin vaxta kimi 1000-dən artiq proqram-

10

lasdirma dili yaradilib). Təbii, yüksək səviyyəli [high-level] dillər adlandirilan dil- lərin az bir qismi öz yerini tapib inkisaf etdi və möhkəmləndi. Bunun əksinə olaraq, assembler dili asagi səviyyəli [low-level] dil hesab olunur, çünki o, masin dilinə daha yaxindir və kompüterin qurgulari ilə isləyir.

Yüksək səviyyəli dillərin öz müsbət və mənfi cəhətləri var. Yüksək səviyyəli dilin assemblerdən baslica üstünlüyü onun öyrənmək və istifadə üçün çox-çox asan olmasidir. Yüksək səviyyəli dildə yazilmis proqram assemblerdəkinə nis- bətən daha yigcam və anlasiqlidir. Onlar, əsasən, dasinabiləndir, yəni müxtəlif prosessorlu kompüterlərdə eyni cür isləyir. Bu isə o deməkdir ki, proqrami ya- zarkən onun isləyəcəyi kompüterin arxitekturasinin incəliklərini öyrənməyə ehtiyac qalmir. Əlbəttə, bu halda hər bir prosessorun öz kompilyatoru olmalidir və onun yaratdigi icra fayli yalniz həmin prosessor üçün yararli olacaqdir.

n yaxsi proqramlasdirma dili hansidir?

Hər bir proqramlasdirma dilinin öz tərəfdarlari və əleyhdarlari var.

Indi dünyada bir neçə min proqramlasdirma dili mövcuddur. Bəs bu qədər dilin içərisindən sizə daha münasib dili necə seçməli?

Mühəndislərin, bankirlərin, hərbçilərin qarsisinda cürbəcür məsələlər durur. Onlar özləri üçün müxtəlif proqramlasdirma dilləri seçirlər. Mühəndislər FORTRAN dilinə üstünlük verir, bankirlər çox zaman COBOL (“kobol”) dilindən istifadə edir, hərbçilər isə döyüs əməliyyatlarini planlasdirmagi və qosunun idarə olunmasiniADAdilində yazilmis proq- ramlarin köməyilə həyata keçirirlər. Süni intellekt sahəsində çalisanlar üçün PROLOG, yaxud LISP dili daha münasibdir. Internet üçün proqram yazan proqramçilar, adətən, JAVA dilinə üstünlük verirlər.

Bu sadaladigimiz proqramlasdirma dillərinin hamisi xüsusi dillərdir. Bu dillərin hər birində elə operatorlar var ki, onlar vasitəsilə xüsusi məsələləri daha asanliqla həll etmək olur. Adətən, həmin dilləri is prosesində ehtiyac olduqca öyrənirlər, belə ki, onlari “qabaqcadan” öyrənməyin mənasi yoxdur.

Xüsusi dillərdən savayi, universal proqramlasdirma dilləri də mövcuddur. Onlarin köməyilə, demək olar ki, istənilən məsələni həll etmək mümkündür. Belə dilləri “qabaqcadan” öyrənmək olar – onlar hər zaman gərəyiniz ola bilər. Belə dillərin üçü daha çox populyardir:

•Basic

•Pascal

•C++

1. PASCAL proqramlasdirma dili

11

 

Yüksək səviyyəli dillərin təkamül sxemi

12

Digər tərəfdən, assemblerdə yazilmis proqram, onun yüksək səviyyəli dildə yazilmis bənzərindən praktik olaraq həmisə səmərəlidir. Yəni yüksək səviyyəli dilin kompilyatorunun yaratdigi icra fayli funksional cəhətdən eyni olan assem- bler proqramindan daha çox yer tutur və yavas isləyir. Dogrudur, son illər mikro- prosessorlarin inkisafi nəticəsində kompilyatorlar daha optimal kodlar genera- siya edir.

Yüksək səviyyəli dillərin köməyilə istənilən sahəni proqramlasdirmaq olar. Ancaq elə dillər də var ki, onlar xüsusi olaraq müəyyən sahələr üçün nəzərdə tutulub:

•ALGOL – riyazi məsələlər üçün;

•CHILL – telekommunikasiya sistemləri üçün;

•COBOL – iqtisadi məsələlər üçün;

•FORTRAN – riyazi hesablamalar üçün;

•Java – obyektlərlə is üçün;

•Linda – verilənlərin paralel emali üçün;

•PostScript – görüntülərin təsviri üçün;

•PROLOG – süni intellekt məsələləri üçün.

1.“Yüksək səviyyəli” və “asagi səviyyəli” proqramlasdirma dili nə deməkdir?

2.Yüksək səviyyəli dillərdə proqramlasdirmanin masin dilində proqramlasdirma- dan hansi üstünlükləri var?

3.Yüksək səviyyəli dillərin müsbət və mənfi cəhətlərini izah edin.

4.Ən yüksək səviyyəli proqramlasdirma dilini necə təsəvvür edirsiniz?

1. PASCAL proqramlasdirma dili

13

 

1.4. PROQRAMLARIN HAZIRLANMASI

Proqramlasdirma nəzəriyyəsi ilə praktik proqramlasdirma paralel inkisaf etmisdir. Inkisafin ilk mərhələsində informasiya emalinin riyazi nəzəriyyəsi hazir- lanmis və elə həmin dövrdə də proqramlarin düzgünlüyünü yoxlayan vasitələr və səmərəli translyatorlarin yaradilmasi prinsipləri islənib hazirlanmisdir.

O zamanlar proqramçilara çox yüksək ixtisasli isçilər kimi baxilirdi. Bu, nadir pesələrdən idi, proqramlarin istehsali isə hələ kütləvi xarakter dasimirdi.

Kompüterlərin sonraki inkisafi və yayilmasi agirliq mərkəzini tətbiqi sahəyə keçirdi. Proqramçilarin, eləcə də proqramlarin sayi artaraq, milyonlarla hesablanmaga basladi. Bununla belə, ixtisasli proqramçilari müəyyənləsdirən bilik səviyyəsi asagi düsdü.

Getdikcə mürəkkəb proqramlarin hazirlanmasinda daha çox orta səviyyəli proqramçilar istirak etməyə basladi.

Kiçik və orta həcmli proqramlarin hazirlanmasi. Kiçik və orta həcm- li (bir neçə min sətirlik) hər hansi bir proqram ayri-ayri proqramçilar tərəfindən yaradila bilər. Onlarin yaradilmasi adətən iki mərhələdə bas verir:

Birinci mərhələ təhlil (analiz) mərhələsidir. Bu mərhələdə proqramin təyinati aydinlasdirilir, alqoritm düsünülüb tapilir, verilənlərin strukturu müəyyənləsdirilir, proqram obyektləri qeyd olunur və onlar arasindaki qarsiliqli əlaqələr askar edilir.

Ikinci mərhələ kodlasdirmadir. Bu mərhələdə alqoritm hər hansi proqram- lasdirma dilində yazilir. Kiçik proqramlar üçün bu, maksimal əmək tələb edən əsas mərhələdir. Testləmə və sazlama çox da böyük zəhmət tələb etmir. Belə layi- hələrin bir proqramçi tərəfindən icrasi yarim ilədək çəkə bilər.

Böyük proqramlarin hazirlanmasi. Böyük proqramlarin həcmi milyon- larla sətrə çatir. Onlarin hazirlanmasina onlarla, bəzən isə yüzlərlə proqramçi bir neçə il birgə əmək sərf edir. Belə proqramlarin hazirlanmasi bir neçə ardicil mər- hələdən ibarətdir.

Proqramlarin hazirlanma mərhələləri:

1.Məsələnin qoyulusu və təhlili.

2.Texniki tapsirigin hazirlanmasi.

3.Layihələndirmə və kodlasdirma.

4.Testləmə və sazlama.

5.Tətbiq edilmə.

6.Müsayiət.

Birinci mərhələdə layihəyə olan tələblər təhlil olunur. Bu, layihənin ugurla sona çatmasini müəyyənləsdirən ən önəmli mərhələdir. Iri layihələrin ugursuz-

14

lugu çox zaman bu mərhələdə buraxilmis səhvlərlə bagli olur. Tələblərin təhlili gedisində proqramin təyinati dəqiqləsdirilir, giris və çixis verilənləri aydin- lasdirilir. Tələb olunan resurslar və layihənin dəyəri qiymətləndirilir.

Növbəti mərhələ proqramin spesifikasiyalarinin hazirlanmasidir. Bu mərhə- lədə proqramçilar üçün texniki tapsiriqlar formalasdirilir, is sənədləri hazirlanir və isin təqvim plani qurulur.

Sonra proqramin layihələsdirilməsi və kodlasdirilmasi isləri baslanir. Böyük layihələrdə buna əsas mərhələ kimi baxilmir.

Kodlasdirma sona çatdiqda (bəzən isə daha öncədən), proqramin testlənməsi və sazlanmasi baslanir. Testləmə mərhələsində proqramin düzgünlüyü, onun isi- nin səmərəliliyi, korrekt olmayan hərəkətlərə və texniki nasazliqlara dözümlüyü, kritik rejimlərdə isləmə etibarliligi yoxlanilir. Müəyyən olunmus nasazliqlar proqramçilar tərəfindən dərhal aradan qaldirilir.

Interpretatorlar. Kompilyatorlar

Yüksək səviyyəli dildə yazilmis proqramin kompüterin mərkəzi prosessoru tərəfindən basa düsülüb icra olunmasi üçün o, masin koduna çevrilməlidir. Bu çevrilmə müxtəlif yollarla aparila bilər:

Birinci yol ilkin proqramin hər bir sətrini masin koduna çevirən (translyasiya edən, ing. translate) proqrami baslatmaqdir. Bu proqram bir sətri çevirir və onu yerinə yetirilmək üçün mərkəzi prosessora verir, yalniz bundan sonra növbəti sətrin çevrilməsinə keçir. Belə proqrama interpretator (ing. interpreter) deyilir.

Bu proqrami iki müxtəlif dilli səxsin ünsiyyətinə kömək edən tərcüməçi ilə müqayisə etmək olar. Birinci səxs nəsə deyir, tərcüməçi onun dediklərini tərcümə edir. Ikinci səxs cavab verir və onun cavabi birinci səxsə tərcümə olunur. Bu proses bütün dialoq müddətində davam edir.

Bu yanasmanin üstünlüyü onun istifadəçi üçün sadəliyindədir. Proqram yazilib- basladildiqdan dərhal sonra kompüterin hər dəfə nə etdiyini görmək olur. Əgər proq- ramda nəyisə dəyismək lazimdirsa, bu dəyisiklik edilir və proqram yenidən translyasiya olunur. Ancaq bu yolun bir çatismazligi var: proqram tam hazir olduqdan sonra da, hər dəfə icra olunmazdan qabaq onun hər bir sətri təzədən masin koduna çevrilir və nəticədə proqramin ümumi icra müddəti uzanir.

Basqa bir müqayisə aparaq. Bu kitabi Azərbaycan dilində yazib sonradan rus dilinə çevirmək üçün nasir tərcüməçi tutur və kitabi bütövlükdə rus dilinə tərcümə etdirir. Translyatorun basqa növü olan kompilyator da (ing. “compile” – “tərtib etmək”, “yig- maq”) belə isləyir: proqram yüksək səviyyəli dildə tam yazildiqdan sonra kompilya- tor onu oxuyur, proqrami masin koduna çevirir və ayri bir faylda saxlayir. Sonradan ilkin koddan asili olmayaraq, bu fayl istənilən dəfə çalisdirila bilər. Bu zaman, aydindir ki, yenidən translyasiyaya lüzum qalmir.

1. PASCAL proqramlasdirma dili

15

 

Əgər proqram konkret sifarisçinin tələbləri nəzərə alinmaqla yazilmissa,

adətən, proqramin tətbiq edilmə mərhələsinə zərurət yaranir. Bu mərhələdə

avadanliq köklənir, əvvəllər istifadə olunmus proqramlardan verilənlər yeni proq-

rama keçirilir, proqramla isləyəcək heyət təlim keçir.

 

Proqramla isin son mərhələsi müsayiətdir. Bu mərhələdə istifadəçilərə məs-

ləhətlər verilir, istismar müddətində askar olunan xətalar düzəldilir, sifarisçinin

istəyinə (xahisinə) görə proqramlarda çox da böyük olmayan dəyisikliklər edilir.

1. Böyük proqramlarin hazirlanmasi mərhələləri hansilardir?

 

2. Translyatorun vəzifəsi nədir?

 

3. Kompilyatorla interpretatorun fərqi nədədir?

16

1.5. TURBO PASCAL REDAKTORU

Pascal (“Paskal” kimi oxunur) proqrami hazirda Turbo Pascal təki taninir və istifadə olunur. Bu bölümdə Pascal dilini praktik olaraq Borland International sirkətinin hazirladigi TURBO PASCAL 7.0 vasitəsilə öyrənəcəyik. Turbo Pascalin həm MS-DOS, həm də Windows versiyalari vardir.

Niklaus Emil Virt (1934)

Pascal proqramlasdirma dili 1971-ci ildə isveçrəli fizik Niklaus Virt [Nicklaus Wirth] tərəfindən yaradilib, fransiz riyaziyyatçisi və filosofu Blez Paskalin sərəfinə adlandirilib. Bu dil ən genis yayilmis proqramlasdirma dil- lərindən biridir. Basqa dillərdən proqramlarin aydin və məntiqi yazilma imkanlarina görə seçilir ki, bu da onu həm yeni baslayanlar, həm də təcrübəli proqramçilar üçün əlverisli edir.

Niklaus Virt MODULA və OBERON dillərinin də yaradicisidir.

Turbo Pascalin basladilmasi. Turbo Pascal proqram məhsulu inteqrasiya olunmus mühitdir. Bu o deməkdir ki, siz Turbo Pascal mühitini tərk etmədən pro- qrami yarada, redaktə, kompilyasiya edə və çalisdira bilərsiniz.

Turbo Pascal proqramini baslatmaq üçün proqramin qurasdirildigi qovluqda (adətən, \BP\BIN altqovlugunda) turbo.exe, yaxud bp.exe proqramlarindan birini çalisdirmaq lazimdir. Baslatmadan dərhal sonra ekranda səkildə gördü- yünüz pəncərə açilir.

1. PASCAL proqramlasdirma dili

17

 

Pəncərənin yuxarisinda proqramin bas menyusu (File, Edit, Search və s.) yerləsir. Menyunun hər hansi bəndini seçmək üçün, sadəcə, siçanin göstəricisini həmin bəndin üzərinə aparib, sol düyməni çiqqildatmaq kifayətdir. Əgər siz klaviatura ilə isləməyi xoslayirsinizsa, <Alt> klavisini basili saxlayib, menyu bəndinin adinda seçdirilmis hərfə uygun klavisi basmaqla da həmin bəndi seçmis olursunuz. Məsələn, File bəndini seçmək üçün <Alt+F> klavislər kombinasiya- sini basmaq lazimdir.

Yeni proqramin yaradilmasi. Pascal dilində yeni proqram yaratmaq üçün öncə File menyusunda New bəndini seçməklə bos pəncərə açmaq lazimdir. Nəticədə NONAME00.PAS adinda bos fayl yaradilacaq. Sonradan yenə fayllar yaradilarkən onlara avtomatik olaraq NONAME01.PAS, NONAME02.PAS və s. adlar veriləcək. Bir seyi unutmayin ki, yaradilan bu fayllar kompüterin operativ yaddasinda saxlanilir. Sonradan onlari diskə yazmaq gərəkdir.

Turbo Pascal redaktoru proqramin mətnini yazmaq və onu redaktə etmək üçün kifayət qədər imkanlara malikdir. Proqramin mətni, adi mətn redaktorunda oldugu kimi, klaviaturadan daxil edilir. Bu zaman proqramin əsas mətni sari, Pascal dilinin elementləri olan açar sözlər isə ag rənglə isiqlanir (menyunun Options Environment Colors bəndi vasitəsilə uygun dialoq boksunu açib, bu rəngləri dəyisə də bilərsiniz). Açar sözlərin bu cür seçdirilməsi proqramin mətninin daxil edilməsi mərhələsində bir sira səhvləri aradan qaldirmaga imkan verir.

Proqramin mətnini yigib sona çatdirdiqdan sonra onu diskdə saxlamaq la- zimdir. Bunu yalniz isin sonunda deyil, proqramin yaradilmasi prosesində etmək məsləhət görülür. Proqrami saxlamaq üçün bas menyudan File Save bəndini

18

seçmək, yaxud <F2> klavisini basmaq lazimdir. Bu zaman ekranda Save File As dialoq boksu açilacaq ki, orada faylin saxlanilacagi yer və faylin adi göstərilməlidir. Susqunluqla təklif olunan NONAME00.PAS, NONAME01.PAS və s. kimi adlari proqramin mahiyyətinə uygun gələn daha anlasiqli adlarla əvəz- ləmək məsləhətdir (məsələn, HELLO.PAS kimi).

Proqramin kompilyasiyasi və basladilmasi. Proqramin mətninin yigil- masini sona çatdirdiqdan sonra onu kompilyasiya etmək lazimdir. Bunun üçün menyunun Compile bəndi nəzərdə tutulub. O, seçildikdə redaktor pəncərəsində- ki proqram kompilyasiya olunmaga baslayir. Əgər proqramin mətnində səhv askarlanarsa, bu barədə uygun məlumat çixacaq. Bu zaman kursor kompilyasiya prosesinin kəsildiyi yeri göstərəcək. Səhvi tapib düzəltdikdən sonra yenidən Compile bəndini seçmək lazimdir. Proqramin mətnində səhv yoxdursa, ekrana

Compile successful: Press any key

(Kompilyasiya ugurla keçdi: ixtiyari klavisi basin)

məlumati çixir. Istənilən klavisi bassaniz, redaktor pəncərəsinə dönəcəksiniz.

1. PASCAL proqramlasdirma dili

19

 

Indi kompilyasiya olunmus proqrami baslatmaq üçün menyuda Run bəndini seçmək lazimdir. Bu zaman ani olaraq istifadəçi ekrani görünəcək.

Bu ekrana rahat baxmaq üçün <Alt+F5> klavislər kombinasiyasindan istifadə etmək olar. Açilan istifadəçi ekrani hər hansi klavisi basanadək gözünüzün qabaginda olacaq.

Mövcud proqramin açilmasi. Diskdə saxlanmis fayli redaktor pəncərəsinə yükləmək üçün Open a File dialoq boksu ekrana çagirilmalidir. Bunun üçün File menyusunun Open bəndini seçmək, yaxud <F3> klavisini basmaq lazimdir. Göstərilən dialoq boksu açildiqdan sonra sizdən ya lazim olan faylin adini Name sahəsinə yazmaq, ya da həmin faylin adini Files siyahisindan seçmək tələb olunur.

Turbo Pascaldan çixis. Turbo Pascal mühitindən çixib əməliyyat sistemi mühitinə qayitmaq üçün File menyusunun Exit bəndi nəzərdə tutulub. Bu bənd seçilərkən redaktor pəncərəsində saxlanmamis fayl qalarsa, sistem sizə həmin fayli diskdə saxlamaq imkani verəcək. Bunun üçün ekrana xüsusi dialoq boksu çixacaq.

Indi <Y> klavisini bassaniz, Turbo Pascaldan çixis zamani saxlanmamis fayl da saxlanacaq.

1.Inteqrasiya olunmus mühit nə deməkdir?

2.Proqramda olan səhvləri necə müəyyən etmək lazimdir?

3.Turbo Pascal mühitində proqram icra olunmaq üçün necə basladilir?

4.Yerinə yetirilmədən sonra proqramin nəticələrinə necə baxmaq olar?

20

1.6. PROQRAMIN ÃœMUMI STRUKTURU

Pascal dilində yazilmis istənilən proqram iki hissədən – verilənlərin təsviri bölümündən və proqramin gövdəsindən ibarət olur.

Proqramin mətnində verilənlərin təsviri proqramin gövdəsindən əvvəl gəlir. Bu da dilin əsas qaydasindan qaynaqlanir.

Proqramda rast gəlinən istənilən obyekt qabaqcadan təsvir olunmalidir!

Verilənlər operatorlar vasitəsilə emal olunur. Operatorlar barəsində növbəti dərsimizdə daha ətrafli danisacagiq.

Proqramin gövdəsi begin sözü ilə baslanir və operatorlar yiginindan ibarət olur. Ona görə də bu hissəyə operatorlar bölümü də deyilir. Bu bölüm end açar sözü ilə bitir (sonda nöqtə qoyulur). Pascal dilində proqram asagidaki səkildə olur:

program < proqramin adi

>;

<

dəyisənlərin

təsviri

>

begin

>

 

<

operatorlar

 

end.

Proqram istənilən cür sətirlərə bölünə bilər – bununla onun mənasi dəyismir (təkcə sözlərin sətirdən-sətrə keçirilməsinə icazə verilmir). Buna görə də çalis- maq lazimdir ki, proqramlar mümkün qədər anlasiqli yazilsin.

Sərhlər. Proqram yazarkən siz nə etməli oldugunuzu bilirsiniz. Ancaq müəy- yən müddətdən sonra həmin proqrama qayitmali olsaniz, qəribə olsa da, görəcək- siniz ki, çox seyi unutmusunuz. Buna görə də həm özünüzün xatirlamaniz, həm də basqalarinin sizin proqrami anlamasi üçün proqramin müəyyən yerlərinə sərhlər vermək yaxsi olardi.

BLAISE PASCAL

BEGIN

(* 1623 – 1662 *)

END.

Adindan da göründüyü kimi, sərhlər proqramin mətnini oxuyan səxs üçün qeyddir. Sərhlərdən proqramin nə məqsədlə yaradildigi, onun yaradicisi haqqin-

1. PASCAL proqramlasdirma dili

21

 

da məlumati, proqramin son dəyisdirilmə tarixini, proqramdaki dəyisənlərin, funksiyalarin təyinatini və s. göstərmək üçün istifadə edilə bilər.

Pascal dilində sərhlər (* və *) simvollarinin, yaxud { və } fiqurlu mötə-

rizələrin arasinda yazilir. Proqram masin koduna çevrilərkən bu simvollar arasin- da yazilanlar nəzərə alinmir.

program Words

{

Proqramçi: Alpay Calalli

Proqramin yaradilma tarixi: 13.05.2008

Bu

proqram mətndə olan sözlərin sayini

he

sablayir.

}

 

Sərhlər həmisə mötərizədə “ulduzlar”, yaxud fiqurlu mötərizələr arasinda yerləsdirilir:

(*...*) {…}

program

Comments;

 

 

 

 

 

(* sərhlərin

tətbiqinə

aid

sadÉ™ proqram

*)

var

a

:

Integer;

 

 

 

 

begin

(*

baslangic

*)

 

 

 

 

a:=

1;

 

 

 

 

 

 

WriteLn(‘Bunlarin

hamisi

çap

olunacaq,

a=’, a)

{

bu

sərhlərin

heç

birinÉ™

lüzum yoxdur }

end.

 

 

 

 

 

 

 

 

Identifikatorlar. Proqramlasdirma dillərində müxtəlif obyektləri, məsələn, dəyisənləri, konstantlari, funksiyalari və s. adlandirmaq üçün identifikatorlardan istifadə olunur. Identifikatorlar hərf, rəqəm və bəzi xüsusi simvollardan ibarət olur. Identifikatorlarin müxtəlif proqramlasdirma dillərində yazilis qaydalari fərqli olsa da, onlarin əsas prinsipləri bunlardir:

1.Identifikator hərf və rəqəmlərdən ibarət ola bilər. O yalniz hərflə baslanma- lidir.

22

2.Identifikatorda bosluq simvolu və durgu isarələri ola bilməz. Bəzi xüsusi isarələrə, məsələn, “_”, yaxud “$” isarələrinə icazə verilir.

3.Bütün proqramlasdirma dillərində dilin operatorlarini yazmaq üçün açar sözlər mövcuddur. Identifikator heç bir açar sözlə üst-üstə düsməməlidir.

4.Identifikator həm kiçik, həm də bas hərflərlə yazila bilər. Yalniz hərflərinin böyük-kiçikliyi ilə bir-birindən fərqlənən identifikatorlara müxtəlif proq- ramlasdirma dillərində müxtəlif cür yanasma var. Məsələn, Bir və bir iden- tifikatorlari BASIC və Pascal dillərində eyni, C dilində isə fərqli hesab olunur.

Mümkün identifikatorlara örnək olaraq bunlari göstərmək olar:

i

a

t0123456789

NoClass

Asagidaki identifikatorlardan istifadə etmək olmaz:

1stPlace – rəqəmlə baslandigina görə;

one and one– bosluq simvollari olduguna görə;

yes(no)– mötərizələr olduguna görə.

Identifikatorlar iki qrupa ayrilir:

1)standart identifikatorlar;

2)istifadəçinin təyin etdiyi identifikatorlar.

Yuxarida verilmis identifikatorlar ikinci qrupa aiddir. Standart identifikatorlara misal olaraq dilin öz prosedurlarini – ReadLn, WriteLn, Real və s. göstərmək olar.

Dəyisənlər. Standart tiplər. Yuxarida qeyd olundugu kimi, Pascal proq- raminda verilənlərin təsvirində məqsəd kompilyatora bütün identifikartorlarin adlari və hər bir identifikatordan necə istifadə olunacagi haqqinda məlumat ver- məkdir. Bundan basqa, bu bölüm proqramin istifadə edəcəyi hər bir yaddas xanasinda hansi verilənlərin yerləsəcəyini kompilyatora bildirir.

Yaddasda hər hansi qiymətin göstərilməsi həmin qiymətin tipindən asili olur. Standart Pascal dilində verilənlərin qabaqcadan təyin olunmus dörd tipi vardir: Integer (tam ədədlər üçün), Real (həqiqi ədədlər üçün), Boolean (məntiqi kəmiyyətlər üçün) və Char (ayrica simvollar üçün). Turbo Pascalda simvollar

1. PASCAL proqramlasdirma dili

23

 

ardicilligi ilə isləməyə imkan verən daha bir verilənlər tipi (string) vardir ki, onun haqqinda ayrica dərsdə danisilacaq. Hər bir tip üçün verilənlərin ala biləcəyi qiymətlər üzərində aparila bilən əməliyyatlar çoxlugu vardir.

Integer. Riyaziyyatda tam ədədlər müsbət, yaxud mənfi ola bilər. Pascal proqraminda verilənlərin tam oldugunu göstərmək, ədədləri təqdim etmək üçün Integer tipi nəzərdə tutulmusdur. Bu tipə aid dəyisən 32768 və 32767 intervalinda qiymət ala bilər. Proqramlarda qiyməti qabaqcadan müəyyən olunmus MaxInt konstantindan istifadə etmək olar (MaxInt = 32767). Integer tipinə aid qiymətlərə örnək olaraq

-1050, 425,15, -25 vÉ™ s.

göstərmək olar.

Tam ədədləri ekrana çixarmaq, üzərində müxtəlif hesab əməlləri (topla- ma, çixma, vurma və bölmə) aparmaq, eləcə də onlari müqayisə etmək olar.

Real. Hər bir həqiqi ədəd nöqtə (vergül) ilə ayrilmis tam və kəsr hissədən ibarət olur. Pascal dilində verilənlərin həqiqi oldugunu göstərmək üçün Real tipi nəzərdə tutulub. Bu tipə aid qiymət həmisə rəqəmlə baslanib, rəqəmlə bitməlidir. Buna görə də -25 kəsrini və 64 tam ədədini Real tipinə aid etmək üçün onlar uygun olaraq -0.25 və 64.0 kimi göstərilməlidir.

Həqiqi ədədləri oxuyub ekrana çixarmaq, üzərində müxtəlif hesab əməlləri (toplama, çixma, vurma və bölmə) aparmaq, eləcə də onlari müqayisə etmək olar.

Char. Bu tipə aid qiymətlər ayrica simvollar – hərflər, rəqəmlər, yaxud xüsusi isarələr ola bilər. Char tipli qiymət bir simvoldan ibarət olur və apostrof alinir:

‘A’, ‘z’, ‘1’, ‘:’, ‘”’, ‘ ’

Burada sonuncudan əvvəlki qiymət “ (dirnaq) isarəsi, sonuncu isə bosluq simvoludur.

Char tipli qiymətlər üzərində hesab əməllərini yerinə yetirmək olmaz. Basqa sözlə, Pascal dilində ‘3’+‘5’ əməli yolverilməzdir. Biz simvollari yal- niz müqayisə edə, oxuya və ekrana çixara bilərik.

Boolean. Basqa tip verilənlərdən fərqli olaraq, Boolean tipli dəyisən yalniz iki qiymət ala bilər: True (dogru) və False (yalan). Proqramlarda bu tipli dəyisənlərdən müəyyən qərar qəbul etmək lazim gəldikdə istifadə etmək olar. Boolean tipli qiymətləri ekrana çixarmaq olar, ancaq belə

24

qiymətləri klaviaturadan daxil etmək olmaz. Bu tip dəyisənlər üzərində not (deyil), and (və) və or (və ya) əməllərini yerinə yetirmək olar.

Dəyisən sözü proqramlasdirmaya riyaziyyatdan keçib. Riyaziyyatçilar “dəyisən kəmiyyət”, “asili kəmiyyət” anlayislarindan istifadə edirlər. Həmin kəmiyyətlərə funksiya da deyilir. Bundan basqa, riyaziyyatçilar arqument adlandirdiqlari sərbəst (asili olmayan) dəyisən anlayisindan da istifadə edirlər.

S = v · t

düsturu riyaziyyatda və fizikada onu bildirir ki, S (yol) kəmiyyəti sərbəst v (sürət) və t (zaman) dəyisənlərindən asilidir.

Proqramlasdirma dillərini ilk yaradanlar riyaziyyatçilar oldugundan onlar riyazi termi- nologiyani proqramlasdirmaya da keçirmislər.

Münasibət əməlləri. Tam ədədlərdən ibarət cütlər üzərində təyin olunmus və nəticədə məntiqi qiymət verən əməllər də vardir. Həmin əməllər bunlardir:

=

bərabərdir

< >

bərabər deyil (fərqlidir)

<

kiçikdir

>

böyükdür

<=

kiçikdir və ya bərabərdir

> =

böyükdür və ya bərabərdir

Bu əməllər həqiqi ədədlər üzərində də təyin olunub. Simvol qiymətlər üzərində isə yalniz = və < > əməlləri təyin olunmusdur.

Proqramda dəyisənlərin təsviri hissəsi. Bu bölüm

var təsvir1; təsvir2; təsvir3; ...

səklindədir. Burada “var” açar sözdür (ingiliscə “variable” – “dəyisən” sözünün qisaltmasidir), hər bir təsvir isə bir, yaxud bir neçə identifikatordur; identifikator- lar bir-birindən vergüllə ayrilir, onlardan sonra “:” (iki nöqtə) və axirda tipin adi gəlir. Təsvir operatoru kompüterə proqramda hansi dəyisənlərin oldugunu və onlarin tiplərini bildirir. Proqramda olan bütün dəyisənlər təsvir, yaxud bəyan olunmalidir (özü də yalniz bir dəfə!).

var a,

b, c

: Real; c : Char;

n,

q1,

MaxI

: Integer;

 

flag

:

Boolean;

 

 

 

 

Ifadələr. məllərin öncüllüyü. Proqramlarin əksəriyyətində hesabi ifadə- lərsiz keçinmək mümkün deyil. Hesabi ifadələrdə istifadə olunan hesab operator- larinin siyahisi, onlarin yazilis və hesablanma qaydasi asagidaki cədvəldə gös- tərilib.

1. PASCAL proqramlasdirma dili

25

 

Hesab operatoru

Operatorun adi

 

 

 

Örnək

 

 

 

 

 

 

 

 

 

+

Toplama

5

+

bərabərdir2

7

7.0

 

 

5.0

+

2.bərabərdir0

–

Çixma

5

-

bərabərdir2

3

3.0

 

 

5.0

-

2.bərabərdir0

*

Vurma

5

*

bərabərdir2

10

10.0

 

 

5.0

*

2.bərabərdir0

/

Bölmə

5

/

bərabərdir2

2.5

2.5

 

 

5.0

/

2.bərabərdir0

div

Tam ədədlərin natamam (qaliqsiz)

5

div

 

2 bərabərdir 2

 

qisməti

 

 

 

 

 

 

 

 

 

mod

Qaligin hesablanmasi

5

mod

 

2 bərabərdir 1

 

Hər bir hesab operatoru konstant, dəyisən, yaxud basqa hesabi ifadə ola biləcək iki operandla isləyir. +, –, * və / operatorlarinin operandlari Real və Integer tipli ola bilər. Cədvəldən göründüyü kimi, +, –, * operatorlarindan isti- fadə edərkən alinan nəticənin tipi operandlarin tipi ilə üst-üstə düsür, / operatoru- nun nəticəsi isə həmisə həqiqi ədəd olur. Sonuncu iki operatorun operandlari (div və mod) isə yalniz tam ədədlər ola bilər.

Yuxarida sadalanan operatorlardan istifadə etməklə konstant (sabit kəmiyyət) və dəyisənlərdən ifadə qurmaq olar, məsələn:

(a + b) / c

(MaxI * n + q1)div (n + q1)

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

Ifadədə əməllərin yerinə yetirilmə ardicilligi mötərizələrlə müəyyənləsir. Bununla yanasi, 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 hansilari identifikator deyil? Səbəbini izah edin.

end

ReadLn

program

123XYZ

XYZ123

Y=Z

‘Max’

Ay01

Ay_01

1 Ay

3.Pascal proqrami hansi əsas hissələrdən ibarət olmalidir?

4.Dəyisənlərin adlandirilmasi qaydasi necədir?

5.Asagidaki sərhlərdə sintaktik səhvləri düzəldin.

{Bu sərhdir *)

{Bu da {sərhə} oxsayir }

26

1.7. OPERATORLAR

Pascal dilindəki proqramlar dəyisənlərin təsvirindən və onlar üzərində aparilan müxtəlif əməliyyatlardan, basqa sözlə, operatorlardan ibarətdir.

Verilənlər operatorlar vasitəsilə emal olunur. Operatorlar iki cür olur: icra olunmayan (verilənləri və proqramin strukturunu təsvir etmək üçün) və icra olu- nan (müxtəlif əməliyyatlari yerinə yetirmək üçün) operatorlar. Biz təsviretmə operatoru ilə tanis olduq. Indi isə bəzi icra olunan operatorlarla tanis olaq.

Mənimsətmə operatoru. Dəyisənlərə qiymətlər vermək, yaxud onlari dəyisdirmək üçün proqramlasdirma dillərinin hamisinda mənimsətmə operatoru olur. Həmin operatorun ümumi səkli belədir:

<identifikator> <mənimsətmə isarəsi> <ifadə>

Mənimsətmə operatorunun sol tərəfində yeni qiymət alacaq dəyisənin identi- fikatoru göstərilir. Mənimsətmə isarəsi müxtəlif proqramlasdirma dillərində müx- təlif olur. Məsələn, BASIC və C dillərində mənimsətmə isarəsi adi bərabərlik isarəsi (=) kimi oldugu halda, Pascal dilində o, := (iki nöqtə və bərabərdir) simvollar kombinasiyasi səklindədir.

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

x := 5;

x dəyisəninə 5 ədədi mənimsədilir;

y := x;

y dəyisəninə x-in qiyməti mənimsədilir;

y := x + 10;

y dəyisəninin qiyməti x dəyisəninin qiymətindən 10 vahid

 

artiq olur;

x := x - 2;

x dəyisəninə özündən 2 vahid az olan qiymət mənim-

 

sədilir;

y := y + 1;

y dəyisəninə özündən 1 vahid çox olan qiymət mənim-

 

sədilir.

program Happiness;

var

You,

We:

Integer;

I,

begin

:=

1;

 

 

I

1;

 

You

:=

I

You;

We

:=

+

end.

 

 

 

 

1. PASCAL proqramlasdirma dili

27

 

Giris və çixis operatorlari. Proqram isləyərkən istifadə olunan bütün verilənlər kompüterin operativ yaddasinda yerləsir. Proqram basqa qaynaqlarda yerləsmis verilənlərə xarici verilənlər kimi baxir. Verilənlərin xarici mənbələrdən alinib-verilməsi əməliyyatlarina giris (daxiletmə), yaxud çixis əməliyyatlari de- yilir.

Giris (daxiletmə) – verilənlərin xarici mənbədən qəbul edilməsi.

Çixis – verilənlərin xarici qəbulediciyə verilməsi.

WriteLn proseduru. Istifadəçi ilə interaktiv qarsiliqli əlaqədə isləyən proq- ramlarda çox zaman ekrana çixarma operatoru tətbiq olunur. Pascal dilində veri- lənləri ekrana çixarmaq üçün WriteLn standart prosedurundan istifadə olunur. Ekrana çixarilasi dəyisənlər və ifadələr bu prosedurun parametrləri olur.

WriteLn(‘Cəmi ’, a);

Bu operator iki elementi – ‘Cəmi’ sətrini və a dəyisəninin qiymətini ekran- da əks etdirir. Onun icrasinadək a dəyisəninin qiyməti, məsələn, 2.345 olarsa, ekrana

Cəmi 2.3450000000E+00

cixacaq (əgər həqiqi ədədin ekrana çixarilmasi zamani heç bir format gös- tərilməmissə, Pascal eksponensional formatdan istifadə edir).

Tutaq ki, proqramda

WriteLn(‘Cəmi ’, a);

WriteLn;

WriteLn(‘Son ’);

operatorlar ardicilligi var. Bu operatorlarin icrasindan sonra ekranda

Cəmi 2.3450000000E+00

Son

sətirləri əks olunacaq. Gördüyünüz kimi, ikinci operatorda çixis siyahisi olmadigindan ekrana bos sətir çixarilir.

28

Beləliklə, WriteLn proseduru çixis siyahisinda verilmis hər bir dəyisəni, yaxud konstanti əks etdirir, sonra isə kursoru növbəti sətrin baslangicina keçirir. Əgər çixis siyahisinda apostrofa alinmis sətir varsa, apostroflar çap olunmur (ekrana çixarilmir). Çixis siyahisi bosdursa, WriteLn prosedurunun icrasindan sonra kursor, sadəcə olaraq, növbəti sətrin baslangicina keçəcək.

Write proseduru. Pascal dilində verilənləri çixisa vermək üçün daha bir prosedur – Write proseduru nəzərdə tutulub. Bu prosedurun WriteLn prosedu- rundan yeganə fərqi bundadir ki, onun icrasindan sonra kursor növbəti sətrin baslangicina keçmir. Tutaq ki, proqramda

Write(‘Cəmi ’);

WriteLn(a);

operatorlar cütü vardir. Bu operatorlarin icrasinin nəticəsi

WriteLn(‘Cəmi ’, a);

operatorunun icrasinin nəticəsi kimi olacaq.

ReadLn proseduru. Verilənləri klaviaturadan daxil etmək üçün Pascal dilində ReadLn proseduru nəzərdə tutulub. Bu prosedurun ümumi formasi belədir:

ReadLn(giris siyahisi)

ReadLn proseduru proqramin icrasi zamani istifadəçinin klaviaturadan daxil etdiyi verilənləri oxuyub, kompüterin yaddasina yazir. Giris siyahisinda göstəril- mis hər bir dəyisən üçün istifadəçi bir element daxil etməli, sonra isə <Enter> klavisini basmalidir. Giris siyahisinda dəyisənlərin adlari vergüllə ayrilir. Verilənlərin daxiledilmə ardicilligi dəyisənlərin giris siyahisindaki ardicilligina uygun gəlməlidir. Daxil edilən ədədi verilənləri bir, yaxud bir neçə bosluq simvolu ilə ayirmaq lazimdir. Ədədi verilənlərin daxilində, yaxud onlarin arasin- da vergül olmamalidir.

var a, b: integer;

...

Write(‘ dədləri daxil edin: ’);

ReadLn(a, b);

1. PASCAL proqramlasdirma dili

29

 

Read proseduru. Verilənləri klaviaturadan daxil etmək üçün daha bir vasitə

– Read proseduru da vardir. Read və ReadLn prosedurlari arasinda əsas fərq ondan ibarətdir ki, Read proseduru verilənlər sətrində olan artiq simvollari oxu- mur (bu simvollar növbəti Read, yaxud ReadLn proseduru vasitəsilə oxuna bilər). ReadLn proseduru isə, əksinə, daxil edilən sətirdəki bütün simvollari emal edir (yalniz sətrin sonundaki artiq simvollari nəzərə almir).

Formatlama. Yuxarida qeyd olundugu kimi, xusüsi göstəris yoxdursa, Pascal bütün həqiqi ədədləri eksponensional formatda əks etdirir. Bəs verilənləri bizə lazim olan formatda necə göstərmək olar? Öncə Integer tipli dəyisənlər, yaxud qiymətlər üçün formatlarin necə verilməsinə baxaq. Bununçün dəyisənin adindan (yaxud qiymətdən) sonra iki nöqtə (:) və sahənin eni, yəni əks olunasi rəqəmlərin sayi göstərilir. Məsələn,

Write(‘a = ’, a:1);

WriteLn(‘ və b = ’, b:2);

operatorlari göstərir ki, a dəyisəninin qiyməti 1 rəqəmlə, b-nin qiyməti isə 2 rəqəmlə əks olunacaq. Məsələn, əgər a dəyisəninin qiyməti 7-yə, b-nin qiyməti isə 8-ə bərabərdirsə, onda ekrana çixarilacaq sətir belə görünəcək:

a = 7 vÉ™ b= 8

Diqqətlə baxsaniz, b dəyisəninin qiymətindən qabaqda əlavə bosluq görərsiniz. Bu onunla izah olunur ki, b-nin qiyməti 1 rəqəmli oldugu halda, çixis formatinin 2 rəqəmli olmasi göstərilib (b:2).

Real tipli dəyisənlər, yaxud qiymətlərin çixis formatini vermək üçün həm sahənin enini, həm də onluq mərtəbələrin sayini göstərmək lazimdir. Sahənin ümumi eni yetərincə böyük olmalidir ki, onluq nöqtənin önündə və arxasinda olan mərtəbələrin hamisi yerləsə bilsin. Bu zaman bir yer onluq nöqtə üçün, bir yer də minus isarəsi üçün ayirmaq lazimdir (çünki ədəd mənfi də ola bilər). Məsələn, əgər Real tipli X ədədi -99.9 və 999.9 araliginda qiymətlər ala bilərsə,

WriteLn(X :5 :1);

operatoru X-in qiymətini bir onluq isarə dəqiqliyilə ekrana çixaracaq. Asagidaki cədvəldə tam və həqiqi ədədlərin formatlanmasina aid nümunələr verilib.

30

Qiymət

Format

Çixis

 

 

 

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əyisən kəmiyyətlərlə yanasi sabit kəmiyyətlərdən də (konstantlardan) istifadə olunur. Pascal dilində konstantlar təyin etmək və onlara ad vermək imkani vardir. Belə olan halda proqramin sonraki mətnində həmin konstantin əvəzinə verilmis adi islətmək olar. Bütün konstantlar proqramin xüsusi bölümündə – konstantlarin təsviri bölümündə sadalanir.

const ad1 = qiymət1; ad2 = qiymət2;

.........

adN = qiymətN;

Burada ad1, ad2,... ixtiyari identifikatorlar, qiymət1, qiymət2, ... isə yuxarida göstərilmis qaydada yazilmis ədədlər, apostrofa alinmis simvollar, yaxud true, false konstantlaridir, məsələn:

const g = 981E-2;

atmosfer = 0.76;

pi = 3.1415926;

1. PASCAL proqramlasdirma dili

31

 

Ən azi iki səbəbdən konstantlarin təsvir olunmasinin faydasi var.

Birincisi, sabit kəmiyyətlər üçün hərfi isarələmədən istifadə olunmasi fizika və riyaziyyatdan qalma ənənədir. Bu ənənəni saxlamaqla proqramlar daha anlasiqli edilir. Konstantlara mənali ad verilməsi proqrama sərhlər verilməsi üsullarindan biridir – “sətrin_uzunlugu” yazisi “60”-a nisbətən daha informativdir.

Ikincisi, konstantlarin təsvir olunmasi proqramda dəyisiklik edilməsini yüngülləsdirir. Məsələn, çap olunan sətrin uzunlugunu 60 deyil, 40 götürmək üçün konstantlarin təsviri bölümündə “sətrin_uzunlugu = 60” yazisini “sətrin_uzunlugu = 40” ilə əvəz etmək kifayətdir. Əks halda, proqramda olan bütün 60 ədədlərini axtarib tapmaq, onlarin sətrin uzunluguna aid oldugunu müəyyənləsdirib 40 ilə əvəzləmək lazim gələrdi.

Yeni verilənlər tiplərinin müəyyən olunmasi. Proqramçi standart tiplərdən basqa, yeni verilənlər tipləri təyin etmək və onlara ad vermək imkanina malikdir. Bundan sonra standart tiplər kimi yeni tiplərdən də istifadə etmək olar. Tiplərin təyin olunmasi bölümü asagidaki səkildə olur.

type ad1 = təsvir1;

ad2 = təsvir2;

.........

adN = təsvirN;

Burada ad1, ad2,... ixtiyari identifikatorlar, təsvir1, təsvir2, ... isə tiplərin təsviridir.

Dəyisənlərin inisiallasdirilmasi. Giris və çixisi dəyisənlərin inisiallasdi- rilmasi komandasi ilə qarisdirmaq olmaz. Dəyisənin inisiallasdirilmasi dedikdə proqramin icrasindan qabaq, yaxud onun isləməsi vaxti dəyisənlərə baslangic qiymətlərin mənimsədilməsi nəzərdə tutulur.

Pascal dilində dəyisəni yalniz onun elan edilməsi zamani inisiallasdirmaq olar, məsələn:

var i: Integer = 3;

Bu operator nə giris operatorudur, nə də – mənimsətmə.

1. Proqramda konstantlara ad verməyin hansi üstünlükləri var?

32

2. Tutaq ki,

const

MyPi = 3.14159; MaxI = 1000;

var

X, Y : Real;

A, B, I : Integer;

A

:=

3;

B

:=

4;

Y

:=

-1.0;

Asagidaki operatorlardan hansilarinin düzgün oldugunu göstərin və hər bir yolve- rilən operatorun qiymətini müəyyənləsdirin.

a)

I

:=

A

mod

B

MaxI)

div

A

b)

I

:=

(990

–

c)

I

:=

B

div

0

 

 

 

d)

X

:=

A

/

Y

Y

 

 

e)

X

:=

MyPi

div

mod

A

f)

I

:=

(MaxI

–

990)

3.WriteLn proseduru Write prosedurundan nə ilə fərqlənir?

4.Asagida sözlərlə verilmis alqoritmin hər məqamina uygun operator yazin. 1 və 100 araliginda hər hansi ədəd seçin.

Həmin ədədi özünə vurun.

Alinan ədədin üzərinə seçdiyiniz ədədin 4 mislini gəlin. Nəticənin üzərinə 3 ədədini gəlin.

Alinan nəticəni seçdiyiniz ədəd plyus 3-ə bölün. Seçdiyiniz ədədi qismətdən çixin.

Cavabi ekrana çixarin.

1. PASCAL proqramlasdirma dili

33

 

1.8. IF V CASE SEÇIM OPERATORLARI

Alqoritm yerinə yetirilərkən göstərislər bir-birinin ardinca emal olunur. Ancaq həyatda komandalar ardicil- ligini dəyismədən həll edilən məsələlərə az hallarda rast gəlinir. Mürəkkəb məsələləri həll etmək üçün öz hərəkətlərini dəyisən çevik alqoritmlər tələb olunur.

Alqoritmlərdə bir neçə mümkün hərəkətdən birinin seçilməsinə budaqlanma vasitəsilə nail olunur. Bu- daqlanma təməl alqoritmik strukturlardan biridir. Budaqlanma bir, yaxud bir neçə sərtin yoxlanmasina əsaslanir və həmin sərtlərin dogrulugundan asili olaraq müəyyən əməliyyat yerinə yetirilir.

Proqramlasdirma dillərinin hamisinda budaqlanmani yerinə yetirən xüsusi operatorlar vardir. Belə operatorlara sərt operatorlari deyilir. Sadə sərt operatoru iki hissədən ibarət olur:

1)sərtin özü;

2)icra olunan operator.

Sərt dogru olduqda icra operatoru yerinə yetirilir, əks halda o, buraxilir.

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

Burada if (əgər) açar sözü sərt operatorunun baslangicini bildirir. Ondan sonra sərt verilir. Daha sonra then (onda) açar sözü gəlir. Axirda icra operatoru dayanir. Yoxlama zamani sərt dogru olarsa, bu operator yerinə yetirilir, yalan olarsa, bura- xilir. Belə sərt operatoruna bir alternativli sərt operatoru da deyilir.

Əgər sərt dogru olduqda bir neçə operatoru yerinə yetirmək lazim gələrsə, “operator mötərizələrindən” (begin və end açar sözlərindən) istifadə olunur. Bir neçə icra operatorunun oldugu sərt operatoru asagidaki kimi yazilir:

if X < 5then begin

X

:=

X

+

1;

Y

:=

Y

+

1;

end;

begin və end açar sözlərinə operator mötərizələri deyilir.

34

Sərt operatorunun tam formasi. Çox zaman sərt dogru olduqda bir, yalan olduqda isə basqa bir əməliyyatin yerinə yetirilməsi tələb olunur. Bu halda sərt operatorunun tam formasindan istifadə edilir.

if X

<

5then

 

 

X

:=

X

+

1

else

 

 

 

 

X

:=

X

-

1;

Sərt dogru olduqda then açar sözündən sonra gələn operator (operatorlar) yerinə yetirilir. Sərt yalan olduqda isə else (əks halda) açar sözündən sonra gös- tərilmis operator (operatorlar) icra olunur. Belə sərt operatoruna iki alternativli sərt operatoru da deyilir.

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

Bir alternativli

sərt operatorunun blok-sxemi

Iki alternativli

sərt operatorunun blok-sxemi

1. PASCAL proqramlasdirma dili

35

 

Sərt operatorlari zənciri. Bir çox alqoritmlərdə bir neçə sərtin yoxlanil- masi tələb olunur. Bu halda sərt operatorlarinin zənciri əmələ gəlir. Məsələn:

if X

<

5then

1

X

:=

X

+

else if X <

10then

X

:=

X

-

1

else

ifX

=

13or X = 15then

X

:=

X

*

2

else

:=

10;

 

X

 

Sərt operatorlari zəncirinə iç-içə operatorlar qrupu kimi baxmaq olar, ancaq onun yazilisinda növbəti if açar sözü else ilə eyni sətirdə yazilmalidir, çünki bu halda proqramin strukturu daha sadə və anlasiqli olur.

Zəncirdə olan və else if komandalari ilə ayrilmis icra operatorlarindan yalniz biri yerinə yetirilir.

Seçim operatoru. Sərt operatorlari zəncirinin qurulmasinda istifadə olunan yoxlamalarin hamisinda yalniz bir ifadə istirak edirsə və o tam qiymət alirsa, belə operatorlar qrupunu daha sadə səkildə yazmaq olar. Bunun üçün seçim operatoru nəzərdə tutulub. Pascal dilində seçim operatoru case of sətri ilə baslanir. Bu iki sözün arasinda yoxlanilasi ifadə yazilir. Seçim operatorundan istifadə etməklə yuxaridaki sərt operatorlari zəncirini belə yazmaq olar:

case X of

X

:=

X

+

1;

1..4:

5..9:

X

:=

X

-

1;

13,15:

X

:=

X

*

2;

else

 

 

 

 

 

X := 10; end;

Yoxlanilan qiymətlər ayrica ədədlər və intervallar səklində verilir. Intervali vermək üçün minimal və maksimal qiymətləri, aralarinda iki nöqtə (..) olmaqla göstərmək lazimdir. Əgər eyni bir operatoru yoxlanilan ifadənin müxtəlif qiymətləri üçün yerinə yetirmək lazimdirsa, həmin qiymətlər (və intervallar) aralarinda vergül qoymaqla yazila bilər. Qiymətlər siyahisindan sonra iki nöqtə

36

(:) qoyulur, ondan sonra isə yoxlanilan ifadənin qiyməti həmin siyahidaki qiymətlərin biri ilə üst-üstə düsərsə, növbəti operator icra olunur. Əks halda ifadənin qiyməti növbəti sətirdəki siyahi ilə müqayisə olunur.

Əgər ifadənin qiyməti siyahilardan heç biri ilə üst-üstə düsmürsə, else açar sözündən sonra göstərilən operator yerinə yetirilir (else bölümü olmaya da bilər). Seçim operatoru həmisə end açar sözü ilə bitir.

Əgər eyni qiymət bir neçə siyahida göstərilibsə, həmin qiymətin birinci rast gəlindiyi siyahiya uygun operator yerinə yetirilir. Sonra idarəetmə seçim opera- torunun ardinca gələn komandaya ötürülür.

1.Budaqlanma nədirvə o, proqramlasdirmada hansi operatorvasitəsilə yerinə yetirilir?

2.Asagida göstərilmis proqramin sətirlərinin yerlərini elə dəyisdirin ki, sərt operato- ru düzgün alinsin.

b

:=

a

+

2

b

:=

a

–

2;

if

a

>

2

then

else

3. Sərt operatoruna hansi sərti yazmaq lazimdir ki, proqram c dəyisəninə a və b dəyisənlərinin ən kiçiyinin qiymətini mənimsətsin?

if ... then c := a

else

c := b;

4. Asagidaki operator ekrana hansi məlumati çixaracaq?

if 12 < 12 then WriteLn (‘Kiçikdir’)

else

WriteLn (‘Kiçik deyil’);

1. PASCAL proqramlasdirma dili

37

 

1.9. DÖVRL R.

WHILE, FOR V REPEAT OPERATORLARI

Məsələlərin həll alqoritmini qurarkən bəzən müəyyən komandalar ardicilligini bir neçə dəfə dalbadal yerinə yetirmək lazim gəlir. Əlbəttə, həmin ardicilligi tələb olunan qədər yazmaq da olar. Ancaq bu yol çox da əlverisli deyil.

Əgər komandalarin və təkrarlarin sayi çox böyükdürsə, alqoritmin yazilisi çox uzun alinar. Bundan basqa, bir çox alqoritmlərdə təkrarlarin sayi qabaqcadan məlum olmur və yalniz proqramin gedisi zamani aydinlasir. Bu problemi aradan qaldirmaq üçün xüsusi alqoritmik strukturdan – dövr, yaxud təkrardan istifadə olunur.

Dövr yaratmaq üçün konstruksiyalar bütün proqramlasdirma dillərində vardir. Dövr üç əsas hissədən ibarət olur:

1.Inisiallasdirmada dövr yerinə yetirilməyə hazirlanir.

2.Dövrün gövdəsi təkrar-təkrar icra olunan operatorlar qrupudur.

3.Sonluq sərti dövrün gövdəsinin icrasindan qabaq yoxlanir və dövrün sona çat- masini yoxlamaq üçün ondan istifadə edilir.

Saygacli dövr. Dövrün gövdəsinin neçə dəfə təkrarlanacagi qabaqcadan məlum olduqda dövr operatorunu yazmaq daha asan olur. Bu halda saygacli dövrdən istifadə olunur.

for <dövr dəyisəni>:= <dövrün asagi sərhədi> to <dövrün yuxari sərhədi>do

<dövrün gövdəsi>

Saygac, yaxud dövr dəyisəni xidməti dəyisəndir və o, dövrün yerinə yeti- rilməsi zamani avtomatik dəyisilir. Dövrdə birinci operator (ona elə dövr opera- toru da deyirlər) dövrün sərhədlərini göstərir.

Saygacli dövrün blok-sxemi

Dövr asagidaki qaydada yerinə yetirilir:

1.Dövrün sərhədləri ifadə səklində verilmissə, öncə həmin ifadələr hesablanir.

2.Dövr dəyisəninə dövrün asagi sərhədinin qiyməti mənimsədilir.

3.Dövr dəyisəni dövrün yuxari sərhədi ilə müqayisə olunur.

38

4.Dövr dəyisəninin qiyməti yuxari sərhəddən böyükdürsə, dövrün yerinə yetirilməsi kəsilir.

5.Dövrün gövdəsi icra olunur.

6.Dövr dəyisəninin cari qiymətinə 1 əlavə olunur.

7.Dövrün icrasi 3 bəndindən davam etdirilir.

Tutaq ki, ilk on natural ədədin cəmini tapmaq lazimdir. Bunun üçün proqram fraqmentini asagidaki kimi yazmaq olar:

S := 0;

for I := 1to 10 do

S := S + I;

DövrdənkənardaolanbirincioperatorS dəyisəninəbaslangicqiymətimənimsətmək üçündür. Dövr operatorunun icrasindan öncə çox zaman hazirliq isləri aparilmalidir.

Saygac rolunu I dəyisəni oynayir. Dövrün sərhədləri olan 1 və 10 ədədləri dövr operatorunda konstant kimi verilib. Əgər dövrün asagi sərhədi onun yuxari sərhədindən böyükdürsə, onda to açar sözünün əvəzinə downto açar sözündən istifadə olunur. Bu halda hər dəfə dövr icra olunduqda dövr dəyisəninin qiyməti 1 vahid azalir.

Saygacli dövrün özəllikləri

Saygacli dövr bir neçə özəlliyə malikdir. Dövrün sərhədləri ifadələr səklində veril- missə, bu ifadələr dövrün inisiallasdirilmasi aninda hesablanir. Həmin ifadələrə daxil olan dəyisənlərin qiyməti dövrün içərisində dəyissə belə, bu dövrün gövdəsinin neçə dəfə yerinə yetirilməsinə təsir etmir.

Dövrün sona çatmasi sərti dövrün gövdəsi birinci dəfə yerinə yetirilənədək yoxlanilir. Dövrün sərhədləri elə qiymətlər ola bilər ki, dövrün gövdəsi heç bir dəfə də yerinə yetirilməsin.

Sərtli dövr. Sərtli dövrlər dövrün daha ümumi yazilis formasidir. Belə dövrlərdən adətən dövrün təkrarlanmalarinin sayi qabaqcadan məlum olmadiqda istifadə edilir.

Sərtli dövrləri iki növə ayirirlar:

1)Ön sərtli dövrlər,

2)Son sərtli dövrlər.

Ön sərtli dövr belə isləyir:

1.Dövrün təkrarlanma sərti yoxlanilir.

2.Dövrün təkrarlanma sərti ödənmirsə, onun icrasi dayandirilir.

3.Sərt ödənmirsə, dövrün gövdəsi yerinə yetirilir.

4.Dövrün icrasi 1 bəndindən davam etdirilir.

1. PASCAL proqramlasdirma dili

39

 

Ön sərtli dövrün ümumi yazilis formasi belədir:

while <sərt> do

<dövrün gövdəsi>;

Ön sərtli dövrün gövdəsi heç bir dəfə də icra olunmaya bilər.

Ön sərtli dövrdən istifadə etməklə ilk yüz natural ədədin kvadratlari cəmini hesablayan proqram fraqmentini belə yazmaq olar:

S

:=

0;

 

 

 

I

:=

1;

 

100do

 

while I

<=

 

 

 

begin

:=

S

+

I * I;

 

S

 

I

:=

I

+

1;

 

end;

 

 

 

 

Son sərtli dövr belə isləyir:

1.Dövrün gövdəsi yerinə yetirilir.

2.Dövrün təkrarlanma sərti yoxlanir.

3.Dövrün təkrarlanma sərti ödənmirsə, onun icrasi dayandirilir.

4.Sərt ödənirsə, dövrün icrasi 1 bəndindən davam etdirilir.

Son sərtli dövrün blok-sxemi

Müxtəlif proqramlasdirma dillərində dövrün sona çatdirilmasi üçün sərtin ödənilməsi, yaxud ödənilməməsi tələb oluna bilər.

Son sərtli dövr belə yazilir:

repeat

<dövrün gövdəsi> until <sərt>;

40

Son sərtli dövrün gövdəsi ən azi bir dəfə yerinə yetirilir. Pascal dilində son sərtli dövrün yerinə yetirilməsi sərt ödənildiyi zaman dayandirilir. Proqramçi sərtin ifadəsinin qiymətini müəyyənləsdirən dəyisənləri nəzarətdə saxlamalidir ki, onlar dövrün gövdəsində dəyisilsin. Əgər dövrün sərti heç dəyisilməzsə, dövr sonsuz davam edə bilər.

Ilk yüz natural ədədin kvadratlari cəmini hesablayan proqram fraqmentini repeat operatorunun köməyilə belə yazmaq olar:

S := 0;

I := 1; repeat

S := S + I * I; I:= I + 1;

until I > 100;

Dövrdən çixis. Bəzən proqramlarda çox mürəkkəb dövrlərdən istifadə olunur. Belə dövrün bir neçə sonaçatma sərti ola bilər. Bu dövrlərin yaradilmasini sadələsdirmək üçün müasir proqramlasdirma dillərində dövrdən çixma operatoru nəzərdə tutulub. Dövrdən çixma operatoru adətən dövrün içərisindəki sərt opera- torunun daxilində istifadə olunur. Bu operator yerinə yetirildikdə idarəetmə dərhal dövrdən sonraki ilk operatora ötürülür. Bir dövrün daxilində bir neçə dövrdən çixma operatoru yerləsə bilər. Dövrdən çixma operatoru asagidaki kimi yazilir:

break;

Asagidaki misalda klaviaturadan daxil edilən ədədlərin cəmi hesablanir. Daxil edilən ədəd mənfi olduqda, dövr kəsilir.

S := 0; while True do

begin Read(I);

if I < 0then break;

S := S + I;

end;

Bu misalda “sonsuz” dövrdən istifadə olunub, çünki dövrün sərti həmisə dogrudur. Lakin dövrün daxilində çixis operatoru oldugundan proqram “dövrə düsmür”.

1. PASCAL proqramlasdirma dili

41

 

1.Dövr hansi hissələrdən ibarətdir?

2.Saygacli, ön sərtli və son sərtli dövrlər Pascal dilində hansi operatorla ifadə olunur?

3.Saygacli dövrün yerinə yetirilməsini izah edin.

4.Asagidaki operatorlar ardicilliginin icrasindan sonra k dəyisəninin qiymətini müəyyənləsdirin.

var

i,

k:

Integer;

 

...

:=

0;

 

 

 

 

k

1

to

100

do

for

i

:=

 

if

i

mod

2

= 0

then

 

k

:=

k

+

1;

 

5.for operatorundan istifadə etməklə ilk yüz natural ədədin kvadratlari cəmini hesablayan proqram yazin.

6.Avtobus biletlərinin nömrələri altirəqəmlidir: 000000-dan 999999-dək. Əgər 1-ci, 3-cü və 5-ci rəqəmlərin cəmi 2-ci, 4-cü və 6-ci rəqəmlərin cəminə bərabərdirsə, bilet “ugurlu” hesab olunur. Bütün “ugurlu” biletləri tapan və çap edən proqram yazin.

7.Asagidaki operator nəyi yerinə yetirir?

for Ch := ‘A’ to ‘Z’ do Write (Ch);

1.10. MASSIVL R

Proqramlarda tez-tez birtipli kəmiyyətlərdən istifadə olunur. Birtipli verilən- lərin nömrələnmis ardicilligina massiv deyilir. Massivin bir adi olur və həmin ad massivin bütün elementlərinə aid edilir. Massivin konkret elementini onun nöm- rəsinə görə seçmək olar. Həmin nömrəyə indeks deyilir.

Elementlərinin sayi askar göstərilmis massivə statik massiv deyilir. Bəzi pro- qramlasdirma dillərində dinamik massivlərdən istifadə olunur. Belə massivin ölçüsü proqramin icra müddətində dəyisilə bilər. Massiv elan olunan kimi kom- püterin yaddasinda onun bütün elementləri üçün yer ayrilir. Ona görə də dinamik massivlər kompüterin yaddasindan daha səmərəli istifadə edir.

Sadə dəyisənlərdən fərqli olaraq, massivlər bütün proqramlasdirma dillərində qabaqcadan təsvir (elan) olunmalidir. Massivin təsvirində massivdə olan ele- mentlərin sayi, indekslərin mümkün diapazonu və hər elementin tipi göstərilməlidir.

var a: array [1..10] of Integer;

42

array açar sözündən sonra kvadrat mötərizələrdə massiv indekslərinin iki nöqtə (..) ilə ayrilmis diapazonu göstərilir. Sonra of açar sözü və massiv ele- mentlərinin tipi gəlir. Verilmis misalda massiv 10 tam ədəddən ibarətdir.

Massivin elementinə müraciət. Proqramda massivin elementinə mü- raciət etmək üçün onun adini və indeksini göstərmək lazimdir. Məsələn, asagi- daki operator massivin indeksi 7 olan elementinə indeksi 6 olan elementinin qiy- mətini mənimsədir.

a[7] := a[6];

Proqramlarda çox vaxt massiv bir tam kimi emal olunur. Eyni bir əməli ardicil olaraq massivin bütün elementlərinə tətbiq etmək üçün saygacli dövrdən istifadə etmək olar. Bu halda massivin elementinə müraciət edəndə dövr dəyisənindən indeks kimi istifadə olunur. Məsələn, tutaq ki, b massivi 10 elementdən ibarətdir. Asagidaki dövr massivin elementlərinin qiymətini sifra bərabər edir.

for i := 1to 10 do b[i] := 0;

Belə bir məsələyə baxaq. Tutaq ki, n elementdən ibarət tam ədədlər massivi verilib və massivin ən kiçik elementini tapmaq tələb olunur. Proqramda ən kiçik elementi min, həmin elementin indeksini isə imin dəyisəni ilə isarə etsək, ve- rilən məsələnin həlli üçün proqram fraqmentini asagidaki kimi yazmaq olar:

imin

:=

1;

 

 

 

min

:=

 

a[imin];

 

for i

:=

 

2to n do

begin

if a[i] <

minthen

 

min

:=

a[i];

 

imin

:=

 

i;

 

end;

(min,

‘

ən

kiçik element, ’,

WriteLn

imin, ‘ həmin elementin massivdə indeksidir.’);

1. PASCAL proqramlasdirma dili

43

 

Ikiölçülü massivlər. Birindeksli massivə birölçülü massiv deyilir. Bir çox məsələlər üçün belə massivlər yetərli olmur. Proqramlasdirma dillərinin hamisin- da bir neçə indeksli çoxölçülü massivlər yaratmaq imkani vardir. Məsələn, ikiöl- çülü massivə bir indeksi sütunun nömrəsini, o biri indeksi isə sətrin nömrəsini göstərən cədvəl kimi baxmaq olar.

Ikiölçülü massivi elan etmək üçün onun hər iki indeksinin dəyismə diapazo- nunu göstərmək lazimdir. Bu diapazonlar vergüllə ayrilir. Məsələn, sahmat tax- tasini təsvir edən tam ədədlər massivini belə elan etmək olar.

var t: array [1..8, 1..8] of integer;

Pascal dilində ikiölçülü massivə “massivlər massivi” kimi də baxmaq olar. Yuxaridaki elanetmə tamamilə belə yazilisla ekvivalentdir:

var t: array [1..8] of array [1..8] of integer;

Ikiölçülü massivin elementinə müraciət etmək üçün vergüllə ayirmaqla hər iki indeksi göstərmək lazimdir. Pascal dilində hər iki indeksi ayrica da göstərmək olar.

Məsələn, sahmat taxtasinin e4 xanasina uygun olan massiv elementinə belə müraciət etmək olar:

t[5,4],

yaxud

t[5][4].

44

Iç-içə dövrlər. Ikiölçülü massivi emal edərkən hər iki indeksin qiymətini vahid dövr saygaci əsasinda hesablamaqla bir dövrlə də keçinmək olar. Ancaq bu halda proqrami basa düsmək çətinləsir.

Bir alqoritmi ikiölçülü massivin elementlərinə tətbiq etmək üçün adətən iki dövrdən istifadə edilir. Hər dövrün saygaci uygun indeks üzrə bütün mümkün qiymətləri alir. Bu zaman bütün massivi əhatə etmək üçün dövrlərdən biri digərinin içərisində yerləsməlidir. Belə dövrlərə iç-içə dövrlər deyilir. Məsələn, sahmat taxtasinin bütün elementlərinə sifir qiyməti mənimsətmək üçün dövrü asagidaki kimi qurmaq olar:

for i := 1to 8 do

for j := 1to 8 do t[i,j] := 0;

Daxili dövr yerinə yetirilərkən xarici dövr saygacinin qiyməti sabit qalir. Sonra o, bir vahid dəyisir və daxili dövr tamamilə yenidən təkrarlanir. Proq- ramlasdirmada iç-içə dövrlərdən istifadə təkcə massivlərlə isləmək üçün deyil, basqa islərdə də çox əlverisli olur.

Tutaq ki, n sətri və m sütunu olan ikiölçülü a massivi verilib. Həmin mas- sivdə, heç olmasa, bir mənfi elementin olub-olmamasini müəyyənləsdirən pro- qram fraqmentini son sərtli dövrdən istifadə etməklə (həmin dövrün is prinsipini yada salin!) asagidaki kimi yazmaq olar:

i :=

0;

 

 

 

repeat

:=

0;

 

 

j

 

 

i := i + 1

 

repeat

 

 

 

 

j := j + 1;

< 0);

until

(j

= m)or (a[i,j]

until

(i

=

n)or (a[i,j] <

0);

if a[i,j]

<

0then

 

WriteLn(‘Hə, mənfi element var!’) else

WriteLn(‘Mənfi element yoxdur!’);

1. PASCAL proqramlasdirma dili

45

 

1.Massiv nədir və o, Pascal dilində necə elan olunur?

2.Birölçülü a massivində indeksləri k-dan m-dək olan elementlərin maksimumunu hesablayan proqram yazin. Tapilmis qiyməti j dəyisəninə mənimsədin.

3.Verilmis tam ədədlər massivi 10 elementdən ibarətdir. Onlarin içərisində iki ədəd bərabərdir. Həmin ədədlərin indeksini müəyyənləsdirən proqram yazin. Tapilmis

qiymətləri i və j dəyisənlərinə mənimsədin.

4.Asagidaki proqram fraqmentinin icrasindan sonra L dəyisəninin qiyməti nə ola- caq? Düzgün cavabi seçin.

var

a:

array

[1..4,

1..4]

of

integer;

...

 

L,

f,

 

g,

v:

integer;

 

 

:=

0;

 

 

 

 

 

 

 

 

 

L

 

1

to

4

do

 

 

 

for

g :=

 

 

 

begin

:=

0;

 

 

 

 

 

 

 

 

v

 

1

to

4

do

 

 

for

f

:=

v:=

v + 1;

L

if

a[f,g]

<

0

then

:=

L

+

 

v;

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

a)a massivində müsbət elementlərin sayi

b)a massivində müsbət olmayan elementlərin sayi

c)a massivində mənfi elementlərin sayi

d)a massivinin birinci sətrindəki mənfi elementlərin sayi

e)a massivinin sütunundaki mənfi elementlərin maksimal sayi

46

1.11. S TIRL RL IS

Proqramlasdirma dillərinin hamisinda simvollar ardicilligi, basqa sözlə, sətir- lərlə is nəzərdə tutulub.

Sətir konstantla, yaxud dəyisənin qiymətilə verilə bilər. Pascal dilində sətir konstanti apostrofa alinmis simvollar ardicilligi kimi verilir:

‘Pascal’

‘1234’

‘Araz çayi’

‘’ ardicilligi uzunlugu sifir olan xüsusi sətir konstantidir. Belə sətrə bos sətir deyilir.

Sətrin maksimal uzunlugu konkret proqramlasdirma dilindən, yaxud verilmis dilin konkret translyatorundan asilidir. Müasir proqramlasdirma sistemlərində sətirlərin uzunluguna praktik olaraq hədd qoyulmur.

Turbo Pascal dilində sətir dəyisənləri string tipinə malikdir. Məsələn, proq- ramda

var a: string;

təsviri a-nin sətir dəyisəni oldugunu bildirir.

Sətirlərlə əməliyyatlar ədədlərlə yerinə yetirilən əməliyyatlardan fərqlənir. Sətirlərin toplanmasi və ya çixilmasinin, vurulmasi və ya bölünməsinin elə bir mənasi yoxdur. Sətirlər üzərində aparilan əsas əməliyyat sətirlərin birləsdiril- məsi, yaxud konkatenasiyasidir. Bu əməliyyat nəticəsində ikinci sətir birinci sət- rin sonuna birləsdirilir. Konkatenasiya əməli + (plyus) simvolu ilə isarə olunur.

var a, man: string;

...

man := ‘On’;

a := man + ‘ manat’;

Əməl isarələri eyni olsa da, (+) birləsdirmə əməli toplama əməlindən fərqlə-

nir.

Sətirləri birləsdirmək üçün Concat funksiyasindan da istifadə olunur. Məsələn,

a := Concat(man, ‘ manat’);

1. PASCAL proqramlasdirma dili

47

 

Əslində sətirlər üzərində əməllər ədədlər üzərindəki əməllərdən daha çoxdur. Ancaq burada hər hansi əməl isarəsindən istifadə o qədər də əlverisli deyil və qeyri-adidir. Ona görə də qalan sətir əməlləri, adətən, standart funksiyalar vasi- təsilə yerinə yetirilir. Proqramlasdirma dillərinin əksəriyyətində asagidaki əmə- liyyatlar mümkündür:

•sətrin uzunlugunun müəyyənləsdirilməsi;

•alt sətrin seçilməsi;

•simvollarin artirilmasi, yaxud uzaqlasdirilmasi;

•sətirdə simvolun axtarilmasi;

•sətirdəki simvollarin (hərflərin) registrinin dəyisdirilməsi.

Bu göstərilən və bəzi basqa əməliyyatlari yerinə yetirmək üçün Turbo Pascal dilində nəzərdə tutulmus funksiyalarla tanis olaq.

Length (St). Bu funksiya St sətrinin uzunlugunu hesablayir. Sətrin uzun- lugu dedikdə həmin sətirdə olan simvollarin sayi nəzərdə tutulur. Bos sətrin uzunlugu 0-a bərabərdir. Hər hansi S sətrinin uzunlugunu hesablayib LenS dəyisəninə mənimsətmək əməlini

LenS := Length(S);

operatoru kimi yazmaq lazimdir.

S

:=

‘Hello’;

 

 

 

 

 

 

 

 

L

:=

Length(S);

Çixisa 5

qiyməti

veriləcək }

 

WriteLn(L);

 

{

 

S

:=

‘Hello

Students’;

14

qiyməti

veriləcək

}

WriteLn(Length(S));

{

Çixisa

S

:=

‘

’;

 

{

Çixisa

{

Bos

sətir

}

}

WriteLn(Length(S));

0

qiyməti veriləcək

Copy (St,Index,Count). Bəzən sətrin müəyyən hissəsini ayirib götürmək la- zim gəlir. Məsələn, əgər Date dəyisəninə mənimsədilmis ’17 may 2008’ sət- rindəki üç komponenti (gün, ay, il) ayri-ayri emal etmək tələb olunursa, bunu

Copy funksiyasi vasitəsilə etmək mümkündr.

Tutaq ki, proqramda tarix sətri GG AAA IIII formatindadir. (Burada GG – ayin gününü (1-2-ci simvollar), AAA – ayin adinin qisaldilmasi (4-6-ci sim-

48

vollar) və IIII – ili (8-11-ci simvollar) göstərir). Əgər Date, Month, Day və Year sətir dəyisənləridirsə, asagidaki operator Day dəyisəninə Date sətrinin birinci simvolundan baslayaraq iki ardicil simvol (‘17’) mənimsədəcək.

Day := Copy (Date, 1, 2);

Eyni qayda ilə ayi göstərən alt sətir (‘may’) Month dəyisəninə, ili bildirən alt sətir (‘2008’) isə Year dəyisəninə mənimsədilir.

Month

:=

Copy

(Date,

4,

3);

Year

:=

Copy

(Date,

8,

4);

Insert (Subst,St,Index). Bu prosedur St sətrinə Index mövqeyindən basla- yaraq Subst sətrini artirir. Məsələn,

Insert (‘p’, ‘Alay’, 3)

prosedurunun icrasindan sonra

‘Alay’

sətri

‘Alpay’

sətrinə çevriləcək.

Delete (St,Index,Count). Bu prosedur St sətrinin Index mövqeyindən bas- layaraq Count sayda simvolu silir. Məsələn, Delete (‘Alqoritm’,1,4) prosedu- runun tətbiqi nəticəsində ‘Alqoritm’ sətri ‘ritm’ sətrinə çevriləcək.

Pos (Subst,St). Bu funksiya St sətrində Subst alt sətrini axtarir. Əgər axta- ris ugurlu olarsa, funksiya nəticədə alt sətrin askarlandigi mövqenin nömrəsi-

ni verir. Əks halda, yəni axtaris ugursuz olarsa, funksiyanin nəticəsi 0 (sifir) olacaq. Nəzərə almaq lazimdir ki, bu funksiya alt sətri birinci askarladigi mövqenin nömrəsini çixisa verir. Basqa sözlə, əgər sətirdə axtarilan alt sətirdə bir neçə dəfə rast gəlinirsə, funksiyanin nəticəsi olaraq alt sətrin ilk askarlan- digi yerin nömrəsi götürüləcək.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. PASCAL proqramlasdirma dili

 

49

 

 

 

 

 

 

 

 

 

 

 

 

 

S

:=

‘1

nömrəli orta

məktəb’;

 

 

 

 

 

 

 

S1

:=

‘orta’;

S);

 

 

 

 

 

 

J

:=

Pos(S1,

11

ədədi

çixarilacaq

}

WriteLn(J);

{

Ekrana

S1

:=

‘əsas’;

S);

 

 

 

 

 

 

J

:=

Pos(S1,

0

ədədi

çixarilacaq

}

WriteLn(J);

{

Ekrana

Val (St,X,Code). Turbo Pascalda sətri ədədə çevirən standart funksiya – Val funksiyasi vardir. Bu zaman, təbii ki, çevrilən sətir ədədi sətir olmalidir (yəni, ədəddən ibarət olmalidir, məsələn, ‘17.5’, yaxud ‘1234’). Funksiyanin para- metrlərindən St ilkin sətrin özü, X alinan ədədin mənimsədildiyi dəyisən, Code isə çevrilmənin ugurla keçib-keçmədiyini bildirən parametrdir. Belə ki, çevrilmə ugurlu olarsa, Code parametrinin qiyməti 0 olacaq, əks halda həmin parametrə sətirdə səhvin bas verdiyi yerin nömrəsi yazilacaq. Asagidaki pro- qram fraqmenti NumStr dəyisəninə tam ədədi qiymət verir.

repeat

Write (‘Tam ədədi daxil edin: ’);

ReadLn (NumStr);

Val (NumStr, IntNum, Error)

until Error = 0;

Əgər daxil edilən ədəd sətirdirsə, Val proseduru bu sətri IntNum tam ədədinə mənimsədir. Əgər oxunan sətirdə rəqəmdən basqa ayri simvollar da olarsa, Error dəyisəninin qiyməti sifirdan fərqli olacaq və beləliklə də dövr təkrarla- nacaq.

Str (X,St). Bu prosedur Val prosedurunun əksini edir, yəni ədədi sətrə çevirir. Str (123 :5, NumSt) operatoru NumSt dəyisəninə ‘ 123’ sətrini yazacaq. Burada 5 sətirdəki simvollarin sayini göstərir.

Indi göstərilən prosedurlarin bəzilərinin tətbiq olundugu asagidaki misala baxaq. Burada istifadəçinin göstərdiyi sözə sətirdə neçə dəfə rast gəlindiyi he- sablanir.

50

program P; var

s, s1: string; k, i: Integer;

begin

(‘Ilkin sətri daxil edin: ’);

Write

ReadLn

(s);

Write

(‘Axtarilan sözü daxil edin: ’);

ReadLn

(s1);

k :=

0;

while

Pos(s1, s) > do0

begin

 

k := k + 1;

Delete(s, Pos(s1, s), Length(s1)); end;

WriteLn (k); end.

1.Sətir nədir və onun üzərində hansi əməliyyatlar aparilir?

2.Tutaq ki, Temp1 := ‘Abra’ və Temp2 := ‘kadabra’.

Asagidaki funksiya və prosedurlarin nəticəsini müəyyənləsdirin.

a)

Magic := Concat(Temp1,

Temp2)

b)

Length(Magic)

 

c)

HisMagic := Copy(Magic, 1, 8)

d)

Delete(HisMagic, 4, 3)

3)

e)

Insert(Temp1, HisMagic,

f)Pos(Temp2, Magic)

g)Pos(Temp1, Magic)

h)

Val(‘1.234’, RealNum, Error)

i)

Str(1.234 :3:1, RealStr)

3.Sətrin polindromu onun özündən və tərs yazilisindan ibarətdir. Istənilən sətrin polindromunu yaradan funksiya yazin. Yəni bu funksiyanin girisinə ‘abc’ ver- dikdə, çixisda ‘abccba’ alinmalidir.

4.Sətirdə olan saitlərin sayini hesablayan proqram yazin.

1. PASCAL proqramlasdirma dili

51

 

1.12. ALTPROQRAMLAR. FUNKSIYALAR V PROSEDURLAR

Insan həcmi bir neçə yüz sətir olan alqoritmdən “bas çixara“ bilər. Proqram sətirlərinin sayi artdiqca isin ümumi məntiqi itir. Konkret operatorlarin yerinə yetirdiyi əməliyyatlar elementar olsa da, onlarin ümumi məqsədini basa düsmək çətinləsir. Proqramin strukturu və onun yerinə yetirilmə ardicilligi aydin olmur. Belə alqoritmi dəyisdirmək, yaxud düzəltmək çox çətin olur.

Bu problemi həll etmək üçün alqoritm sadə əməliyyatlari yerinə yetirən ayri- ayri alqoritmlərə bölünür. Belə ayrica alqoritmlərə yardimçi alqoritmlər deyilir. Proqramlasdirma dillərində yardimçi alqoritm termininin yerinə altproqram ter- minindən istifadə olunur. Yardimçi alqoritmə (altproqrama) müraciət etmək üçün onu çagirmaq lazimdir.

Adətən orta ölçülü proqramlari hər biri çox da çətin olmayan əməliyyati ye- rinə yetirən kiçik altproqramlara bölürlər. Yekun alqoritm ayri-ayri operatorlar- dan deyil, hər birinin öz adi olan bitkin kod bloklarindan ibarət olur. Bu halda alt- proqramlara proqramçilarin təyin etdiyi yeni operatorlar kimi baxmaq olar.

Standart altproqramlar. Bir çox yardimçi alqoritmlərdən tez-tez və müx- təlif məsələlərdə istifadə edilir. Məsələn, tez-tez tipik riyazi funksiyalari hesabla- maq, yaxud sətirlər üzərində standart əməliyyatlar aparmaq tələb olunur. Belə alqoritmləri hər proqramçi özü yazsa idi, bu çox böyük vaxt itkisinə səbəb olardi. Bu problem standart altproqramlar tətbiq etməklə aradan qaldirilir.

Standart altproqramlar adətən proqramlasdirma dilində deyil, proqramlasdir- ma sistemində (mühitində) təyin edilir. Onlar translyatora əlavə edilən altproq- ramlar kitabxanasina daxil olur. Standart altproqramlarin genis kitabxanalari isi əhəmiyyətli dərəcədə yüngülləsdirir.

Yardimçi alqoritmlərin tipləri. Altproqramlar adətən, iki kateqoriyaya bölürlər: prosedurlar və funksiyalar.

Prosedur, sadəcə hər hansi operatorlar ardicilligini yerinə yetirir.

Funksiya isə müəyyən qiyməti hesablayir və həmin qiyməti çagiran proqrama (yaxud altproqrama) ötürür (qaytarir).

Bəzi proqramlasdirma dillərində (məsələn, C-də) altproqramlari prosedur və funksiyalara bölmürlər. Onlarin hamisina funksiya kimi baxilir. Belə dillərdə prosedur heç bir qiymət qaytarmayan funksiyadir.

52

Altproqramin parametrləri. Altproqramin isinin bir mənasi olmasi üçün o, onu çagiran proqramdan verilənlər almalidir. Verilənlər altproqrama parametr- lər səklində ötürülür. Hər bir altproqram parametr kimi konkret tipli müəyyən verilənlər yiginini almagi gözləyir. Parametrlərə ehtiyaci olmayan altproqramlar da mümkündür.

Parametrlər

 

Formal parametrlər

 

Faktik parametrlər

 

 

 

 

 

Altproqram yaradilarkən onun parametrlərinə ötürülən qiymətlər hələ məlum olmur. Təsvir zamani altproqramin basliginda formal parametrlər göstərilir. For- mal parametrlər ötürülən verilənlərin tipini müəyyən edən ixtiyari identifi- katorlardir. Onlar yalniz altproqramin yerinə yetirdiyi əməliyyatlari təsvir etmək üçün lazimdir.

Altproqram çagirilarkən ona ötürülən faktik parametrlər göstərilir. Altproq- ramin operatorlarinin yerinə yetirilməsi zamani formal parametrləri faktik qiymətlər təmsil edir.

Altproqramin çagirilmasi. Altproqrami çagiran operatorun növü altpro- qramin tipindən və konkret proqramlasdirma dilinin sintaksisindən asilidir. Altproqrami çagirmaq üçün onun adini göstərmək lazimdir. Ondan sonra mötə- rizədə faktik parametrlərin siyahisi gəlir. Faktik parametrlərin tipi və onlarin sayi altproqramda formal parametrlərin təsvirinə uygun gəlməlidir. Faktik parametrlər təkcə dəyisənlər deyil, həm də konstantlar, yaxud ifadələr ola bilər.

Funksiyani proqramin istənilən yerindən çagirmaq olar. Asagidaki misalda z dəyisəninə katetləri x və y olan düzbucaqli üçbucagin hipotenuzunun uzunlugu mənimsədilir. Hesablama üçün standart funksiyaya müraciət olunub.

z := sqrt(x*x + y*y);

Prosedurun çagirilmasi adətən ayrica operator kimi göstərilir. Pascal dilində bunun üçün heç bir açar söz tələb olunmur. Məsələn, parametr kimi iki tam ədədi qəbul edən P proseduru belə çagirila bilər:

P(1, 2);

Yardimçi alqoritmlərin proqramlasdirilmasi. Yardimçi alqoritmlərin təsviri proqramin ilkin mətninə daxil edilir. Proqramlasdirma dillərinin əksəriy- yətində altproqramin ilk çagirilmadan öncə təsvir olunmasi tələb olunur.

1. PASCAL proqramlasdirma dili

53

 

Altproqramin təsviri basliqdan, gövdədən və sonluqdan ibarətdir. Basliq alt- proqramin adindan və formal parametrlərin təsvirindən ibarətdir. Funksiya üçün həm də qaytarilan qiymətin tipi göstərilir:

function Square(x: Integer) : Integer; begin

Square := x*x;

end;

Pascal dilində xüsusi sonluq operatoru olmur. Funksiyanin gövdəsi begin və end operatorlarinin arasinda yerləsdirilir.

Funksiyanin qaytardigi qiymət onun adiyla üst-üstə düsən dəyisənə mənimsədilməlidir.

Funksiyanin gövdəsinin daxilində bu dəyisəndən mənimsətmə operatorunun yalniz sol tərəfində istifadə edilə bilər.

N ədədinin faktoriali dedikdə 1-dən n-dək ədədlərin hasili basa düsülür (n! = 1.2.3. ... .n). Asagidaki funksiya ədədin faktorialini hesablayir:

function Fact(n : Integer) : Integer; var

i : Integer; res : Integer;

begin

res := 1;

for i := 1to n do res := res * i; Fact := res;

end;

Prosedurun təsvirində isə qaytarilan qiyməti hesablamaga lüzum yoxdur.Asa- gida iki tam ədədin cəmini çixisa verən prosedur təsvir olunub:

procedure PrintSum(x, y: Integer); begin

WriteLn(x+y);

end;

54

Adətən hesab olunur ki, altproqramin təsviri onun ilk istifadəsindən öndə yer- ləsdirilməlidir (çünki translyatora belə əlverislidir). Ancaq bu müəyyən səbəblərdən proqramçi üçün rahat olmaya bilər. Bəzi proqramlasdirma dilləri altproqramin təsvirini onun birinci istifadəsindən sonra yerləsdirməyə imkan verir, ancaq bu halda altproqramin istifadədən öncə sadələsdirilmis halda elan edilməsi tələb olunur.

Pascal dilində bunun üçün prosedurun basligi təkrarlanir. Ondan sonra begin açar sözünün olmamasi bunun təsvir deyil, yalniz elan oldugunu bildirir.

procedure PrintSum(x, y: integer);

Elanin qabaqcadan olmasi altproqramin parametrləri haqqinda translyatora məlumat verir. Bu isə altproqramin çagirilmasini düzgün emal etməyə imkan verir.

Turbo Pascalin standart riyazi funksiyalari

Funksiya

Təyinati

Arqument

Nəticə

 

 

 

 

Abs(X)

X-in mütləq qiyməti

Real, yaxud Integer

Real, yaxud

 

 

 

Integer

 

 

 

 

Cos(X)

X bucaginin kosinusu

Real, yaxud Integer

Real

 

 

(radianla)

 

 

 

 

 

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 yaxin tam ədəd

Real

Integer

 

 

 

 

Sin(X)

X bucaginin sinusu

Real, yaxud Integer

Real

 

 

(radianla)

 

 

 

 

 

Sqr(X)

X-in kvadrati

Real, yaxud Integer

Real, yaxud

 

 

 

Integer

 

 

 

 

Sqrt(X)

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

Real, yaxud Integer

Real

 

X > 0.0

 

 

 

 

 

 

Trunc(X)

X-in tam hissəsi

Real

Integer

 

 

 

 

1. PASCAL proqramlasdirma dili

55

 

Asagida verilmis Artma proqrami a, b, c dəyisənlərinin qiymətlərini elə dəyisir ki, onlar artma sirasiyla 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);

b);

if a

>

bthen

Swap(a,

if b

>

cthen

Swap(b,

c);

if a

>

bthen

Swap(a,

b);

WriteLn(a:5,

b:5, c:5);

ReadLn;

 

 

 

end.

Swap proseduruna diqqət edin. Bu prosedur iki dəyisənin qiymətinin yerini dəyisir. Belə yerdəyismədən proqramlasdirmada tez-tez istifadə olunur.

Altproqramin yerinə yetirilməsinin dayandirilmasi və çagiran proqrama qayidilmasi, idarəetmə altproqramin son operatoruna çatanda bas verir. Bu isə həmisə əlverisli olmur. Buna görə də altproqramin yerinə yetirilməsinin yarida kəsilməsi və idarəetmənin dərhal çagiran proqrama qaytarilmasi imkani vardir. Pascal dilində bu məqsədlə exit operatorundan istifadə olunur.

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

2.Altproqramlarin hansi 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ədiyini yoxlayan funksiya yazin.

56

1.13. FAYLLAR

Indiyədək tanis oldugunuz proqramlarin hamisi interaktiv proqramlar idi. Interaktiv proqramlar bütün giris verilənlərini klaviaturadan oxuyur, nəticələri isə ekrana çixarir. Kiçikhəcmli verilənlərlə isləyərkən interaktiv giris və çixis daha yaxsi olur, ancaq bu cür yanasma böyük həcmli informasiyalarla isləyərkən səmərəsizdir. Bu halda vəziyyətdən çixmaq məqsədilə giris və çixis üçün fayllar- dan istifadə etmək olar. Pascal iki növ informasiya fayli ilə isləyir: mətn və ikilik fayllarla.

Mətn fayli diskdə bir ad altinda saxlanilan ayri-ayri simvollar yiginidir. Proqramin emal edəcəyi bütün ilkin verilənləri proqramin basladilmasindan öncə mətn faylinda saxlamaq olar. Bundan sonra proqrami elə dəyismək lazimdir ki, o özünün istifadə etdiyi verilənləri klaviaturadan deyil, mətn faylindan oxusun.

Mətn fayli bir ad altinda saxlanilan ayri-ayri simvollar yiginidir.

Giris və çixis fayllari. Proqramin giris verilənlərindən ibarət fayla giris fayli deyilir. Giris fayli həm mətn fayli, həm də ikilik fayl ola bilər. Giris faylin- dan istifadənin üstünlüklərindən biri giris verilənlərinin mətn redaktorunda hazir- lana bilməsidir. Bu zaman verilənləri emal edilmək üçün proqrama verməmisdən öncə yoxlamaq və əgər səhvlər olarsa, onlari düzəltmək imkani vardir. Ikinci üstünlük ondan ibarətdir ki, giris verilənlərindən ibarət fayl proqram tərəfindən təkrar-təkrar oxuna bilər. Bu imkan proqramin sazlanmasini asanlasdirir, çünki proqraminiz basladildiqda ilkin verilənləri hər dəfə giris faylindan oxuya bilər. Interaktiv proqramda isə siz hər dəfə verilənləri klaviaturadan daxil etməli ola- caqdiniz.

Giris fayli proqramin giris verilənlərindən ibarət fayldir.

Eyni zamanda proqrami elə dəyisdirmək olar ki, o, hesablanmis nəticələri ekrana çixarmasin, mətn faylina yazsin. Diskdə olan həmin fayli sonradan çapa vermək, yaxud hətta basqa proqram üçün giris fayli kimi, istifadə etmək olar. Proqramin isinin nəticələrinin toplandigi fayla çixis fayli deyilir.

Çixis fayli proqramin isinin nəticələrinin toplandigi fayldir.

1. PASCAL proqramlasdirma dili

57

 

Mətn fayllari ilə isləmək üçün bes əməliyyati yerinə yetirmək lazimdir:

1.Faylin təsvir edilməsi. Proqramda olan hər bir obyekt kimi, mətn fayli da isti- fadədən öncə təsvir olunmalidir. Fayl var bölümündə təsvir edilir və bunun üçün text açar sözündən istifadə olunur. Məsələn,

var f1, f2: text;

yazilisi f1 və f2-nin mətn fayli oldugunu bildirir. Bu halda f1 və f2-yə fayl dəyisənləri də deyirlər.

2. Təsvir olunmus faylin xarici dasiyicida olan konkret faylla əlaqələndir- ilməsi. Diskdə saxlanilan fayla müraciət etmək üçün proqrama həmin faylin adini və onun hansi qovluqda (kataloqda) saxlandigini bildirmək lazimdir. Basqa sözlə, proqram faylin tam adini bilməlidir. Bunun üçün Pascal dilində Assign proseduru nəzərdə tutulub. Məsələn, C diskində ALTAY qovlugunda saxlanilan in.txt faylini f1 fayl dəyisəninə baglamaq üçün proqramda

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

proseduru göstərilməlidir. Əgər yalniz faylin adi göstərilibsə, onda Turbo Pascal nəzərdə tutur ki, fayl proqramin yerləsdiyi qovluqdadir. Məsələn,

Assign(f2, ‘out.txt’);

proseduru proqram qovlugunda yerləsən out.txt faylini f2 fayl dəyisəninə baglayir. Assign proseduru faylin gerçək adiyla isləyən yeganə funksiyadir. Qalan funksiyalarin hamisi fayl dəyisənindən istifadə edir. Bu səbəbdən proq- ramçilar f1-ə faylin daxili adi, c:\ALTAY\ in.txt-yə isə onun xarici adi deyirlər.

3.Faylin oxumasi, yaxud yazilmasi üçün onun açilmasi. Proqramin mətn fayli ilə manipulyasiya edə bilməsi üçün həmin fayl giris, yaxud çixisa hazirlanma- lidir, basqa sözlə, fayl açilmalidir. Mətn fayli eyni zamanda həm giris, həm də çixis üçün açila bilməz. Yəni verilənlər mətn faylindan oxunursa, siz nəticələri həmin fayla yaza bilməzsiniz. Mətn faylini açmaq üçün Pascal dilində Reset və Rewrite prosedurlari nəzərdə tutulub.

Reset(f1);

58

Bu prosedur f1 fayl dəyisəni ilə əlaqələndirilmis fayli proqrama daxil edilmək üçün hazirlayir. Bu zaman cari mövqe göstəricisi faylin baslangicina keçir. Cari mövqe göstəricisi emal olunacaq növbəti simvolu göstərir. Reset prose- duru faylin oxunmasina baslamazdan əvvəl çagirilmalidir.

Rewrite(f2);

Bu prosedur f2 fayl dəyisəni ilə əlaqələndirilmis fayli proqramdan çixisa veri- ləcək verilənləri qəbul etmək üçün hazirlayir. Əgər diskdə göstərilən fayl ol- mazsa, həmin ad altinda yeni bos fayl yaradilacaq. Diskdə göstərilən fayl artiq mövcuddursa, o, bosaldilacaq və cari mövqe göstəricisi faylin baslangicina ke- çəcək.

4. Verilənlərin fayla yazilmasi, yaxud fayldan oxunmasi. Verilənləri mətn faylindan oxumaq üçün ReadLn prosedurundan istifadə etmək olar. Bu prose- dur klaviaturadan daxil edilən verilənləri necə emal edirsə, mətn faylinin hər bir sətri ilə də elə isləyir.

ReadLn(f1, n);

proseduru f1 giris faylindan verilənləri oxuyur və n dəyisəninə yazir. Faylda iki ardicil elementi birdən oxuyub, a və b dəyisənlərinə yazmaq üçün

Read(f1, a, b);

prosedurundan istifadə etmək olar.

Verilənləri ekrana çixarmaq üçün WriteLn və Write prosedurlari ilə artiq ta- nissiniz. Bu prosedurlardan verilənləri mətn faylina yazmaq üçün də istifadə edilir.

WriteLn(f2, n);

proseduru n dəyisəninin qiymətini f2 faylina yazir. Yeni verilənlər fayla növbəti sətirdən yazilacaq.

Write(f2, a, b);

proseduru f2 faylina a və b ədədlərini yazir və növbəti yazi həmin sətirdən davam olunacaq.

1. PASCAL proqramlasdirma dili

59

 

5.Faylin baglanmasi. Giris, yaxud çixis fayli ilə isi bitirdikdən sonra diskdəki faylla proqram arasinda əlaqəni kəsmək lazimdir. Basqa sözlə, açiq fayllar baglanmalidir. Bunun üçün Turbo Pascalda Close proseduru nəzərdə tutulub.

Close(f1);

Close(f2);

Nəzərə alin ki, Close (f1, f2); yazilisi düzgün deyil – hər bir fayl ayrica baglanmalidir!

Indi fayllarla isləmək üçün iki misala baxaq. Birincidə iki ədəd fayla yazilir, ikinci misalda isə həmin ədədlər fayldan oxunur və ekrana çixarilir.

program P1;

var

f: text;

{Fayl elan olunur}

n:Integer;

begin

Assign(f,‘file1.txt’);

 

 

{f fayli diskdÉ™ olan file1.txt

Rewrite(f);

 

fayli ilə əlaqələndirilir}

 

{f fayli yazilmaq üçün açilir}

n := 7;

 

 

WriteLn(f,

n);

{n dəyisənin qiyməti fayla yazilir}

WriteLn(f,

5);

{5 ədədi fayla yazilir}

Close(f);

 

{Fayl baglanilir}

end.

 

 

-----------------------------------------------------

program P2;

 

var

text;

 

f:

{Fayl elan olunur}

n:

Integer;

 

begin

 

 

Assign(f,’file1.txt’); {f fayli diskdə olan

 

file1.txt

fayli ilə əlaqələndirilir}

60

Reset(f);

n);

{f fayli oxunmaq üçün açilir}

ReadLn(f,

{Birinci ədəd n dəyisəninə oxunur}

WriteLn(n);

 

{n dəyisəninin qiyməti (7 ədə

ReadLn(f,

 

di)ekrana çixarilir}

n);

{Ikinci ədəd n dəyisəninə oxunur}

WriteLn(n);

 

{n dəyisəninin qiyməti (5 ədə di)

Close(f);

 

ekrana çixarilir}

 

{Fayl baglanilir}

end.

 

 

Sonda fayllarla isləmək üçün tez-tez istifadə olunan bir neçə funksiya ilə də tanis olaq.

Mətn faylina informasiyanin artirilmasi. Mətn fayllarinin sonuna infor- masiya artirmaq imkani da nəzərdə tutulub. Bunun üçün fayli Rewrite prosedu- ru ilə deyil, Append proseduru ilə açmaq lazimdir.

Append(<Fayl dəyisəni>);

Bu prosedur çagirildiqdan sonra fayl yazilis üçün açilir, ancaq Rewrite prosedurunda oldugu kimi, fayldaki mövcud informasiya silinmir. Cari mövqe göstəricisi faylin sonuna keçir və deməli, yazilan informasiya faylin sonuna əlavə olunur.

Misal olaraq yuxaridaki P1 proqrami vasitəsilə yaradilan file1.txt faylina yeni yazi əlavə edək:

program P3; var

f: text; begin

Assign(f,’file1.txt’);

Append(f);

WriteLn(f, 9);

Close(f); end.

1. PASCAL proqramlasdirma dili

61

 

Asagidaki cədvəldə fayllarla is zamani lazim olan daha bir neçə funksiya haqqinda qisa məlumat verilib.

 

Funksiya

Təyinati

 

 

 

 

Eof

 

 

f fayl dəyisəni ilə bagli olan fayl üçün End-of-

dəyisəni>)

file (faylin sonu) vəziyyətini bildirir: cari mövqe

(<Fayl

göstərici faylin sonundadirsa, yaxud fayl bosdursa,

 

 

 

True, qalan hallarda isə False qiymətini qaytarir.

 

 

 

 

Erase

 

 

f fayl dəyisəni ilə bagli olan xarici fayli silir.

(<Fayl

dəyi səni>)

 

 

 

 

 

Rename

dəyisəni>,

 

(<Fayl

Faylin adi dəyisdirilir.

<Faylin

yeni adi>)

 

 

 

 

 

MkDir

 

adi>)

Yeni qovluq yaradir.

(<Qovlugun

 

 

 

 

 

RmDir

 

 

Qovlugu uzaqlasdirir. Bu zaman uzaqlasdirilan

 

adi>)

qovlugun içərisində altqovluqlar, yaxud fayllar

(<Qovlugun

olmamalidir.

 

 

 

 

1.Verilənləri fayldan daxil etməyin hansi üstünlükləri var?

2.Turbo Pascalda fayllarin hansi növləri var?

3.Turbo Pascalda mətn fayllari ilə isləmək metodikasi necədir və bunun üçün hansi operatorlar nəzərdə tutulub?

4.Fayl dəyisəni nədir?

5.Faylin daxili və xarici adinin mahiyyətini izah edin.

62

1.14. PRAKTIKUM

OPERATORLAR

1. Asagidaki komandalarin icrasindan sonra s kəmiyyəti hansi qiyməti alacaq?

a) s

:=

7;

s

:=

23;

3;

 

 

 

 

 

 

b) s

:=

1;

s

:=

s

+

b

– a;

s

:=

b

+

c) a

:=

2;

b

:=

5;

b

:=

d) s

:=

0;

k

:=

30;

d

:=

k

–

5;

k

:

s

:=

k

–

100;

 

 

 

 

 

 

 

 

2. Asagidaki operatorlarin icrasindan sonra x və y dəyisənləri hansi qiyməti alacaq? Dəyisənlərin qiymətləri yerlərini dəyisdimi?

x := 2; y := 9; x := y; y := x;

3. Asagidaki operatorlarin icrasindan sonra a, b, c dəyisənləri hansi qiy- mətləri alacaq (a = 1, b = 2, c = 3) ?

a := b; b := c; c := a;

4. Asagidaki operatorlarin icrasindan sonra ekrana nə çixacaq?

a := 4;

Write(a);

Write(‘a’);

1. PASCAL proqramlasdirma dili

63

 

5. Asagidaki proqramin icrasindan sonra ekrana nə çixacaq?

proqram Task5; var

a, b, c : Integer; begin

Write(1);

Write(2, 3);

WriteLn(4); Write(5); WriteLn(6, 7); WriteLn; Write(8); ReadLn;

end.

6. Klaviaturadan 1, 2, 3 ədədləri daxil edilərsə, asagidaki proqramin icrasin- dan sonra ekrana nə çixacaq?

proqram Task6; var

a, b, c : Integer;

begin

WriteLn(‘Üç tam ədəd daxil edin’);

ReadLn(a, b,

a);

c = a + b;

c);

Write(‘a+b=’,

ReadLn;

 

end.

 

7. Hansi ədədləri və hansi ardicilliqla daxil etmək lazimdir ki, asagidaki operatorlarin icrasindan sonra ekrana 123 çixsin?

Read (a, b, c);

Write(c, b, a);

64

8. Proqramda olan bütün xətalari tapib düzəldin.

proqram Task8; var

a; b; c : Integer;

begin

WriteLn(‘ dədi daxil edin ’, a);

ReadLn(a)

b

=

5;

c

=

ab;

WriteLn(a ‘ * ’ b ‘ = ’, s);

ReadLn(a); end.

9. Tam ədədin daxil edilməsini istəyən və həmin ədədin kvadratini, kubunu ek- rana çixaran proqram yazin. Proqramin icrasinin nəticəsi təxminən belə olmalidir:

dədi daxil edin. 4 4**2 = 16

4**3 = 64

10. Asagidaki proqram istifadəçidən cari aydaki günlərin sayini və bugünkü günü sorusur, sonra isə cari ayin sonuna neçə gün qaldigi haqqinda məlumati ekrana çixarir. Proqramin sg dəyisəni cari aydaki günlərin sayini, bg dəyisəni bugünkü günü, qg dəyisəni isə ayin sonunadək qalan günlərin sayini göstərir. Proqramin necə icra olundugunu yoxlayin.

proqram Task10; var

sg, bg, qg : Integer;

begin

WriteLn(‘Cari ayda neçə gün var?’);

ReadLn(sg);

Qeyd: 10. – həlli ilə verilmis tapsiriqlar. Onlarin həllinə diqqət yetirin və təhlil edin.

1. PASCAL proqramlasdirma dili

65

 

WriteLn(‘Bu gün ayin neçəsidir?’);

ReadLn(bg);

qg := sg – bg;

WriteLn(‘Bu ayin sonuna ’, qg, ‘ gün qalib’);

ReadLn; end.

11. Istifadəçidən doguldugu ili və cari ili sorusan, sonra onun yasini ekrana çixaran proqram yazin. Proqramin icrasinin nəticəsi təxminən belə olmalidir:

Hansi ildÉ™ dogulmusan? 1994

Indi neçənci ildir? 2008

Sənin bu il 14 yasin var.

12. x dəyisəninin hansi qiymətlərində asagidaki bərabərliklər dogru olacaq?

a)

x div

5

=

=

8

b)

50

div

x

7

c)

50

mod

x

=

7

d)

x

div

5

=

=

xmod 5

e)

20

div

x

20mod x

13. Tutaq ki, S dəyisənində besrəqəmli ədəd saxlanilir. a dəyisəni həmin ədəddəki on minliklərin sayini, b minliklərin sayini, c yüzlüklərin sayini, d on- luqlarin sayini, e isə təkliklərin sayini göstərir. Asagidaki cədvəlin iki sütunu arasinda uygunluq qurun.

 

 

Əməliyyat

Dəyisən

 

 

 

 

 

 

s

div

100

mod

10

a

 

 

 

 

 

 

s

mod

10

 

 

b

 

 

 

 

 

 

s

div

10

mod

10

c

 

 

 

 

 

s

div

10000

 

d

 

 

 

 

 

 

s

mod

100

div

10

e

 

 

 

 

 

 

66

14. Dördrəqəmli ədədin rəqəmlərini tapan proqram yazin. Asagida istifadəçi ilə kompüter arasindaki dialoq nümunəsi verilib. Istifadəçinin daxil etdiyi veri- lənlər qalin sriftlə göstərilib.

Dördrəqəmli ədəd daxil edin.

4523

Minliklərin sayi 4 Yüzlüklərin sayi 5 Onluqlarin sayi 2 Təkliklərin sayi 3

SƏRT

15. Operatorlarin ardicil yerinə yetirilməsi nəticəsində p dəyisəni hansi qiyməti alar?

q :=

-1;

 

 

 

 

p :=

1;

0)and (q

>

0)then

if (p

>

p

:=

2

 

 

 

else

(p

<

0)and

(q

< 0)then

if

 

p

:=

3

 

 

else

:=

4;

 

 

 

p

 

 

16. Operatorlarin ardicil yerinə yetirilməsi nəticəsində p və q dəyisənləri hansi qiyməti alar?

q := false; p := true; p := pand q;

q := qor false;

q := (notq) or p;

1. PASCAL proqramlasdirma dili

67

 

17. Operatorlar ardicilligi yerinə yetirilərsə, c dəyisəni hansi qiyməti alar?

a

:=

8;

+

2;

a

:=

a

b

:=

a

-

1;

c

:=

a

+

b div 2;

18. Asagidaki proqram fraqmentində olan bütün xətalari tapib düzəldin.

if a >= 10and a <= 99then WriteLn(a ‘ ikirəqəmli ədəd’);

WriteLn(‘onun kvadrati =’, sqrt(a)); else (a, ‘ ikirəqəmli ədəd deyil’);

19. Klaviaturadan 3, 5, 9 ədədləri daxil olunarsa, asagidaki proqramin icrasindan sonra v, t, u dəyisənləri hansi qiymətləri alar?

proqram Task19; var

a, b, c, v, t, u : Integer;

begin

WriteLn(‘Üç ədəd daxil edin’);

ReadLn(a,

b,

c);

u := 0;

v :=

1;

t

:=

0;

if a

mod

3

=then0

begin

v

:=

v

*

a;

 

t

:=

t

+

1;

 

u

:=

u

+

1;

 

end;

mod

3

=then0

begin

if b

v

:=

v

*

b;

 

t

:=

t

+

1;

 

u

:=

u

+

b;

 

end;

mod

3

=then0

begin

if c

v

:=

v

*

c;

 

68

t

:=

t

+

1;

u

:=

u

+

c;

end;

WriteLn(‘v=’, v, ‘ t =’, t, ‘ u=’, u)

ReadLn;

end.

20.and, or, not məntiqi əməllərindən istifadə etməklə asagidaki sərtləri pro- qramlasdirma dilində yazin.

a)x ədədi [-3, 2] parçasinda yerləsir;

b)a ədədi strixlənmis sahəyə düsür.

21.ax + b = 0 tənliyi verilmisdir. Bu tənliyin həllini tapan, yaxud onun həllinin olmamasi haqqinda məlumati ekrana çixaran proqram yazin.

22.Istifadəçinin yasina görə onun hansi yas qrupuna mənsub oldugunu müəyyənləsdirən proqram yazin:

•13-dək – usaqliq

•14-dən 24-dək – cavanliq

•25-dən 59-dək – yetkinlik

•60-dan çox – qocaliq

23.ax2 + bx + c = 0 kvadrat tənliyi verilmisdir. Asagidaki proqram daxil edilən a, b, c qiymətlərinə görə bu tənliyin həllini tapir, yaxud həllin olmamasi haqqinda məlumat verir. Proqramin icrasini yoxlayin.

program

KvadratTenlik;

var a,

b,

c

:

Real;

D

:

Real;

 

x1,

x2 :

Real;

begin

 

(‘a,

b,

c əmsallarini daxil edin: ’);

Write

 

 

 

 

 

1. PASCAL proqramlasdirma dili

69

ReadLn(a,

 

 

b, c);

 

if (a =

0)and (b = 0)and (c = 0)

 

then begin

Write (‘Bütün əmsallar 0-ra bərabərdir’); WriteLn (‘x - ixtiyari ədəddir’)

end

 

 

 

 

 

 

 

else

=

0)and (b

<>

0)

 

if (a

bir kökü var x=’,

then

WriteLn(‘Tənliyin

else

 

 

(-c/b):6:2)

 

 

 

 

 

 

 

 

begin

:=

b*b

–

4*a*c;

 

D

 

if

D

>

0

 

 

 

 

 

then

begin

 

 

 

 

x1:=(-b+sqrt(D))/(2*a);

 

 

x2:=(-b-sqrt(D))/(2*a);

 

 

WriteLn(‘x1=’,

x1:6:2,‘x2=’,

x2:6:2)

end else

if D = 0 then begin

x1: = -b/(2*a); WriteLn(‘Köklər eynidir’); WriteLn(x1=’,x1:6:2,

‘x2=’, x2:6:2);

end

else WriteLn(‘Həqiqi kökləri yoxdur’);

end;

end.

70

DÖVRLƏR

24.1-dən 20-ə kimi natural ədədlərin kvadratlarini çap edin.

25.4-ə vurma cədvəlini çap edin.

26.1-dən 100-ə kimi 4-ə tam bölünən natural ədədləri çap edin.

27.n və m natural ədədləri verilmisdir. Vurma əməlindən istifadə etmədən onlarin hasilini tapan proqram yazin.

28.Verilmis n ədədinə görə həmin ədədi

6

66

6 6 6

6 6 6 6

6 6 6 6 6

6 6 6 6 6 6

səklində (nümunə n= 6 hali üçün göstərilib) ekrana çixaran proqrami asagidaki kimi yazmaq olar. Onun necə icra olundugunu yoxlayin.

program Task28;

Integer;

var i, j,

n

:

begin

 

 

 

 

ReadLn(n);

1to n do

begin

for i

:=

for j

:=

1to i

doWrite(n, ‘ ’);

WriteLn;

end;

end.

29. Tam ədədləri asagidaki səkildə ekrana çixaran proqram yazin:

6 6 6 6 6 6

6 6 6 6 6

6 6 6 6

6 6 6

66

6

1. PASCAL proqramlasdirma dili

71

 

30. Tam ədədləri asagidaki səkildə ekrana çixaran proqram yazin:

0

10

2

1

0

0

 

 

3

2

1

0

 

4

3

2

1

0

5

4

3

2

1

MASSIVLƏR

31. Operatorlar ardicilligi yerinə yetirilərsə, p və q dəyisənləri hansi qiymətləri alar?

for

i

:=

1to 10

do

 

for j

 

:=

1to 5 do

p

:=

A[i,j]

:=

i*j;

0;

 

 

 

 

q

:=

0;

 

 

 

 

m

:=

2;

 

 

 

 

n

:=

5;

1to 5 do begin

for k

:=

 

p:

=

p

+

A[m,k];

 

q

:=

q

+

 

A[n,k];

end;

 

 

 

 

 

32. Asagidaki proqram 10 elementdən ibarət birölçülü X massivinin ilk 5 elementini çixisa verir. Proqramin necə icra olundugunu yoxlayin.

program Print; var i : Integer;

X : array[1..10] of Integer;

begin

72

for i := 1to 5 do Write(X[i], ‘ ’);

WriteLn;

end.

33. Asagidaki proqram birölçülü massivdə müsbət və mənfi elementlərin sayini hesablayib çixisa verir. Proqramin necə icra olundugunu yoxlayin.

program

Task33;

 

 

 

 

const

Nmax =

100;

 

 

type

TArr

= array[1..Nmax] of integer;

var

A

:

Tarr;

 

 

procedure

Solve;

Integer;

var i,

n,

p

:

begin

 

0;

 

 

 

 

p

:=

 

 

 

 

ReadLn(n);

1to n do

Read(A[i]);

for i

:=

for i

:=

 

1to n do

Inc(p);

 

if A[i]

>=

0then

WriteLn(‘Müsbət elementlərin sayi ’, p); WriteLn(‘Mənfi elementlərin sayi ’, n - p);

end;

begin

Solve;

end.

34.Verilmis birölçülü massivdə sonuncu mənfi elementin nömrəsini tapan proqram yazin.

35.Tam ədədlər massivi verilmisdir. Klaviaturadan daxil edilən q və t ədədlərinə görə massivin onlar arasinda qalan elementlərinin cəmini tapin.

1. PASCAL proqramlasdirma dili

73

 

36. Ölçüsü n x m olan A massivini asagidaki qaydada doldurun:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

SƏTIRLƏR

37. Asagidaki proqram ASCII simvollarinin sira nömrəsini və simvollarin özlərini ekrana çixarir. Proqramdaki k dəyisənindən bir sətirdə 15 simvol vermək üçün saygac kimi istifadə olunur. Proqramin necə icra olundugunu yoxlayin.

program Task37;

var i, k

:

Integer;

 

 

 

begin

 

 

 

 

sira

nömrəsinin –

WriteLn(‘Simvollarin

 

 

i də yisə nininqiymətinin və sim vol la -

k :=

0;

rin özlərinin ekrana çixa rilma si’);

1to 255 do begin

 

for i

:=

’, Chr(i));

Write(i

:

4,

‘

Simvol

k :=k

+

1;

begin

 

if k

=

15then

 

WriteLn; k := 0;

end;

end;

end.

74

38. Yazi qaydalarina görə mətndə vergüldən sonra həmisə bosluq qoyulur. Asagidaki proqram mətndə bu tipli səhvləri tapib düzəldir. Proqramin necə icra olundugunu yoxlayin.

program Task38;

var i : Integer; s : string;

begin

 

 

 

daxil

edin’);

WriteLn(‘Mətni

ReadLn(s);

 

 

 

i :=

1;

<

Length(s)do

begin

while i

if

(s[i]

=

‘,’)and

not(s[i+1] = ‘ ’)

i

then

Insert(‘ ’

s, i+1);

:=i

+

1;

 

 

end;

 

 

 

 

 

WriteLn(s);

ReadLn;

end.

39.Əvvəlki məsələnin proqramini elə dəyisdirin ki, “!”, “?”, “.” simvollarin- dan sonra da uygun səhvi düzəltsin.

40.Verilmis sətirdə ən qisa və ən uzun sözü müəyyənləsdirən proqram yazin.

41.Sətirdə müəyyən hərfə (məsələn, “a”) neçə dəfə rast gəlindiyini hesablayan proqram yazin.

1. PASCAL proqramlasdirma dili

75

 

FAYLLAR

42. Diskdə “test.txt” adi ilə saxlanilan mətn fayli verilib:

123

17

25

 

256

80

5

 

89

56

234

 

123

123

123

81

11

11

11

Asagidaki proqramin icrasindan sonra ekrana nə çixarilacaq?

program

Task42;

var f

:

text;

s

:

string;

n,

m

:

Integer;

c,

z

:

Char;

begin

Assign(f, ‘test.txt’);

Reset(f); ReadLn(f, s); ReadLn(f, n);

Read(f, m);

ReadLn(f, c);

Read(f, z);

Close(f);

WriteLn(‘s=’, s); WriteLn(‘n=’, n); WriteLn(‘m=’, m); WriteLn(‘c=’, c); WriteLn(‘z=’, z);

ReadLn;

end.

76

43. Tutaq ki, f mətn fayli və st sətri verilmisdir. Asagidaki proqram s də- yisəninin qiymətini f faylinin sətirlərində axtarir və hansi sətirdə tapirsa, həmin sətri yeni g faylina yazir.

program

Task43;

var f,

g

:

text;

s,

st

:

string;

begin

WriteLn(‘Sətri daxil edin ’);

ReadLn(s);

Assign(f, ‘test.txt’); Assign(g, ‘test2.txt’);

Reset(f); Rewrite(g);

while noteof(f) do begin ReadLn(f, st);

if pos(s, st) <> then0 WriteLn(g, st); end;

close(f); close(g);

ReadLn;

end.

44.Mətn fayli verilib. Bu faylin ən qisa sətirlərini yeni fayla yazin.

45.Verilmis mətn faylinda ən uzun sətri müəyyənləsdirən proqram yazin.

46.Sagirdlərin siyahisindan ibarət mətn fayli verilib. Hər sətirdə bir sagirdin soyadi və adi yazilib. Bu fayli oxuyub ekrana çixaran proqram yazin.

2

ELEKTRON S N D

2.1. M TN S N DI V ONUN OBYEKTL RI

Kompüterdən ən genis istifadə olunan sahələrdən biri mətnlərin hazirlan- masidir. Mətnlər hazirlanarkən çox zaman bir neçə dəfə dəyisdirilir. Kagizda edilən hər hansi dəyisikliyin izi qalir və buna görə də istənilən kompüterdə mətnlərlə isləmək üçün xüsusi proqramlar – mətn redaktorlari qurasdirilib.

Mətn redaktorunda hazirlanmis istənilən mətnə, ona daxil edilmis mətn olmayan materiallarla birlikdə sənəd [document] deyilir.

Mətn prosessorunda isə baslamamisdan öncə onun istifadə etdiyi obyektlər haqqinda müəyyən təsəvvürlərə malik olmaq lazimdir. Bununçün mətn sənədi obyektlərinin təsnifati ilə tanis olaq.

MƏTN SƏNƏDININ OBYEKTLƏRI

Mühitin öz obyektləri

(mətn redaktorunun özündə yaradilmis)

Vektor rəsmi

Mətn, Abzas, Sətir, Simvol

Cədvəl

Yerləsdirilmis obyektlər

(digər tətbiqi proqramlarda yaradilmis)

Cədvəl

Düstur

Verilənlərin seçilməsi

Diaqram

Rəsm, səkil

Sxemdən göründüyü kimi, mətn sənədinin obyektləri iki səviyyə üzrə qrup- lasir. Birinci səviyyədə obyektlər yaradildigi mühitə görə iki qrupa bölünür: mühitin öz obyektləri və yerləsdirilmis obyektlər.

Mühitin obyektləri sənədin elə obyektləridir ki, onlarin yaradilmasi, redaktəsi və formatlanmasi üçün basqa bir proqram çagirmaga lüzum qalmir.

78

Yerləsdirilmis obyektlər elə obyektlərə deyilir ki, onlar ilkin olaraq basqa proqram mühitində yaradilir.

Yerləsdirilmis mühitlə bagli belə bir bənzətməyə baxaq. Mənzil səhər sakininin yasayis mühitinin bir hissəsidir. Burada olan hər sey – mebel və qab-qacaq, geyim və ayaqqabi, isiqlandirma və məisət cihazlari onun üçün nəzərdə tutulub. Səhərlər meydana gəlməmisdən qabaq insan, əsasən, canli təbiətlə əhatə olunmusdu. Səhər- lilərin çoxu heyvan və bitki aləmi ilə ünsiyyətdə olmadigina görə darixir. Onlar öz mənzillərində hər hansi bitki, yaxud baliq saxlamaq istəyirlər. Ancaq çiçək dösəmədə, yaxud masanin üstündə bitə bilməz. Normal həyat üçün ona alisdigi mü- hit – torpaq gərəkdir. Çiçəyin mənzildə yetis-

dirilməsi üçün dibçək əldə etmək, onu torpaqla doldurmaq və çiçəyi ora əkmək lazimdir. Beləliklə, bir mühitin (səhər mənzili) daxilində obyektin (çiçəyin) mövcudlugunu təmin edən basqa mühitin fraqmenti (torpaq) meydana çixir.

Təsnifatin ikinci səviyyəsinin əsasini obyektin növü təskil edir. Mətn redak- torunda yaradilan obyektləri gözdən keçirək. Öncə “mətn” alt-sinfinin obyekt- lərinə baxaq. Mətndə asagidaki obyektlər seçdirilə bilər: simvol, söz, sətir, abzas, səhifə.

Simvol obyektinin əsas parametrləri bunlardir: yazilis səkli, keql, rəng. Simvolun yazilis səkli. Dörd əsas yazilis səklindən istifadə olunur:

•Normal

•Kursiv (Italic)

•Qalin (Bold)

•Qalin kursiv (Bold Italic)

Mətndə kursivdən yumsaq vurgulama vasitəsi kimi istifadə olunur. Oxucunun diqqətini nəyəsə cəlb etmək üçün, yaxud nəyəsə xüsusi münasibət bildirmək üçün kursiv səkli daha münasibdir.

Qalin yazilis səklindən güclü vurgulama vasitəsi kimi, məsələn, dönməz mövqeyi, yaxud möhkəm iradəni bildirmək üçün istifadə olunur. Eləcə də, bu səkildən sənədin tərtibati zamani basliqlarda istifadə olunur.

2. ELEKTRON sənəd

79

 

UNICODE

Kompüterlər yalniz ədədlərlə isləyə bilir və onlarin yaddasda hərf- ləri və ya basqa simvollari saxlaya bilməsi üçün həmin simvollarin hər birinə uygun bir ədəd qoyulmalidir. Əvvəllər simvollarin belə kodlasdirilmasi üçün yüzlərlə müxtəlif sxem var idi. Ancaq onlarin heç biri lazimi simvollarin hamisini göstərə bilmirdi. Hətta bir dil üçün belə bütün hərfləri, punktuasiya isarələrini və texniki simvol- lari əhatə edən vahid kodlasdirma sistemi yox idi.

Buna görə də planetimizdəki mövcud əlifbalari əhatə etmək üçün yeni kodlasdirma sxe- minin islənib hazirlanmasina ehtiyac yarandi. Nəticədə, Unicode (“yunikod” kimi tələffüz olunur) meydana çixdi.

Unicode mürəkkəb obyektdir. Onun uzun sürən islənib hazirlanma prosesində dünyanin hər yerindən dilçilər və kompüter mütəxəssisləri istirak etmislər. Unicode yanasmasinin mahiyyəti ondan ibarətdir ki, hər bir simvol 16 bitlik ədədlə göstərilir. Bu isə o deməkdir ki, hər bir simvolu iki baytla vermək olar. Bu qayda ilə 65 536 isarə və ya simvol kod- lasdirmaq olur. Unicode kodlasdirmasinda platformadan, proqramdan, dildən asili olma- yaraq, istənilən simvola unikal kod mənimsədilir.

Keql sriftin ölçüsüdür. Ənənəvi olaraq keql punktla (pt) ölçülür. Bir punkt 0.35 mm-ə bərabərdir. Bir sira standart keqllər vardir. Onlardan bir neçəsi asagida göstərilib:

12

Keql sriftin ölsüsüdür

18

Keql sriftin ölsüsüdür

24

Keql sriftin ölsüsüdür

36

Keql sriftin ölsüsüdür

48

Keql sriftin ölsüsüdür

60

Keql sriftin ölsüsüdür

72

Keql sriftin ölsüsüdür

80

Rəng. Tətbiqi proqram mühitlərinin obyektlərinin əksəriyyətinin rəngi olur. Simvol, xətt və s. kimi bircins strukturlu obyektlər yalniz bir rənglə boyanir. Mürəkkəb strukturlu obyektlərdə isə (məsələn, avtofiqur, xana, sahə və s.) xəttin

(sərhədin) və fonun rəngləri fərqləndirilir.

Simvol bu əsas parametrlərlə yanasi, effekt, sürüsmə və kerninq kimi para- metrləri ilə də xarakterizə olunur.

Effekt simvolun ekranda və sənəddə necə görünəcəyini müəyyənləsdirir. Ən çox istifadə olunan effektlər cədvəldə göstərilib.

Sürüsmə simvolun sətrin təməl xəttinə görə yerini müəyyən edir. Iki növ sürüsmə olur: asagi və yuxari.

Təməl xəttə nəzərən yuxari sürüsmə

Təməl xəttə nəzərən asagi sürüsmə

Kerninq simvollararasi intervaldir. Bu parametr üç qiymət alir: normal, genislənmis, sixilmis.

Interval Sixilmis [Condensed] Interval Normal [Normal] Interval Genislənmis [Expanded]

Adətən, kerninqin normal qiyməti verilmis sriftin səklinə görə avtomatik müəyyən olunur. Kerninqin qiymətini dəyisdirmək olar.

2. ELEKTRON sənəd

81

 

Defis vÉ™ tire

Bəzi simvollarin mətndə xüsusi təyinati olur. Həmin simvollardan ikisi – defis və tire ilə yaxindan tanis olaq.

Defis sözün iki hissəsini, yaxud bir söz kimi oxunan iki sözü bir-birinə baglamaq üçün simvoldur. Defislə qonsu hərflər arasinda bosluq qoyulmur. Əgər defislə yazilan söz bir sətrə yerləsmirsə, mətn prosessoru həmin sözü defisə görə iki hissəyə böləcək. Bu halda oxunma zamani defis sətirdən sətrə keçid kimi qəbul olunacaq. Defislə ayrilan illər də (məsələn, 1918-1920) müxtəlif sətirlərdə olduqda pis qəbul ediləcək. Bu arzuolunmaz “keçiddən” qaçmaq üçün mətn prosessorunda xüsusi simvoldan – kəsilməz defisdən [nonbreaking hyphen] istifadə olunur.

Tire cümlənin iki hissəsini bir-birindən ayiran isarədir. Defisdən fərqli olaraq, tire qonsu sözlərdən mütləq bosluqla ayrilir. Çap məhsullarinda defis qisa, tire isə uzun üfüqi cizgi ilə isarə olunur. Lakin kompüter klaviaturasinda həm minus isarəsi, həm defis, həm də tire kimi istifadə oluna bilən yalniz bir klavis var. Buna görə də tireni yaz- maq üçün xüsusi simvoldan – uzun tiredən [em dash] istifadə olunur.

Çalisma

1.Hər hansi mətn sənədini açin.

2.Mətni oxuyun. Defis və tire simvollarindan düzgün istifadə olunub-olunmadigini müəyyənləsdirin.

3.Askarlanan yanlisliqlari düzəldin.

4.“Uzun tire” və “kəsilməz defis” simvollarini qoymaq üçün Insert Symbol koman- dasini yerinə yetirin və lazim olan simvollari Special Characters bölümündə tapin.

1.Mətnin hansi obyektləri var?

2.Simvol obyekti nÉ™ ilÉ™ xarakterizÉ™ olunur?

3.Simvollarin hansi yazilis səkli var?

4.Effekt nədir? Onun mahiyyətini nümunələr üzərində izah edin.

5.Sürüsmə və kerninq nədir? Onun mahiyyətini nümunələr üzərində izah edin.

6.Mətn redaktorunda hər hansi mətn yazin və dərsdə öyrəndiyiniz parametrləri ayri-ayri simvollara tətbiq edin.

82

2.2. M TN S N DININ HAZIRLANMASI

Kompüterdə sənədin hazirlanmasi bir neçə mərhələdən keçir:

mətnin daxil edilməsi (yigilmasi); redaktə olunmasi; formatlanmasi; çap edilməsi.

Bu mərhələlərlə tanisliga keçməmisdən öncə mətn sənədinin bir neçə obyek- ti – söz, sətir və abzasla qisaca tanis olaq.

Simvollardan sözlər əmələ gəlir.

Söz “bosluq” simvolunun olmadigi simvollar (hərflər, rəqəmlər, xüsusi isa- rələr) ardicilligidir. Sözün yeganə “müstəqil” parametri simvollarin sayidir.

Sətir. Sətrlər sözlərdən təskil olunur. Sətirdə sözlər bir-birindən bosluq sim- volu ilə ayrilir. Bosluqdan basqa, sözdən sonra yalniz vergül, nöqtə, nöqtəli vergül, iki nöqtə, mötərizə kimi durgu isarələri gələ bilər. Bu isarələr bilava- sitə sözdən sonra qoyulur, basqa sözlə, həmin isarələrlə söz arasinda bosluq olmamalidir. Söz obyektinin bütün parametrləri sətir obyektinə də aiddir. Sətir obyektinin yeganə müstəqil parametri sözlərin sayidir. Formatlama zamani simvollar və sözlərin tabe olduqlari qaydalar sətirlərə də aid olur.

Abzas. Sətir obyektlərindən abzas obyektləri yaranir. Abzasin daxil edilməsi həmisə <Enter> klavisinin basilmasi ilə sona çatir. Abzasin sonunu bildirən isarə ¶ simvoludur. Adi rejimdə bu simvol ekranda görünmür.

Mətnin daxil edilməsi. Mətnin daxil edilməsi (yigilmasi), adətən, klaviatu- ra vasitəsilə həyata keçirilir. Burada kagiz rolunu monitorun ekrani oynayir. Növbəti simvolun yerini ekranda yanib-sönən saquli cizgi – kursor göstərir.

Mətn yigarkən asagidaki qaydalara əməl edin:

1.Tiredən basqa, bütün durgu isarələrini bilavasitə sözün axirinci hərfindən sonra qoyun. Istənilən durgu isarəsindən sonra bosluq (<Spacebar>) klavisini basin. Tirenin hər iki tərəfində bosluq saxlayin.

2.Mətni yigarkən buraxilmis səhvləri düzəltmək olar. Kursorun saginda olan yanlis simvolu uzaqlasdirmaq üçün <Delete> klavisindən, solundaki üçünsə <Backspace> klavisindən istifadə edin.

3.Kompüterdə mətn yigarkən sətrin sonunu nəzarətdə saxlamayin: kursor sətrin sonuna çatan kimi öz-özünə növbəti sətrin baslangicina keçəcək.

4.Yeni abzasa keçmək üçün <Enter> klavisini basin.

Mətnin redaktəsi. Redaktə sənədin məzmununun dəyisdirilməsidir. Redak- təyə asagidaki əməliyyatlar aiddir:

•mətnin yigilmasi;

•səhvlərin düzəldilməsi;

2. ELEKTRON sənəd

83

 

•mətn hissələrinin üzünün köçürülməsi, yerinin dəyisdirilməsi, silinməsi;

•mətnə səkillərin, cədvəllərin və basqa obyektlərin əlavə olunmasi.

Mətnin formatlanmasi. Mətndə olan informasiyanin oxucuya tez və asan çatdirilmasi üçün onun xarici görünüsünün önəmi böyükdür. Oxucunun diqqəti- ni mühüm informasiyaya cəlb etmək üçün ayri-ayri sözləri, yaxud ifadələri cür- bəcür seçdirmək olar.

Formatlama mətnin oxunmasini asanlasdirmaq məqsədilə sənədin və onun ayri-ayri hissələrinin xarici görünüsünün dəyisdirilməsidir.

Formatlama sözü “forma” sözündən əmələ gəlib, formatlamaq – nəyəsə forma vermək deməkdir. Formatlama əməliyyatina mətnin seçdirilməsi ilə bagli müxtəlif üsullar aiddir:

•simvollarin xassələrinin dəyisdirilməsi;

•abzaslarin xassələrinin dəyisdirilməsi;

•basliqlarin və altbasliqlarin tərtibati;

•mətnin siyahiya çevrilməsi;

•mətnin cədvəl səklinə çevrilməsi;

•kolontitullarin, səhifələrin nömrələrinin qoyulmasi və s.

Mətnin hər hansi fraqmentində simvollarin xassələrini dəyisdirmək üçün həmin fraqmenti seçdirmək, sonra isə alətlər zolagindaki düymələrin, yaxud Font dialoq boksunun köməyilə onlarin parametrlərini dəyisdirmək lazimdir.

Çalisma

1.Hər hansi mətn sənədini açin.

2.Mətnin bir fraqmentini seçdirin və sriftini belə dəyisdirin: Courier New, qalin, 16 pt, qirmizi, hamisi bas hərflər.

3.Mətnin basqa bir fraqmentini seçdirin və sriftini belə dəyisdirin: Tahoma, kursiv, 10 pt, üstündən xətt çəkilmis.

4.Mətnin daha bir fraqmentini seçdirin və sriftini belə dəyisdirin: Arial, 10 pt, gizli [hidden].

5.Çap olunmayan simvollarin göstərilməsi rejiminə keçin. Bununçün standart

alətlər zolaginda düyməsini çiqqildadin. Üçüncü fraqmentin necə əks olunmasina diqqət yetirin.

Sənəddə çap olunmayan hansi simvollari görürsünüz?

84

6.<Ctrl> klavisindən istifadə etməklə mətnin basqa iki fraqmentini seçdirin. Həmin fraqmentlər üçün srifti belə dəyisdirin: Comic Sans MS, 20 pt, yasil, konturlu.

Hər sənəd faylda saxlanila, ekranda göstərilə, kagizda çap oluna bilər. Özü də sənəd ekranda necə görünürsə, kagizda (fiziki səhifədə) da elə çap olunacaq.

Fiziki səhifədə həmisə sənədin obyektlərini yerləsdirmək üçün sahə ayrilir. Bu sahə məntiqi səhifə adlanir.

2. ELEKTRON sənəd

85

 

Çap vərəqinin ölçüləri millimetrlə ölçülür. Azərbaycanda təməl ölçü olaraq, keçmis Sovet Ittifaqinda oldugu kimi, ölçüsü 841×1189 mm olan və formati A0 adini almis vərəq götürülür. Ondan alinan daha kiçik formatlar A1, A2, ...

A8 adlanir və hər bir format özündən əvvəlkini yariya bölməklə alinir.

Müasir kargüzarliqda A4 (210 mm × 297 mm) əsas format kimi qəbul olunub. Xüsusi hallarda genis cədvəlləri vermək üçün A3 (297 mm × 420 mm) formatli vərəqlərdən istifadə olunur.

86

Istənilən tətbiqi proqramda sənədin səhifəsinin formatlanmasi, adətən, asagi- daki parametrlərin qurasdirilmasini nəzərdə tutur:

səhifənin (vərəqin) ölçüsü;

səhifənin istiqaməti;

bos sahələr;

kolontitullar.

Səhifənin istiqaməti kagiz vərəqin fəzada vəziyyətini təyin edir. Iki cür istiqa- mət var: kitab və albom (portret və mənzərə).

kitab

(portret) albom (mənzərə)

Sahələr əlavə informasiyalar (hasiyələr, kolontitullar və s.) yerləsdirmək üçün fiziki səhifənin hissələridir. Adətən, sol və sag sahələr bos qalir, onlar doldurul- mur. Yuxari və asagi sahələrdə kolontitullar yerləsir.

Kolontitul (fransisca “colonne” – sütun və latinca “titulus” – basliq, yazi) səhifənin yuxari və asagi sahələrində yerləsdirilən xidməti informasiyadir. Məsələn, bu, müəllifin adi, əsərin, bölmənin, fəslin, paraqrafin adi, tarix, səhi- fənin nömrəsi və s. ola bilər. Belə elementlər böyük həcmli sənədlərlə isi asan- lasdirir və çap olunandan sonra kitabin rahat oxunmasini təmin edir.

2. ELEKTRON sənəd

87

 

Çalisma

1.Hər hansi mətn sənədini açin.

2.File Page Setup menyu komandasini yerinÉ™ yetirin.

3.Layout səhifəsində Different odd and even yoxlama boksunu qeyd edin. Bu onu göstərir ki, tək və cüt nömrəli səhifələrin kolontitullari fərqli olacaq.

88

4.View Header and footer menyu komandasini yerinÉ™ yetirin.

5.Tək nömrəli səhifənin yuxari kolontitulunun sahəsini tapin və orada

Maket 1 yazin.

6.Cüt nömrəli səhifənin asagi kolontitulunun sahəsində <Tab> klavisini ba- sin və sətrin ortasinda öz soyadinizi yazin.

7.Kolontitulla is panelini qapadin. Sənədə baxin və kolontitullarda təkrar- lanan mətni tapin.

1.Kompüterdə sənədin hazirlanmasi hansi mərhələlərdən keçir?

2.Mətnin redaktəsi nə deməkdir və ona hansi əməliyyatlar aiddir?

3.Mətnin formatlanmasi nə deməkdir və ona hansi əməliyyatlar aiddir?

4.Məntiqi səhifə nədir və o, hansi hissələrdən ibarətdir?

5.Mətn redaktorunda hər hansi mətn yazin və onu formatlayin.

3

C DV L

PROSESSORU

3.1. C DV L PROSESSORUNUN T YINATI

Verilənləri normal qavramaq üçün tez-tez cədvəllərdən istifadə olunur. Cədvəl formasinda verilmis informasiyani əks etdirmək və emal etmək üçün nəzərdə tutulmus tətbiqi proqramlara elektron cədvəllər deyilir. Bəzən cədvəl prosessoru terminindən də istifadə olunur. Elektron cədvəlin is sahəsi qurulus baximindan sahmat taxtasini xatirladir. O, hər birinin öz adi olan sətir və sütun- lardan ibarətdir.

Cədvəl prosessoru kompüterdə cədvəl formasinda – elektron cədvəl səklində ver- ilmis informasiyalarla isləmək üçün nəzərdə tutulub.

Cədvəl prosessorunun isinin nəticəsi cədvəl, yaxud diaqram səklində olan sənəddir. Məsələn, cədvəl prosessorunda sinif jurnalini aparmaq olar. Müəllimlər orada sagirdlərin qiymətlərini yaza bilər, hazir düsturlar isə hər sagird üçün orta bali, sinfin hər fənn üzrə ümumi nailiyyətlərini hesablamaga imkan verər. Hər dəfə müəllim yeni qiymət yazdiqda cədvəl prosessoru bütün nəticələri avtomatik olaraq yenidən hesablayacaq.

Cədvəl prosessorunun xarakterik özəlliyi ondadir ki, orada verilənlər və hesablamalarin nəticələri cəd- vəl formasinda verilir. Əyanilik üçün həmin verilən- ləri diaqram kimi qrafik səkildə də göstərmək olar.

Öz kagiz sələfi ilə müqayisədə cədvəl prosessoru istifadəçiyə isləmək üçün daha çox imkanlar verir.

90

Cədvəlin xanalarina təkcə ədədlər, tarixlər və mətnlər deyil, həm də məntiqi ifadələr, funksiyalar və düsturlar yazmaq olar. Düsturlar ilkin verilənlərin dəy- isilməsi zamani ani olaraq yenidən hesablama aparmaga və uygun xanaya yeni nəticəni yazmaga imkan verir.

Ilk cədvəl redaktoru 1979-cu ildə yaradilmis VisiCalc olmusdur. Sonradan bazara bu sinifdən olan çoxlu məhsullar çixarilmisdir: SuperCalc, Microsoft

MultiPlan, Quattro Pro, Lotus 1-2-3, Microsoft Excel, OpenOffice.org Calc.

VisiCalc – ilk elektron cədvəl proqrami

Elektron cədvəl ideyasini ilk dəfə amerikali alim Riçard Mattessiç 1961-ci ildə “Budgeting Models and System Simulation” adi altin- da çap etdirdiyi arasdirmasinda formalasdirib. Konsepsiya 1970-ci ildə Pardo və Landau tərəfindən genisləndirilib.

1979-cu ildə Den Briklin (1951) əfsanəvi VisiCalc proqramini yaratmaqla (Bob Frenkstonla (1949) birlikdə) elektron cədvəl pro- qramlarinin əsasini qoydu. Apple II kompüteri üçün hazirlanmis bu cədvəl redaktoru fərdi kompüterləri texnofillər üçün ekzotik oyun- caqdan biznes üçün kütləvi alətə çevirdi.

Hazirda cədvəl strukturuna malik sənədlərlə isləmək üçün ən populyar vasitə- lərdən biri Microsoft Office paketinə daxil olan Microsoft Excel proqramidir.

Excel 2003 proqraminin basladilmasi. Kompüterdə qurasdirilmis digər pro- qramlar kimi, Excel 2003 proqramini da baslatmagin ən asan yolu Windows sistemi- nin Start menyusundan istifadə etməkdir. Bunun üçün asagidaki addimlar atilmalidir:

1.Windows sisteminin Start menyusunu açmaq üçün tapsiriqlar zolagindaki Start düyməsini çiqqildadin.

2.Start menyusunun yuxari hissəsindəki All Programs elementini seçin.

3.Açilan yeni menyudan Microsoft Excel 2003 bəndini seçin.

Axirinci bənddən sonra Excel 2003 proqrami yüklənməyə baslayacaq, ekrana proqramin bas pəncərəsi çixacaq və bos is kitabi açilacaq.

3. CƏDVƏL prosessoru

91

 

Hər bir Excel faylina is kitabi [workbook], yaxud, sadəcə, kitab deyilir. Is kitabi bir neçə is vərəqindən [worksheet] ibarətdir.

Burada nə qədər xana var?

Is cədvəlinin hər vərəqində milyon xana oldugunu desək, heç də yanilmariq. Dogru- dan da, vərəqdə 256 sütun və 65 536 sətir var. Bu iki ədədi bir-birinə vursaq, 16 777 216 alariq. Deməli, hər is vərəqində 16 milyondan çox bos xana olur. Bu da sizə bəs etməsə, nəzərə alin ki, hər yeni açilan is kitabinda 3 is vərəqi olur. Basqa sözlə, is kitabinda 50 331 648 xana sizin ixtiyarinizdadir və həmin kitaba özünüz də yeni vərəqlər artira bilərsiniz.

Cədvəl prosessoru sənədinin obyektləri. Cədvəl sənədinin iki növü var: cədvəl və diaqram. Diaqram köməkçi sənəd olub, cədvəlsiz mövcud olmur. Asagidaki sxemdə cədvəl sənədi obyektlərinin təsnifati verilib.

CƏDVƏL PROSESSORU SƏNƏDI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cədvəl

 

 

 

 

 

Diaqram

 

 

 

 

 

 

 

 

 

 

 

 

 

Xana

 

 

 

 

 

 

Cədvəl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sətir

 

 

 

 

 

 

Düstur

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sütun

 

 

 

 

 

 

Verilənlərin seçilməsi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Diapazon

 

 

 

 

 

 

Diaqram

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rəsm

 

 

 

 

 

 

 

 

 

Təsnifatin birinci səviyyəsi sənədin növünə aiddir. Ikinci səviyyədə isə cəd- vəli və diaqrami təskil edən əsas obyektlər göstərilib. Növbəti dərslərdə bu ob- yektlər və onlarla necə isləmək haqqinda ətrafli danisilacaq.

1.Cədvəl prosessoru nədir?

2.Elektron cədvəlin adi cədvəldən hansi üstünlükləri var?

3.Excel cədvəl prosessoru necə basladilir?

4.Ilk elektron cədvəl proqrami nə vaxt yaradilib və necə adlanirdi?

5.Is kitabi nədir?

6.Excel cədvəl prosessorunu yuxarida göstərilən üsulla basladin. Onu daha hansi yollarla baslatmaq olar?

Basliq zolagi Menyu zolagi Standart alətlər zolagi Düstur zolagi

Sütunlarin yarliqlari

Formatlama alətləri zolagi

92

Xanaya istinad

Sətirlərin

yarliqlari

3. CƏDVƏL prosessoru

93

 

3.2. ELEKTRON C DV LIN

OBYEKTL RI

Cədvəl mürəkkəb obyekt olub, bir neçə elementar obyektdən – sətirlər, sütun- lar, xanalar, xanalar diapazonlarindan ibarətdir. Hər bir elementar obyektin, elek- tron cədvəli hazirlayanlar tərəfindən müəyyənləsdirilmis adi olur.

Sətir

Sətrin

hissəsi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xanalar diapazonu

 

Xana

 

Sütun

 

Sütunun hissəsi

 

 

 

 

 

 

 

 

 

 

 

Xana elektron cədvəlin sətir və sütununun kəsisməsində yerləsən elementar obyektdir.

Sətir cədvəlin üfüqi istiqamətdə eyni səviyyədə yerləsmis bütün xanalaridir. Sətirlərin yarliqlari (basliqlari) 1-dən baslayaraq tam ədədlər səklində göstərilir.

Sütun cədvəlin saquli istiqamətdə eyni səviyyədə yerləsmis bütün xana- laridir. Sütunlarin yarliqlari (basliqlari) latin əlifbasinin hərfləri ilə verilir: öncə A-dan Z-dək, sonra isə AA-dan AZ-yə, BA-dan BZ-yə və s. Axirinci sütunun adi IV olacaq.

Xanalar diapazonu düzbucaqli sahə əmələ gətirən qonsu xanalar çoxlugu- dur; o, bir sətir və ya bir sütundan, sətrin və ya sütunun hissələrindən ibarət ola bilər. Bir xanani da diapazon hesab etmək olar.

Xananin ünvani onun cədvəldəki yerinə görə müəyyən olunur və kəsismə- sində yerləsdiyi sətir və sütunun basliqlarindan ibarət olur. Öncə sütunun basligi, sonra isə sətrin nömrəsi yazilir, məsələn, A3, D6, AB19.

Xanalar diapazonu onu əmələ gətirən xanalarin birincisi və axirincisinin ünvanlarini göstərməklə verilir və ünvanlar biri-birindən iki nöqtə (:) ilə ayrilir. Məsələn, yuxaridaki səkildə seçdirilmis xanalar diapazonunun ünvani A4:C8 olacaq.

Verilənlərin cədvəldə əsas saxlanma yeri xanalardir. Xanaya verilənləri daxil etmək üçün öncə həmin xanani seçdirmək lazimdir. Seçdirilmis xana qalin tünd

94

çərçivəyə alinir. Xanani seçdirmək üçün istər siçandan, istərsə də klaviaturadan istifadə etmək olar.

Seçdirilmis xanaya aktiv xana [active cell] deyilir. Aktiv xananin adi is vərə- qinin yuxarisinda sol tərəfdə görünür. Əgər siz xanalar qrupunu seçdirmisinizsə, ilk seçdiyiniz xana aktiv xana kimi müəyyən olunur.

Elektron cədvəl obyektlərinin seçdirilmə üsullari

•Xanani seçdirmək üçün onu siçan vasitəsilə çiqqildatmaq, yaxud ox klavisləri vasitəsilə kursoru həmin xanaya aparmaq lazimdir.

•Bütün sütunu seçdirmək üçün onun basligini çiqqildatmaq gərəkdir.

•Bütün sətri seçdirmək üçün onun basligini çiqqildatmaq gərəkdir.

•Xanalar diapazonunu bir neçə yolla seçdirmək mümkündür:

–siçan vasitəsilə – siçanin sol düyməsini diapazonun baslangic xanasinda basib saxlamaqla son xanayadak hərəkət etdirməklə;

–<Shift> klavisini basib saxlamaqla kursorun idarə olunmasi klavisləri vasitəsilə;

–aralarinda iki nöqtə qoymaqla diapazonun baslangic və son xanalarinin ünvan- larini klaviatura vasitəsilə yazmaqla.

Klaviaturadan daxil edilən verilənlər aktiv xanaya yazilir. Xanaya verilənləri daxil etmək üçün asagidakilari yerinə yetirin:

1.Bir xanani seçdirmək üçün ya göstəricini həmin xanaya tuslayib siçanin sol düyməsini çiqqildadin, ya da ox klavislərindən istifadə edin.

2Ədədi (məsələn, 19, yaxud 12.3), mətni (məsələn, Sagirdlərin sayi), ya- xud düsturu daxil edin.

Xanaya verilənləri daxil etdikdən sonra basqa xanani seçdirmək üçün siz müəyyən klavisləri, yaxud klavislər kombinasiyasini basa bilərsiniz.

<Enter> . . . . . . . . . Cari xananin altindaki xanani seçdirir.

<Tab> . . . . . . . . . . . Cari xananin sagindaki xanani seçdirir.

<Shift+Enter> . . . . Cari xananin üstündəki xanani seçdirir.

<Shift+Tab> . . . . . . Cari xananin solundaki xanani seçdirir.

3. CƏDVƏL prosessoru

95

 

Əgər siz qiyməti A1 xanasina daxil edib, <Enter> klavisini bassaniz, Microsoft Excel onun altindaki xanani, yəni A2 xanasini seçdirəcək.

Əgər siz qiyməti A2 xanasina daxil edib, <Tab> klavisini bassaniz, Microsoft Excel onun sagindaki xanani, yəni B2 xanasini seçdirəcək.

Çalisma

1. Alətlər zolagindaki New Blank Document düyməsini çiqqildadin. Book2 adli yeni is kitabi açilacaq.

2.A3 xanasini seçdirin.

3.Klaviaturada Sira yazin. Diqqət edin ki, sizin yigdiginiz mətn xanada və düs- tur zolaginda görünür.

4.<Tab> klavisini basin. Daxiletmə nöqtəsi üçüncü sətrin növbəti xanasina (B3) keçəcək. Təhsil qurumu yazin.

5.<Tab> klavisini basin və Yaradildigi il yazin. Yenə <Tab> klavisini basin və Sagirdlərin sayi yazin. <Enter> klavisini basin. Daxiletmə nöqtəsi dördüncü sətrin birinci xanasina (A4) keçəcək.

6.A3 xanasini çiqqildadin. Sira yazisi həm xanada, həm də düstur zolaginda görünəcək. Siçanin göstəricisini düstur zolaginda Sira sözünün sonuna aparin və siçanin sol düyməsini çiqqildadin.

7.Bosluq (Spacebar) klavisini basin və # yazin. <Enter> klavisini (yaxud yasil qeyd isarəsini) basin. Düstur zolaginda və A3 xanasinda dəyisiklik olacaq.

8.B3 xanasina keçin. Orada Təhsil qurumu yazisi görünür. Məktəbin adi yazin və <Enter> klavisini basin. Xananin içindəki yazi sizin yeni daxil etdiyiniz yazi ilə əvəzlənəcək.

9.C3 xanasini çiqqildadin. Orada Yaradildigi il yazilib. <F2> klavisini basin. Diqqət edin ki, daxiletmə nöqtəsi indi xanada mətnin sonuna keçəcək.

10.<Backspace> klavisindən istifadə edib mövcud mətni silin və Yaranma ili yazin. <Enter> klavisini basin. Xananin içindəki yazi sizin yeni daxil etdiyiniz yazi ilə əvəzlənəcək və altdaki C4 xanasi aktivləsəcək.

96

11.A4 xanasina keçmək üçün iki dəfə <sola ox> klavisini basin. 1 yazib, <Enter> klavisini basin. Altdaki A5 xanasi aktivləsəcək.

12.Hər nömrədən sonra <Enter> klavisini basmaqla asagidaki ədədləri yazin.

5

3

4

5

13.A sütununu seçdirmək üçün uygun hərfi çiqqildadin. Diqqət edin ki, sütunun birinci xanasini çixmaqla qalan xanalar seçdiriləcək (tutqunlasacaq), çünki birinci xana indi aktiv xanadir.

14.5-ci sətri seçdirin. 2 yazin və diqqət edin ki, sizin yeni daxil etdiyiniz yazi A5 xanasindaki yazini əvəzləyəcək.

15.Is vərəqinə Məktəblər adini verməklə yazib saxlayin.

1.Elektron cədvəlin obyektlərini sadalayin.

2.Xanalar, sətirlər və sütunlar necə taninir?

3.Xanalar diapazonunun ünvani necə verilir?

4.Aktiv xana nədir?

5.Asagidaki nümunəyə uygun olaraq sinfiniz haqqinda cədvəl qurun.

6. Istədiyiniz mövzuda elektron cədvəl yaradin.

3. CƏDVƏL prosessoru

97

 

3.3. ELEKTRON C DV L VERIL NL RI. DÃœSTURLAR

Cədvəl prosessorlarinda müxtəlif tipli verilənlərlə – simvollarla (mətnlərlə), ədədlərlə, məntiqi və tarixi göstərən verilənlərlə isləmək imkani vardir. Bu və ya digər xana üzərində hansi əməliyyatlarin aparila bilməsi həmin xanadaki verilənin tipindən asili olur. Tutaq ki, xanada 28051918 rəqəmləri yazilib. Bəs cədvəl prosessoru onlari necə qəbul edəcək? Əgər mətn formati qoyulmussa, onda həmin rəqəmlər 2, 8, 0, 5, 1, 9, 1, 8 simvollarinin ardicilligi kimi «basa düsüləcək». Əgər ədədi format qoyul- mussa, onda elektron cədvəl xanada yazilani ədəd kimi qəbul edəcək. Xanaya tarix formati təyin olunmussa, xanadaki rəqəmlər 28 may 1918 tarixi kimi qəbul ediləcək.

Mətn verilənlər tipi. Mətn verilənləri müəyyən simvollar yiginidir. Onun birinci simvolu hərf, dirnaq isarəsi, apostrof, yaxud bosluq simvoludursa, eləcə də simvollarin içərisində həm rəqəmlər, həm də hərflər vardirsa, onda belə yazi mətn kimi qəbul edilir.

Simvol verilənləri üzərində əməliyyatlar mətn prosessorunun obyektləri üzə- rindəki əməliyyatlar kimidir.

Mətn (simvol) verilənlərinə örnəklər:

Dərs cədvəli “236

9 A sinfi

001

Ədədi verilənlər tipi. Ədədi verilənlər onluq nöqtə ilə ayrila bilən rəqəmlər ardicilligidir. O, rəqəm, ədədin isarəsi (+ və ya – ), yaxud onluq nöqtə ilə baslana bilər. Elektron cədvəldə ədədi verilənlər üzərində cürbəcür riyazi əməliyyatlar aparmaq olar.

Ədədi verilənlərə örnəklər:

232.5

–13.7

.546

+100

Unutmayin ki, cədvəl xanasinda saxlanilan rəqəmlər ardicilligi dirnaq isarəsilə baslanirsa, ədəd kimi görünməsinə baxmayaraq, onlardan hesablamalarda istifadə etmək olmaz. Istənilən mətn verilənləri həmisə sifir kimi qəbul olunur.

Xanada olan verilənlərin mətn, yaxud ədəd oldugunu belə müəyyənləsdirmək olar: əgəryigimdansonraxanadakiqiyməticədvəlprosessorumətnkimiqəbuledirsə, onda

daxiletmənin sonunda (<Enter> klavisi basildiqdan sonra) onlar avtomatik olaraq xananin sol qiragina nəzərən düzləndirilir. Ədəd kimi qəbul edilən verilənlər isə daxiletmədən sonra xana- nin sag qiragina nəzərən düzləndirilir.

Mətn

12.5

.0123

0.0123

\456

-456

 

 

98

Məntiqi verilənlər tipi. Məntiqi verilənlərdən məntiqi düsturlarda və funksiyalarda istifadə olunur. Bu tip verilənlər xanada belə əks olunur: əgər sifir- dan fərqli istənilən ədəd (tam, yaxud kəsr) daxil edilirsə, onda <Enter> klavisini basdiqdan sonra xanada True [dogru] qiyməti çixacaq. Sifir uygun xanada False [yalan] kimi əks olunacaq.

Verilənlərin belə göstərilməsi məntiq cəbrində istifadə olunan məntiqi dəyi- sən anlayisi ilə baglidir.

Tarix verilənlər tipi. Bu verilən tipindən tarixə ədəd əlavə edilməsi, iki tari- xin fərqinin hesablanmasi, yaxud tarixin geriyə və ya irəliyə yenidən sayilmasi kimi funksiyalarin yerinə yetirilməsi zamani istifadə olunur. Ədədlərin tarixə çevrilməsi verilmis formatdan asili olaraq avtomatik bas verir. Cədvəl prosessoru daxil edilən ədədləri tarix kimi bir neçə formada göstərməyə imkan verir. Məsələn,

28 aprel 2008

Aprel 2008

Aprel

28.04.2008

04.2008

28 aprel

Düsturlar. Elektron cədvəl, ilk növbədə, hesablamalari avtomatlasdirmaq üçün nəzərdə tutulub. Bu məqsədlə cədvəlin xanasina düsturlar daxil edilir.

Istənilən düsturun daxil edilməsi bərabərlik isarəsi (=) ilə baslanir. Bu isarə olmazsa, daxil edilən düstur mətn kimi qəbul ediləcək.

Düsturda ədədi verilənlər, əməl isarələri, müxtəlif funksiyalar, eləcə də cəd- vəl obyektlərinin ünvanlari ola bilər. Xanalarin ünvanlari olan düsturlari riyazi tənliklərlə müqayisə etmək olar: orada xanalarin ünvanlarinin yerinə dəyisən- lərdən istifadə olunur.

Düsturlarda istifadə olunan ünvanlara istinadlar deyilir. Istinadlar elektron cədvəlin ixtiyari xanalarini bir-birilə əlaqələndirməyə və cədvəl verilənlərinin lazim olan emalini həyata keçirməyə imkan verir.

Istinad düsturun yazilisinda istifadə olunan obyektin (xananin, sətrin, sütunun, xa- nalar diapazonunun) ünvanidir.

3. CƏDVƏL prosessoru

99

 

Düsturlar hesab və məntiq əməlləri ilə birləsdirilmis operandlardan ibarətdir. Konkret qiymət, istinad, yaxud funksiya operand ola bilər.

Düsturlar iki cür olur: cəbri və məntiqi.

Cəbri düsturlar. Cəbri düsturlarda hesab əməllərindən («+» toplama, «–» çixma, «*» vurma, «/» bölmə, «^» qüvvətə yüksəltmə) istifadə olunur. Düsturlar- la hesablamalar zamani riyaziyyatda hesab əməllərinin yerinə yetirilmə ardicil- ligina burada da əməl olunur: öncə qüvvətə yüksəltmə, sonra vurma və bölmə, nəhayət, toplama və çixma əməlləri yerinə yetirilir. Eyni səviyyəli əməllər (məsə- lən, vurma və bölmə) soldan saga yerinə yetirilir. Hesab əməllərinin yerinə yetirilmə ardicilligini dəyismək üçün mötərizələrdən istifadə olunur. Mötərizənin içərisində olan operandlar üzərində əməllər birinci növbədə yerinə yetirilir.

Cəbri düsturlar vasitəsilə aparilmis hesablamalarin nəticələri ədədlərdir. Hər dəfə düstura daxil olan operandlari dəyisdirdikdə nəticə yenidən hesablanir və uygun xanada əks olunur.

Məntiqi düsturlar. Məntiqi düstur sərtdən ibarət olur və onun dogru, yaxud yalan olmasi müəyyənləsdirilir. Dogru ifadəyə «true» («dogru», 1), yalan ifadəyə isə «false» («yalan», 0) qiyməti mənimsədilir.

Eynitipli düsturlar. Elektron cədvəllə isləyərkən çox zaman müəyyən diapa- zonda olan xanalari eyni struktura malik olan, ancaq dəyisənləri müxtəlif qiymətlər alan düsturlarla doldurmaq lazim gəlir. Bu o deməkdir ki, onlar yalniz istinadlara görə fərqlənir. Belə düsturlara eynitipli düsturlar deyilir.

Eynitipli (oxsar) düsturlar elə düsturlardir ki, onlar eyni struktura (qurulusa) malikdir və yalniz konkret istinadlara görə fərqlənir.

Eynitipli düsturlarin daxil edilməsini asanlasdirmaq və tezləsdirmək üçün belə bir üsuldan istifadə olunur: düstur yalniz bir xanaya daxil edilir, sonra isə o, basqa xanalara köçürülür.

Eynitipli düsturlara nümunələr:

=A1+5

=A1*5

=A1+B3

=A1*B3

=(A1+B3)*D2

 

 

 

 

 

=A2+5

=B1*5

=A2+B4

=B1*C3

=(C3+D5)*F4

 

 

 

 

 

=A3+5

=C1*5

=A3+B5

=C1*D3

=(D4+E6)*G5

 

 

 

 

 

=A4+5

=D1*5

=A4+B6

=D1*E3

=(B4+C6)*E5

 

 

 

 

 

Mütləq, nisbi və qarisiq ünvanlama. Eynitipli düsturlarda ən müxtəlif isti- nadlardan istifadə oluna bilər. Elə eynitipli düsturlar ola bilir ki, bir düsturdan

100

basqasina keçid zamani istinadlarin müəyyən bir qismi qanunauygun səkildə dəyisilir, digər qismi isə bütün düsturlar üçün dəyisilməz qalir.

Düsturu cədvəlin basqa yerinə köçürərkən ona daxil olan istinadlarin avto- matik dəyisilməsi üsulunu müəyyənləsdirmək lazimdir. Bunun üçün nisbi, müt- ləq və qarisiq istinadlardan istifadə olunur.

•Düsturda nisbi istinaddan o halda istifadə olunur ki, o, köçürmə zamani dəyisilməli olsun.

Nisbi istinad adi formada yazilir, məsələn, F3, yaxud E7. Köçürmədən sonra düsturun köçürüldüyü bütün xanalarda həm sütunun hərfi, həm də sətrin nömrəsi köçürülməyə uygun olaraq dəyisilir.

•Düsturda mütləq istinaddan o halda istifadə olunur ki, köçürmə zamani onun hər iki hissəsi – sütunun hərfi və sətrin nömrəsi dəyisilməsin. Mütləq istinadda sütunun hərfinin və sətrin nömrəsinin qabaginda $ simvolu qoyulur, məsələn, $F$3, yaxud $E$7. Köçürmə zamani düstur bütün xanalarda dəyisilməz yerləsdiriləcək.

•Düsturda qarisiq istinaddan o halda istifadə olunur ki, köçürmə zamani onun iki hissəsindən biri – ya sütunun hərfi, ya da sətrin nömrəsi dəyisil- sin. Bu zaman $ simvolu istinadin yalniz dəyisilməz qalacaq hissəsinin qabagina qoyulur. Məsələn, $F3, yaxud E$7.

Çalisma

1.Cədvəl prosessorunu basladin.

2.Yeni sənəd (is kitabi) yaradin.

3.Cədvəli nümunəyə uygun doldurun.

4. E3 xanasini seçdirin. Klaviaturadan =b3+c3+d3 daxil edin. Diqqət edin ki, yazdiginiz düstur həm xanada, həm də düstur zolaginda (Formula Bar) görünür.

3. CƏDVƏL prosessoru

101

 

5.<Enter> klavisini basin, yaxud düstur zolagindaki Enter düyməsini çiqqil- dadin. Düsturun nəticəsi, 50313 ədədi E3 xanasinda görünəcək.

6.E3 xanasini çiqqildadin. Diqqət edin ki, düstur hələ də düstur zolaginda görünür.

7.E4 xanasini çiqqildadin. Klaviaturadan = daxil edin. Sonra B4 xanasini çiqqil- dadin. Diqqət edin ki, B4 xanasina istinad = isarəsindən sonra həm düstur zolaginda, həm də E4 xanasinda görünür.

8.Klaviaturadan + daxil edin və sonra C4 xanasini çiqqildadin. + daxil edin və D4 xanasini çiqqildadin. Həm xanada, həm də düstur zolaginda =B4+C4+D4 düsturu görünəcək.

9.<Enter> klavisini basin, yaxud düstur zolagindaki Enter düyməsini çiqqil- dadin. Düsturun nəticəsi, 51476 ədədi E4 xanasinda görünəcək.

10.B4 xanasini qosa çiqqildadin. Mövcud məbləgi 16750 edin. Sonra <Enter> klavisini basin. Diqqət edin ki, E4 xanasindaki nəticə dəyisərək, 50476 olacaq.

11.E5 xanasini seçdirin. Klaviaturadan =b4+c4+d4 düsturunu daxil edin və sonra <Enter> klavisini basin. E5 xanasinda 50476 nəticəsi görünəcək. Diqqət edin ki, görünən məbləg E4 xanasindaki ilə eynidir, çünki hər iki xana eyni bir düsturla hesablanir.

12.E5 xanasini qosa çiqqildadin və düsturdaki B4 istinadini b5 ilə əvəz edin. <Enter> klavisini basin.

13.E5 xanasini çiqqildadin, <F2> klavisini basin və düsturdaki ikinci istinadi C4-dən c5-ə dəyisin.

14.Düstur zolagini çiqqildadib üçüncü istinadi (D4) d5 ilə əvəzləyin. Sonra <Enter> klavisini basin. E5 xanasinda 56866 nəticəsi əks olunacaq.

15.E6 xanasini çiqqildadin və klaviaturadan = daxil edin. Sonra B6 xanasini çiqqildadin, + daxil edin, C6 xanasini çiqqildadin, + daxil edin və D6 xanasini çiqqildadin. <Enter> klavisini basin və E6 xanasinda görünən ədədə baxin. Siz 64597 nəticəsini görəcəksiniz.

102

1.Cədvəl prosessorunda istifadə olunan verilənlər tiplərinin adlarini və onlarin özəlliklərini deyin.

2.Elektron cədvəldə istinad nədir və o, ünvandan nə ilə fərqlənir?

3.Düsturlarda nisbi ünvanlama nədir? Misallar göstərin.

4.Düsturlarda mütləq ünvanlama nədir və onlar necə isarə olunur? Misallar gös- tərin.

5.Düsturlarin köçürülmə qaydasini söyləyin.

6.A2 xanasina x dəyisəninin, B2 xanasina y dəyisəninin, C2 xanasina z dəyisəninin qiymətilərini daxil edin. (x+y)*2+3*z riyazi ifadəsinin qiymətini elektron cədvəlin D2 xanasinda alin. Bunun üçün D2 xanasinda həmin düsturu yazin. x, y, z dəyisən- lərinə müxtəlif qiymətlər verməklə D2 xanasinda qiymətin dəyisilməsini izləyin.

7.Asagidaki nümunəyə uygun cədvəl yaradin. Düsturdan istifadə etməklə sagird- lərin yasini hesablayin.

8.A2 xanasinda avtomobilin sürətini, B2 xanasinda onun yola sərf etdiyi zamani göstərin. C2 xanasinda düstur vasitəsilə avtomobilin getdiyi yolu hesablayin (s=v*t). B2 xanasinin qiymətini 2, 3, 4 dəfə artirin. C2 xanasinin qiyməti necə dəyisir?

9.Asagidaki elektron cədvəli yaradin. B3, B7, C3, D7 xanalarinda ədədlər yer- ləsmisdir. C3 xanasina =4*B3, D3 xanasina =B3*B3, E7 xanasina =B7+C7+D7, F7 xanasina =B7*C7/2 düsturlarini yazin. B3, B7, C7, D7 xanalarindaki ədədləri dəyisdirin və düsturlarla hesablanan qiymətlərin dəyisilməsini izləyin.

10.Alman alimi Q.Farengeyt 1724-cü ildə onun adi ilə bagli temperatur skalasini təklif etmisdir. Farengeyt temperatur skalasi ilə Selsi temperatur skalasi arasin-

da münasibət belədir: Farengeyt skalasi ilə ölçülmüs tem- peraturu Selsi skalasina uygun temperatura çevirmək üçün cədvəl qurun.

3. CƏDVƏL prosessoru

103

 

3.4. DIAQRAMIN YARADILMASI V REDAKT SI

Elektron cədvəlin basqa bir obyekti diaqramdir. Diaqram verilənləri qrafik formada təsvir etmək üçün nəzərdə tutulub. Bir sətirdə, yaxud bir sütunda yer- ləsmis verilənlərə sira deyilir. Diaqram qurarkən öncə siralari seçdirmək, sonra isə diaqramin tipini seçmək lazimdir. Hər bir diaqram bir neçə parametrlə xarak- terizə olunur: ad, tip, sahə, yerləsdirmə.

Ad. Hər bir diaqrama ad verilir və o, həmin adla elektron cədvəlin tərkibinə daxil olur.

Tip. Cədvəl prosessorunda çesidli diaqramlar qurmaq mümkündür. Asagida əsas diaqram tipləri göstərilib.

Xətti

Səpələnmis

Radar

Sütunlu

Zolaqli

Səth

Dairəvi

Halqavari

Qatli

Bunlardan bir neçəsi ilə tanis olaq.

•Xətti diaqramlar [line chart] sizə müxtəlif fənlərdən tanisdir. Onlara qrafik də deyilir. Bir sxemdə bir neçə qrafik yerləsdirmək mümkündür ki, onlarin da hər biri öz verilənlər sirasina uygun olacaq.

•Sütunlu diaqram [column chart], yaxud histoqram da bir neçə verilənlər si- rasi üçün qurula bilər. Hər bir sütunun hündürlüyü uygun xanadaki qiymət- dən asilidir.

•Səth diaqrami [surface chart] yalniz bir neçə sira üçün qurulur və çoxqatli rənga- rəng səthlər qrupundan ibarət olur. Hər bir səth bir verilənlər sirasina uygundur.

•Dairəvi diaqramdan [pie chart] bir sirada yerləsmis qiymətləri əks etdirmək üçün istifadə olunur. Belə diaqramda hər bir bölmə (sektor) uygun qiymətin bütün qiymətlər cəmində nisbi payini (faizlə ifadə olunmus) əks etdirir.

Sahə. Diaqramin çəkiləcəyi yeri əhatə edir.

104

Yerləsdirmə. Diaqram cədvəlin oldugu vərəqdə və ya ayrica vərəqdə də yer- ləsdirilə bilər.

Diaqramin obyektləri. Diaqram özü mürəkkəb obyekt olub, asagidaki ele- mentar obyektlərdən təskil olunur: sira, ox, basliq, legenda, qurulma sahəsi.

Diaqram

 

 

 

 

 

 

Basliq

 

 

 

sahəsi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Qurulma

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sahəsi

 

 

 

 

 

 

 

Legenda

 

 

 

 

 

 

 

Ox

Sira

Sira. Diaqram istər bir siraya, istərsə də bir neçə siraya görə qurula bilər. Seç- dirilmis xanalar diapazonu üçün diaqramin qurulmasi bir neçə verilənlər sirasi üzrə aparilir. Bu halda sira kimi seçdirilmis diapazonun uygun sətri, yaxud sütunu götürülür.

Ox. Diaqramin hər bir oxu asagidaki parametrlərlə xarakterizə olunur: görünüs, skala, srift, ədəd.

•Görünüs oxun ekranda xarici görünüsünü əks etdirir.

•Skala minimal və maksimal qiymətləri, əsas və araliq bölgülərin qiyməti- ni, basqa oxlarla kəsismə nöqtəsini müəyyən edir.

•dəd diapazonda olan verilənlərin tipinə uygun olaraq skalanin formatini müəyyən edir.

Basliq. Basligi istifadəçi müəyyənləsdirir və o, adətən, diaqramin üstündə yerləsdirilir.

Legenda. Diaqrama legenda – siralarin adlarinin, basqa sözlə, dəyisənlərin isarələmələrinin siyahisini da əlavə etmək olar.

Qurulma sahəsi. Oxlarla əhatə olunmus bu sahə verilənlər sirasini yer- ləsdirmək üçün nəzərdə tutulub. Nəticələrin təhlilini əlverisli etmək üçün qurulma sahəsinə tor da əlavə etmək olar.

3. CƏDVƏL prosessoru

105

 

Diaqram obyektini seçdirmək üçün qosa çiqqilti vasitəsilə diaqrami seçmək, sonra isə lazim olan obyekti çiqqildatmaq lazimdir.

Belə bir cədvəl yaradaq:

Bu cədvələ uygun diaqram qurmaq üçün öncə qrafik formada göstəriləsi xanalari (A2:B8) seçdirmək, sonra isə standart alətlər zolagindaki Chart Wizard düyməsini çiqqildatmaq, yaxud Insert Chart menyu komandasini seçmək lazimdir. Nəticədə uygun dialoq boksu açilacaq.

106

Chart Wizard dialoq boksunun birinci səhifəsində yaratmaq istədiyiniz diaq- ramin tipi və növü seçilir. Diaqramin tipini seçdikdə Chart sub-type sahəsində həmin tipə uygun diaqram növləri görünür və onlardan biri susqunluqla seçdirilmis olur. Dairəvi (Pie) diaqram tipini seçək və növbəti səhifəyə keçmək üçün Next düyməsini çiqqildadaq.

Bu səhifədə əmin olmaq lazimdir ki, Data range sahəsində diaqramin yara- dilmasi üçün istifadə olunan xanalara istinadlar göstərilib. Sonra Next düyməsi- ni çiqqildadaq.

Bu səhifədə diaqramin xarici görünüsü müəyyənləsdirilir. Məsələn, Chart title sahəsində diaqramin basligi (2007-ci ildə dünyada yasayan azərbaycanli- larin sayi, mln.) göstərilir.

Əgər diaqramda verilənlərin qiymətlərinin əks olunmasini istəyiriksə, Data Labels səhifəsində Value yoxlama boksunu qeyd etmək lazimdir. Diaqramin xarici görünüsü ilə isi bitirdikdən sonra yenə də Next düyməsini çiqqildadiriq. Chart Wizard dialoq boksunun sonuncu səhifəsi açilir.

Bu səhifədə diaqramin yeni vərəqdə (As new sheet), yaxud mövcud is vərəqində (As object in) yaradilmasi müəyyənləsdirilir. Finish düyməsini çiqqil- datdiqda diaqram seçilmis yerdə görünəcək.

3. CƏDVƏL prosessoru

107

 

Basqa bir misala baxaq. Tutaq ki, y = x2– 7x + 10 funksiyasinin qrafikini [-8; 8] parçasinda qurmaq lazimdir. Bununçün öncə funksiyanin qiymətlərindən ibarət asagidaki cədvəli yaradaq. Arqumentin dəyismə addimini 1-ə bərabər götürək.

Diaqrami (qrafiki, s.3.1.) qurmaq üçün cədvəlin A4:B20 xanalar diapazo- nunu seçdirək və Chart Wizard dialoq boksunu çagiraq. Diaqramin tipi olaraq səpələnmis tipini, növü olaraq isə

növünü, yaxud növünü seçək.

Sonra Next düyməsini çiqqildadib, növbəti səhifəyə keçək və orada diaqra- min basligini göstərək. GridLines bölümündə bütün yoxlama bokslarindaki

108

qeydləri silək və Finish düyməsini çiqqildadaq. Nəticədə asagidaki səkildə göstərilən qrafik (s.3.2.) alinacaq.

s.3.1.

s.3.2.

1.Diaqramlar hansi elementar obyektlərdən ibarətdir?

2.Cədvəl prosessorundaki əsas diaqram tiplərinin adlarini deyin.

3.Istənilən diaqrami xarakterizə edən parametrlər hansilardir?

4.Asagidaki cədvəli və ona uygun diaqrami qurun.

3. CƏDVƏL prosessoru

109

 

5.Diaqramlara baxib asagidaki suallara cavab verin:

•Diaqramda hansi informasiya təqdim olunub? Bunu necə təyin etdiniz?

•Bu informasiyani cədvəl səklində necə vermək olar?

•Yeniyetmələri daha çox nə cəlb edir?

3.5. C DV L S N DININ FORMATLANMASI

Cədvəl sənədinin formatlanmasi dedikdə, istər sənədin özünün, istərsə də onun obyektlərinin təqdimolunma formasinin dəyisdirilməsi ilə bagli bir sira əməliyyatlar basa düsülür. Mətn prosessorunda qəbul olunmus adi üsullarla yanasi, elektron cədvəl obyektlərinin formatlanmasi üçün özəl üsullar da vardir:

•xanalarda verilənlər müxtəlif formatlarda göstərilə bilər;

•verilənlərin saxlandigi sütunun eni, yaxud sətrin hündürlüyü dəyisdirilə bilər;

•elektron cədvəlin istənilən obyekti çərçivəyə alina, yaxud xüsusi naxisla seçdirilə bilər.

Cədvəl sənədinin istənilən obyektinin formatlanmasi menyunun Format bö- lümünün komandalarinin köməyilə yerinə yetirilir. Indisə ayri-ayriliqda xananin, sətrin və sütunun formatlanmasi ilə tanis olaq.

Xananin formati asagidaki parametrlərlə xarakterizə olunur: ədəd, düzləndirmə, srift, sərhəd, görünüs, qoruma. dəd, xanada saxlanilan verilən- lərin tipini və həmin ədədin təqdimolunma formatini müəyyənləsdirir. Düzləndirmə və sriftdən basqa proqram mühitlərində oldugu kimi istifadə edilir. Sərhəd, xananin xarici çərçivəsini (tipini, qalinligini, xəttin strixini) müəyyən edir. Görünüs, xananin fonunun rəngini və naxisini təyin edir. Qoruma, verilən-

110

lərin xanada qorunma səviyyəsini müəyyənləsdirir. Məsələn, xanani elə qorumaq olar ki, oradaki verilənləri dəyismək mümkün olmasin, yaxud düstur gizlədilsin.

Sətrin formati sətrin hündürlüyünü tənzimləməyə və onun cədvəldə əks olunmasini idarə etməyə imkan verir. Sətrin hündürlüyü ya avtomatik olaraq, ya da «əl ilə» müəyyən olunur. Avtomatik tənzimləmə zamani sətrin hündürlüyü üçün elə qiymət seçilir ki, sətirdəki bütün verilənlər normal görünsün.

Sütunun formati sütunun enini tənzimləməyə və onun cədvəldə əks olun- masini idarə etməyə imkan verir. Sütunun enini həm avtomatik olaraq, həm də «əl ilə» tənzimləmək olar. Avtomatik tənzimləmə zamani sütunun eni üçün elə qiymət seçilir ki, sütundaki bütün verilənlər bir sətrə yerləssin.

Sətir və sütunlarin əks etdirilməsi. Cədvəldəki istənilən sətri, yaxud sütunu gizlətmək olar. Bu o zaman gərəkli olur ki, həmin sətirlərdən və sütunlardan araliq hesablamalarin nəticələrini saxlamaq üçün istifadə olunur. Sonradan gizli sətir və sütunlari ekranda göstərmək də olar.

Verilənlərin formati. Ədədi verilənləri göstərmək üçün müxtəlif formatlar- dan istifadə olunur: ümumi, ədədi, faiz, pul, eksponensial və s.

•Ümumi formatdan susqunluqla istifadə olunur və həmin formatda daxil edilən istənilən verilənlər (mətnlər, ədədlər, tarixlər və s.) avtomatik ola- raq taninir və formatlanir.

•dədi formatda istifadəçi xanalardaki ədədlərin onluq isarələrinin sayini istədiyi kimi verə bilər. Məsələn, onluq isarələrin sayi üç olan format se- çilibsə, xanaya daxil edilən 19 ədədi 19.000 kimi, 0.12345 ədədi isə 0.123 kimi yazilacaq.

•Faiz formati ədədi verilənləri % isarəsilə faiz formasinda göstərməyə imkan verir. Məsələn, dəqiqlik bir onluq isarəyə qədər qoyulubsa, 0.257 ədədini xanaya daxil etdikdə 25.7% qiyməti, 257 ədədini daxil etdikdə isə 25700.0% qiyməti əks olunacaq.

•Pul formati ədədləri elə əks etdirməyə imkan verir ki, mərtəbələr üç-üç qruplasdirilaraq bosluq simvolu ilə ayrilir, sonuncu onluq isarədən sonra isə pul vahidi göstərilir.

•Eksponensial (elmi) formatda verilən ədədlər iki hissədən ibarət olur: mantissa və ədədin tərtibindən. Məsələn, əgər dəqiqlik onluq nöqtədən sonra iki isarədirsə, onda 12345 ədədi eksponensial formatda 1.23E+04 səklində olacaq (burada 1.23 mantissa, E+04 yazisi isə 10-un 4-cü qüvvə- tini bildirir).

3. CƏDVƏL prosessoru

111

 

Sətrin hündürlüyünün və sütunun eninin dəyisdirilməsi. Daxil edilən ədə- din uzunlugu xananin (sütunun) enindən böyükdürsə, xanada ədədin yerinə «diyez» isarələri (######) görünəcək. Əgər daxil edilən ədəd mətndirsə, onda ekranda mətnin yalniz bir hissəsi (xananin eninə yerləsən) görünəcək. Xanada görünən simvollarin sayi təkcə xananin enindən deyil, həm də seçilmis sriftdən və onun ölçüsündən asili olur.

Bu sadalanan hallar bas verdikdə sütunun enini artirmaq zərurəti yaranir. Bunu iki yolla etmək olar:

•Format Column AutoFit Selection menyu komandasini seçmək, yaxud Format Column Width komandasini seçmək və açilan dialoq boksunda lazim olan qiyməti göstərmək;

•Siçanin göstəricisini iki sütunun adlarinin arasinda yerləsdirmək (göstəri- ci formasini dəyisəcək) və onun sol düyməsini basili saxlamaqla sütunun sərhədini lazim olan istiqamətə hərəkət etdirmək.

Sətrin hündürlüyünün dəyisdirilməsi də eyni qaydada yerinə yetirilir.

Excel cədvəl proqraminda obyektlərin fonunu rəngləmək, yaxud fona hər hansi naxis salmaq imkani da vardir.

112

Çalisma – 1

1.Cədvəl prosessorunu basladin və yuxaridaki nümunəyə uygun olaraq Məktəblər.xls faylini yaradin.

2.B4-dən B8-dək xanalari doldurun.

3.Siçanin göstəricisini B sütununun basliginin sag tərəfindəki sərhəd xəttinin üzərinə aparin. Göstərici ikibasli ox səklini aldiqda sərhəd xəttini tutub sag tərəfə dartmaqla sütunu genisləndirin.

4.B sütununu seçdirmək üçün onun basligini çiqqildadin.

5.Format menyusunu açin və Column, sonra isə AutoFit Selection bəndini seçin. Excel avtomatik olaraq sütunu elə genisləndirəcək ki, həmin sütunun xanalarindaki yazilar tam görünsün.

6.3 sətrini seçdirmək üçün onun basligini çiqqildadin.

7.Format menyusunu açin və Row, sonra isə Height bəndini seçin. Açilan dialoq boksunda hündürlüyü 25 edin və OK düyməsini çiqqildadin.

8.3 sətrinin o biri sətirlərdən iki dəfə hündür oldugunu görəcəksiniz.

9.Is vərəqinin hər hansi yerini çiqqildatmaqla sətrin seçdirməsini ləgv edin. Dəyisiklikləri yazib saxlayin və fayli qapadin.

.

Çalisma – 2

1. Excel proqraminda asagidaki cədvələ uygun öz dərs cədvəlinizi yaradin.

3. CƏDVƏL prosessoru

113

 

2.Cədvəlin adini (DƏRS CƏDVƏLI) onun üstündə ortadan yerləsdirmək üçün A1:G1 xanalar diapazonunu seçdirin. Format Cells menyu komandasini se- çin.

3.Açilan dialoq boksunda Alignment bölməsinə keçin. Merge cells (Xanalarin birləsdirilməsi) parametrini qeyd etdikdə həmin xanalar birləsərək tək A1 xa- nasini əmələ gətirəcək.

4.Xananin içində yazilari ortadan yerləsdirmək (mərkəzə düzləndirmək) üçün Text alignment bölümündəki Horizontal siyahisindan Center sətrini seçin.

5.Cədvəldə olan sütunlarin və sətirlərin ölçülərini tənzimləyin.

6.B3:G3 xanalar diapazonunu seçdirin. Format Cells dialoq boksunun Patterns bölməsinə keçin. Oradan istədiyiniz rəngi (məsələn, mavi) seçin. OK düyməsi- ni çiqqildatdiqda seçdirdiyiniz xanalar həmin rəngə boyanacaq və xanalar arasindaki xətlər itəcək.

7.Xanalarin ətrafinda çərçivələr qoymaq üçün həmin xanalari seçdirin və dialoq boksunun Borders bölməsinə keçin.

114

Outline-ni seçərsinizsə, seçdirdiyiniz sahənin yalniz qiraq (kontur) xətləri çəkiləcək, daxili xətlər isə göstərilməyəcək. Inside-ni seçərsinizsə, yalniz da- xili xətlər görünəcəkdir. Həm daxili, həm də kontur xətlərinin olmasini istəyirsinizsə, hər iki hali seçin.

8. Cədvəlin B4:G9 xanalarini sari rənglə boyayin.

1.Sənədin formatlanmasi nə deməkdir?

2.Xananin formatlanmasi hansi parametrlərlə xarakterizə olunur?

3.Formatlanmadan istifadə edib asagidaki elektron cədvəli yaradin.

4

INFORMASIYA

C MIYY TI

4.1. C MIYY TIN INFORMASIYALASDIRILMASI

Bəsəriyyət yarandigi gündən əvvəlcə maddələrə, sonra enerjiyə və nəhayət, informasiyaya sahib olmaq ugrunda çarpismisdir. Sivilizasiyanin ilk dövrlərində insana elementar bilik və bacariqlar kifayət edirdisə, informasiyanin tədricən çoxalmasi nəticəsində insan səxsi biliklərinin az olmasini hiss etməyə basladi. Informasiyani düzgün emal etmək və lazimi qərarlar qəbul etmək üçün insandan malik oldugu bilik və təcrübələri ümumiləsdirmək tələb olunurdu. Ona görə də o, müxtəlif qurgular düzəltməyə basladi. Informasiyanin emali üçün nəzərdə tutu- lan üsul və vasitələr meydana gəldi və onlar cəmiyyətdə ciddi dəyisikliklərə – informasiya inqilablarina gətirib çixardi.

Bəsəriyyət, onun inkisafina daha çox təsir edən və informasiya inqilabi ad- lanan dörd mərhələdən keçmisdir.

Birinci mərhələdə yazinin meydana gəlməsi nəticəsində bilikləri saxlayaraq, gələcək nəsillərə ötürmək imkani yarandi.

116

Ikinci mərhələ (XVI əsrin ortalari) kitab çapinin ixtirasi ilə baglidir. Bu inqi- lab nəticəsində informasiyanin saxlanilmasinin tamamilə yeni bir üsulu yarandi. Insan informasiyani saxlamaq, sistemləsdirmək və yaymaq üçün yeni bir vasitə əldə etdi.

Bu vasitə mənəvi və mədəni dəyərləri böyük kütlələrə çatdirmaga imkani verdi.

Üçüncü mərhələ (XIX əsrin sonu) elektrik cərəyaninin kəsfi ilə baglidir. Teleqraf, telefon və radio yarandi. Onlar informasiyani ixtiyari həcmdə və yük- sək sürətlə ötürməyə və qəbul edib saxlamaga imkan verdi. Informasiya-kommu- nikasiya vasitələri yarandi.

3. INFORMASIYA cəmiyyəti

117

 

Dördüncü mərhələdə (XX əsrin 70-ci illəri) mikroprosessor texnologiyasi ixtira olundu və fərdi kompüterlər meydana çixdi.

Informasiyanin elektrik və mexaniki vasitələri keçmisdə qaldi. Onlari elek- tron vasitələr əvəz etdi. Bu vasitələr masin və cihazlari daha kiçik ölçüdə istehsal etməyə və proqramla idarə olunan qurgular yaratmaga imkan verdi. Dördüncü inqilabin bas verməsinin əsas səbəbi ötən əsrin 40-ci illərində elektron hesabla- ma masinlarinin yaranmasi oldu.

Dördüncü informasiya inqilabi bəsəriyyətin sənaye cəmiyyətindən infor- masiya cəmiyyətinə keçməsinə təkan verdi. Bu, bir vaxt bəsəriyyətin aqrar cəmiyyətdən sənaye cəmiyyətinə keçidinə bənzəyirdi.

Informasiya cəmiyyəti elə bir cəmiyyətdir ki, orada cəmiyyət üzvlərinin əksəriyyəti informasiyanin istehsali, saxlanilmasi, emali və onun istifadəsilə məsgul olur.

Informasiya cəmiyyətinin bəzi xarakterik cəhətləri:

1. Informasiyanin həcmi artdiqca onun emali və saxlanmasi üçün insan xüsusi texniki vasitələrdən istifadə etməli olacaqdir.

Informasiya cəmiyyətində insan və kollektivlər hər hansi bir qərari qəbul edərkən müəyyən informasiya toplamali, onu emal və təhlil etməlidir. In- formasiyanin həcmi o dərəcədə artmisdir ki, insan özü onu emal etməyə qadir deyil. O, bu isə xüsusi texniki vasitələri cəlb edir.

2.Kompüterlərdən istifadə qaçilmaz olacaqdir. Informasiya cəmiyyətində kompüterlərdən istifadə olunmasi labüddür. Bu, etibatli informasiya mənbələrindən istifadə etməyə imkan verir, faydasiz isi azaldir, optimal qərarlarin qəbul olunmasini sürətləndirir və informasiyanin emalini avtomatlasdirir.

3.Cəmiyyətin hərəkətverici qüvvəsi informasiya məhsulunun istehsali olacaqdir.

XX əsrin ikinci yarisinda insanlarin müəyyən bir qisminin maddi məhsul istehsalindan informasiya sahəsinə keçməsi bas verdi. Bilavasitə maddi sər- vətlər istehsal etməyən əhalinin yeni sosial təbəqəsi yarandi. Bu insanlar (müəllimlər, bank isçiləri, proqramçilar və s.) informasiyani emal etməklə

118

məsgul olurdular. Yeni cəmiyyətdə isə maddi nemətlər daha çox «infor- masiya tutumlu» olacaq. Onun dəyəri isə innovasiyalardan, dizayn həl- lərindən, marketinq keyfiyyətindən asili olacaq.

4.Informasiya cəmiyyətində istehsal olunacaq məhsul bilik və intellekt ola- caqdir ki, bu da ümumiyyətlə, əqli əməyin payini artiracaqdir. Intellektual əməklə bagli sənət sahələrini seçən insanlarin sayi artacaqdir.

5.Dəyərlər dəyisərək, yeni həyat tərzi formalasacaq, asudə vaxtda məsguliy- yətlər dəyisəcəkdir.

Artiq indi kompüter oyunlari insanin bos vaxtinin əsas hissəsini tutur. Bu oyunlar uzaq məsafədə yerləsən bir neçə oyunçunu özündə birləsdirən səbəkə sisteminə transformasiya olunur. Internetdə vaxt keçirənlərin sayi artir. Onlar tədris saytlarina və virtual muzeylərə səyahət edirlər, lazimi ədəbiyyati tapib oxuyurlar və s. Internetdə gap xidmətləri [chat] və ICQ xid- məti istifadəçilər tərəfindən çox bəyənilir. Bu xidmətlər vasitəsilə uzaq məsafələrdə olan insanlar real zaman rejimində bir-birlərilə əlaqə saxlayirlar.

6.Kompüter texnikasi, kompüter səbəkələri, informasiya texnologiyalari inki- saf edəcək.

Internet səbəkəsi ayda 10-15% artacaq və onun istifadəçilərinin sayi yüz mil-yonlarla ölçüləcək. Özündə müxtəlif qurgularin funksiyalarini cəm- ləsdirən (kompüter, televizor, radio, telefon və s.) müasir multimedia sistem- lərinin istifadəsi informasiya texnologiyalarinin universallasmasina gətirib çixaracaqdir. Informasiyani saxlayan qurgular isə bapbalaca – ovucun içində yerləsən ölçüdə olacaq. Bu qurgular daxilində həcmi bir neçə ensiklope- diyaya bərabər olan səxsi universal soraqçalar da yerləsdiriləcəkdir. Bu qurgulari səbəkəyə qosub operativ informasiya, məsələn, hava haqqinda, yollardaki tixaclar barədə məlumatlar almaq mümkün olacaqdir.

7.Evlərdə cürbəcür elektron cihazlar və kompüterləsdirilmis qurgular olacaqdir.

Mənzillər naqillər sisteminin əvəzinə bir cərəyan və bir də informasiya kabeli ilə təchiz olunacaqdir. Informasiya kabeli rabitə, televiziya kanal- larini və Internetə çixisi özündə birləsdirəcəkdir. Xüsusi elektron blok bütün məisət avadanliqlarina və yasayis sistemlərinə nəzarət edəcək, binalar “agil- li” olacaqdir. “Agilli binalar”la yanasi “agilli avtomobil”lər də yaranacaqdir. Onlarda avtomobilin texniki hissəsinə cavab verən kompüterdən basqa, səhər informasiya xidmətlərinə qosulan sistem də isləyəcək. Belə avtomobil “agilli ev”lə əlaqədə olacaq və hətta evi idarə də edə biləcək.

8.Enerji və maddi məhsullar istehsalini masinlar təmin edəcək, insan isə, əsas etibarilə, informasiyanin emali ilə məsgul olacaq. Istehsalatda insanlarin sayi azalacaq, onlarin yerini robotlar və manipulyatorlar tutacaqdir.

3. INFORMASIYA cəmiyyəti

119

 

9.Təhsil sahəsində fasiləsiz təhsil sistemi yaradilacaq. Insanlar zamanla ayaq- lasmaq üçün, sənəti dəyismək və cəmiyyətdə layiqli yer tutmaq üçün ömrü boyu oxumaq imkani qazanacaqlar.

10.Usaqlar kompüter proqramlari və telekommunikasiyalar vasitəsilə evdə təhsil ala biləcəklər. Bununla əlaqədar tədris prosesində təlimin formalari də-yisəcək və təlimin tərbiyəvi aspektlərilə bagli problemlər yarana biləcəkdir.

11.Informasiya xidmətləri bazari yaradilaraq inkisaf etdiriləcək. Informasiya məhsul və xidmət növünə çeviriləcək. Bu məhsulu adi əmtəə kimi alib-sat- maq mümkün olacaqdir.

Sənaye cəmiyyətindən informasiya cəmiyyətinə keçmək üçün informasiya böhrani səraiti əmələ gəlməli idi. Bu sərait XX əsrdə yarandi. Insanin üzərinə sel kimi gələn böyük həcmdə informasiya axininda istiqamət götürmək qeyri- mümkün oldu. Artiq və lazimsiz olan çoxlu miqdarda informasiya yarandi. In- formasiya cəmiyyətinə keçid isə müxtəlif sahələrdə informasiyanin ötürülməsi və onun emali üçün müasir vasitələrdən istifadə edilməsi ilə baslandi. Bu proses informasiyalasdirma adlanir.

Cəmiyyətin informasiyalasdirma prosesi sənaye cəmiyyətinin informasiya cəmiyətinə keçməsini təmin edir.

Cəmiyyətin informasiyalasdirilmasi prosesi cəmiyyətin hər bir üzvünə öz tələbatina uygun informasiya almaq imkani verir.

Son dövrlərə kimi «informasiyalasdirma» sözü əvəzinə «kompüterləsdirmə» sözündən istifadə olunurdu. Lakin «kompüterləsdirmə» sözünün mənasi kom- püter texnikasinin inkisafi və tətbiqi deməkdir. Cəmiyyətin informasiyalasdiril- masi isə kompüterləsdirməyə nisbətən daha genis anlayisdir. Belə ki, bu gün texniki vasitələr deyil, sosial-texniki prosesin məqsəd və mahiyyəti daha önəm- lidir. Kompüterləsdirmə isə informasiyalasdirma prosesinin bir hissəsidir, onun texniki bazasidir.

Informasiya mədəniyyəti.

Insan mədəniyyəti

•bilik, bacariq və pesəkar vərdislər ilə;

•intellektual, estetik və mənəvi inkisaf səviyyəsinə görə;

•insanlarla ünsiyyətin forma və üsullari ilə müəyyən olunur.

Insanin səxsi mədəniyyəti

•əqli inkisaf səviyyəsinə görə;

•pesəkarliq və yaradiciliq fəaliyyətinin xarakterinə görə müəyyən olunur.

120

Bu o deməkdir ki, insan nə qədər öz zehni qabiliyyətlərini inkisaf etdirirsə, nə qədər düsünür, fikirləsirsə, bir o qədər öz səxsi mədəni səviyyəsini yüksəltmis olur. Ona görə də elm və incəsənətlə məsgul olan insanin mədəni səviyyəsi daha yüksək olmalidir. Informasiya cəmiyyətinə keçərkən insanin ümumi mə- dəniyyətinə daha bir kateqoriya əlavə olunur – informasiya mədəniyyəti.

Informasiya mədəniyyəti informasiya ilə məqsədyönlü isləmək və onun qəbul edil- məsi, emali və ötürülməsi üçün kompüter texnikasindan, müasir texniki vasitə və üsullardan istifadə etmək bacarigidir.

Insanin informasiya mədəniyyəti dedikdə asagidakilar basa düsülür:

–telefondan tutmus fərdi kompüter və kompüter səbəkələrinə kimi müx- təlif texniki cihazlardan istifadə etmək vərdislərinə yiyələnməsi;

–informasiya texnologiyalarina yiyələnmək qabiliyyətinin olmasi;

–dövri mətbuat və elektron kommunikasiyalarindan informasiya əldə etmək bacariginin olmasi;

–informasiyani aydin səkildə təqdim etmək və ondan maksimum səmərə ilə istifadə etmək bacariginin olmasi;

–informasiyanin emalinin müxtəlif üsullarini bilməsi;

–müxtəlif informasiya növlərilə isləmək bacariginin olmasi.

Informasiya resurslari. Hər bir dövlət, cəmiyyət, sirkət və adi insan özünün həyat fəaliyyəti üçün zəruri olan resurslara malikdir.

Resurs müxtəlif vəsaitlərin ehtiyati, mənbəyi deməkdir.

Müasir cəmiyyətdə maddi, xammal, enerji, əmək və maliyyə resurslari ilə yanasi, informasiya resurslari da mövcuddur.

Informasiya resurslarina elmi-texniki biliklər, ədəbiyyat və incəsənət əsərləri, icti- mai-dövlət əhəmiyyətli digər informasiyalar daxildir.

Informasiya resurslarindan basqa, istənilən resurs isləndikcə yox olur. Məsələn, yanacaq yanib qurtarir, maliyyə vəsaiti xərclənir və s. Informasiya resursu isə «bitib tükənmir», ondan coxlu sayda istifadə etmək mümkündür.

1.Bəsər tarixində hansi informasiya inqilablari olmusdur?

2.Informasiya cəmiyyətini xarakterizə edən cəhətlər hansilardir?

3.Yasadigimiz cəmiyyət informasiya cəmiyyəti adlana bilərmi?

4.Informasiya mədəniyyəti nədir?

5.Informasiya resurslarina nə daxildir və onlarin basqa resurslardan fərqi nədədir?

3. INFORMASIYA cəmiyyəti

121

 

4.2. KOMPÃœTER TEXNIKASININ T TBIQ SAH L RI

Ilk elektron hesablama masinlari təxminən 60 il bundan öncə meydana çixib. Ötən dövr ərzində kompüterlərin və onlar üçün proqramlarin istehsali texnolo- giyasi böyük inkisaf yolu keçib. Sübhəsiz, kompüterlər bütövlükdə yasadigimiz cəmiyyəti dəyisdirib. Maliyyə, kargüzarliq, sənaye, elm, səhiyyə, təhsil və basqa sahələri bu gün kompüterlərsiz təsəvvür etmək qeyri-mümkündür. Indi infor- masiyanin emal olundugu hər yerdə kompüterlərdən istifadə olunur.

Kompüter təhsildə. Yüksək ixtisasli mütəxəssislərin hazirlanmasi uzun və mürəkkəb prosesdir. Orta məktəbdə, sonra isə ali məktəbdə təhsil insan həyatinin önəmli bir hissəsini təskil edir. Bununla belə, müasir informasiya cəmiyyətində biliklər çox sürətlə köhnəlir. Hər hansi pro- fessional isi yerinə yetirmək bacarigina malik olmaq`üçün insan öz təhsil dairəsini daim genisləndirməlidir.

Informasiya cəmiyyətində «necə»ni bilmək, «nə»yi bilməkdən daha vacibdir. Buna görə də hazirda orta və ali məktəbin əsas vəzifəsi mümkün qədər çox bilik vermək deyil, həmin bilikləri müstəqil əldə etmək yollarini öyrətməkdir. Bu isə təhsildə müasir informasiya və kommunikasiya texnologiyalarindan istifadə etmədən mümkün deyil.

Informasiya və kommunikasiya texnologiyalarinin təhsildə tətbiqinin ən vacib istiqamətlərindən biri kompüterlərin multimedia imkanlarindan istifadə etməkdir. Multimedia vasitələrindən istifadə olunmasi əyaniliyi gücləndirir, informasiyanin məntiqi və obrazli mənimsənilməsi üsullarini birləsdirir ki, bu da təlim prosesini fəallasdirir. Multimedia texnologiyalarinin interaktivliyi səxsiyyət yönümlü təlim modellərini gerçəkləsdirmək üçün genis imkanlar verir.

Informasiya və kommunikasiya texnologiyalari distant təhsili təskil etməyə imkan verir. Distant təhsildə (məsafədən təhsildə) müəllim və öyrənən məna baximindan ayridirlar və dərs prosesi telekommunikasiya vasitəsilə, baslica olaraq Internet səbəkəsi vasitəsilə həyata keçirilir.

Distant təhsil sayəsində bir çox insanlar (is və ailə qaygilari ilə yüklənmis yaslilar, kənd yerlərində, yaxud kiçik səhərlərdə yasayan gənclər) evdə öz təhsil- lərini artirmaq imkani əldə edirlər.

Kompüter elmi tədqiqatlarda. Hazirda bir çox bilik sahələ- rində elmi tədqiqatlar alimlər, mühəndislər və konstruk- torlardan ibarət böyük kollektivlər tərəfindən çox mürəkkəb və bahali avadanliq vasitəsilə həyata keçirilir. Elmi arasdirmalarin səmərəliliyi önəmli dərəcədə kompüter texnikasindan istifadə

122

səviyyəsindən asili olur. Kompüterlərdən eksperimentlərin idarə olunmasinda, hesabatlarin və sənədlərin hazirlanmasinda, eksperimentlərin nəticələrinin təh- lilində və s. istifadə olunur. Nəticədə:

•tədqiqatlarin aparilmasi müddəti bir neçə dəfə qisalir;

•nəticələrin dəqiqliyi və dogrulugu artir;

•eksperimentin gedisinə nəzarət güclənir;

•nəzarət edilən parametrlərin sayinin artmasi və verilənlərin daha dəqiq emali nəticəsində eksperimentin keyfiyyəti və informativliyi yüksəlir;

•eksperimentlərin nəticələri operativ surətdə daha əlverisli formada (mə- sələn, qrafik) verilir.

Kompüter səhiyyədə. Müasir cəmiyyətdə kompüterlərin səhiyyədə rolu günbəgün artir. Həkimlər kompüterlərdən bir çox məqsədlər üçün istifadə edirlər. Onlardan bir neçəsini sa- dalayaq:

1.Kompüter texnikasindan diaqnozlarin qoyulmasinda, müayi- nələrin aparilmasi və profilaktik yoxlamalarda genis istifadə olunur.

2.Kompüter səbəkələrinin köməyilə transplantasiya əməliyyatini gözləyən xəstələr üçün donor orqanlari haqqinda məlumatlar göndərilir.

3.Tibbi verilənlər banki tibb isçilərinə son elmi və praktik nailiyyətlər haq- qinda məlumatli olmaga kömək edir.

4.Kompüterlər havanin çirkliliyinin əhali arasinda xəstəliklərin yayilmasi- na necə təsir etməsini müəyyənləsdirməyə kömək edir.

5.Kompüter texnikasindan tibb isçilərinə praktik vərdislərin asilanmasinda istifadə edilir. Bu zaman kompüter təcili tibbi yardima ehtiyaci olan xəstə rolunda çixis edir. Öyrənən, kompüterin verdiyi simptomlar əsasin- da müalicə kursunu müəyyənləsdirməlidir. Səhv olan kimi kompüter bu barədə xəbərdarliq edir.

6.Kompüterlərdən epidemiyalarin yayilma sürətini göstərən xəritələrin ha- zirlanmasi üçün istifadə edilir.

7.Kompüterin yaddasinda xəstəlik tarixçələri saxlanilir. Bu da həkimlərə ya- zi islərinə deyil, xəstələrin özlərinə daha çox vaxt ayirmaq imkani verir.

Kompüter ticarətdə. Supermarketlərin çoxunda hər malin üzərində barkod – müxtəlif qalinliqda qara cizgi- lərdən ibarət etiket olur. Ödəmə zamani barkod skanerdən (barkod oxucusundan) keçirilir. Bu skanerə bagli kompüter barkodu qiymət siyahisinda tapir və nəticəni kassa aparatina göndərir.

3. INFORMASIYA cəmiyyəti

123

 

Barkod oxucusundan istifadə edən magazalarda, yaxud anbarlarda hər bir mal haqqinda informasiya verilənlər bazasinda saxlanilir.

Barkod mal və onun istehsalçisi haqqinda informasiyani özündə saxlayir.

Ən genis yayilmis barkodlar 13 mərtəbəli Avropa kodu EAN-13 (European Article Numbering) və ABS ilə Kanadada tətbiq olunan UPC kodudur.

EAN-13 kodunun strukturu

1.Ölkənin kodu

2.Istehsalçinin kodu

3.Malin kodu

4.Nəzarət rəqəmi

5.Lisenziya əsasinda hazirlanmis malin isarəsi

Ölkə və istehsalçinin kodlarindaki rəqəmlərin sayi dəyisə bilər. Bu sistemdə Azərbaycanin kodu 476-dir.

Informasiyalasdirmanin ən mühüm istiqamətlərindən biri pul – kredit və maliyyə sahələrində elektron pula keçiddir.

Nagdsiz ticarət. Getdikcə daha çox ticarət müəssisələrində Ödənislər kred- it kartlari vasitəsilə aparilir. Kredit karti olan alicinin bankdaki hesabindan lazim olan məbləg avtomatik silinərək, magazanin bank hesabina köçürülür.

Nagdsiz ticarət sistemi POS (Points of Sale System) asagidaki funksiyalari yerinə yetirir:

•kredit kartlarinin verifikasiyasi, yəni onlarin həqiqiliyinin təsdiqi;

•alicinin hesabindan pulun silinməsi;

•pulun saticinin hesabina köçürülməsi.

124

Kredit kartlarina məlumatlar maqnit yazisi üsulu ilə vurulur. Kredit kartinda informasiyani saxlamaq üçün maqnit kartindan istifadə olunur.

Maqnit kartina asagidaki informasiyalar yerləsdirilir:

•səxsi hesabin nömrəsi;

•bankin adi;

•ölkə;

•müstərinin ödənis qabiliyyətinin kateqoriyasi;

•verilmis kreditin miqdari və s.

Bankomatlar. Bank avtomatlari – bankomatlar (ATM – Automated Teller Machine), yaxud nagd ödəmə masinlarinin səbəkəsi, ən genis səbəkələrdən biridir. Dünyadaki minlərlə bankin kompüterləri bir-birinə baglanir. Bankomatlar banklar tərəfindən qabaqcadan kredit kartlari verilmis müstəriləri üçün qurasdirilir.

Bunun da nəticəsində siz xarici ölkədə olarkən Azərbaycanda yerləsən bank tərəfindən verilmis kredit kartindan istifadə edərək, bankomatdan pul götürə bilərsiniz.

Bankomatda is prinsipi belədir:

1.Müstəri kartini avtomata yerləsdirir və avtomatin klavislərindən istifadə edərək, öz sifrəsini yigir.

2.Kartin üzərindəki maqnit zolaginda hesab sahibinin adi, hesab nömrəsi və onun bagli oldugu səbəkə haqqinda məlumatlar avto- mat tərəfindən oxunur.

3. INFORMASIYA cəmiyyəti

125

 

3.Avtomat (daha dogrusu, avtomatdaki kompüter) telefon xətləri va- sitəsilə minlərlə bankin məlumatinin saxlanildigi mərkəzi kom- püterə məlumat göndərir.

4.Mərkəzi kompüter hesabi yoxlayir və pulu vermək, yaxud istəyi rədd etmək haqqinda bankomata məlumat göndərir.

Kompüter kənd təsərrüfatinda. Kompüteri olan fermer asanca və tez bir zamanda əkin üçün tələb olunan toxum və gübrələrin miqdarini hesablaya bilər. Kompüter sistemləri növbəli əkini planlasdira, suvarma qrafikini hesablaya, mal- qaraya yemin verilməsini idarə edə və basqa faydali islər görə bilər.

Kənd təsərrüfatinda texnoloji inqilab gözlərimiz önündə bas verir: kompüterlər və fərdi mikrosensorlar hər bir heyvanin və bitkinin vəziyyətinə nəzarət etməyə imkan verir. Bu, maddi və insan resurslarina qənaət edir, insanin həyat səviyyə- sini yaxsilasdirir.

1.Təhsildə IKT-nin tətbiqini necə təsəvvür edirsiniz?

2.Distant təhsil nədir?

3.Səhiyyədə kompüterlərdən hansi məqsədlər üçün istifadə olunur?

4.Barkod nədir və onun strukturu necədir?

5.Bankomatla is prinsipini izah edin.

6.Kredit karti nədir və onun qurulusu necədir?

126

PROQRAM

Informatika – IX sinif (həftədə 1 saat, cəmi 32 saat)

I PASCAL PROQRAMLASDIRMA DILI (21 saat)

Proqram təminatinin təsnifati. Proqramlasdirma dilləri. Yüksək səviyyəli dillər. Proqramlarin hazirlanmasi. Turbo Pascal redaktoru. Pascal-proq- ramin ümumi strukturu. Operatorlar. Praktikum. Sərti yoxlayan operator- lar. Praktikum. Dövr operatorlari. Praktikum. Massivlər. Praktikum. Sətirlərlə is. Praktikum. Altproqramlar. Fayllar. Praktikum.

II ELEKTRON SƏNƏD (4 saat)

Mətn sənədi və onun obyektləri. Mətn sənədin hazirlanmasi. Sənədin redaktəsi. Sənədin formatlanmasi.

III CƏDVƏL PROSESSORU (5 saat)

Cədvəl prosessorunun təyinati. Elektron cədvəlin obyektləri. Elektron cədvəl verilənləri. Düsturlar. Diaqramin yaradilmasi və redaktəsi. Cədvəl sənədinin formatlanmasi.

IV INFORMASIYA CƏMIYYƏTI (2 saat)

Cəmiyyətin informasiyalasdirilmasi. Kompüter texnikasinin tətbiq sahələri.

127

M Ü N D Ə R I C AT

1. PASCAL PROQRAMLASDIRMA DILI

1.1. Proqram təminatinin təsnifati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Proqramlasdirma dilləri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3. Yüksək səviyyəli dillər . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4. Proqramlarin hazirlanmasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5. Turbo Pascal redaktoru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6. Proqramin ümumi strukturu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.7. Operatorlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.8. If və case seçim operatorlari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.9. Dövrlər. While, for və repeat operatorlari . . . . . . . . . . . . . . . . . . . 37 1.10. Massivlər . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.11. Sətirlərlə is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 1.12. Altproqramlar. Funksiyalar və prosedurlar . . . . . . . . . . . . . . . . . 51 1.13. Fayllar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 1.14. Praktikum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

2. ELEKTRON SƏNƏD

 

2.1. Mətn sənədi və onun obyektləri . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

2.2. Mətn sənədinin hazirlanmasi . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

3. CƏDVƏL PROSESSORU

3.1. Cədvəl prosessorunun təyinati . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.2. Elektron cədvəlin obyektləri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.3. Elektron cədvəl verilənləri. Düsturlar . . . . . . . . . . . . . . . . . . . . . . 97 3.4. Diaqramin yaradilmasi və redaktəsi . . . . . . . . . . . . . . . . . . . . . . 103 3.5. Cədvəl sənədinin formatlanmasi . . . . . . . . . . . . . . . . . . . . . . . . . 109

4. INFORMASIYA CƏMIYYƏTI

4.1. Cəmiyyətin informasiyalasdirilmasi . . . . . . . . . . . . . . . . . . . . . . 115 4.2. Kompüter texnikasinin tətbiq sahələri . . . . . . . . . . . . . . . . . . . . . 121

Proqram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

128

Иnformatika – цmуmtяhsil mяktяblяrinin 9-cu sinfi цчцn dяrslik. Исмайыл Cалал оьлу Sadыqov

Рамин Яли Назим оьлу Мащмудзадя Nаидя Rизван гызы Иsayeva

Bakы, “Bakыnяшr”, 2008. 128 sяh.

© Dizayn “Bakыnяшr”, “TM” artgroup, 2008.

Формат 70 ×1001/16. Oфсет kаьызы №1. Физики чап вяряги 8. Чапа имзаланмышдыр 29.07.2008. Тираж 155 000. Пulsuz.