10.08M
Категория: ИнформатикаИнформатика

Azərbaycan Respublikasının Elm və Təhsil Nazirliyi

1.

Azərbaycan Respublikasının Elm və
Təhsil Nazirliyi
Bakı Mühəndislik Universiteti
Fakultə: İqtisadiyyat və idarəetmə
İxtisas: Biznesin təşkili və idarəedilməsi
(Elektron idarəetmə)
Kurs: I
Təhsil pilləsi: magistr
Fərdi fəaliyyət
Mövzu: Regulation of algorithm
Müəllim: s e. f. d. Manaf Bağırzadə
Magistrant: İlahə Əliyeva
Abşeron 2024

2.

Alqoritm[ — verilmiş məsələni həll etmək üçün
ilkin verilənlərlə icra olunan hesabi və hər hansı
məsələnin həlli üçün məntiqi əməliyyatların sonlu
sayda ardıcıllığıdır[3].
Latınca qayda-qanun deməkdir. Alqoritm 783 –
850-ci illərdə Xarəzmdə (indiki Özbəkistanda şəhər)
yaşamış IX əsrin məşhur fars riyaziyyatçısı
Məhəmməd İbn Musa əl-Xarəzminin (yəni Xarəzm
Musa oğlu Məhəmmədin) 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.

3.

Alqoritmin xassələri
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.Diskretlilik xassəsi. Hər bir alqoritm məsələnin həll prosesini sadə addımların yerinə yetirilməsi
ardıcıllığı şəklində ifadə edir və hər bir addımın yerinə yetirilməsi üçün sonlu zaman fasiləsi tələb olunur,
yəni başlanğıc verilənlərlə icra olunan hesabi və məntiqi əməliyyatların yerinə yetirilməsi və nəticənin
alınması zamana görə diskret yerinə yetirilir.
2.Müəyyənlik xassəsi. Hər bir alqoritm dəqiq, birqiymətli olmalıdır. Bu xassəyə əsasən alqoritm yerinə
yetirildikdə istifadəçinin və onun istifadə etdiyi kompüterdən asılı olmayaraq eyni nəticə əldə edilməlidir.
3.Kütləvilik xassəsi. Müəyyən sinif məsələnin həlli üçün qurulmuş alqoritm bu sinfə aid olan yalnız
başlanğıc qiymətləri ilə fərqlənən bütün məsələlərin həllini təmin etməlidir. Məsələn, ax2 + bx + c = 0
kvadrat tənliyi üçün qurulmuş alqoritm a, b, c – nin ixtiyari qiymətləri üçün məsələni həll edir.
4.Nəticəlilik və sonluluq xassəsi. Alqoritm sonlu sayda addımdan sonra başa çatmalı və verilmiş
məsələnin həlli tapılmalıdır.
Riyaziyyatda və informatikada məsələnin həllinin alqoritmi yerinə yetirilibsə, məsələ qismən həll edilmiş
sayılır.

4.

Proqramlaşdırmada məsələni alqoritmləşdirməkdən qabaq aşağıdakı addımlar yerinə yetirilməlidir:
1. Məsələnin riyazi qoyuluşu:
1.1. ilkin verilənlərin sadalanması;
1.2. nəticələrin sadalanması;
1.3. İlkin verilənlərin məhdudiyyət şərtləri.
2. Riyazi model: nəticələri almaq üçün lazım olan bütün qayda və qanunlar
3. riyazi modelin optimal istifadə olunması.

5.

Alqoritmlərin qurulması və başa düşülməsi

6.

Alqoritmlər proqramlaşdırma dünyasında əsas rol oynayır. Bunlar problemlərin həlli və proqramların
yaradılması üçün əsas vasitələrdir. Təcrübənizdən asılı olmayaraq, səmərəli alqoritmlər yaratmaq bacarığı
proqramçı üçün vacib bir bacarıqdır.
Proqramlaşdırma ilə yanaşı, alqoritmlər biznes proseslərinin idarə edilməsindən tutmuş, marketinq
strategiyalarının qurulmasına qədər bir çox sahədə istifadə olunur. Effektiv alqoritmlər olmadan müasir
texnologiya dünyasını təsəvvür etmək çətindir.
Alqoritmlər proqramçılara problemləri daha səmərəli həll etməyə və prosesləri optimallaşdırmağa
imkan verir. Onlar proqram performansını yaxşılaşdırmağa, sistem yükünü azaltmağa və tapşırıqların icra
müddətini azaltmağa kömək edir.
Alqoritmlər yaratmaq bacarığı mürəkkəb problemləri təhlil etməyə, onları daha sadə komponentlərə
ayırmağa və effektiv həllər tapmağa imkan verir. Alqoritmik təfəkkür bacarığı proqramçıya öz fikirlərini
strukturlaşdırmağa, proqramın məntiqini başa düşməyə və proqram kodunu tərtib edərkən əsaslandırılmış
qərarlar qəbul etməyə kömək edir.
Alqoritmik təfəkkürün inkişafı proqramçının yaradıcı potensialının artmasına da kömək edir. O,
problemlərin həlli üçün yeni yollar tapmağa, mövcud alqoritmləri təkmilləşdirməyə və optimallaşdırmağa,
innovativ proqram həlləri yaratmağa imkan verir.
Təbii ki, bu bacarıqların inkişafı vaxt, təcrübə və davamlı öyrənmə tələb edir. Bununla belə, bu səylər
dəfələrlə öz bəhrəsini verir, proqramlaşdırma imkanlarına qapılar açır və karyeranızda uğur qazanmağınıza
kömək edir.

7.

Alqoritmlər nədir?
Alqoritm müəyyən bir problemin həllinə və ya müəyyən nəticəyə nail olmağa aparan addımlar və
göstərişlər ardıcıllığıdır. Alqoritmlər problemi həll etmək üçün lazım olan əməliyyatların və hərəkətlərin
ardıcıllığını müəyyən edir. Onlara proqramın səmərəli işləməsinə və məqsədlərinə çatmasına imkan verən
şərtlər, dövrələr, məlumat əməliyyatları və digər elementlər daxil ola bilər.

8.

Alqoritmlər üçün əsas anlayışlar
Proqramlaşdırmada alqoritmlərlə işləyərkən giriş dataları, çıxış dataları və hərəkətlərin ardıcıllığı kimi
əsas anlayışları bilmək vacibdir.
Giriş dataları alqoritmin girişinə verilən məlumatdır. Bu, alqoritmin işləyəcəyi rəqəmlər, sətirlər, obyektlər
və ya digər məlumatlar ola bilər.
Çıxış dataları alqoritmin yerinə yetirildikdən sonra olan nəticəsidir. Çıxışlar nömrələr, sətirlər, obyektlər
və ya problemin həllinin nəticəsini təmsil edən digər dəyərlər ola bilər.
Hərəkətlərin ardıcıllığı alqoritmdə əməliyyatların və göstərişlərin yerinə yetirildiyi xüsusi bir ardıcıllıqdır.
Hər bir hərəkət alqoritm və məqsədlərin məntiqinə uyğun olaraq ardıcıl olaraq həyata keçirilir.
Alqoritmin əsas addımları. Bir proqramçı üçün alqoritmin əsas ideyası

9.

Alqoritmin qurulmasının əsas mərhələləri
Alqoritmin qurulması mürəkkəb problemin daha sadə alt tapşırıqlara bölünməsi və onların həlli üçün
hərəkətlərin ardıcıllığının müəyyən edilməsi prosesidir. Bu prosesin əsas mərhələlərinə nəzər salaq.
Problemin və ya çətinliyin müəyyən edilməsi: İlk addım hansı problemin həll edilməli olduğunu və ya hansı
problemin öhdəsindən gəlmək lazım olduğunu anlamaqdır. Problemi aydın şəkildə müəyyənləşdirmək,
diqqətinizi ən yaxşı həll yolunu tapmağa kömək edəcək. Bu, həmçinin alqoritmdən istifadə edərək hansı
nəticələrin əldə edilməli olduğunun izahını verir.
Tapşırığı alt tapşırıqlara bölmək: Böyük tapşırıqlar daha kiçik və daha idarə oluna bilən alt tapşırıqlara bölünə
bilər. Bu, problemi daha effektiv həll etməyə və hərəkətlər ardıcıllığından ibarət alqoritm yaratmağa kömək
edəcək. Bundan əlavə, bu parçalanma alqoritmin işlənib hazırlanma və həyata keçirilmə prosesini də
asanlaşdırır.
Hərəkətlərin ardıcıllığını müəyyənləşdirmək: Tapşırıq alt tapşırıqlara bölündükdə, hər bir alt tapşırığı həll
etmək və konkret nəticə əldə etmək üçün yerinə yetirilməli olan hərəkətlərin və ya addımların ardıcıllığını
müəyyənləşdirin. Məntiqi əlaqəli alqoritm yaratmaq üçün hərəkətləri düzgün ardıcıllıqla təşkil edin.
Məntiqi konstruksiyaların tətbiqi: Alqoritmin icrasına daha çevik və səmərəli nəzarət etmək üçün şərtlər və
dövrlər kimi məntiqi konstruksiyalardan istifadə edin. Şərtlər müəyyən şərtlərdən asılı olaraq müxtəlif hərəkətləri
yerinə yetirməyə imkan verir, dövrlər isə hərəkətləri müəyyən sayda və ya müəyyən şərt yerinə yetirilənə qədər
təkrarlamağa imkan verir.
Alt tapşırıqları ümumi bir alqoritmdə birləşdirmək: Hər bir alt tapşırıq üçün fərdi addımları müəyyən etdikdən
və inkişaf etdirdikdən sonra, onları orijinal problemin həllini təmin edəcək ümumi alqoritmdə birləşdirmək
lazımdır.
Bu addımları yerinə yetirməklə siz müxtəlif proqramlaşdırma məsələlərini həll etmək üçün asanlıqla və
sistemli şəkildə alqoritmlər qura bilərsiniz.

10.

Məntiqi konstruksiyaların tətbiqi
Şərtlər və dövrlər kimi məntiqi konstruksiyalar
alqoritmlərdə müəyyən şərtlərdən asılı olaraq kodun
icrasına nəzarət etməyə və lazım olan qədər
hərəkətləri təkrarlamağa imkan verən mühüm
alətlərdir. Gəlin onlara daha ətraflı nəzər salaq.
Şərtlər
Şərtlər yalnız müəyyən bir şərt doğru olduqda
müəyyən hərəkətləri yerinə yetirməyə imkan verir.
"if" şərti operator nümunəsi:
Vəziyyətin doğruluğu yoxlanılır.
Əgər şərt doğrudursa, o zaman xüsusi kod bloku
icra olunur.
Əgər şərt yanlışdırsa, o zaman blok daxilindəki kod
yerinə yetirilmir və proqram növbəti mərhələyə keçir.
Dövrü konstruksiyalar
Dövrlər müəyyən hərəkətləri bir neçə dəfə və ya
müəyyən bir şərt yerinə yetirilənə qədər təkrarlamağa
imkan verir.

11.

12.

Alqoritmləri anlamaq və qiymətləndirmək
Alqoritmlərin effektivliyinin qiymətləndirilməsi, alqoritmin nə qədər sürətli və yaxşı
işlədiyini başa düşməyin bir yoludur. Alqoritmləri qiymətləndirmək və ən yaxşı həlli
seçmək üçün bir neçə sadə üsuldan istifadə edə bilərik.

13.

Tətbiq müddətinin təxmini
Alqoritmin tətbiq müddətini təxmin etdikdə onun işini başa
çatdırması üçün nə qədər vaxt lazım olduğuna baxırıq.
Xüsusilə emal etmək üçün çoxlu məlumatımız olduqda tez
işləyən alqoritmlər yaratmaq istəyirik
Resurs istifadəsinin dəyərləndirilməsi
İcra müddətinə əlavə olaraq, alqoritmin nə qədər yaddaş
və ya digər resurslar tələb etdiyini də təxmin edə bilərik.
Yaxşı bir alqoritm lazımsız yer tutmamaq və əlavə
kompüter resurslarını sərf etməmək üçün resurslardan
səmərəli istifadə etməlidir.
Alqoritmlərin mürəkkəbliyini başa düşmək
Alqoritmin
mürəkkəbliyi
onun
giriş
datalarının
məlumatlarının ölçüsü artdıqca onun tətbiq müddətinin və
ya resurs istifadəsinin nə qədər tez dəyişdiyini təsvir edir.
Bəzi alqoritmlər kiçik problemlər üçün effektiv ola bilər,
lakin verilənlərin ölçüsünü artırdığımız zaman yavaş olur
və ya çoxlu resurs istifadə edir.
Alqoritmləri başa düşmək və qiymətləndirmək bizə tez
işləyən, resurslardan səmərəli istifadə edən və müxtəlif
həcmli məlumatların idarə edilməsi üçün miqyasını dəyişə
bilən ən yaxşı həlləri seçməyə kömək edir.

14.

Alqoritmik düşüncə
Alqoritmik düşünücə nədir və onu necə inkişaf etdirmək olar
Alqoritmik düşünücə, alqoritmlərdən istifadə edərək problemləri təhlil etmək və məntiqi
həllər hazırlamaq bacarığıdır. O, proqramlaşdırmada mühüm rol oynayır, çünki mürəkkəb
məsələləri daha sadə hissələrə bölməyə və ardıcıllıqla həll etməyə imkan verir.

15.

Alqoritmik düşüncənin bəzi əsas
aspektləri bunlardır:
Tapşırıqların bölünməsi: Mürəkkəb
tapşırığı daha kiçik alt tapşırıqlara bölün.
Bu, qərar prosesini daha idarəolunan
etməyə kömək edəcək. Problemin ümumi
təsviri ilə başlayın və ardıcıl olaraq hər biri
ayrıca həll oluna bilən daha sadə
tapşırıqlara bölün.
Abstraksiya: Problemin əsas aspektlərini
vurğulamaq və lazımsız detallara məhəl
qoymamaq bacarığı alqoritmin işlənməsini
sadələşdirməyə kömək edəcək. Nəticəyə
təsir etməyən detallara toxunmadan əsas
addımlara və həllin məntiqinə diqqət yetirin.

16.

Məntiqi qaydalar: Şərtləri (if-else) və dövrləri (for,
while) başa düşmək və tətbiq etmək alqoritmin
hərəkətinə nəzarət etməyə kömək edəcək. Şərtlər
müəyyən edilmiş şərtlərdən asılı olaraq müəyyən
hərəkətləri yerinə yetirməyə imkan verir və dövrlər şərt
ödənilənə qədər müəyyən hərəkətləri təkrarlayır.
Alqoritmlərin təhlili və təkmilləşdirilməsi: Alqoritmləri
qiymətləndirmək və təhlil etmək bacarığını inkişaf
etdirin. Tədricən hansı alqoritmlərin effektiv olduğunu və
hansının təkmilləşdirilə biləcəyini anlayın. Problemin
həlli üçün müxtəlif yanaşmaları müqayisə edin və ən
optimallarını seçin.
Alqoritmik düşüncənin birbaşa inkişafı yalnız təcrübə
və müxtəlif məsələlərin həlli ilə mümkündür. Nə qədər
çox məşq etsəniz və müxtəlif problemlərə məruz
qalsanız, anlayışınız və səmərəli alqoritmlər yaratmaq
bacarığınız bir o qədər yaxşı olar.
Yadda
saxlamaq
lazımdır
ki,
alqoritmlərin
mənimsənilməsi daimi özünü təkmilləşdirmə prosesidir.
Bununla
dayanmayın,
bacarıqlarınızı
daim
təkmilləşdirməyə

getdikcə
mürəkkəbləşən
problemləri həll etməyə çalışın.
English     Русский Правила