Alqoritm anlayışı

Salam. İnşAllah bu gündən etibarən bir neçə yazıda asandan mürəkkəbə doğru müəyyən alqoritmləri izah etməyə və hər hansı bir məsələnin kompüterdə həlli zamanı nələrə diqqət etməli olduğumuz haqqında bəzi məsələləri qeyd etmək istəyirəm. Alqoritm haqqında nəzəri məlumatlarla tanış olduqdan sonra növbəti yazıda C# proqramlaşdırma dili ilə bəzi alqoritmlərlə tanış olacağıq.
Alqoritm – qarşıya qoyulan məsələni həll etmək üçün yerinə yetirilməsi vacib olan əməliyyatlar ardıcıllığıdır.
Latınca qayda-qanun deməkdir. Alqoritm 783- 850-ci illərdə Xorezmdə (indiki Özbəkistanda şəhər) yaşamış IX əsrin məşhur özbək riyaziyyatçısı Məhəmməd İbn Musa əl-Xarəzminin (yəni Xarəzmli Musa oğlu Məhəmməd) adının latın hərflərilə olan “alqoritmi” yazılışıyla bağlıdır. Əl-Xarəzminin yazdığı traktatın XII əsrdə latın dilinə tərcümə olunması sayəsində avropalılar mövqeli say sistemi ilə tanış olmuş, onluq say sistemini və onun hesab qaydalarını alqoritm adlandırmışlar. Ümumiyyətlə, alqoritm-verilmiş məsələnin həlli üçün lazım olan əməliyyatları müəyyən edən və onların hansı ardıcıllıqla yerinə yetirilməsini göstərən formal yazılışdır. Hesablama maşınlarının əsas fərqləndirici xüsusiyyətlərindən biri də onun proqramla idarə olunmasıdır. Yəni, istər sadə, istərsə də mürəkkəb məsələni maşının həll etməsi üçün proqram tərtib edilməlidir.
Məsələnin maşında həlli üçün tərtib edilən alqoritm bir çox şərtləri ödəməlidir. Bu şərtlərə alqoritmin xassələri deyilir. Həmin xassələr aşağıdakılardır:
  1. Alqoritm sonlu sayda mərhələdən sonra qurtarmalıdır. Buna, alqoritmin sonluluq xassəsi deyilir.
  2. Alqoritmin hər bir addımı dəqiq və birqiymətli təyin olunmalıdır. Bu alqoritmin müəyyənlik xassəsidir.
  3. Alqoritmin müəyyən sayda giriş qiymətləri (məsələnin başlanğıc şərtləri) olmalıdır. Bu şərtlər proqram icra olunmamış və ya olunduqca maşına daxil edilə bilər.
  4. Alqoritmin yerinə yetirilməsi nəticəsində giriş qiymətlərindən asılı olan bir və ya bir neçə çıxış qiymətləri alınmalıdır.
  5. Alqoritm sadə və səmərəli olmalıdır, yəni alqoritmin nəticəsi (cavabı) mümkün qədər sadə əməliyyatlar vasitəsilə və ən qısa yolla alınmalıdır.
  6. Alqoritm ümumi olmalıdır, yəni müəyyən məsələ üçün tərtib olunmuş alqoritm, həmin tipdən (sinifdən) olan bütün məsələlər üçün yararlı olmalıdır. Bu alqoritmin kütləvilik xassəsidir

Biz bunları alqoritm olaraq adlandırmasaqda gündəlik fəaliyyətlərimizdə də müəyyən alqoritmləri icra edirik. Yemək bişirərkən, maşın sürərkən , yolun qarşı tərəfinə keçərkən  bu cür işləri  müəyyən ardıcıllıq ilə yerinə yetirdiyimizdən və sonlu bir fəaliyyət olduğundan bunlara alqoritm deyə bilərik. Deməli nizam və sonluluq olan istənilən bir hərəkəti alqoritmik şəkildə təsfir etmək mümkündür. Nizam sözündən qəsdimiz yalnız bir mənalı olaraq xətti şəkildə bir hadisənin təkrarlanması deyil. Məlum ehtimallı bir hərəkətdə bu nizama daxildir. Necə ki yuxarı doğru atılan bir qəpiyin 2 üzündən birinin düşmə ehtimalı kimi. Bu cür hadisələrin müxtəlifliyini nəzərə alaraq alqoritimləri ümumi olaraq 3 qrupa bölmək olar.
Xətti alqoritmlər – Ardıcıl şəkildə heç bir istisnanın olmadığı alqoritimlərdir. Üçbucağın sahəsinin hesablanmasını nümunə göstərmək olar. (Şəkil 1)

Şəkil 1

Budaqlanan alqoritmlər – Məsələnin ardıcıllığının müəyyən şərtlər daxilində dəyişdiyi alqoritimlərdir. Kvadrat tənliyin köklərinin tapılması və ya piyadanın işıqfordan keçməsi bu cür alqoritimdir. . (Şəkil 2)
Şəkil 2

Dövrü alqoritmlər – Hər hansı bir hadisənin və ya hesablama prosesinin təkrar-təkrar icra olunması ilə gedən alqoritimlərdir. Nümunə kimi 1-dən 100 kimi ədədlərin cəminin hesablanması, faktoriyalın hesablanması və ya birinin sizə “HƏƏƏ” deyənə qədər onun adını təkrar etməniz . (Şəkil 3)
Şəkil 3

 Alqoritimlərin bir neçə təsvir üsulları var. Bunlar mətn, qrafik, düstur  və s. Bunlardan ən çox istifadə olunan qrafiki formada təsvirdi ki bununda bəzi səbəbləri var. Qrafiki (blok-sxem Şəkil 4 ) formada təsvir müəyyən fiqurlarla alqoritimi izah etdiyi üçün mətin formasındaki kimi dildən asılılığı olmur. Digər bir üstünlüyü isə alqoritmin təsfirinin asanlığı və dəqiqliyidir.  Bu cür  təsviri daha da asanlaşdırmaq və yazdığınız proqramla əlaqələndirmək üçün müəyyən proqram vasitələri mövcutdur. 


Şəkil 4 

İstifadə olunan qaynaqlar :   (https://az.wikipedia.org/wiki/Alqoritm)

Yorum Gönder

Daha yeni Daha eski