Proqramlaşdırmanın əsasları Object pascalda əsas proqram elementləri
. Ana Program Bloku
Alqoritmləşdirmə və proqramlaşdırmanın əsasları/Proqramlaşdırma dilləri
Dil dedikdə – istənilən işarələr sistemini başa düşəcəyik. İşarə dedikdə isə informasiyanı ötürmək üçün xüsusi seçilmiş bir obyekt nəzərdə tutulacaq. Məsələn: kağızdakı hərf, əl işarəsi, sifətin ifadəsi, çeviricinin vəziyyəti və s. Bu çox ümumi bir tərif olduğundan bura heyvanların təbii dillərini, insanların dillərini də daxil etmək olar. Müxtəlif dillərin olması bir dildən başqa bir dilə tərcümə (translyasiya) problemini yaradır. Belə baxanda, bizim bütün fəaliyyətimiz bu və ya başqa mənada translyasiya ilə bağlıdır. Biz şüurumuzda olan daxili təsəvvürləri nitqə, hərəkətə və s. çeviririk və tərsinə.
Yeni obyekt yaratmaqla, biz onunla bağlı yeni bir dil də yaradırıq. Məsələn, elmin inkişafı xüsusi elmi dilin yaranmasına gətirib çıxartdı (riyaziyyat, fizika və s.). Bir qayda olaraq, sadə qurğuları, düymələri basmaqla, dəstəkləri hərəkətə gətirməklə idarə etmək heç də çətin olmur. Amma elə mürəkkəb obyektlər var ki, onları idarə etmək üçün insan ya çətinlik çəkir, ya da ola bilsin ki, heç bacarmır. Bu halda, insanla maşın arasında, bir növ vasitəçi – tərcüməçiyə ehtiyac olur. Belə qurğulara EHM–ləri misal gətirmək olar. Onları idarə etmək üçün insan üçün sadə olan, onun dilinə yaxın olan bir giriş dilinə ehtiyac olur. Qeyd edək ki, EHM -lər insan tərəfindən yaradılmış obyektlər sırasında ən çətin idarə olunanlardandır. Bu məsələ o qədər obeyktin mürəkkəbliyindən yox, daha çox onun dilinin ( maşın dili – 2-lik kodlar) insan dilindən uzaq olmasıdır. Ona görə də istehsalçıların və proqramçılarin maraqlarını nəzərə alaraq bir ünsiyyət vasitəsinə ehtiyac yaranır. Proqramlaşdırma dilləri adi dillərdən “sözlərin” (ancaq translyatorun başa düşdüyü) sayına və əmrlərin ciddi yazılış qaydasına görə fərqlənir. EHM-də proqram yazmaq üçün istifadə olunan formallaşmış dillərə proqramlaşdırma dilləri deyilir.
Istənilən proqramlaşdırma dilinin əsas elementləri bunlardır: dilin əlifbası, sintaksisi və semantikası. Dilin əlifbası dedikdə, həmin dildə işlənən bütün simvollar nəzərdə tutulur. Sintaksis- əlifbada olan simvollardan dilin ayrı-ayrı konstruksiyalarının (komandaların, operatorların) düzəldilməsinin formal qaydalarıdır. Bu qaydalar müxtəlif həll alqoritmlərini proqramlaşdırmağa imkan verir. Semantika – dilin bu və ya digər sintaksis konstruksiyalarının təsviridir. Məsələn, əgər proqramın bu yerində y =a*(b+c) ifadəsinin hesablanması yazılıbsa, onda semantika qaydaları maşına “göstərir” ki, əvvəlcə (b+c) cəmini tapsın, sonra həmin cəmi a-ya vursun. Beləliklə, hər hansı verilənlərin emalı prosesini birbaşa həyata keçirməyə imkan verən proqramlar, dili təyin edən sintaksis qaydalara uyğun olaraq əlifbadakı simvolların birləşməsi nəticəsində və semantika qaydalarını nəzərə almaqla işlənib hazırlanır.
Translyator və kompilyatorlar. Proqramlaşdırma dili vasitəsilə hazır proqram yox, ancaq qurulmuş alqoritmi təsvir edən mətn yaradılır. İnsanın başa düşdüyü dildə olan bu proqram maşının başa düşdüyü dilə çevrilməlidir. Bunun üçün kompüterdə translyatorlar və kompilyatorlar olur. Proqram ancaq onların translyatorları olan halda icra oluna bilərlər. Translyatordan fərqli olaraq kompilyatorlar exe-faylların yaradılması üçün istifadə olunur ki, onlar da sərbəst icra oluna bilərlər (yəni, proqpamin yazildiğı mühitdən (sistemdən) asılı olmadan).
Proqramlaşdırma dillərinin səviyyələri. Müxtəlif tip prosessorlar müxtəlif tip əmrlər sisteminə malikdir. Əgər proqramlaşdırma dili konkret prosessor tipinə yönəlibsə və onun xüsusiyyətlərini nəzərə alırsa, onda ona aşağı səviyyəli proqramlaşdırma dili deyirlər. Assembler aşağı səviyyəli proqramlaşdırma dilidir. Çünki o, bir əmri mnemonika adlanan simvol işarəmələrinin köməyilə ədədlər şəklində yox, maşın kodları şəklində verir. Assemblerin köməyilə çox səmərəli və kompakt proqramlar yaratmaq mümkündür. Assemblerdən adətən, sistem əlavələrin, drayver-proqramların, kompüterin aparat resurslarına müraciət edən proqram modullarının hazırlanması üçün istifadə olunur. Aşağı səviyyəli proqramlaşdırma dillərindən, adətən yüksək səviyyəli peşəkar proqramçılar istifadə edir. Bu dillərdə tutulan proqramlar yaddaşda az yer tutmaqla yanaşı, daha sürətlə icra olunurlar. Yüksək səviyyəli proqramlaşdırma dilləri isə adi dilə daha yaxın və insan üçün daha aydın başa düşüləndir. Çox yayılmış, bəzi proqramlaşdırma dilləri haqqında məlumat verək.
Fortran – Cim Bekus tərəfindən 1954-cü ildə yaradılmış ilk kompilyasıya olunan proqramlaşdırma dilidir. Bu dildə ilk dəfə olaraq proqramlaşdırmanın ən vacib anlayışları realizə olunmuşdur. Ondan bütün dünyada istifadə olunur. 2000-ci ildə onun yeni F2k versiyası yaradılmışdır. Fortrandan əsasən riyazi, texniki məsələlərin proqramlaşdırılması üçün istifadə olunur.
Cobol – 1960-cı illərdə yaradılıb. Əsasən iqtisadiyyat sahəsində biznes məsələlərinin həlli üçün nəzərdə tutulan kompilyasiya olunan bir dildir. Bu dil özünün “çoxsözlülüyü” ilə fərqlənir. Bəzən onun əmrləri ingilis ifadələrindən heç də fərqlənmir. Bu dildə, hal-hazırda aktiv surətdə istismar olunan çoxlu sayda əlavələr hazırlanmışdır.
Pascal – 1970-ci illərin sonunda Niklaus Virt tərəfindən yaradılmışdır. Ondan böyük layihələrin hazırlanmasında müvəffəqiyyətlə istifadə etmək üçün imkanlar nəzərdə tutulmuş, proqramın strukturuna olan tələblər gücləndirilmişdir.
Basic – Bu dil üçün həm kompilyatorlar, həm də interpretatorlar mövcuddur. İlk dəfə proqramlaşdırmanı öyrənmək məqsədilə 1960-cı illərdə yaradılan bu dil dünyada ən geniş yayılmış dillərdəndir.
C – Bu dil yaranan gündən kütləvi istifadə üçün nəzərdə tutulmamışdır. Sadəcə, assembleri əvəz edən bir proqram kimi planlaşdırılmışdır. Yəni o, həm assembler kimi effektiv və kompakt proqramlar yaratmaq imkanına malik olmaqla yanaşı, həm də konkret tip prosessorlardan asılı olmalı idi.
C++ – C-nin obyektyönümlü genişlənməsi olan bu dil 1980-cı ildə yaradılmışdır. Bu dildə proqramçının məhsuldarlığını kəskin şəkildə artıra biləcək çoxlu sayda imkanlar nəzərdə tutulmuşdur.
Java – Bu dil 1990-cı illərin əvvəlində C++ dilinin əsasında yaradılmışdır. O, C++-da olan bütün aşağı səviyyəli imkanları aradan çıxardaraq əlavələrin işlənib hazırlanmasını sadələşdirməyə yönəlmişdir.
Baza verilənlərin proqramlaşdırma dilləri. Bu qrup dillər alqoritmik dillərdən həll etdiyi məsələlərə görə fərqlənir. İlk bazalar böyük informasiya massivlərinin emalına və müəyyən əlamətə görə bir qrup informasiyanın seçilməsinə ehtiyac olanda yaradılmışdır. Bunun üçün strukturlaşdırılmış sorğular dili SQL (structured query language) dili yaradılmışdır. O güclü riyazi nəzəriyyəyə əsaslanmaqla verilənlər bazasını effektiv emal etməyə imkan yaradır. Böyük verilənlər bazalarını idarə etmək, onları effektiv emal etmək üçün VBİS (verilən bazasının idarəetmə sistemi) yaradıldı. Hal-hazırda dünyada 5 aparıcı VBİS istehsalçısını göstərə bilərik: Microsoft (SQL Server), İBM (DB2), Oracle Software AG (Adabas), İnformix və Sybase. Onların məhsulları şəbəkədə minlərlə istifadəçinin eyni zamanda işini dəstəkləyir, verilənlər bazaları isə paylanmış şəkildə bir neçə serverdə saxlanıla bilər. İnternet üçün proqramlaşdırma dilləri. HTML (HiperText Markup Language) çox tanınmış, sadə bir dil olmaqla, mətnin formatlaşdırılması, şəkillərin əlavə olunması, şiriflərin və rənglərin verilməsi, istinadların və cədvəllərin tərtib olunması kimi elementar əmrlərə malikdir. Çox WEB- səhifələr HTML- də və onun genişləndirilmiş variantlarında yazılmışdır. 1980-cı illərdə PERL dili işlənib hazırlandı. O, böyük mətn fayllarının effektiv emal olunması, mətn hesabatlarının qenerasiya olunması və məsələlərin idarə olunması vasitəsi kimi yaradılmışdı. Onun sətrlərlə, massivlərlə işləmək funksiyaları, verilənlərin çevrilməsi vasitələri, sistem informasiya ilə işləmək imkanları da çox genişdir. Windows əməliyyatlar sisteminin yaranması ilə bağlı bu mühitdə işləyən yeni proqramlaşdırma dilləri də meydana çıxmışdır. Bunlardan Visial Basic, Visial Delphy, Visial C və b. göstərmək olar. Bu proqramların köməyilə müxtəlif tip praktik məsələləri həll etmək olar. “Visial” yazısı onu göstərir ki, həmin proqram vasitəsi qrafik istifadəçi interfeysinə malikdir. Yəni Windows sisteminə aid olan bütün imkanlardan həmin proqram vasitəsi istifadə edə bilər.
Bubble Sort algoritminin nümunəsi:
BubbleSort.java
public class BubbleSortExample < static void bubbleSort(int[] arr) < int n = arr.length; int temp = 0; for(int i=0; i < n; i++)< for(int j=1; j < (n-i); j++)< if(arr[j-1] >arr[j]) < //swap elements temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; >> > > public static void main(String[] args) < int arr[] =; System.out.println("Array Before Bubble Sort"); for(int i=0; i < arr.length; i++)< System.out.print(arr[i] + " "); >System.out.println(); bubbleSort(arr);//sorting array elements using bubble sort System.out.println(“Array After Bubble Sort”); for(int i=0; i
Proqramlaşdırmanın əsasları Object pascalda əsas proqram elementləri
Delphi proqramlaşdırma sahəsində ən effektiv alətlərdən biri olmaqla yanaşı eyni zamanda mürəkkəb proqramlaşdırma strukturuna malikdir. O Windows əməliyyat sistemində ən çox geniş yayılmış proqram mühitidir. Delphi obyekt-yönümlü struktura malikdir və əsasən Object Pascal dilində proqram qurulması nəzərdə tutulmuşdur. Onun köməyi ilə nəyinki Windows üçün eyni zamanda digər əməliyyat sistemləri üçün proqramlar yaratmaq olar. Delphi-nin belə geniş yayılmasının əsas səbəbi onun vizual proqramlaşdırma sahəsində yüksək sürətə malik olması və ondan istifadə olmasının sadəliyidir. Вizual proqramlaşdırmanın üstünlüyü ondan ibarətdir ki, verilənlərin ekranda təsvirinə və ya onların diskdə yadda saxlanılmasına çox vaxt itirmədən qoyulan məslənin tam proqramlaşdırılmasına imkan verir. Delphi sistemi VCL vizual komponentlərin kitabxanasının köməyi ilə onda vizual proqramlaşdırmanın imkanlarını təmin edir. Ümumiyyətlə Delphi müasir proqramlaşdırmanın yeni texnologiyasının özündə cəmləşdirməsi proqramlaşdırmanın keyfiyyətini artırır və geniş istifadəçi kütləsini əhatə edərək yüksək istehsal gücü olan proqramların yaradılmasına imkan verir. Son zamanlar Delphi ayrıca bir proqramlaşdırma dili kimi sayılır. Ancaq demək olar ki, Delphi dilinin əsas bazasını Object Pascal təşkil edir. Ona görə də Delphi mühitində proqramladırmaq üçün ilk növbədə Object Pascal dili haqqında ətraflı biliyə malik olmaq lazımdır. Pascal dili ən geniş yayılmış alqoritmik dillərdən biri olmuşdur. Pascal dili ilk olaraq 1968 ildə Niklaus Wirth tərəfindən yaradılmış və inkşaf etdirilmiş yüksək səviyəli bir proqramlaşdırma dilinə çevrilmişdir. Lakin bu dildə proqramlar ДOS əməliyyat sistemi üçün yazılır. Hal-hazırda bu dilin Object Pascal versiyası cox inkşaf etdirilmişdir və əsasən mühəndis, iqtisadi və digər məsələlərin həllinin proqramlaşdırılmasında istifadə olunur. Ayrıca Object Pascalın “Borland Pascal for Windows” versiyası windows əməliyyat sistemində program yazmağa imkan verməsi ve Delphinin baza dilinin Pascal olması onun yüksək səviyyəli dillərdən olduğunun göstəricisidir. p ascalda yazılan proqramların ən böyük özəlliyi onun asan oxunmasıdır. Pascalın ən önəmli özəlliklərindən birisi də yazılmış proqram parçalarının problemsiz bir proqramda birləşdirərək onun icra etməsidir. Object Pascal mühitində yazılmış proqramlar, onu icra edən üç əsas bölümdən ibarət olub ayrı-ayrı əmrlər blokunu təşkil edir. Hər pascal proqramının əsas hissəsi mütləq bir Begın ehtiyat sözü ilə başlayır və End. sözü ilə bitir. (Qeyd etmək lazımdır ki, End -dən sonra nöqtə qoyulmalıdır. Pascal proqramı üçün bu proqramın bitdiyi yer anlamına gəlir.) Əğər proqram içərisində eynı blok içərisində yeni proqram parçası varsa bunları bir Begın – End bloku içərisinə yazmaq olar. Bu zaman End əmrindən sonra nöqtəli vergül (;) qoyulmalıdır. Beləliklə Pascalda bir programın yazılişı ayrı-ayrı əmrlər blokundan ibarətdir və aşağıdaki kimi təsvir olunur:
2. Tanıtma Bloku
Qeyd: Nəzərə alın ki, bu kitabda “Pascal” termini kimi Object Pascal xüsusi variantı başa düşülür.
Müəyyən bir məsələni həll etmək üçün bir və ya bir neçə əmrlərdən ibarət proqram parçasına blok deyilir.
Bir Pascal proqramının yazılış strukturu aşağıdakı kimidir:
P rogram adı (* Program başlığı. Buraya yazılanların Programın adı
proqrama təsiri olmur *)
İstifadə olunan unit (modul)proqramlar
Sabitlərin göstərilməsi Tanıtma bloku
Nişanlar (Goto əmri üçün)
Əsas proqram kəsimi
. Ana Program Bloku
Daha doğrusu yuxarıda göstərilən quruluşdan göründüyü kimi proqramın ilkin mətni sətirlər ardıcıllığı şəklində təsvir olunur, bu zaman sətirlər mətni istənilən mövqedən başlaya bilər. Proqram başlıqdan və bloklardan ibarətdir.
Başlıq proqramın başlanğıcında yerləşir və aşağıdakı şəkildə olur:
Program [Proqramın adı];
Blok iki hissədən ibarət olur: verilənlərin təsviri hissəsi və əsas hissə. Verilənlərin təsviri hissəsində proqramın elementlərinin təsviri, əsas hissədə isə qoyulan məsələnin həlli üçün tələb olunan nəticəni almağa imkan verən proqramın icra əmrləri ifadə olunur.
Ümumi halda verilənlərin təsviri hissəyə aşağıdakı bölmələr daxil edilir:
- verilənlərin tiplərinin təsviri;
- sabitlərin elan edilməsi;
- dəyişənlərin elan edilməsi;
- modulların qoşulması;
- nişanların elan edilməsi;
- prosedur və funksiyaların təsviri.
İndi yuxarıda yazılan bölmələri qısaca araşdıraq. Beləliklə proqramın ümumi şəkildə strukturunu aşağıdakı kimi izah etmək olar:
; Bu əmrdən sonra proqrama ad vermək üçün hər hansı bir söz yazılır. Nəzərə alın ki, bu adı yazmamaq da olar.
ə mrlər bölməsi Begin ehtiyat sözü ilə başlayır və əmrlər müxtəlif sətirlərdə yazılaraq bir-birindən nöqtəli vergüllə ayrılır. Bölmə End ehtiyat sözü ilə qurtarır, sonda nöqtə qoyulur.
Nəzərə almaq lazımdır ki, proqramın tanıtma blokunda yazılan Type, Const, Label ve Var bölümlərindəki göstərilən verilənlər proqramın bütün hissələrində yerinə yetirilir.
Object Pascal alqoritmik dilin özəl simvolları
Pascal proqramı içərisində 53 hərf – A-dan Z-ə qədər böyük və a-dan z-ə qədər kiçik ingilis əlifbasının hərfləri və altından xətt çəkmə (_) işarəsi, 10 rəqəm – 0 -dan 9-a rəqəmlər, onaltılıq say sistemindəki rəqəmləri (Hexadesimal) ifade etmek için 0 -dan 9-a qədər rəqəmlər ilə A-dan F-ə qədər böyük hərflər və a-dan f-e küçük hərflər istifadə olunur. Bundan başqa proqram içərisində tək başına istifadə olunan xüsusi simvollar vardır. Burada 23 xüsusi simvol + – * / = [ ] .,( ) : ; @ < >( > $ # və boşluqdan ibarətdir. Xüsusi simvolların kombinasiyası aşağıdakı kimi simvollar birləşmələrini təşkil edirlər:
Cədvəl 1. Proqram içərisində istifadə olunan xüsusi simvollar
Case-Of əmrində sabit ədəddən sonra işlədilir.
Dəyişən və sabit ədədlər: Proqramda verilənlərin hər bir elementi ya sabit (konstant), ya da dəyişən olur. Hər bir dəyişən adı və tipi ilə göstərilir. sabitlər (Konstantlar) sadə sabitlər və ya tipi göstərilmiş sabitlər şəklində ifadə oluna bilər. Sadə sabitlərdən fərqli olaraq, tipi göstərilmiş sabitlər təsvir olunarkən həm sabitin tipi, həmdə qiyməti göstərilir. Faktiki olaraq tipləşdirilmiş sabitlər ilkin qiymətlərini almış dəyişənlərdirlər. Nəzərə almaq lazımdır ki, proqramın icrası zamanı sadə sabitlərdən fərqli olaraq tipləşdirilmiş sabitlərın qiymətləri dəyişdirilə bilər.
Cədvəl 2. Sabit və Dəyişən ədədlər nümunəsi
Sabit ədədlər nümunəsi | Dəyişən ədədlər nümunəsi |
Const | Var |
Pi_Sayisi = 3.1415; | Yas : shortint; |
Bu_il = 1999; | BOY : byte; |
Tarix = ’29/10/11999′; | SAYI : integer; |
iSim = ‘Nazim’; | BuyukSayi : longint; |
SOYAD = ‘Rustamov’; | Para : real; |
YAS =20; | Pi : real; |
Mesaj = ‘Devam etmek için bir düyməyə basın. ‘; | Sayqac : word; |
Avagadro_ədədi= 6.02E23; | Nufus : single; |
Cosinus_45_dərəcə= 0.7071067; | sayi2 : double; |
TelefonNömrəsi = ‘4769420’; | Yeni : byte; |
Təsadüfi ədədlər: Tam əbədlərə Random(x) – təsadüfi ədədlər “funksiyasını da aid etmək olar. Bu fıınksiya icra olunduqda [0, x-1] intervalında bərabər paylanmış təsadüfi ədədin qiymətini alacaqdır. Random(x) funksiyasmdan istifadə etməmişdən qabaq Randomize prosedurunu icraya çağırmaq məsləhət görülür. Randomize təsadüfı ədədlər generatorunu aktivləşdirməmişdən qabaq Random(x) funksiyasına müraciət olunsa, bu fiınksiya [0, x-l] intervalından təsadüfi hər hansısa qiyməti alacaqdır. Lakin, bu zaman hər dəfə təsadüfi götürülən ədədlərin ardıcıllığı eyni olacaqdır.
Beləliklə təsadüfi ədədlər çoxluğunu almaq üçün Random funksiyasından istifadə olunur və aşağıdakı kimi yazılır:
function Random [ ( Range: Integer) ];
Random funksiyasına parametrsiz müraciət olunursa onda, o ədədin qiymətini 0 Sətir üzərində əməliyyatlar aparmaq üçün funksiyalar
Funksiyalar | Əməlyyatlar |
Length (S): Integer | S dəyişən adlı yazılmış sətrin uzunluğunu təyin edir; |
Copy (S; Index, Count: Integer):String | verilmiş S sətrindən Index nömrəli simvoldan başlayaraq göstərilən sayda simvolların surətini çıxarır; |
Concat (s1 [, s2, …, sn]: String | verilən n sayda sətirləri birləşdirir; |
Ros (Substr: String; S: String): Integer | S sətrində daxil edilmiş Substr altsətrini axtarır və başladığı mövqenin nömrəsini qaytarır; əgər altsətir tapılmazsa, onda 0 qaytarır; |
Bundan başqa əməliyyatlar aşağıdakı prosedurlardan ibarətdir:
Cədvəl 4. Sətir üzərində əməliyyatlar aparmaq üçün prosedurlar
Prosedurlar | Əməliyyatlar |
Insert (Sourse: String; var S: String; Index: Integer) | S sətrinə Index nömrəli simvoldan başlayaraq Sourse altsətrini əlavə edir; |
Delete(var S: String; Index, Count: Integer) | S sətrindən Index nömrəli simvoldan başlayaraq Count sayda simvolları silir; |
Val(S; var V; var Code: Integer) | sətirin S simvolunu bu dəyişənin tipi ilə təyin olunan tam və həqiqi V dəyişəninin daxili təsvirinə çevirir; əgər çevirmə düzgün olarsa, Code parametri 0 olar və bu halda çevirmə nəticəsi V-də yerləşdirilir, əks halda o, S sətrindəki səhv simvolun aşkar edildiyi mövqenin nömrəsini alır və bu halda V-in tərkibi dəyişilir; S sətrində aparıcı boşluqlar olmamalıdır; |
Str(X: [Width [ : Decimals] ]; var S) | X ədədini S simvollu sətirə çevirir. |
Nişanlar: Bəzən proqramın hər hansı əmrinə digər əmr vasitəsilə müraciət etmək üçün bu əmrin yazıldığı sətir xüsusi nişanla (və ya etiket adlandırmaq olar) nişanlanır. Bu nişan həmin sətirdəki operatorlardan iki nöqtə ilə ayrılır. Nişan kimi 0- 9999 diapozonunda dəyişən natural ədəddən və ya identifikatordan istifadə etmək olar.
Şәrh: Şərh özündə proqramın istənilən yerində yazıla bilən izahlı mətndir və həmin mətn istənilən dilin simvollarından ibarət ola bilər. Proqram mətni daxilində şərh vermək üçün müəyyən hissəni soldan və sağdan < >və ya (*,*) simvolları ilә mәһdudlaşdırmaq lazımdır. Yəni şәrһ soldan və sağdan < >və ya (*,*) simvolları ilә mәһdudlaşdırılmış һissәyə deyilir. Sətrin əvvəlində bir sətirli şərh ikili sleşdən – // ibarət olur. Şәrһ proqramda sırf mәlumat xarakteri daşıyır. Şərh proqramın yerinə yetirilməsinə heç bir təsir göstərmir. Transilyator ona һeç bir reaksiya vermir, daha doğrusu onu maşın koduna çevirmir. O yalnız proqramın mәtni ekrana çıxdıqda, Kod Redaktorunda ekrana çıxır, çap olunduqda isә çap olunur. Məsələn:
S:=0;
for n:=1 to 100 do
// if n=10 then p:=p*n
Burada dövrün daxilində olan if şərti əmri şərh kimi təsvir olunduğundan icra olunmur. Onu da bilmək lazımdır ki, şərh Kod Redaktorunda solğun hərflərlə göstərilir.
Zaman içində zamansız: Tofiq Kazımov
Yanvarın 14-ü milli teatr tariximizdə özünəməxsus yeri olan görkəmli rejissor, Xalq artisti, Dövlət Mükafatı laureatı Tofiq Kazımovun anadan olmasının 88 ili tamam olur. Artıq 31 ildir ki, o, dünyasını dəyişib. Yaşasaydı, kim bilir, bu illər ərzində Azərbaycan teatrına, Azərbaycan səhnəsinə daha hansı yenilikləri, daha hansı sənət incilərini bəxş edəcəkdi. Ancaq qədərdən kim qaçıb ki.
Tofiq Kazımov o xoşbəxt sənətkarlardandır ki, sənəti ilə teatr tariximizdə, yaddaşlarda, xatirələrdə yaşayır və yaşayacaq.
Əməkdar incəsənət xadimi, sənətşünaslıq doktoru, professor Məryəm Əlizadənin Tofiq Kazımov fenomenindən bəhs edən “Dördüncü ölçünün rəngləri” kitabında görkəmli ədəbiyyat, mədəniyyət, incəsənət xadimlərinin Tofiq Kazımov sənəti və şəxsiyyəti barədə söylədikləri fikirlərdən bəzi məqamları oxucularımıza təqdim edirik.
Elçin Əfəndiyev, Baş nazirin müavini, Xalq yazıçısı:
– Sənətkarın hansı zamanda, hansı dövranda yaşayıb-yaratması, təəssüf ki, onun özündən asılı deyil. Sənətkar zamanı seçmir, amma zaman sənətkarı yetişdirir və sənətkar hansı zamanda yaşayırsa-yaşasın, o öz zamanını, dövranını ifadə etməklə bərabər, gələcəyin sənətkarıdır. Tofiq Kazımov bu gün – senzurasız, bədnam “qlavlit”siz, sosrealizmdən əsər-əlamət qalmamış bir dövrdə yaşayıb-yaratsaydı, Azərbaycan teatr sənəti, şübhəsiz ki, öz tarixinin başqa bir Tofiq Kazımov hadisəsinə şahid olacaqdı. Ancaq Tofiq Kazımov sovet dövründə yaşayıb-yaratdı. Ən əsası budur ki, Tofiq Kazımov “sovet rejissoru” yox, milli teatr sənətimizin böyük xadimlərindən biri oldu. Tofiq Kazımovun daxilində, bütün içində sovet quruluşuna, sistemə, ideoloji riyakarlığa, söz ilə əməl arasındakı təzada, hətta mən deyərdim ki, patoloji bir nifrət var idi. Onun quruluş verdiyi əsərləri xatırlayın: bunların heç biri – uğurundan, yaxud uğursuzluğundan asılı olmayaraq, ideoloji hadisə deyildi, onun bütün sənət qələbələri yalnız Azərbaycan teatr sənətinin deyil, bizim milli mədəniyyətimizin bədii-estetik hadisələri idi. Onun quruluş verdiyi ən yaxşı tamaşalar – “Sən həmişə mənimləsən” (1964, İlyas Əfəndiyev), “Ölülər” (1966, Cəlil Məmmədquluzadə), “Hamlet” (1968, Uilyam Şekspir), “Aydın” (1972, Cəfər Cabbarlı) və başqaları heç vədlə dövrün, zamanın hakim ideologiyasını hər vasitə ilə, o cümlədən inzibati yollarla tələb etdiyi sosrealizm estetikasının təzahürü yox, həmin zamana, dövrə, elə bil ki, dəxili olmayan həqiqi sənətkarın özünüifadəsi idi. Tofiq Kazımovun yaradıcılığı sovet dövründə başladı, amma bu yaradıcılığı ortaya qoyan istedadın miqyası həmin zaman və dövr çərçivələrinə sığmadı, o çərçivələr onu boğub, saxlaya bilmədi. Bu sovet dövrü mədəniyyəti kontekstində hər sənətkara müyəssər olmayan bir hadisə idi.
Anar, Yazıçılar Birliyinin sədri, Xalq yazıçısı:
– Mənim üçün Tofiq müəllimin ilk yaddaqalan quruluşu “Ölülər” tamaşası idi. Bu tamaşada ölməz Mirzə Cəlil əsərinin ruhunu saxlamaqla Tofiq Kazımov ora bir çox yeni mətnlər – elə M.C.Məmmədquluzadənin öz felyetonlarından alınmış mətnlər də əlavə etmişdi. Rəssam Elçinin maraqlı dekorları (personajlar sanki məzarların başdaşlarının içindən çıxırdı), Qara Qarayevin təsirli musiqisi, Kefli İsgəndər rolunda Həsənağa Turabovun, Şeyx Nəsrullah rolunda Məlik Dadaşovun, Hacı Həsən ağa rolunda Məmmədrza Şeyxzamanovun, hətta epizodik rolda Hamlet Xanızadənin ifası indiyədək gözümün qabağındadır. Şübhəsiz ki, bütün bu ünsürləri – tərtibatı, musiqini, aktyor ifasını vahid və dəqiq rejissor yozumunda birləşdirmək Tofiq Kazımovun istedadı, güclü yenilik hissi ilə bağlı idi. Tamaşaya, xüsusilə mətnə olan əlavələrə kəskin etiraz edənlər də vardı. Bu etirazlar ictimai baxışdan sonra müzakirələrdə də səsləndi. Mən də ömrümdə ilk dəfə belə müzakirədə iştirak etdim. Tamaşanı müdafiə etdim, eyni zamanda hansısa iradlarımı da bildirdim. İndi heç yadımda deyil ki, bu iradlarım nədən ibarət idi. Sonra eşitdim ki, Tofiq müəllim deyib: Hamıdan yaxşı Anar çıxış etdi, amma onun da iradlarını qəbul etmirəm. Yəqin ki, düz edirdi.
İlham Rəhimli, sənətşünaslıq doktoru, professor:
– Tofiq Kazımov XXI əsrin düşüncə tərzini, teatr estetikasını, insanlıq fəlsəfəsini, cəmiyyət və şəxsiyyət problemlərini məhz XX əsrin ortalarında dərk edirdi. Dərk edib təfəkkür süzgəcindən keçirirdi. Təfəkkür süzgəcindən keçirib Karlo Qoldoninin “Mehmanxana sahibəsi” (1952), Mirzə Fətəli Axundzadənin “Lənkəran xanının vəziri” (1953), Lope de Veqanın “Sevilya ulduzu” (1953), “Dəlilər” (1963), Uliyam Şekspirin “Antoni və Kleopatra” (1964), “Hamlet” (1968), “Fırtına” (1974), Cəlil Məmmədquluzadənin “Ölülər” (1966), İlyas Əfəndiyevin “Sən həmişə mənimləsən” (1964), “Unuda bilmirəm” (1968), Əbdürrəhim bəy Haqverdiyevin “Rəri cadu” (1969), Yucin O”Nilin “Qızıl”, Cəfər Cabbarlının “Aydın” (1972) əsərlərinin tamaşalarında poetik vüsətlə, fəlsəfi dərinliklə, cazibəli füsunkarlıqla təcəssüm etdirirdi.
Bir daha qeyd edirəm, Tofiq Kazımovun bütün tamaşaları müəyyən zamanda doğulsa da, onların bağları zamanın “ətəyindən tuturdu”.
Əkrəm Əylisli, Xalq yazıçısı:
– Sənətin (ya sənətkarın) Zamana təsir göstərmək imkanında olduğuna inanmaq insanın hər hansı bir möcüzəyə inanmaq ehtiyacından irəli gəlir. Əslində, Zamana təsir göstərmək qədərində fantastik bir missiyanı heç bir sənətkar heç vaxt qarşısına məqsəd qoymur. Böyük istedadlar öz zamanının içində yaşamır, onun fövqündə dayanır və Zamanı bir çox hallarda, hətta qabaqlaya da bilir. Tofiq Kazımov Zamanı qabaqlamaq zorunda deyildi. O, zamanı tərpədib, bir qədər hərəkətə gətirmək istəyirdi. Və buna (əksər hallarda) nail ola bilmədiyinə görə olduqca əsəbi və impulsiv bir həyat yaşayırdı.
Azər Paşa Nemət, Teatr Xadimləri İttifaqının sədri, Xalq artisti:
– Hesab edirəm ki, Tofiq Kazımov Azərbaycan teatrında bir növ keçid prosesi yaşanan dövrdə yaradıcılığa başladı. Keçid dövrü yaşayan teatra yeni aktyor və rejissor nəsli lazım idi. Bu dövrdə ayrı-ayrı teatrlarda Məhərrəm Haşımov, Mehdi Məmmədov, Tofiq Kazımov, Zəfər Nemətov kimi rejissorların həmin keçid dövründə yeni Azərbaycan teatrının yaranmasında böyük rolu olub. Bu nəsildən olan Tofiq Kazımovun Milli Dram Teatrının səhnəsində öz zamanı üçün yeni düşüncə, yeni teatr tərzini yaratmasını qeyd etmək istərdim. Zaman çox ağır və çətin idi. Sovet kommunizm quruluşu azad yaradıcılığa imkan vermirdi. Lakin Tofiq Kazımov bu zamanda teatr səhnəsinə yeni fikir, yeni düşüncə gətirdi, bir növ, zamanla mübarizə aparırdı. C.Məmmədquluzadənin “Ölülər” əsərinin tamaşası buna misaldır. Bu dövrdə Həsən Turabov kimi bir aktyor parlamağa başladı. Yeni aktyor nəsli ortaya çıxdı – Tofiq Kazımovun aktyorları – Həsən Turabov, Amaliya Pənahova, Şəfiqə Məmmədova, Fuad Poladov, Səməndər Rzayev, Vəfa Fətullayeva.
Amaliya Pənahova, Bakı Bələdiyyə Teatrının bədii rəhbəri, Xalq artisti:
– Görkəmli rejissor professional səhnədə mənə ilk addım atmağı öyrətdi. İlyas Əfəndiyevin “Sən həmişə mənimləsən” pyesi ustad rejissor Tofiq Kazımovun quruluşunda teatr aləmində bir çevriliş etdi. Mən bir gecənin içində məşhur oldum. Tofiq müəllim bu tamaşanı çox sevirdi və hər tamaşanın sonuna yaxın Nargilənin Həsənzadə ilə vida səhnəsinə öz lojasından baxanda, onun gözlərinin yaşardığının şahidi olurdum. Bu, sevincdəndimi, yoxsa gənc qızın taleyi üçün acıyan insanın göz yaşları idimi, deyə bilmərəm. Lakin bu hal hər tamaşada təkrar olunurdu.
Şəfiqə Məmmədova, Xalq artisti:
– Zaman kateqoriyası elə mürəkkəb şeydir ki, şəxsən mənim üçün onun təsirini sadə sözlərlə ifadə etmək mümkün deyil. Tofiq Kazımovun zamanla münasibətləri çox mürəkkəb, təzadlı, ziddiyyətlə dolu, eyni zamanda son dərəcə məhsuldar idi. Təbii ki, zaman ona təsir edirdi. Amma bir filosof sənətkar kimi onun da öz yaradıcılığı ilə Zamana təsiri danılmazdır. Dediyim bu təsiri mütəxəssislər daha dəqiq və tutarlı aşkarlayar.
Bütün yaradıcılığımı mən Ustadım, Müəllimim Tofiq Kazımovun adı ilə bağlayıram. Onun teatrında işləmək, onun sevimli aktrisası olmaq mənim üçün böyük səadət və xoşbəxtlik idi. Böyük fəxrlə özümü “Tofiq Kazımov məktəbi”nə mənsub olan sənətkar hesab edirəm.
İsrafil İsrafilov, Akademik Milli Dram Teatrının direktoru, professor :
– Tofiq müəllimin rejissor kimi səhnəyə gəlişi elə bir dövrə təsadüf edir ki, o illəri mədəni-estetik oyanma dövrü kimi dəyərləndirmək olar. Həmin dövrün salnaməsini yaradan, adları böyük hərflərlə yazılan görkəmli simalardan biri də məhz Tofiq Kazımov idi. Öyünməyi xoşlamayan, təbiətindəki Allah vergisini canı qədər sevdiyi teatr üçün xərcləyən bu insan, ilk onilliyini yaşadığımız yüzilliyin də ruh yaddaşında yaşayan, unudulmaz bir sənətkardır.
Vaqif İbrahimoğlu, “YUĞ” teatrının baş rejissoru, professor:
– Şəxsən mən Tofiq Kazımov adında fenomenin mədəniyyətimizdəki, mənəviyyatımızdakı və konkret olaraq, teatr sənətimizdəki rolunu, əhəmiyyətini, nailiyyətlərini, problemlərini elmi düşüncənin müstəvisində illərcə təhlil etmişəm. Odur ki, tam məsuliyyətlə deyə bilərəm ki, Ustadıma bəslədiyim münasibət kor-koranə pərəstiş deyil – mən Tofiq Kazımovu milli mədəniyyətimizin sərvəti kimi dəyərləndirirəm.
Comments are closed, but trackbacks and pingbacks are open.