Konkret icraçı qərarı üçün alqoritmin icrası. Kompüter elmləri və informasiya texnologiyaları. Alqoritmləri təsvir etmək yolları

Açar sözlər:

  • alqoritm
  • alqoritmin xassələri
    • diskretlik
    • aydınlıq
    • əminlik
    • effektivlik
    • kütləvi xarakter
  • icraçı
  • ifaçı xüsusiyyətləri
    • həll edilməli olan bir sıra vəzifələr
    • çərşənbə
    • iş rejimi
    • komanda sistemi
  • alqoritmin formal icrası

3.1.1. Alqoritm anlayışı

İçindəki hər bir insan Gündəlik həyat, təhsildə və ya işdə müxtəlif mürəkkəblikdə çoxlu sayda problemləri həll edir. Mürəkkəb problemlər həllini tapmaq üçün çox düşünməyi tələb edir; İnsan sadə və tanış olan işləri düşünmədən, avtomatik həll edir. Əksər hallarda hər bir problemin həllini sadə mərhələlərə (addımlara) bölmək olar. Bir çox belə tapşırıqlar üçün (quraşdırma proqram təminatı, kabinetin yığılması, internet saytının yaradılması, texniki cihazın işlədilməsi, internet vasitəsilə aviabiletin alınması və s.) artıq işlənib hazırlanmış və təklif edilmişdir. addım-addım təlimatlar, bu, ardıcıl olaraq icra edildikdə, istənilən nəticəyə səbəb ola bilər.

Misal 1. “İki ədədin arifmetik ortasını tapın” məsələsi üç mərhələdə həll olunur:

  • iki ədəd düşünün;
  • nəzərə iki ədəd əlavə edin;
  • alınan məbləği 2-yə bölün.

Misal 2. “Telefon hesabınıza pul qoyun” tapşırığı aşağıdakı addımlara bölünür:

  • ödəniş terminalına gedin;
  • telekommunikasiya operatorunu seçmək;
  • telefon nömrəsini daxil edin;
  • daxil edilmiş nömrənin düzgünlüyünü yoxlayın;
  • veksel qəbul edənə əskinas daxil edin;
  • hesabınıza pulun daxil olması barədə mesaj gözləyin;
  • çek almaq.

Misal 3. "Gülməli bir kirpi çəkin" probleminin həlli mərhələləri qrafik olaraq təqdim olunur:

Orta hesabın tapılması, telefon hesabına pul yatırılması və kirpi çəkmək ilk baxışda tamam başqa proseslərdir. Lakin onların ümumi bir xüsusiyyəti var: bu proseslərin hər biri qısa təlimatların ardıcıllığı ilə təsvir olunur, onlara ciddi riayət etmək lazımi nəticəni əldə etməyə imkan verir. 1-3-cü misallarda verilmiş təlimatların ardıcıllığı müvafiq məsələlərin həlli üçün alqoritmlərdir. Bu alqoritmlərin icraçısı şəxsdir.

Alqoritm hesablamaların müəyyən ardıcıllığının (nümunə 1) və ya qeyri-riyazi xarakterli addımların təsviri ola bilər (nümunələr 2-3). Amma hər halda, onun inkişafı əvvəl, the ilkin şərtlər(giriş məlumatları) və nəyin alınacağı (nəticə). Deyə bilərik ki, alqoritm bir problemin həllində ilkin məlumatdan tələb olunan nəticəyə aparan addımlar ardıcıllığının təsviridir.

Ümumiyyətlə, alqoritmin əməliyyat diaqramı aşağıdakı kimi təqdim edilə bilər (Şəkil 3.1):

düyü. 3.1.
Alqoritmin ümumi sxemi

Alqoritmlər məktəbdə öyrənilən ədədlərin toplama, çıxma, vurma və bölmə qaydaları, qrammatik qaydalar, həndəsi qurma qaydaları və s.

“Alqoritmlə işləmək”, “Ən böyük ümumi bölən”, “Ən kiçik ümumi çoxluq” (http://school-collection.edu.ru/) animasiyaları rus dili və riyaziyyat dərslərində öyrənilən bəzi alqoritmləri yadda saxlamağa kömək edəcək.

Misal 4. Bəzi alqoritm, bir simvol zəncirindən aşağıdakı kimi yeni bir zəncirin əldə edilməsinə səbəb olur:

  1. Simvolların mənbə sətirinin uzunluğu (simvollarla) hesablanır.
  2. Əgər orijinal zəncirin uzunluğu təkdirsə, onda sağdakı orijinal zəncirə 1 nömrəsi əlavə edilir, əks halda zəncir dəyişmir.
  3. Simvollar cüt-cüt dəyişdirilir (birinci ikinci ilə, üçüncü dördüncü ilə, beşinci altıncı ilə və s.).
  4. Yaranan zəncirin sağına 2 nömrəsi əlavə olunur.

Yaranan zəncir alqoritmin nəticəsidir.

Belə ki, əgər ilkin zəncir A#B idisə, o zaman alqoritmin nəticəsi #A1B2 zənciri, ilkin zəncir ABC@ idisə, alqoritmin nəticəsi BA@B2 zənciri olacaqdır.

3.1.2. Alqoritm icraçısı

Hər bir alqoritm müəyyən bir ifaçı üçün nəzərdə tutulmuşdur.

Rəsmi və qeyri-rəsmi ifaçılar var. Rəsmi ifaçı həmişə eyni əmri eyni şəkildə yerinə yetirir. Qeyri-rəsmi icraçı əmri müxtəlif üsullarla yerinə yetirə bilər.

Rəsmi ifaçılar toplusunu daha ətraflı nəzərdən keçirək. Formal ifaçılar son dərəcə müxtəlifdir, lakin onların hər biri üçün aşağıdakı xüsusiyyətlər müəyyən edilə bilər: həll ediləcək vəzifələrin diapazonu (məqsədi), mühit, komanda sistemi və iş rejimi.

Həll ediləcək tapşırıqların çeşidi. Hər bir ifaçı müəyyən bir sıra problemləri həll etmək üçün yaradılmışdır - simvollar zəncirinin qurulması, hesablamaların aparılması, müstəvidə rəsmlərin qurulması və s.

Rəssam mühiti. İfaçının fəaliyyət göstərdiyi sahə, şərait, şərait adətən verilmiş ifaçının mühiti adlanır. İstənilən alqoritmin mənbə məlumatları və nəticələri həmişə alqoritmin nəzərdə tutulduğu ifaçının mühitinə aiddir.

İcraçı komanda sistemi. İfaçıya ayrıca tamamlanmış hərəkəti yerinə yetirmək üçün verilən göstəriş əmr adlanır. Bəzi icraçı tərəfindən yerinə yetirilə bilən bütün əmrlər toplusu bu icraçı (SKI) üçün əmrlər sistemini təşkil edir. Alqoritm konkret ifaçının imkanları nəzərə alınmaqla, başqa sözlə, onu icra edəcək ifaçının əmrlər sistemində tərtib edilir.

İcraçının iş rejimləri. Əksər ifaçılar üçün birbaşa idarəetmə rejimləri və proqram nəzarəti. Birinci halda, ifaçı bir şəxsdən əmrlər gözləyir və alınan hər bir əmri dərhal yerinə yetirir. İkinci halda, ifaçıya əvvəlcə tam əmrlər ardıcıllığı (proqram) verilir və sonra o, bütün bu əmrləri icra edir. avtomatik rejim. Bir sıra ifaçılar yalnız adı çəkilən rejimlərdən birində işləyirlər.

İfaçıların nümunələrinə baxaq.

Misal 5. İfaçı Tısbağa kompüter ekranında hərəkət edərək xətt şəklində bir iz buraxır. Tısbağanın komanda sistemi iki əmrdən ibarətdir:

    İrəli n (burada n tam ədəddir) - Tısbağanın hərəkət istiqamətində n addım hərəkət etməsinə səbəb olur - başının və bədəninin üzləşdiyi istiqamətdə;

    Sağ m (burada m tam ədəddir) - Tısbağanın hərəkət istiqamətinin saat əqrəbi istiqamətində m dərəcə dəyişməsinə səbəb olur.

Qeydin Təkrarlanması k [<Команда1> <Команда2> ... <Командаn>] o deməkdir ki, mötərizədə olan əmrlərin ardıcıllığı k dəfə təkrarlanacaq.

Tısbağa aşağıdakı alqoritmi tamamladıqdan sonra ekranda hansı fiqurun görünəcəyini düşünün.

    12-ni təkrarlayın [Sağ 4 5 İrəli 20 Sağ 45]

Misal 6. İcraçı əmrlər sistemi Kompüter iki əmrdən ibarətdir və onlara nömrələr verilir:

    1 - 1-i çıxarın
    2 - 3-ə vurun

Bunlardan birincisi rəqəmi 1, ikincisi isə 3 dəfə artırır. Alqoritmlər yazarkən qısalıq üçün yalnız əmr nömrələri göstərilir. Məsələn, 21212 alqoritmi aşağıdakı əmrlər ardıcıllığını bildirir:

    3-ə vurun
    1 çıxarmaq
    3-ə vurun
    1 çıxarmaq
    3-ə vurun

Bu alqoritmdən istifadə edərək 1 rəqəmi 15-ə çevriləcək: ((1-3-1)-3-1)-3 = 15.

Misal 7. İfaçı Robot damalı sahədə işləyir, bitişik hüceyrələr arasında divarlar ola bilər. Robot sahənin xanaları boyunca hərəkət edir və nömrələr təyin edilmiş aşağıdakı əmrləri yerinə yetirə bilər:

    1 - Yuxarı
    2 - Aşağı
    3 - sağ
    4 - Sol

Hər bir belə əmri yerinə yetirərkən, Robot göstərilən istiqamətdə qonşu hücrəyə keçir. Əgər hüceyrələr arasında bu istiqamətdə divar varsa, o zaman Robot məhv olur. Robot A xanasından hərəkət etməyə başlayaraq 32323 (burada rəqəmlər komanda nömrələrini göstərir) əmrlərinin ardıcıllığını yerinə yetirərsə, onunla nə baş verəcək? Robot divarlara dəyərkən yıxılmadan A xanasından B xanasına keçmək üçün hansı əmrlər ardıcıllığını yerinə yetirməlidir?

Alqoritm hazırlayarkən:

  1. problemdə görünən obyektlər müəyyən edilir, obyektlərin xassələri, obyektlər arasında əlaqələr və mümkün tədbirlər obyektlərlə;
  2. ilkin məlumatlar və tələb olunan nəticə müəyyən edilir;
  3. ilkin məlumatdan nəticəyə keçidi təmin edən ifaçının hərəkətlərinin ardıcıllığı müəyyən edilir;
  4. icraçının komanda sisteminə daxil olan əmrlərdən istifadə etməklə hərəkətlərin ardıcıllığı qeyd olunur.

Deyə bilərik ki, alqoritm alqoritm icraçısının fəaliyyətinin modelidir.

3.1.3. Alqoritm xassələri

Hər bir göstəriş, göstərişlər ardıcıllığı və ya fəaliyyət planı alqoritm sayıla bilməz. Hər bir alqoritm mütləq aşağıdakı xüsusiyyətlərə malikdir: diskretlik, başa düşülənlik, müəyyənlik, effektivlik və kütləvi xarakter.

Diskretlik xassəsi problemin həlli yolunun ayrı-ayrı addımlara (hərəkətlərə) bölünməsi deməkdir. Hər bir hərəkətin müvafiq göstərişi (əmr) var. Yalnız bir əmri yerinə yetirdikdən sonra icraçı növbəti əmri yerinə yetirməyə başlaya bilər.

Anlaşılabilirlik xassəsi o deməkdir ki, alqoritm yalnız icraçının əmrlər sisteminə daxil olan əmrlərdən, yəni ifaçının qavradığı və ona uyğun olaraq tələb olunan hərəkətləri yerinə yetirə biləcəyi əmrlərdən ibarətdir.

Əminlik xassəsi alqoritmdə mənası ifaçı tərəfindən birmənalı şərh oluna bilən əmrlərin olmaması deməkdir; Növbəti əmri yerinə yetirdikdən sonra, növbəti addımda hansı əmri yerinə yetirəcəyi ifaçı üçün aydın olmayan vəziyyətlər qəbuledilməzdir.

Səmərəlilik xassəsi o deməkdir ki, alqoritm sonlu, bəlkə də çox böyük sayda addımlardan sonra nəticə əldə edə bilməlidir. Bu zaman nəticə təkcə problemin ifadəsi ilə müəyyən edilmiş cavab deyil, həm də hər hansı səbəbdən bu problemin həllini davam etdirməyin mümkünsüzlüyü haqqında nəticə hesab olunur.

Kütləvi istehsalın xassəsi o deməkdir ki, alqoritm müəyyən bir problem sinfindən istənilən problemi həll etmək üçün onun tətbiqi imkanını təmin etməlidir. Məsələn, kvadrat tənliyin köklərini tapmaq alqoritmi istənilən kvadrat tənliyə, küçəni kəsmə alqoritmi küçənin istənilən yerində, dərman hazırlamaq alqoritmi onun istənilən miqdarını hazırlamaq üçün tətbiq olunmalı, və s.

Misal 8. N-dən çox olmayan bütün sadə ədədləri tapmaq üsullarından birini nəzərdən keçirək. Bu üsul, onu təklif edən qədim yunan alimi Eratosthenesin şərəfinə adlandırılan "Eratosthenes ələk" adlanır.

Verilmiş n ədədindən çox olmayan bütün sadə ədədləri tapmaq üçün Eratosthenes metodu ilə aşağıdakı addımları yerinə yetirməlisiniz:

  1. 2-dən n-ə qədər bütün tam ədədləri ardıcıl olaraq yazın (2, 3, 4, ..., n);
  2. çərçivə 2 - ilk sadə ədəd;
  3. tapılan son sadə ədədə bölünən bütün nömrələri siyahıdan silmək;
  4. ilk işarələnməmiş nömrəni tapın (işarələnmiş nömrələr üzərindən xətt çəkilmiş nömrələr və ya çərçivəyə daxil edilmiş nömrələr) və onu çərçivəyə əlavə edin - bu başqa bir sadə nömrə olacaq;
  5. işarələnməmiş nömrə qalmayana qədər 3 və 4-cü addımları təkrarlayın.

"Eratosthenes ələk" animasiyasından (http://school-collection.edu.ru/) istifadə edərək, sadə ədədləri tapmaq üsulu haqqında daha vizual təsəvvür əldə edə bilərsiniz.

Nəzərə alınan hərəkətlər ardıcıllığı alqoritmdir, çünki o, aşağıdakı xüsusiyyətləri təmin edir:

  • diskretlik - sadə ədədlərin tapılması prosesi mərhələlərə bölünür;
  • başa düşülənlik - hər bir əmr bu alqoritmi yerinə yetirən 9-cu sinif şagirdi üçün başa düşüləndir;
  • əminlik - hər bir əmr ifaçı tərəfindən birmənalı şəkildə şərh olunur və yerinə yetirilir; əmrlərin icrası qaydası haqqında göstərişlər var;
  • effektivlik - müəyyən sayda addımdan sonra nəticə əldə edilir;
  • kütləvi xarakter - hərəkətlərin ardıcıllığı istənilən təbii n üçün tətbiq olunur.

Alqoritmin nəzərdən keçirilən xassələri alqoritmin daha dəqiq tərifini verməyə imkan verir.

3.1.4. İnsan fəaliyyətinin avtomatlaşdırılması imkanı

Alqoritmin işlənib hazırlanması adətən insandan dərin bilik, ixtiraçılıq və çox vaxt tələb edən əmək tutumlu işdir.

Hazır alqoritmdən istifadə etməklə məsələnin həlli yalnız ifaçıdan verilən göstərişlərə ciddi əməl etməyi tələb edir.

Misal 9. İstənilən sayda üçdən çox obyekt olan yığından iki oyunçu növbə ilə hər biri bir və ya iki obyekt götürür. Qalib, növbəti gedişində qalan bütün əşyaları götürə biləndir.

Gəlin bir alqoritmi nəzərdən keçirək, ondan sonra ilk oyunçu mütləq qələbəni təmin edəcəkdir.

  1. Əgər yığındakı obyektlərin sayı 3-ə bərabərdirsə, rəqibə yol verin, əks halda oyuna başlayın.
  2. Növbəti hərəkətinizlə hər dəfə rəqibinizin götürdüyü obyektlərin sayını 3-ə əlavə edin (qalan obyektlərin sayı 3-ə çox olmalıdır).

İfaçı etdiyi işin mənasını dərk etməyə bilər və niyə belə hərəkət etdiyini əsaslandırmaya bilər, başqa cür deyil, yəni formal hərəkət edə bilər. İfaçının formal fəaliyyət göstərmək qabiliyyəti insan fəaliyyətinin avtomatlaşdırılması imkanını təmin edir. Bunun üçün:

  1. məsələnin həlli prosesi sadə əməliyyatlar ardıcıllığı kimi təqdim olunur;
  2. maşın yaradılır ( avtomatik cihaz), bu əməliyyatları alqoritmdə göstərilən ardıcıllıqla yerinə yetirə bilən;
  3. insan gündəlik işlərdən azad olur, alqoritmin icrası avtomatik qurğuya həvalə olunur.

Ən əhəmiyyətli

İfaçı - hansısa obyekt (insan, heyvan, texniki cihaz), müəyyən əmrlər toplusunu yerinə yetirməyə qadirdir. Rəsmi ifaçı həmişə eyni əmri eyni şəkildə yerinə yetirir. Hər bir rəsmi ifaçı üçün aşağıdakıları təyin edə bilərsiniz: həll ediləcək tapşırıqların diapazonu, ətraf mühit, komanda sistemi və iş rejimi.

Alqoritm, ilkin məlumatdan tələb olunan nəticəyə aparan, diskretlik, başa düşülənlik, müəyyənlik, effektivlik və kütləvi xarakter xüsusiyyətlərinə malik olan konkret bir icraçı üçün nəzərdə tutulmuş hərəkətlər ardıcıllığının təsviridir.

İfaçının formal fəaliyyət göstərmək qabiliyyəti insan fəaliyyətinin avtomatlaşdırılması imkanını təmin edir.

Suallar və tapşırıqlar

  1. Alqoritm nə adlanır?
  2. “Resept” sözünün sinonimlərini tapın.
  3. Məktəbdə oxuduğunuz alqoritmlərə nümunələr verin.
  4. Alqoritmin icraçısı kim ola bilər?
  5. Rəsmi ifaçıya misal göstərin. Bir şəxs rəsmi ifaçı kimi çıxış etdikdə nümunə göstərin.
  6. Robot hansı əmrləri yerinə yetirməlidir: a) mağazada kassir; b) təmizlikçi; c) mühafizəçi?
  7. “Kompüter” ifaçısının yerinə yetirdiyi tapşırıqların diapazonunu nə müəyyənləşdirir?
  8. Bir ifaçı kimi düşünün söz prosessoru, kompüterinizdə mövcuddur. Bu ifaçı və onun mühiti tərəfindən həll olunan tapşırıqların çeşidini təsvir edin.
  9. Komanda, ifaçı əmrləri sistemi nədir?
  10. Alqoritmin əsas xüsusiyyətlərini sadalayın.
  11. Alqoritmdə hər hansı bir xüsusiyyətin olmaması nəyə gətirib çıxara bilər? Nümunələr verin.
  12. Alqoritmi rəsmi şəkildə icra etmək nə üçün vacibdir?
  13. Rəqəmlərin ardıcıllığı aşağıdakı alqoritmə uyğun qurulur: ardıcıllığın ilk iki ədədi 1-ə bərabər alınır; Ardıcıllıqdakı hər bir növbəti nömrə əvvəlki iki ədədin cəminə bərabər götürülür. Bu ardıcıllığın ilk 10 şərtini yazın.
  14. Bəzi alqoritm aşağıdakı kimi bir simvol sətirindən yeni zəncir əldə edir. Əvvəlcə orijinal simvol zənciri yazılır, ondan sonra orijinal simvol zənciri tərs ardıcıllıqla yazılır, sonra orijinal zəncirdə sonuncu yerdə olan hərfdən sonra rus əlifbasında gələn hərf yazılır. İlkin zəncirdə sonuncu yer Z hərfidirsə, onda növbəti hərf kimi A hərfi yazılır.Nəticədə zəncir alqoritmin nəticəsidir. Məsələn, orijinal simvol zənciri DOM idisə, alqoritmin nəticəsi DOMMODN zənciri olacaqdır. COM simvol sətri verilir. Alqoritmi bu zəncirə tətbiq etsəniz və sonra alqoritmi onun işinin nəticəsinə yenidən tətbiq etsəniz, alınacaq simvollar silsiləsində neçə O hərfi olacaq?
  15. İnternetdə Eratosthenes alqoritminin addımlarının animasiyasını tapın. 50-dən çox olmayan bütün sadə ədədləri tapmaq üçün Eratosthenes alqoritmindən istifadə edin.
  16. Tısbağanın alqoritmin icrası (5-ci misala bax) nə ilə nəticələnəcək?
      8-i təkrarlayın [Sağ 45 İrəli 45]
  17. Kalkulyatorun icraçısı üçün alqoritmi yazın (nümunə 6), tərkibində 5 əmrdən çox olmayan:
      a) 3 rəqəmindən 16 rəqəmini almaq;
      b) 1 rəqəmindən 25 rəqəminin alınması.
  18. İcraçı əmrlər sistemi Konstruktor nömrələr təyin olunan iki əmrdən ibarətdir:
      1 - 2 təyin edin
      2 - 2-yə bölün

    Onlardan birincisinə görə sağdakı rəqəmə 2 əlavə olunur, ikinciyə görə isə ədəd 2-yə bölünür. İfaçı 22212 alqoritmini icra edərsə, 8 rəqəmi necə çevriləcək? Bu icraçının əmr sistemində bir alqoritm yaradın, ona görə 1 rəqəmi 16 rəqəminə çevriləcək (alqoritmdə 5 əmrdən çox olmamalıdır).

  19. 3241 alqoritmini yerinə yetirdikdən sonra ona qayıtmaq üçün Robot icraçısı (nümunə 7) hansı xanada yerləşməlidir?

| § 2.1. Alqoritmlər və icraçılar

Dərs 14
§ 2.1. Alqoritmlər və icraçılar

Açar sözlər:

Alqoritm
alqoritmin xassələri (diskretlik; başa düşülənlik; müəyyənlik; effektivlik; kütləvi xarakter)
icraçı
ifaçının xüsusiyyətləri (həll ediləcək tapşırıqların çeşidi; mühit; iş rejimi; komanda sistemi)
alqoritmin formal icrası

2.1.1. Alqoritm anlayışı

Hər bir insan gündəlik həyatda, təhsildə və ya işdə müxtəlif mürəkkəblikdə çoxlu sayda problemləri həll edir. Mürəkkəb problemlər həllini tapmaq üçün çox düşünməyi tələb edir; İnsan sadə və tanış olan işləri düşünmədən, avtomatik həll edir. Əksər hallarda hər bir problemin həllini sadə mərhələlərə (addımlara) bölmək olar. Bu tapşırıqların bir çoxu üçün (proqram təminatının quraşdırılması, kabinetin yığılması, veb-saytın yaradılması, texniki qurğunun idarə edilməsi, internet vasitəsilə aviabiletin alınması və s.) artıq addım-addım təlimatlar işlənib hazırlanıb və təklif olunur. həyata keçirilməsi istənilən nəticəyə gətirib çıxara bilər.

Misal 1.“İki ədədin arifmetik ortasını tapın” məsələsi üç mərhələdə həll olunur:

1) iki ədəd düşünün;
2) iki planlaşdırılmış nömrə əlavə edin;
3) alınan məbləği 2-yə bölün.

Misal 2.“Telefon hesabınıza pul qoyun” tapşırığı aşağıdakı addımlara bölünür:

1) ödəniş terminalına getmək;
2) telekommunikasiya operatoru seçmək;
3) telefon nömrəsini daxil edin;
4) daxil edilmiş nömrənin düzgünlüyünü yoxlayın;
5) veksel qəbul edənə əskinas daxil etmək;
6) hesabınıza pulun daxil olması barədə mesaj gözləyin;
7) çek almaq.

Misal 3."Gülməli bir kirpi çəkin" probleminin həlli mərhələləri qrafik olaraq təqdim olunur:


Orta hesabın tapılması, telefon hesabına pul yatırılması və kirpi çəkmək ilk baxışda tamam başqa proseslərdir. Lakin onların ümumi bir xüsusiyyəti var: bu proseslərin hər biri qısa təlimatların ardıcıllığı ilə təsvir olunur, onlara ciddi riayət etmək lazımi nəticəni əldə etməyə imkan verir. 1-3-cü misallarda verilmiş təlimatların ardıcıllığı müvafiq məsələlərin həlli üçün alqoritmlərdir. Bu alqoritmlərin icraçısı şəxsdir.

Alqoritm hesablamaların müəyyən ardıcıllığının (nümunə 1) və ya qeyri-riyazi xarakterli addımların təsviri ola bilər (nümunələr 2-3). Amma hər halda, onun işlənməsindən əvvəl ilkin şərtlər (ilkin məlumatlar) və nəyin alınacağı (nəticə) dəqiq müəyyən edilməlidir. Deyə bilərik ki, alqoritm bir problemin həllində ilkin məlumatdan tələb olunan nəticəyə aparan addımlar ardıcıllığının təsviridir.

Ümumiyyətlə, alqoritmin işləmə diaqramı aşağıdakı kimi təqdim edilə bilər (şək. 2.1).

düyü. 2.1. Alqoritmin ümumi sxemi

Alqoritmlər məktəbdə öyrənilən ədədlərin toplama, çıxma, vurma və bölmə qaydaları, bir çox qrammatik qaydalar, həndəsi qurma qaydaları və s.

“Alqoritmlə işləmək” (193576), “Ən böyük ümumi bölən” (170363), “Ən kiçik ümumi çoxluq” (170390) animasiyaları rus dili və riyaziyyat dərslərində öyrənilmiş bəzi alqoritmləri yadda saxlamağa kömək edəcək (http://sc.edu. ru /).

Misal 4. Bəzi alqoritm, bir simvol zəncirindən aşağıdakı kimi yeni bir zəncirin əldə edilməsinə səbəb olur:

1. Orijinal simvol sətirinin uzunluğu (simvollarla) hesablanır.
2. Əgər ilkin zəncirin uzunluğu təkdirsə, onda sağdakı orijinal zəncirə 1 rəqəmi əlavə edilir, əks halda zəncir dəyişmir.
3. Simvollar cüt-cüt dəyişdirilir (birinci ikinci ilə, üçüncü dördüncü ilə, beşinci altıncı ilə və s.).
4. Yaranan zəncirin sağına 2 rəqəmi əlavə olunur.

Yaranan zəncir alqoritmin nəticəsidir.

Belə ki, əgər ilkin zəncir A#B idisə, o zaman alqoritmin nəticəsi #A1B2 zənciri, ilkin zəncir ABC@ idisə, alqoritmin nəticəsi BA@B2 zənciri olacaqdır.

2.1.2. Alqoritm icraçısı

Hər bir alqoritm müəyyən bir ifaçı üçün nəzərdə tutulmuşdur.

İcraçı müəyyən əmrlər toplusunu yerinə yetirməyə qadir olan obyektdir (insan, heyvan, texniki cihaz).

fərqləndirmək rəsmi və qeyri-rəsmi ifaçılar. Rəsmi ifaçı həmişə eyni əmri eyni şəkildə yerinə yetirir. Qeyri-rəsmi icraçı əmri müxtəlif üsullarla yerinə yetirə bilər.

Rəsmi ifaçılar toplusunu daha ətraflı nəzərdən keçirək. Formal ifaçılar son dərəcə müxtəlifdir, lakin onların hər biri üçün aşağıdakı xüsusiyyətlər müəyyən edilə bilər: həll ediləcək vəzifələrin diapazonu (məqsədi), mühit, komanda sistemi və iş rejimi.

Həll ediləcək tapşırıqların çeşidi. Hər bir ifaçı müəyyən bir sıra problemləri həll etmək üçün yaradılmışdır - simvollar zəncirinin qurulması, hesablamaların aparılması, müstəvidə rəsmlərin qurulması və s.

Rəssam mühiti. İfaçının fəaliyyət göstərdiyi sahə, şərait, şərait adətən verilmiş ifaçının mühiti adlanır. İstənilən alqoritmin mənbə məlumatları və nəticələri həmişə alqoritmin nəzərdə tutulduğu ifaçının mühitinə aiddir.

İcraçı komanda sistemi. İfaçıya ayrıca tamamlanmış hərəkəti yerinə yetirmək üçün verilən göstəriş əmr adlanır. Bəzi icraçı tərəfindən yerinə yetirilə bilən bütün əmrlər toplusu bu icraçı (SKI) üçün əmrlər sistemini təşkil edir. Alqoritm konkret ifaçının imkanları nəzərə alınmaqla, başqa sözlə, onu icra edəcək ifaçının əmrlər sistemində tərtib edilir.

İcraçının iş rejimləri. Əksər ifaçılar üçün birbaşa idarəetmə və proqram idarəetmə rejimləri təmin edilir. Birinci halda, ifaçı bir şəxsdən əmrlər gözləyir və alınan hər bir əmri dərhal yerinə yetirir. İkinci halda, ifaçıya əvvəlcə tam əmrlər ardıcıllığı (proqram) verilir və sonra o, bütün bu əmrləri avtomatik yerinə yetirir. Bir sıra ifaçılar yalnız adı çəkilən rejimlərdən birində işləyirlər.

İfaçıların nümunələrinə baxaq.

Misal 5.İfaçı Tısbağa kompüter ekranında hərəkət edərək xətt şəklində bir iz buraxır.

Tısbağa əmr sistemi aşağıdakı əmrlərdən ibarətdir:

1. İrəli n (burada n tam ədəddir) - Tısbağanın hərəkət istiqamətində n addım hərəkət etməsinə səbəb olur - başının və bədəninin üz-üzə olduğu istiqamətdə;
2. Sağ m (burada m tam ədəddir) - Tısbağanın hərəkət istiqamətinin saat əqrəbi istiqamətində t dərəcə dəyişməsinə səbəb olur.
Qeyd k [ təkrarlayın<Команда1> <Команда2> ... <Командаn>] mötərizədə olan əmrlərin ardıcıllığının k dəfə təkrarlanacağını bildirir.

Tısbağa aşağıdakı alqoritmi tamamladıqdan sonra ekranda hansı fiqurun görünəcəyini düşünün.
12-ni təkrarlayın [Sağa 45 İrə 20 Sağa 45]

Misal 6.İcraçı əmrlər sistemi Kompüter iki əmrdən ibarətdir və onlara nömrələr verilir:

1 - 1-i çıxarın
2 - 3-ə vurun

Bunlardan birincisi rəqəmi 1, ikincisi isə 3 dəfə artırır. Alqoritmlər yazarkən qısalıq üçün yalnız əmr nömrələri göstərilir. Məsələn, 21212 alqoritmi aşağıdakı əmrlər ardıcıllığını bildirir:

3-ə vurun
1 çıxarmaq
3-ə vurun
1 çıxarmaq
3-ə vurun

Bu alqoritmdən istifadə edərək 1 rəqəmi 15-ə çevriləcək:

((1 3 - 1) 3 - 1) 3 = 15.

Misal 7.İfaçı Robot damalı sahədə işləyir, bitişik hüceyrələr arasında divarlar ola bilər. Robot sahənin xanaları boyunca hərəkət edir və nömrələr təyin edilmiş aşağıdakı əmrləri yerinə yetirə bilər:


1 - yuxarı
2 - aşağı
3 - sağ
4 - sol

Hər bir belə əmri yerinə yetirərkən, Robot göstərilən istiqamətdə qonşu hücrəyə keçir. Əgər hüceyrələr arasında bu istiqamətdə divar varsa, o zaman Robot məhv olur.

Robot A xanasından hərəkət etməyə başlayaraq 32323 (burada rəqəmlər komanda nömrələrini göstərir) əmrlərinin ardıcıllığını yerinə yetirərsə, onunla nə baş verəcək? Robot divarlara dəyərkən yıxılmadan A xanasından B xanasına keçmək üçün hansı əmrlər ardıcıllığını yerinə yetirməlidir?

Alqoritm hazırlayarkən:

1) problemdə görünən obyektlər müəyyən edilir, obyektlərin xüsusiyyətləri, obyektlər arasında əlaqələr və obyektlərlə mümkün hərəkətlər qurulur;
2) ilkin məlumatlar və tələb olunan nəticə müəyyən edilir;
3) ilkin məlumatdan nəticəyə keçidi təmin edən ifaçının hərəkətlərinin ardıcıllığı müəyyən edilir;
4) icraçının komanda sisteminə daxil olan əmrlərdən istifadə etməklə hərəkətlərin ardıcıllığı qeyd olunur.

Deyə bilərik ki, alqoritm alqoritm icraçısının fəaliyyətinin modelidir.

2.1.3. Alqoritm xassələri

Hər bir göstəriş, göstərişlər ardıcıllığı və ya fəaliyyət planı alqoritm sayıla bilməz. Hər bir alqoritm mütləq aşağıdakı xüsusiyyətlərə malikdir: diskretlik, başa düşülənlik, müəyyənlik, effektivlik və kütləvi xarakter.

Diskret mülkiyyət problemin həlli yolunun ayrıca addımlara (hərəkətlərə) bölünməsi deməkdir. Hər bir hərəkətin müvafiq göstərişi (əmr) var. Yalnız bir əmri yerinə yetirdikdən sonra icraçı növbəti əmri yerinə yetirməyə başlaya bilər.

Anlaşılabilirlik xüsusiyyəti o deməkdir ki, alqoritm yalnız icraçının əmrlər sisteminə daxil olan əmrlərdən, yəni elə əmrlərdən ibarətdir ki, onları icraçı qavrayır və ona uyğun olaraq tələb olunan hərəkətləri yerinə yetirir.

Əminlik mülkiyyəti alqoritmdə mənası ifaçı tərəfindən birmənalı şərh oluna bilən əmrlərin olmaması deməkdir; Növbəti əmri yerinə yetirdikdən sonra, ifaçı üçün növbəti əmri yerinə yetirəcəyi aydın olmayan vəziyyətlər qəbuledilməzdir. Bunun sayəsində alqoritmin nəticəsi ilkin verilənlər toplusu ilə unikal şəkildə müəyyən edilir: əgər alqoritm eyni ilkin verilənlər toplusuna bir neçə dəfə tətbiq edilirsə, onda çıxış həmişə eyni nəticəni verir.

Performans Mülkiyyəti o deməkdir ki, alqoritm sonlu, bəlkə də çox böyük sayda addımlardan sonra nəticə verməlidir. Bu zaman nəticə təkcə problemin ifadəsi ilə müəyyən edilmiş cavab deyil, həm də hər hansı səbəbdən bu problemin həllini davam etdirməyin mümkünsüzlüyü haqqında nəticə hesab olunur.

Kütləvi xarakterli xüsusiyyət o deməkdir ki, alqoritm müəyyən sinif məsələlərdən istənilən məsələni həll etmək üçün onun tətbiqi imkanını təmin etməlidir. Məsələn, kvadrat tənliyin köklərini tapmaq alqoritmi istənilən kvadrat tənliyə, küçəni kəsmə alqoritmi küçənin istənilən yerində, dərman hazırlamaq alqoritmi onun istənilən miqdarını hazırlamaq üçün tətbiq olunmalı, və s.

Misal 8. Bəzi natural ədəd n-dən çox olmayan bütün sadə ədədləri tapmaq üsullarından birini nəzərdən keçirək. Bu metodu təklif edən qədim yunan alimi Eratosthenesin (e.ə. III əsr) şərəfinə “Eratosthenin ələkləri” adlanır.

Verilmiş n ədədindən çox olmayan bütün sadə ədədləri tapmaq üçün Eratosthenes metodu ilə aşağıdakı addımları yerinə yetirməlisiniz:

1) 2-dən n-ə qədər bütün natural ədədləri bir sıra yazın (2, 3, 4, ..., n);
2) çərçivə 2 - birinci sadə ədəd;
3) tapılmış sonuncu sadə ədədə bölünən bütün ədədləri siyahıdan silmək;
4) ilk işarələnməmiş nömrəni tapın (işarələnmiş nömrələr kəsilmiş nömrələr və ya çərçivəyə daxil edilmiş nömrələrdir) və onu çərçivəyə əlavə edin - bu başqa bir sadə ədəd olacaq;
5) işarələnməmiş nömrə qalmayana qədər 3 və 4-cü addımları təkrarlayın.

Rəqəmsal Təhsil Resurslarının Vahid Kolleksiyasında yerləşdirilən "Eratosthenin ələk" (180279) animasiyasından istifadə edərək sadə ədədlərin tapılması üsulu haqqında daha vizual təsəvvür əldə edə bilərsiniz.

Nəzərə alınan hərəkətlər ardıcıllığı alqoritmdir, çünki o, aşağıdakı xüsusiyyətləri təmin edir:

diskretlik- sadə ədədlərin tapılması prosesi mərhələlərə bölünür;
başa düşülənlik- hər bir əmr bu alqoritmi yerinə yetirən 8-ci sinif şagirdi üçün başa düşüləndir;
əminlik- hər bir əmr ifaçı tərəfindən birmənalı şəkildə şərh edilir və yerinə yetirilir; əmrlərin icrası qaydası haqqında göstərişlər var;
effektivlik- müəyyən sayda addımlardan sonra nəticə əldə edilir;
kütləvi xarakter- hərəkətlərin ardıcıllığı istənilən natural ədəd n üçün tətbiq edilir.

Alqoritmin nəzərdən keçirilən xassələri alqoritmin daha dəqiq tərifini verməyə imkan verir.

Alqoritm, ilkin məlumatdan tələb olunan nəticəyə aparan, diskretlik, başa düşülənlik, müəyyənlik, effektivlik və kütləvi xarakter xüsusiyyətlərinə malik olan konkret bir icraçı üçün nəzərdə tutulmuş hərəkətlər ardıcıllığının təsviridir.

2.1.4. İnsan fəaliyyətinin avtomatlaşdırılması imkanı

Alqoritmin işlənib hazırlanması adətən insandan dərin bilik, ixtiraçılıq və çox vaxt tələb edən əmək tutumlu işdir.

Hazır alqoritmdən istifadə etməklə məsələnin həlli yalnız ifaçıdan verilən göstərişlərə ciddi əməl etməyi tələb edir.

Misal 9.İstənilən sayda üçdən çox obyekt olan yığından iki oyunçu növbə ilə hər biri bir və ya iki obyekt götürür. Qalib, növbəti gedişində qalan bütün əşyaları götürə biləndir.

Gəlin bir alqoritmi nəzərdən keçirək, ondan sonra ilk oyunçu mütləq qələbəni təmin edəcəkdir.

1. Əgər yığındakı əşyaların sayı 3-ə bərabərdirsə, o zaman rəqibə yol verin, əks halda 1 və ya 2 obyekt götürərək oyuna başlayın ki, qalan obyektlərin sayı 3-ə bərabər olsun.
2. Növbəti hərəkətinizlə hər dəfə rəqibinizin götürdüyü obyektlərin sayını 3-ə əlavə edin (qalan obyektlərin sayı 3-ə çox olmalıdır).

İfaçı etdiyi işin mənasını dərk etməyə bilər və niyə belə hərəkət etdiyini əsaslandırmaya bilər, başqa cür deyil, yəni formal hərəkət edə bilər. İfaçının formal fəaliyyət göstərmək qabiliyyəti insan fəaliyyətinin avtomatlaşdırılması imkanını təmin edir. Bunun üçün:

1) problemin həlli prosesi sadə əməliyyatlar ardıcıllığı kimi təqdim olunur;
2) bu əməliyyatları alqoritmdə müəyyən edilmiş ardıcıllıqla yerinə yetirməyə qadir olan maşın (avtomat qurğu) yaradılır;
3) insan adi işlərdən azad edilir, alqoritmin icrası avtomatik qurğuya həvalə edilir.

ƏN ƏHƏMİYYƏTLİ

icraçı- müəyyən əmrlər toplusunu yerinə yetirməyə qadir olan bəzi obyekt (insan, heyvan, texniki cihaz).

Rəsmi ifaçı həmişə eyni əmri eyni şəkildə yerinə yetirir. Hər bir rəsmi icraçı üçün aşağıdakıları təyin edə bilərsiniz: həll ediləcək tapşırıqların çeşidi, ətraf mühit, komanda sistemi və iş rejimi.

Alqoritm- ilkin məlumatlardan tələb olunan nəticəyə aparan, diskretlik, başa düşülənlik, müəyyənlik, effektivlik və kütləvi xarakter xüsusiyyətlərinə malik olan konkret ifaçı üçün nəzərdə tutulmuş hərəkətlər ardıcıllığının təsviri.

İfaçının hərəkət qabiliyyəti formal olaraq insan fəaliyyətini avtomatlaşdırmaq imkanı verir.

Suallar və tapşırıqlar

1. Daxil olan paraqraf üçün təqdimat materiallarını oxuyun elektron ərizə dərsliyə. Təqdimat paraqrafın mətnindəki məlumatları tamamlayırmı? Təqdimatınıza hansı slaydlar əlavə edə bilərsiniz?

2. Alqoritm nə adlanır?

3. “Resept” sözünün sinonimlərini seçin.

4. Məktəbdə oxuduğunuz alqoritmlərə nümunələr verin.

5. Alqoritmin icraçısı kim ola bilər?

6. Rəsmi ifaçıya misal göstərin. Bir şəxs rəsmi ifaçı kimi çıxış etdikdə nümunə göstərin.

7. “Kompüter” icraçısının yerinə yetirdiyi tapşırıqların diapazonunu nə müəyyənləşdirir?

8. Kompüterinizdəki söz prosessorunu icraçı hesab edin. Bu ifaçı və onun mühiti tərəfindən həll olunan tapşırıqların çeşidini təsvir edin.

9. Komanda, icraçı komandalar sistemi nədir?

10. Robot aşağıdakı funksiyaları hansı əmrləri yerinə yetirməlidir:

a) mağazada kassir;
b) təmizlikçi;
c) mühafizəçi?

11. Alqoritmin əsas xassələrini sadalayın.

12. Alqoritmdə hər hansı xassələrin olmaması nəyə gətirib çıxara bilər? Nümunələr verin.

13. Alqoritmi formal olaraq icra edə bilməyin əhəmiyyəti nədir?

14. Ədədlərin ardıcıllığı aşağıdakı alqoritmə uyğun qurulur: ardıcıllığın ilk iki ədədi 1-ə bərabər alınır; Ardıcıllıqdakı hər bir növbəti nömrə əvvəlki iki ədədin cəminə bərabər götürülür. Bu ardıcıllığın ilk 10 şərtini yazın. Bu ardıcıllığın nə adlandığını tapın.

15. Müəyyən bir alqoritm bir simvol sətirindən aşağıdakı kimi yeni zəncir əldə edir. Əvvəlcə orijinal simvol zənciri yazılır, ondan sonra orijinal simvol zənciri tərs ardıcıllıqla yazılır, sonra orijinal zəncirdə sonuncu yerdə olan hərfdən sonra rus əlifbasında gələn hərf yazılır. Əgər “I” hərfi orijinal zəncirdə sonuncu yerdədirsə, növbəti hərf kimi “A” hərfi yazılır. Yaranan zəncir alqoritmin nəticəsidir. Məsələn, orijinal simvol zənciri "HOUSE" idisə, alqoritmin nəticəsi "DOMMODN" zənciri olacaqdır. “COM” simvol sətri verilir. Alqoritmi bu zəncirə tətbiq etsəniz və sonra alqoritmi işinin nəticəsinə yenidən tətbiq etsəniz, əldə ediləcək simvollar zəncirində neçə "O" hərfi olacaq?

16. İnternetdə Eratosthenes alqoritminin addımlarının animasiyasını tapın. 50-dən çox olmayan bütün sadə ədədləri tapmaq üçün Eratosthenes alqoritmindən istifadə edin.

17. Tısbağanın alqoritmin icrası (5-ci misala bax) nə ilə nəticələnəcək?

18. Kalkulyatorun icraçısı üçün 5-dən çox olmayan əmrdən ibarət alqoritmi yazın (misal 6-ya baxın:

a) 3 rəqəmindən 16 rəqəmini almaq;
b) 1 rəqəmindən 25 rəqəminin alınması.

19. İcraçı komandalar sistemi Konstruktor nömrələr təyin olunan iki əmrdən ibarətdir:

1 - 2 təyin edin
2 - 2-yə bölün

Onlardan birincisinə görə sağdakı rəqəmə 2 əlavə olunur, ikinciyə görə isə ədəd 2-yə bölünür. İfaçı 22212 alqoritmini icra edərsə, 8 rəqəmi necə çevriləcək? Bu icraçının əmr sistemində bir alqoritm yaradın, ona görə 1 rəqəmi 16 rəqəminə çevriləcək (alqoritmdə 5 əmrdən çox olmamalıdır).

20. 3241 alqoritmini yerinə yetirdikdən sonra ona qayıtmaq üçün Robot icraçısı (nümunə 7) hansı xanada yerləşməlidir?

Pulsuz proqram təminatı:

KuMir sistemi - Təhsil aləmləri dəsti (proqram arxivini veb saytından yükləyin) və ya KuMir səhifəsinə daxil olun ((http://www.niisi.ru/kumir/)

Bu saytda AdBlock-u dayandırın.

Bu dərsdə proqramlaşdırma anlayışını rəsmiləşdirən bəzi nəzəri anlayışlara baxacağıq. Eyni zamanda, biz sizin təliminizin əsas vəzifəsini daha dəqiq şəkildə formalaşdıracağıq.

Başlamaq üçün sizə aşağıdakı uşaq oyuncağı ilə bir az oynamağı təklif edirəm. İlk beş tapşırığı yerinə yetirin, geri qayıdın və dərsi oxumağa davam edin.

Fig.1 code.org saytındakı oyun sahəsinin skrinşotu

Ümid edirəm hər şey sizin üçün işlədi. İndi bu nümunədən istifadə edərək bir neçə əsas anlayışı təsvir edəcəyik:

  • icraçı;
  • icraçı əmrləri sistemi;
  • alqoritm.

Oyuncaqda qırmızı quşu idarə edirik. Hər mərhələnin məqsədi quşu donuza çatdırmaqdır. Quş müəyyən əmrləri yerinə yetirə bilər, məsələn: irəli getmək, sola dönmək, sağa dönmək və s.

Bəzi əmrləri yerinə yetirə bilən şəxs, maşın və ya cihaz icraçı adlanır. Bu oyuncaqda, açıq-aydın, ifaçı bir quşdur. İfaçının başa düşdüyü və yerinə yetirə bildiyi əmrlər toplusu adlanır icraçı əmrlər sistemi.

Problemi həll etmək üçün icraçının yerinə yetirməli olduğu əmrlər ardıcıllığı alqoritm adlanır.

Bir neçə məqama diqqət yetirmək lazımdır.

İcraçı yalnız onun əmr sisteminə daxil olan əmrləri yerinə yetirə bilər.

Bu, məsələn, quş ifaçısına yaza bilməyəcəyiniz deməkdir: "Donuza get!" Daha dəqiq yaza bilərsiniz, amma heç nə olmayacaq, çünki... belə əmrlərin icraçısı bilmir.

Mövcud əmrləri düzgün hesab etdiyiniz istənilən ardıcıllıqla yaza bilərsiniz. Bir proqramçı kimi vəzifəniz böyük bir mürəkkəb tapşırığı hər biri ifaçı üçün başa düşülən kiçik fərdi addımlara bölməkdir. “Parçala və qalib gəl” prinsipi yenidən işləyir.

İfaçı alqoritmin ona dediyini dəqiq yerinə yetirir.

Quş ifaçısı çox güvənir. O, proqramda yazdıqlarını sual etmir. Məsələn, quşu çevirməyi unutsanız, o, divara çırpılacaq. Buna görə də hər şeyi özünüz izləməlisiniz.

Gələcək proqramlarınız çox vaxt nəzərdə tutduğunuz kimi işləməyəcək. Səhvlər hər kəsin başına gəlir. Burada başa düşmək lazımdır ki, axmaq olan kompüter deyil, alqoritmdə səhv etdiniz. Pis proqramçılar kimi olmayın, hər zaman proqram hər şeydə günahkardır.

İndi illüstrativ nümunədən kompüter reallıqlarına keçək. Biz kompüter üçün proqramlar yazırıq, yəni bizim vəziyyətimizdə kompüter icraçıdır. Komanda sistemi C dilinin standart funksiyaları və konstruksiyalarıdır.

Proqramlaşdırmanın əsaslarını öyrətməkdə əsas məqsədiniz nədir? Alqoritmik düşünmə bacarığına yiyələnmək. Yəni, müxtəlif problemlərin həllini müəyyən bir ifaçı (bizim vəziyyətimizdə kompüter) üçün alqoritm şəklində yazmağı öyrənin.

Beləliklə, ümumiləşdirmək üçün:

Kompüter proqramı– proqramlaşdırma dilində yazılmış problemin həlli üçün alqoritm.

Alqoritm, bir problemi həll etmək üçün ifaçının yerinə yetirməli olduğu hərəkətlərin ardıcıllığının dəqiq təsviridir.

İcraçı müəyyən əmrlər toplusunu başa düşə və yerinə yetirə bilən şəxs və ya bəzi qurğudur.

“Alqoritm” sözü arifmetik əməliyyatların yerinə yetirilməsi qaydalarını tərtib edən IX əsr ərəb riyaziyyatçısı əl-Xarəzminin adından gəlir.

Alqoritm- ilkin məlumatdan ilkin nəticəyə aparan əmrlərin son ardıcıllığını yerinə yetirmək üçün ifaçıya dəqiq və başa düşülən göstəriş.

Nümunələr: gündəlik iş rejimi, yemək qaydası, təlimatlar və s.)

Alqoritm icraçısı– bu alqoritmi icra edəndir (insan, heyvan, maşın, kompüter).

İcraçı komanda sistemi- bu, ifaçının necə yerinə yetirəcəyini bildiyi (anladığı) bütün əmrlər toplusudur. Alqoritmi yalnız icraçı əmrlər sisteminə daxil olan əmrlərdən qurmaq olar.

Misal üçün, ifaçı Robot irəli, geri, sola, sağa, boya əmrlərini yerinə yetirə bilər. Divarla əhatə olunmuş və divarları olan hüceyrə sahəsi boyunca hərəkət edir. Robot divardan keçə bilməz.

Alqoritm xüsusiyyətləri:

1.Performans (əza)– sonlu sayda addımda ilkin məlumatdan nəticə əldə etmək imkanı. (Məsələn, 2 ədədin toplanması alqoritmini yerinə yetirərkən cəmi alınmalıdır).

2.Kütləvi xarakter– alqoritmi çoxlu sayda müxtəlif mənbə məlumatlarına tətbiq etmək imkanı. (Məsələn, siz əlavə alqoritmini bilməklə istənilən 2 ədədi əlavə edə bilərsiniz.)

3.Determinizm(müəyyənlik, dəqiqlik) – hər bir əmr ifaçının hərəkətini unikal şəkildə müəyyən etməlidir.

4.Anlaşılabilirlik– komanda kompüter üçün başa düşülən dildə yazılmalıdır.

5.Diskretlik– alqoritmin ayrı-ayrı əmrlərə bölünməsi.

Alqoritmin yazılması yolları:

1) Təbii dildə - insanlar üçün başa düşülən dildə ayrı-ayrı əmrlər şəklində qeyd.

2) Qrafik – həndəsi fiqurlardan (oval, düzbucaqlı, paraleloqram, romb) istifadə edərək, sxemlərin dilində.

3) Alqoritmik dildə - proqramlaşdırmanın öyrədilməsi üçün alqoritmlərin yazılması üçün dil. Əmrlər rus dilində yazılır.

4) Proqramlaşdırma dilində - proqram. Proqramlaşdırma dilləri: Basic, Pascal, C, Visual Basic.

B7.Əsas alqoritmik strukturlar: sonrakı, budaqlanan, döngə; blok diaqramlarda təsvir. Tapşırıqların alt tapşırıqlara bölünməsi. Köməkçi alqoritmlər.

Alqoritmik dizaynlar. Alqoritmlər daxilində daxili strukturda - alqoritmik konstruksiyalarda fərqlənən addımlar qruplarını ayırmaq olar.

Əsas alqoritmik konstruksiyalar addımların (və ya sonrakı), budaqlanmanın və ilmələrin xətti ardıcıllığıdır.

Əmrlərin bir-birinin ardınca ardıcıl yerinə yetirildiyi alqoritm adlanır xətti alqoritm.

Blok diaqram dilində xətti alqoritm belə görünür:

Misal: kompüteri yandırmaq üçün alqoritm:

  1. Kompüteri yandırın (açmaq düyməsini basın dalğalanma qoruyucusu).
  2. Monitoru və printeri yandırın.
  3. klikləyin Güc düyməsi haqqında sistem vahidi.
  4. Yüklənməsini gözləyin əməliyyat sistemi və Masaüstünün görünüşü.
  5. İşə get.

Bu alqoritmdə bütün hərəkətlər bir-birinin ardınca yerinə yetirilməlidir: enerji və ya monitor açılmadıqda işə başlaya bilməzsiniz.

alqoritmik struktura budaqlanma» daxildir vəziyyət, şərtin doğruluğundan asılı olaraq bu və ya digər əmrlər (seriyalar) ardıcıllığı yerinə yetirilir.

Şərt doğru və ya yalan ola bilən bir ifadədir. Şərtdə iki ədəd, iki sətir, iki dəyişən və ya sətir ifadələri müqayisə operatorlarından istifadə etməklə bir-biri ilə müqayisə edilir (>,<, =, >=, <=).

Alqoritmik dildə qeyd: If Condition then Seriya 1 (Əgər Vəziyyət doğru, sonra doğru Epizod 1, Əgər Vəziyyət yalan, onda heç nə yerinə yetirilmir). Misal: Bu gün bazar günüdürsə, məktəbə getməyə ehtiyac yoxdur. Budaqlanmanın tam forması

Alqoritmik strukturlarda dövrü dəfələrlə yerinə yetirilən bir sıra əmrləri ehtiva edir. Bu əmrlər ardıcıllığı adlanır döngənin gövdəsi.

İki növ siklik alqoritmik strukturlar var:

  • əks döngələr, döngənin gövdəsinin müəyyən sayda yerinə yetirildiyi;
  • şərti döngələr, şərt yerinə yetirildiyi müddətcə dövrənin gövdəsi icra olunur.

Sayğac ilə döngə– döngə gövdəsinin neçə dəfə təkrarlanması lazım olduğu əvvəlcədən məlum olduqda istifadə olunur.

Alqoritm və onun xassələri.

Alqoritm- ilkin verilənlərdən istənilən nəticəyə aparan əmrlərin son ardıcıllığını yerinə yetirmək üçün ifaçıya aydın və dəqiq göstəriş.

Alqoritm icraçısı- bu alqoritmin idarə etmək üçün nəzərdə tutulduğu obyekt və ya subyektdir.

İfaçının əmr sistemi (SCS) ifaçının yerinə yetirə biləcəyi bütün əmrlər toplusudur.

Alqoritmin xüsusiyyətləri: başa düşülənlik, dəqiqlik, sonluq.

Aydınlıq: alqoritm yalnız icraçının SKI-yə daxil olan əmrlərdən ibarətdir.

Dəqiqlik:İdarəetmə alqoritminin hər bir əmri ifaçının birmənalı hərəkətini müəyyən edir.

Bitirmə (və ya performans): alqoritmin icrası sonlu sayda addımda nəticəyə gətirib çıxarmalıdır.

İfaçı mühiti: ifaçının fəaliyyət göstərdiyi mühit.

İfaçının müəyyən hərəkət ardıcıllığı həmişə bəzilərinə aiddir mənbə məlumatları. Məsələn, bir kulinariya reseptinə görə yeməyi hazırlamaq üçün müvafiq məhsullara (məlumatlara) ehtiyacınız var. Riyazi məsələni həll etmək üçün (kvadrat tənliyin həlli) ilkin ədədi məlumatlar (tənlik əmsalları) lazımdır.

Tam məlumat dəsti: tapşırığı həll etmək üçün zəruri və kifayət qədər məlumat toplusu (istənilən nəticəni əldə etmək).

Alqoritmlərin yazılması üsulları.

Ən ümumi üsullar bunlardır: qrafik, şifahi və şəklində kompüter proqramları.

Qrafik üsul müəyyən qrafik simvolların - blokların istifadəsini nəzərdə tutur.

Blok adı Blok təyinatı Məzmun
Proses
Verilənlərin emalı
Qərar vermə
Müəyyən bir şərtin doğruluğunu və ya yanlışlığını yoxlamaq üçün məntiqi blok
Məlumat ötürülməsi
Məlumatın daxil edilməsi və ya çıxışı
Başla, dayan
Proqramın başlanğıcı və ya sonu
Modifikasiya
Siklik prosesin təşkili - dövr başlığı

Blokların toplanması sözdə olanı təşkil edir alqoritm sxemi.

Şifahi qeyd alqoritmlər ilk növbədə insan ifaçıya yönəldilir və təlimatların müxtəlif qeydinə imkan verir, lakin qeyd kifayət qədər dəqiq olmalıdır.

Alqoritmləri formada yazarkən proqramlar kompüterlər proqramlaşdırma dillərindən - kodlaşdırma təlimatları və onlardan istifadə qaydaları üçün sistemlərdən istifadə edirlər. Alqoritmlərin proqramlar şəklində yazılması yüksək rəsmiləşdirmə dərəcəsi ilə xarakterizə olunur.

Kəmiyyətlərlə işləmək üçün alqoritmlər. Əsas alqoritmik strukturlar.

Kəmiyyət adı, dəyəri və növü olan vahid informasiya obyektidir.

Kəmiyyətlərlə işləmək üçün alqoritmlərin icraçısı şəxs və ya kompüter kimi xüsusi texniki qurğu ola bilər. Belə bir ifaçı olmalıdır yaddaş miqdarların saxlanması üçün.

Kəmiyyətlər sabit və ya dəyişən ola bilər.

Sabit dəyər (sabit) alqoritmin icrası zamanı onun qiymətini dəyişmir. Sabit öz dəyəri ilə (10, 3.5 rəqəmləri) və ya simvolik adla (rəqəm) işarələnə bilər.

Dəyişən dəyər alqoritmin icrası zamanı qiyməti dəyişə bilər. Dəyişən həmişə simvolik adla təyin olunur (X, A, R5 və s.).

Kəmiyyət növü bir dəyərin ala biləcəyi dəyərlər toplusunu və bu dəyərlə yerinə yetirilə bilən hərəkətlər toplusunu müəyyən edir. Kəmiyyətlərin əsas növləri: tam, həqiqi, simvolik, məntiqi.

İfadə- kəmiyyətlər üzrə hərəkətlərin ardıcıllığını müəyyən edən qeyd. İfadə sabitləri, dəyişənləri, əməliyyat işarələrini və funksiyaları ehtiva edə bilər. Misal:

A + B; 2*X-Y; K + L - günah(X)

Tapşırıq əmri dəyişənin yeni qiymət alması ilə nəticələnən icraçının əmridir. Komanda formatı:

dəyişən adı>:=ifadə>

Tapşırıq əmri aşağıdakı ardıcıllıqla yerinə yetirilir: əvvəlcə hesablanır, sonra alınan qiymət dəyişənə təyin edilir.

Misal. A dəyişəninin qiyməti 6 olsun. A dəyişəni aşağıdakı əmri yerinə yetirdikdən sonra hansı dəyəri alacaq: A:= 2 * A - 1?
Həll. 2*A - 1 ifadəsini A=6 ilə hesablamaq 11 rəqəmini verəcək. Bu o deməkdir ki, A dəyişəninin yeni qiyməti 11-ə bərabər olacaq.

Bundan sonra belə güman ediləcək kəmiyyətlərlə işləmək üçün alqoritmlərin icraçısı kompüterdir. Hər hansı bir alqoritm əmrlərdən qurula bilər tapşırıqlar, giriş, çıxış, budaqlanmadövrü.

Daxiletmə əmri- dəyişən dəyərlərin giriş cihazları (məsələn, klaviatura) vasitəsilə təyin olunduğu əmr.

Misal: giriş A - kompüter klaviaturasından A dəyişəninin qiymətinin daxil edilməsi.

Çıxış əmri: Kompüterin çıxış qurğusunda (məsələn, monitorda) kəmiyyətin dəyərini göstərən əmr.

Misal: nəticə X - ekranda X dəyişəninin qiyməti göstərilir.

Filial əmri- hansısa şərtdən asılı olaraq alqoritmi iki yola ayırır; sonra alqoritmin icrası ümumi davama keçir. Budaqlanma tam və ya natamam ola bilər. Blok diaqramlarda və alqoritmik dildə budaqlanmanın təsviri:

Burada sıra bir və ya bir neçə ardıcıl əmr deməkdir; kv - budaqlanmanın sonu.

Döngü əmri hansısa şərt əsasında əmrlər ardıcıllığının (dövrə gövdəsi) təkrar icrasını təmin edir.

Ön şərtlə döngə- döngə şərti doğru olana qədər icrası təkrarlanan dövrə:

Parametrlə döngə- tam parametr ilkin (In)-dən son (Ik) qədər bütün dəyərlər dəstindən keçərkən döngə gövdəsinin təkrar icrası:

Misal.İki sadə kəsr verilmişdir. Onların bölünməsinin nəticəsi olan kəsri almaq üçün alqoritm yaradın.
Həll. Cəbri formada problemin həlli belə görünür:
a/b: c/d = a*d/b*c = m/n
İlkin məlumatlar dörd tam ədəddir: a, b, c, d. Nəticə m və n iki tam ədədidir.

alg fraksiyaların bölünməsi
bütöv a, b, c, d, m, n
daxil etməyə başlayın a B C D
m:=a*d
n:=b*c
çıxış "Saylayıcı=", m
çıxış "Məxrəc=", n
koi

Nəzərə alın ki, mətni (istənilən simvol ardıcıllığı) çıxarmaq üçün əmrdə dırnaq içərisində yazılmalıdır nəticə.

  1. Efimova O., Morozov V., Uqrinoviç N. Kompüter elminin əsasları ilə kompüter texnologiyası kursu. Dərslik orta məktəb üçün. - M.: MMC "AST nəşriyyatı"; ABF, 2000
  2. Problemli kitab-seminar informatika. 2 cilddə/Red. İ.Semakina, E.Henner. - M.: Əsas Biliklər Laboratoriyası, 2001.
  3. Uqrinoviç N. Kompüter Elmləri və informasiya texnologiyaları. 10-11 siniflər - M.: Əsas Biliklər Laboratoriyası, "Moskva Dərslikləri" ASC, 2001

"Alqoritmlər və icraçılar" mövzusunda tapşırıqlar və testlər

  • Rəssam İdarəetmə Rəssam - alqoritmlər 6 sinif

    Dərslər: 4 Tapşırıqlar: 9 Testlər: 1

  • 2 Tapşırıqlar: 9 Testlər: 1

Əziz tələbə!

“Alqoritmlər və icraçılar” mövzusunu bilmək ilk növbədə proqramlaşdırmanın sonrakı öyrənilməsi üçün zəruridir. Proqramlaşdırmanın öyrənilməsi üçün əsas kimi QBasic proqramlaşdırma dili seçilmişdir. Kursumuza Visual Basic və ya hər hansı digər obyekt yönümlü proqramlaşdırma dilinin daxil edilməsi ideyasından imtina etdik, çünki bu yanaşma Rusiya Federasiyasının əksər orta məktəblərində hələ də geniş istifadə olunmayıb. Bundan əlavə, obyekt yönümlü proqramlaşdırma klassik Dos proqramlaşdırmasının prinsiplərinə əsaslanır.

Kursumuz ümumi təhsil proqramı üçün nəzərdə tutulub. Universitetlərə informasiya texnologiyaları üzrə qəbul imtahanlarına hazırlaşarkən, müəyyən bir universitetdə proqramlaşdırma üzrə təhsil almağın xüsusiyyətləri ilə tanış olmalısınız. Bəzi hallarda, bir sıra mövzuların dərindən öyrənilməsi zəruridir, məsələn, "Masivlər". Proqramlaşdırma ədəbiyyatını öyrənərkən buna diqqət etməlisiniz, bəlkə də istifadə etməlisiniz metodoloji tövsiyələr hazırda əksər ali təhsil müəssisələrində dərc olunan imtahanlara hazırlıq haqqında.

Sonda qeyd edirik ki, proqramlaşdırmada “aerobatika”ya nail olmaq yalnız daimi təcrübə və konkret tətbiqi problemlərin həlli ilə mümkündür.




Üst