Ia9 -fesil-1: 9 qxd



Yüklə 9,12 Kb.
Pdf görüntüsü
səhifə2/29
tarix08.10.2017
ölçüsü9,12 Kb.
#3616
növüDərs
1   2   3   4   5   6   7   8   9   ...   29

6
PROQRAMLAŞDIRMA DİLLƏRİ
Dilini bilmədiyimiz insana nəyi isə başa salmaq üçün ya jestlərdən, ya da
onun başa düşdüyü dildəki sözlərdən istifadə edirik. Kompüterin mərkəzi qur -
ğusu olan prosessorun da öz dili var. 
Maşın dili. Kompüterin bilavasitə “başa düşdüyü” yeganə dil – sadəcə,
ədədlər yığınından ibarət olan maşın dilidir [machine language]. Ədədlərlə
işlədiyindən prosessor üçün komandaları kodlaşdırmaq, məsələn, ədədlərlə ifadə
etmək  lazımdır. Tutaq ki, 1 – toplamanı, 2  – vurmanı, 3 – bölməni (yaxud uyğun
olaraq 01, 02, 03) və   s. bildirir. Müəyyən əməliyyatı yerinə yetirmək üçün
proses sora komandalardan əlavə verilənlər də lazımdır. Sadəlik üçün, tutaq ki,
hər hansı uydurma prosessorun komandasının ümumi şəkli belədir:     
Proqramlaşdırmada komandanın arqumenti, yəni verilənlər operand adlanır.
Hər bir verilən, kompüterin yaddaşının xanalarında yerləşir. Bütün yaddaş
xanalara bölünmüşdür və hər xananın öz nömrəsi – ünvanı olur. Beləliklə, hər bir
operand iki parametrlə – qiyməti və yaddaşda olan yeri ilə təyin olunur. 
00xx yazılışı xx ədədinin özünü, 01xx yazılışı isə yaddaşda  xx nömrəli
xananı göstərir. Bir sözlə, xx veriləninin qarşısında 00 olarsa, bu, verilənin özünü,
01 isə yerini göstərir. 
Onda 01 və 02 xanalarında yerləşmiş iki ədədin ədədi ortasını tapan proqram
aşağıdakı şəkildə olacaq:
Birinci sətirdəki komandanı adi dildə ifadə edək: 01 xanasındakı verilənlə 02
komandasındakı veriləni topla və nəticəni 03 xanasına yaz.
İkinci sətirdəki komanda isə aşağıdakı kimi ifadə olunar: 03 xanasındakı ve -
riləni 2-yə böl və nəticəni yenidən 03 xanasına yaz. 
Proqramı bir sətirdə yazsaq belə alınar:
01
010101020103
03
010300020103     
Göründüyü kimi, maşın dilində yazılmış belə sadə proqram da açılması lazım olan
“sirli bir aləmdir”. Uydurma olmayan, gerçək kompüterlərdə isə maşın kodu qat-qat
mürəkkəb olur. 
Veriləni yaddaş xanasına yazarkən orada olan əvvəlki in for masiya silinir.
1.2.
01
0101 0102 0103
03
0103 0002 0103
komandanın  kodu
birinci operand
ikinci operand
nəticə yerləşdiriləcək xananın nömrəsi


7
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 komandaların kod və formatını yadda saxlamaq,
ya da hər dəfə xüsusi cədvəllərdən istifadə etmək lazım gəlir. 
Kod 
laşdırmada azacıq səliqəsizlik, yazıda yanlışlıq, rəqəmlərin yerinin
qarışdırılması gözlənilməz nəticələrə aparıb çıxarardı. Belə yanlışlığı tapmaq da
asan iş deyildi, çünki proq 
ramçının qarşısında az-çox aydın dildə yazılmış
alqoritm deyil, rəqəmlər yığını dururdu.
Proqramçılar öz işlərini yüngülləşdirmək üçün yollar arayırdılar; elə bir alət
ya rat maq lazım idi ki, onun köməyilə kiçik detallara vaxt itirmədən proqram yaz-
maq mümkün olsun, özləri yaradıcılıqla, alqoritmlərin qurulması ilə məşğul
olsunlar, qalan işlər isə kompüterə həvalə edilsin. 
Assembler. Maşın kodunda proqramlaşdırma “iynəylə yer qazmaq” kimi
bir şeydir. Çox sadə hesablama məsələləri (məsələn, ədədin yaddaşdan prosesso-
ra yüklənməsi, onun başqa ədədlə toplanması, nəticənin yenidən yaddaşa yazıl-
ması) maşın kodlarında uzun-uzadı elə mürəkkəb şəkil  alırdı ki,  kiçik kərpic -
lərdən böyük bir binanın necə tikil məsini təsəvvür etmək belə çətin idi.
Bu vəziyyətdən çıxmaq üçün ilk addım komanda ların simvollarla əvəzlən-
məsi oldu, daha dəqiq de sək, komandalar adi söz lərin qısaltmaları ilə gös tə rildi.
İdeya sadə olsa da, onun gerçəkləşdirilməsi yazılmış proqramların digər proq -
“Maşın kodu” deyəndə, maşın dilində yazılmış proqram başa düşülür.
Assembler dilinin adı ingiliscə “assemble” – “toplamaq”, “yığmaq” sözündən
götürülüb.
“İkibaşlı yozum”
Kompüterə komandaları adi ingilis, fransız, türk dillərində, yaxud hər hansı başqa dildə
vermək mümkün olsaydı, daha yaxşı olardı. Ancaq, təəssüf ki, maşınlar insanların
danışığındakı incəlikləri başa düşə bilmir. İnsanlar danışdıqları zaman öz sözlərinə
jestlər və mimikalar əlavə edir, məcazlardan, üstüörtülü ifadələrdən, istehzadan və
bəlağətin başqa üsullarından istifadə edirlər ki, bu da onlara bir şey söyləyib, əslində
başqa bir şeyi çatdırmağa imkan verir. İnsanlar “ikibaşlı” (çoxanlamlı) sözlər işlədir,
deyilmiş sözlərin mənasını dəqiqləşdirən kontekstdən, into nasiyadan və başqa amil-
lərdən istifadə edirlər. Hətta yazışmalarda da fikrin daha düzgün başa düşülməsinə
yardım edən eyhamlardan istifadə olunur.
İnsan ağlı təbii dilin “tapmacalarından” baş çıxara bilir, kompüter isə yalnız tam ciddi,
riyazi dəqiqliyə malik ünsiyyət sistemini anlayır. Belə sistemdə hər bir simvol, yaxud
sim vollar qrupu həmişə eyni bir şeyi bildirməli, hər bir cümlə isə  hərfiyyən başa dü -
şülməlidir. İstehza, danışıq ifadələri, yaxud dolaşıq eyhamlar, sadəcə, yolveril məzdir.
1.
PASCAL
proqramlaşdırma dili


8
ramçılar tərəfindən qavranılmasını asanlaşdırmağa,
səhvlərin sayını azaltmağa, proq 
ramçıların işini
yün gülləşdirməyə imkan verdi. 
Komandaların simvollar vasitəsilə yazılış siste -
minə mnemonik yazı sistemi deyilir. Belə sistemin
köməyilə yazılmış proqram nümunəsinə baxaq.
Bu fraqmentin birinci sətri bildirir ki, yaddaşın
1 və 2 nömrəli Xanalarını TOPlayıb, nəticəni 3
nömrəli Xanaya yerləşdirmək lazımdır. İkinci sətir
isə kompüterə yaddaşın 3 nömrəli Xanasını 2-yə
BÖLüb, nəticəni yenə də 3 nömrəli xanaya yer-
ləşdirmək göstərişini verir. Göründüyü kimi, belə
yazılış yu xarıda verilmiş uy ğun maşın kodundakı
yazılışdan daha anlaşıq lıdır.
Bu həm insanın, həm də kompüterin başa düş -
dü yü proqramlaşdırma dilinin yaradılması yolunda
ilk addım idi. 
İkinci addım prosedurlar kitabxanasının yara -
dılması, yəni koddan təkrar-təkrar istifadə olun-
ması idi. Ona qədər isə hər bir proqramçı hər dəfə
öz “Amerikasını kəşf etməli” idi. Prosedurlar
kitabxana la rı proqramçılara yeni mü rəkkəb proq -
ramları qısa vaxt ərzində keyfiyyətlə tərtib etmək
imkanı verirdi.
Bu iki istiqamət yeni proqramlaşdırma dil-
lərinin yaradılması və inkişafı üçün özül oldu.
Əlbəttə, assembler proqramçını işin ən arzu 
-
olun maz hissəsindən – operatorların əl ilə maşın
koduna çevrilməsindən azad edir. Ancaq buna baxmayaraq, assembler dilinin iki
böyük nöqsanı var. Birinicisini, ola bilsin, siz özünüz artıq sezdiniz: assembler
dilində proqramlaşdırma çox diqqət və səbir tələb edən işdir. Mikroprosessorun
işini birbaşa idarə edərkən həddən artıq xırda məsələlər nəzərə alınmalıdır.
İkinci çatışmazlıq assembler dilindəki proq ram ların “daşınabilən” [portable]
olmamasıdır. Mə sələn, assembler dilində Intel 8080 prosessoru üçün yazılmış
TOP
X1, X2 > X3 
BÖL
X3, 2
> X3
Qreys Murrey Hopper
(1906 – 1992)
1952-ci ildə Qreys Hopper
[Gra ce Murray Hopper] (ABŞ)
dünyada ilk mnemo nik proq -
ramlaşdırma dili olan assemb -
ler dilini [assembly language]
yaratdı.  Assem blerə  mnemo -
nik komandalar sistemi,
prosedurlar kitabxanası və
proqramın mətnini maşın
koduna çevirən xüsusi proq 
-
ram daxil idi. Proqramın
maşın dilinə çevrilməsi prose-
duruna  kompilyasiya, onu
gerçəkləşdirən proqrama isə
kompilyator deyilir (bu termin
də Qreys M.Hop perin dir). 
Yunanca “mnemoni kon”
“yaddasaxlama bacarığı”
deməkdir.


Yüklə 9,12 Kb.

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




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

    Ana səhifə