Alqoritimler nezeriyyesi
verilir | a, b
Alqoritm Alqoritm anlayışı, alqoritm xasissələri, alqoritmin yaranma tarixi, dovri alqoritmlər xətti alqoritmlər və budaqlanan alqoritmlərin novləri
Kompyuterdə məsələlərin həlli aşağıdakı mərhələlər ardıcıllığı ilə aparılır:
- məsələnin qoyuluşu;
- həll alqoritminin yaradılması;
- verilənlərin strukturlarının təyini;
- proqramlaşdırma dilinin seçilməsi və ilkin proqramın tərtibi;
- proqramın kompyuter dilinə çevrilməsi və sazlanması;
- işçi proqramın icrası, nəticələrin alınması və təhlili.
Məsələnin qoyuluşu. Məsələnin müvəffəqiyyətli həlli onun düzgün qoyuluşundan asılıdır. Məsələnin qoyuluşu sadə halda aşağıdakıları nəzərdə tutur: ilkin verilənlərin siyahısı, tipi, dəqiqliyi və ölçüləri; dəyişənlərin dəyişmə hədləri, başlanğıc və sərhəd şərtləri; nəticələrin siyahısı, tipi, dəqiqliyi və ölçüləri; məsələnin həllini təmin edən hesabat düsturları və tənlikləri.
Həll alqoritminin yaradılması. Bu mərhələdə seçilən həll metoduna uyğun məsələnin həll alqoritmi tərtib edilir. Məsələnin həlli ayrı-ayrı müstəqil bloklara bölünür və həmin blokların yerinə yetirilmə ardıcıllığı təyin edilir. Nəticədə alqoritmin blok-sxemi qurulur.
Verilənlərin strukturlarının təyini. Bu mərhələdə alqoritmdə iştirak edən verilənlərin tipinə, formasına, mümkün qiymətlərinə və aparılan əməliyyatlarına görə onların strukturları seçilir. Yəni verilənlərin tam, həqiqi, simvol və s. tip olması, massiv, yazı, stek, növbə, siyahı, fayl və s. strukturlarla təşkili müəyyənləşdirilir.
Proqramlaşdırma dilinin seçilməsi və ilkin proqramın tərtibi. Hazırda proqramlaşdırma üçün müxtəlif dillər mövcuddur. Həll olunan məsələnin xarakterinə, tətbiq olunan kompyuter üçün mövcud olan translyatorlara, proqramçının hazırlıq səviyyəsinə görə proqramlaşdırma dili seçilir. Sonra isə məsələnin həll alqoritmi əsasında seçilən dildə proqram tərtib edilir. Ona ilkin proqram deyilir.
İlkin proqramın kompyuter dilinə çevrilməsi və sazlanması. Kompyuter yalnız “öz” dilində ifadə olunan proqramı icra edir. Kompyuterin “öz” dili isə əmrlərdən təşkil olunur. Kompyuter dilində proqram isə alqoritmə uyğun olaraq yazılmış əmrlər ardıcıllığıdır. Bu mərhələdə proqramlaşdırma dilində yazılmış ilkin proqram kompyuter dilinə çevrilir. Bu iş translyator adlanan proqram vasitəsilə yerinə yetirilir. Bu zaman ilkin proqramda buraxılmış morfoloji və sintaksis səhvlər aşkar edilib proqramçıya çatdırılır. Səhvlər aradan qaldırıldıqdan sonra tərcümə prosesi davam etdirilir və kompyuter dilində proqram alınır. Bu proqrama mütləq və ya işçi proqram deyilir. Sonra işçi proqramın düzgün işləməsini yoxlamaq məqsədi ilə yoxlama misalında o, sınaqdan keçirilir. Proqramdakı məntiqi səhvlərin aşkarlanıb aradan qaldırılması prosesinə proqramın sazlanması deyilir.
İşçi proqramın icrası, nəticələrin alınması və təhlili. Proqram sazlandıqdan sonra ondan tətbiqi məsələnin həlli üçün istifadə etmək olar. Bu zaman proqram müxtəlif ilkin verilənlər dəsti üçün bir neçə dəfə icra olunur. Alınmış nəticələr mütəxəssis və ya məsələni qoyan istifadəçi tərəfindən təhlil olunur. Əgər təhlil prosesində nəticələr istifadəçini təmin etmirsə, o, yeni tələblərini qoya bilər və ya əvvəlki tələblərdə dəyişiklik edə bilər. Bu halda yeni tələblərin xarakterindən asılı olaraq məsələnin qoyuluşunda, alqoritmdə və ya proqramda müəyyən dəyişikliklər edilir.
Alqoritm və onun xassələri
Alqoritm – verilmiş hər hansı tip məsələnin həlli üçün yerinə yetiriləcək əməliyyatlar ardıcıllığıdır. Ümumi şəkildə desək, alqoritm məsələnin həll yoludur, başqa sözlə, məsələnin həllini təmin edən formal qaydalar sistemidir.
Bizim hər bir görəcəyimiz iş müəyyən bir alqoritmə əsaslanır. Məsələn, yeməyin hazırlanma resepti, mebelin quraşdırılması üzrə təlimat, kompyuter proqramlarının istifadəsi üçün dərslik və s. Bu siyahını istənilən qədər artırmaq olar.
Alqoritmin dəqiq riyazi tərifi yoxdur.
Alqoritmin yaranma tarixi
Alqoritm anlayışı riyaziyyatda eyni tip məsələlərin həllində ümumi metodların axtarılması ilə əlaqədar olaraq meydana çıxmışdır. Çoxrəqəmli onluq ədədlər üzərində hesab əməllərinin aparılması qaydaları (alqoritmləri) ilk dəfə IX əsrin görkəmli özbək riyaziyyatçısı Əl-Xarəzm tərəfindən verilmişdir. Alqoritm termini də məhz bu riyaziyyatçının adı ilə bağlıdır (Algorithmi). Onun hesab elminə dair yazdığı “Hind rəqəmləri ilə hesablama kitabı” adlı əsərinin latınca tərcüməsi gəlib bizə çatmışdır. Bu kitab “Alqoritm dedi” kəlmələri ilə başlayır. Burada işlədilən “Alqoritm” sözü uzun müddət riyaziyyatçılar üçün riyazi sirr olaraq qalmışdır. Nəhayət, XIX əsrin 40-cı illərində dəqiq müəyyən edildi ki, bu söz “ƏL-XARƏZMİ” sözünün latıncada düzgün olmayan tələffüzü nəticəsində alınmışdır.
Məsələnin kompyuterdə həlli baxımından alqoritm axtarılan cavabların alınması üçün məsələnin verilənləri üzərində icra olunan hesab və məntiqi əməllər (mərhələlər) ardıcıllığıdır. Bu mərhələlərdə uyğun olaraq hesab və müqayisə əməlləri yerinə yetirilir. Müqayisənin nəticəsindən asılı olaraq digər mərhələnin icrasına keçilir.
- Hesablamada mütləq qiymətcə kompyuterdə təsvir oluna biləcək maksimal ədəddən böyük ədədin alınması;
- Sıfırın və ya mənfi ədədlərin loqarifmlərinin hesablanması;
- Mənasız hesablamaların aparılmasına cəhd göstərilməsi (məs, |x|>1 olduqda, arcsin x və ya arccos x-in hesablanması) və s.
Alqoritmin əsas xassələri
Alqoritm həll ounan məsələnin xarakteri ilə bağlı olduğu üçün onun yaradılmasında ümumi qaydalar yoxdur. Lakin hər bir həll alqoritmi tərtib edilərkən onun müəyyən tələblərə cavab verməsi nəzərə alınmalıdır. Bu tələblərə alqoritmin xassələri deyilir.
Alqoritmin əsas xassələri aşağıdakılardır:
- Determiniklik (müəyyənlik)
- Kütləvilik
- Nəticəvilik (sonluluq)
- Diskretlik
Alqoritmdəki hər bir mərhələnin məzmunu və mərhələlərin yerinə yetirilmə ardıcıllığı müəyyən olmalıdır. Bu, alqoritmin müəyyənlik xassəsini təşkil edir.
2. Kütləvilik
Bu xassə iki tələbi nəzərdə tutur:
- müəyyən məsələnin həlli üçün qurulmuş alqoritm həmin tipdən olan bütün məsələlərin həlli üçün yararlı olmalıdır;
- alqoritm elə təsvir olunmalıdır ki, ondan hamı istifadə edə bilsin.
Alqoritmdəki mərhələlərin və onları təşkil edən əməliyyatların sayı sonlu olmalıdır ki, onların yerinə yetirilməsi axtarılan nəticəyə gətirib çıxara bilsin.
4. Diskretlik
Alqoritmdəki mərhələlərin hər biri sonlu zaman müddətində yerinə yetirilməlidir. Belə diskret zaman müddəti takt adlanır.
Hər bir mərhələ yalnız əvvəlki mərhələnin yerinə yetirilməsindən sonra başlayır.
Alqoritmin təsvir üsulları
- Sözlə təsvir (Təbii dillə);
- Alqoritmik dillə təsvir (proqram);
- Qrafik təsvir (Blok-sxem).
Sözlə təsvir
Sözlə təsvir olunan alqoritmin icrası insan tərəfindən aparılır.
- 5 və 4ədədləri daxil edilir
- vurma cədvəlindən istifadə edərək 5x4 = 20hasili tapılır
- 20cavabı qeyd olunur
Alqoritmik dil
Alqoritmin ən yığcam təsvir vasitəsi alqoritmik dildir. Bu üsul alqoritmin icrasının kompyuter tərəfindən yerinə yetirildiyi halda daha əlverişlidir. Çünki alqoritmik dildə təsvir olunan alqoritm həm də məsələnin ilkin proqramıdır. Lakin bu üsul mürəkkəb alqoritmlərin oxunub başa düşülməsini xeyli çətinləşdirir.
Misal. Sözlə təsvir etdiyimiz alqoritmi alqoritmik dildə təsvir edək. İki ədədin – 5 və 4 ədədlərinin hasilinin tapılması alqoritminə baxaq.
alqoritm | a və b ədədinin hasilinin tapılması
verilir | a, b
tapmalı | c=a*b
başlanğıc | a=5, b=4
hesablama | c=5*4
nəticə | c=20
Qrafik (blok-sxem) üsul
Alqoritmin təsvirində ən geniş tətbiq edilən üsul blok-sxem üsuludur. Bu üsulda alqoritm, hər biri müəyyən funksiyanı yerinə yetirən bloklar ardıcıllığı şəklində təsvir olunur. Adətən bir blok alqoritmin bir mərhələsinə uyğun olur. Lakin bir blokda bir neçə eyni tipli mərhələ və ya əksinə, bir mərhələ bir neçə blokda təsvir oluna bilər. Bloklar həndəsi fiqur şəklində ifadə olunur və bir-biri ilə şaquli, yaxud üfüqi xətlərlə birləşdirilir. Əgər xətlərin uclarında istiqaməti göstərən ox işarəsi yoxdursa, onda keçidin şaquli istiqamətdə yuxarıdan aşağıya, üfüqi istiqamətdə isə soldan sağa verildiyi qəbul olunmuşdur. Lazım gəldikdə bloklar nömrələnir.
Blokların qrafik şəkildə ifadə olunması üçün Proqram Sənədlərinin Vahid Sistemi (PSVS) çərçivəsində standart qəbul olunmuşdur.
Alqoritmin blok-sxemini bütöv şəkildə qurmaq məsləhətdir, lakin lazım gəldikdə, blokları birləşdirən xətlərı qırmaq mümkündür. Bu zaman həmin hissələr arasında əlaqə birləşdirici çevrə vasitəsilə göstərilir. Əgər blok-sxem bir neçə səhifədə yerləşirsə, blok-sxemin hissələri arasında əlaqələr səhifəarası birləşdirici vasitəsilə yaradılır.
Alqoritmin blok-sxemlə təsvirində hər bir mərhələnin məzmunu, mərhələlərin icra ardıcıllığı, təkrarlanan hissələr (dövrlər) aydın görünür.
Blokların şərti işarələri
Prosesin başlanmasını və ya sonunu bildirir
Verilənlərin qiymətini, təsvir formasını və ya yerləşməsini dəyişən əməliyyat və ya əməliyyatlar qrupu
Verilənlərin kompyuterə daxil edilməsi və ya komyuterdən xaric edilməsi
Müəyyən şərtdən asılı olaraq hesablama istiqamətinin seçilməsi
Nəticələrin kağıza köcçürülməsi
Maqnit diskindən verilənlərin daxil və xaric edilməsi
Əvvəlcədən hazırlanmış alqoritmlərdən (altalqoritm) və ya proqramlardan (altproqram) istifadə olunması
Səhifə daxilində bloklararası əlaqələrin göstəricisi
Müxtəlif səhifələrdə yerləşən alqoritm hissələri arasında əlaqələr
Bloka izahat verilməsi
Alqoritmin strukturu
- Xətti
- Budaqlanan
- Dövri (təkrarlanan)
Xətti alqoritmik struktur
Xətti alqoritmik struktur iki və daha çox prosesin ardıcıllığından ibarət olur. Onun tərkibində şərt (seçmə) bloku olmur. Bu strukturu sxematik olaraq belə göstərmək olar:
Xətti alqoritmik struktura aid misal
Tərəfləri a, b, c olan üçbucağın sahəsinin hesablanması alqoritmi.
Bilirik ki, üçbucağın sahəsi
düsturu ilə hesablanır. Burada .
Alqoritm anlayışı
Alqoritm – verilmiş hər hansı tip məsələnin həlli üçün yerinə yetiriləcək əməliyyatlar ardıcıllığıdır. Ümumi şəkildə desək, alqoritm məsələnin həll yoludur, başqa sözlə, məsələnin həllini təmin edən formal qaydalar sistemidir.
Bizim hər bir görəcəyimiz iş müəyyən bir alqoritmə əsaslanır. Məsələn, yeməyin hazırlanma resepti, mebelin quraşdırılması üzrə təlimat, kompyuter proqramlarının istifadəsi üçün dərslik və s. Bu siyahını istənilən qədər artırmaq olar.
Alqoritmin dəqiq riyazi tərifi yoxdur.
Alqoritmin yaranma tarixi
Alqoritm anlayışı riyaziyyatda eyni tip məsələlərin həllində ümumi metodların axtarılması ilə əlaqədar olaraq meydana çıxmışdır. Çoxrəqəmli onluq ədədlər üzərində hesab əməllərinin aparılması qaydaları (alqoritmləri) ilk dəfə IX əsrin görkəmli özbək riyaziyyatçısı Əl-Xarəzm tərəfindən verilmişdir.
Alqoritm termini də məhz bu riyaziyyatçının adı ilə bağlıdır (Algorithmi). Onun hesab elminə dair yazdığı “Hind rəqəmləri ilə hesablama kitabı” adlı əsərinin latınca tərcüməsi gəlib bizə çatmışdır. Bu kitab “Alqoritm dedi” kəlmələri ilə başlayır. Burada işlədilən “Alqoritm” sözü uzun müddət riyaziyyatçılar üçün riyazi sirr olaraq qalmışdır. Nəhayət, XIX əsrin 40-cı illərində dəqiq müəyyən edildi ki, bu söz “ƏL-XARƏZMİ” sözünün latıncada düzgün olmayan tələffüzü nəticəsində alınmışdır. Məsələnin kompyuterdə həlli baxımından alqoritm axtarılan cavabların alınması üçün məsələnin verilənləri üzərində icra olunan hesab və məntiqi əməllər (mərhələlər) ardıcıllığıdır. Bu mərhələlərdə uyğun olaraq hesab və müqayisə əməlləri yerinə yetirilir. Müqayisənin nəticəsindən asılı olaraq digər mərhələnin icrasına keçilir. Alqoritmdəki hesab əməlləri arasındakı məntiqi əməllər kompyuterin qəbul edə biləcəyi şəkildə verilməlidir. Məntiqi şərtlər içərisində aşağıdakılar xüsusi yer tutur, çünki onların yaranması hesablama prosesinin normal gedişinə imkan vermir:
1. Hesablamada mütləq qiymətcə kompyuterdə təsvir oluna biləcək maksimal ədəddən böyük ədədin alınması;
2. Sıfırın və ya mənfi ədədlərin loqarifmlərinin hesablanması;
3. Mənasız hesablamaların aparılmasına cəhd göstərilməsi (məs, |x|>1 olduqda, arcsin x və ya arccos x-in hesablanması) və s.
Alqoritmin əsas xassələri
Alqoritm həll ounan məsələnin xarakteri ilə bağlı olduğu üçün onun yaradılmasında ümumi qaydalar yoxdur. Lakin hər bir həll alqoritmi tərtib edilərkən onun müəyyən tələblərə cavab verməsi nəzərə alınmalıdır. Bu tələblərə alqoritmin xassələri deyilir.
Alqoritmin əsas xassələri aşağıdakılardır:
·Determiniklik (müəyyənlik)
·Kütləvilik
·Nəticəvilik (sonluluq)
·Diskretlik
1. Determiniklik (müəyyənlik) Alqoritmdəki hər bir mərhələnin məzmunu və mərhələlərin yerinə yetirilmə ardıcıllığı müəyyən olmalıdır. Bu, alqoritmin müəyyənlik xassəsini təşkil edir.
2. Kütləvilik Bu xassə iki tələbi nəzərdə tutur:
a)müəyyən məsələnin həlli üçün qurulmuş alqoritm həmin tipdən olan bütün məsələlərin həlli üçün yararlı olmalıdır;
b)alqoritm elə təsvir olunmalıdır ki, ondan hamı istifadə edə bilsin.
3. Nəticəvilik Alqoritmdəki mərhələlərin və onları təşkil edən əməliyyatların sayı sonlu olmalıdır ki, onların yerinə yetirilməsi axtarılan nəticəyə gətirib çıxara bilsin.
4. Diskretlik Alqoritmdəki mərhələlərin hər biri sonlu zaman müddətində yerinə yetirilməlidir. Belə diskret zaman müddəti takt adlanır. Hər bir mərhələ yalnız əvvəlki mərhələnin yerinə yetirilməsindən sonra başlayır.
Alqoritmin təsvir üsulları
Alqoritmin təsviri üçün istifadə olunan əsas üsullar aşağıdakılardır:
·Sözlə təsvir (Təbii dillə);
·Alqoritmik dillə təsvir (proqram);
·Qrafik təsvir (Blok-sxem).
Comments are closed, but trackbacks and pingbacks are open.