Алгоритмдер және оның қасиеттері

Автор: Пользователь скрыл имя, 26 Февраля 2013 в 18:26, лекция

Описание работы

Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек. Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған. Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорианың объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.

Работа содержит 1 файл

Алгоритм және оның қасиеттері2.doc

— 702.50 Кб (Скачать)

RESTORE  операторы

 

    Бұл оператор деректер  блогынан мәндер алынып болған  жағдайда оны қалпына (бастапқы  күйіне ) келтіру қызыметін атқарады. Оператордың  жазылу пішімі: RESTORE

    Мұнда RESTORE  (қалпына  келтіру) оператордың аты. Бұл оператор орындалғаннан кейін READ оператормен сандарды оқу деректер блогының бірінші санынан басталады.

    RESTORE операторы программа  жұмысының кез келген кезеңінде,  яғни деректер блогынан барлық  сандар оқылып болғанға дейін  де орындала алады.

         Мына:

        10  DATA 10,0.3 2.8. -0.9

                  20  READ M,A,B,C.

                        .

              .

              .

  • RESTORE

.

               .

               .

         120 READ A,A,B,C.

 

    программа үзіндісінде 20-оператор орындалғанда айнымалыларға  мынадай мәндер меншіктеледі.

 М=10; A=0.3; B=2.8; C=-0.9.

    Есепті шешу кезеңінде  бұл айнымалылар қандайда бір  басқа мәндерді де қабылдай  алады. Бұдан әрі А,В және  С айнымалыларына М айнымалысының  мәнін қалпына келтірмей-ақ бұрынғы мәндерін қайтадан меншіктеу  талап етілсін делік. Бұл үшін деректер блогынан сандарды бірінші саннан бастап оқуды даярлайтын RESTORE операторы пайдаланылады. М айнымалысына бірінші санды меншіктеуді қалдырып кету үшін 120-операторда А айнымалысына екі рет жазылған. Мұнда А айнымалысына бірінші меншіктелген мән жазылған, ал одан кейін екінші рет меншіктелетін мән ақиқат болады.

    RESTORE операторы DATA операторының  кіші нөмерлі қатарларынан бастап DATA операторындағы тұрақтыларды  қайталап пайдалануға мүмкіндік береді. RESTORE операторы қатардағы бірден бір оператор немесе қатардағы бірнеше оператордың бірі бола алады.

Шартты өту операторы

 

    Тармақталу алгоритм  мектептік алгоритмдік тілде  егер командасы арқылы жүзеге  асырылатындығын сіздер бұрыннан білдесіздер. Мектептік алгоритмдік тілде егер командасы толық және қарастырылған пішімдер  жазылады.

    Толық пішім                                Қарастрылған пішім

          Егер «шарт»                                   Егер «шарт» 

                    Онда «1-әрекет»                            онда «әрекет»

         Әйтпесе «2- әрекет»                        бітті

          Бітті 

    Ал BASIC  программалау  тілінде осы егер команданың  қызметін атқаратын арнайы оператор  бар. Оны шартты операторы деп аталады. Бұл операторды да толық және қарастырылған пішімді жазып пайдалануға болады.

      Шартты өту операторының  толық пішімінің жазылу үлгісі:

    1kIF el xe2  THEN k+10 ELSE k+20

    2kIF el xe2 THEN k 1 ELSE m2

    3 kIF el xe2  THENe1 ELSE e2

    4 kIF el xe2  GOTO k+10 ELSE k+20

 Мұнда:

  • k қа тар нөмірі;
  • IF- оператордың аты;
  • el xe2  - тектлерілген шарт;
  • е1*е2- арияметикалық өрнектер;
  • х-қатынас оператордың таңбалары (<,<>, =,)
  • m1 m2 – шаттың сақталу немесе сақталмауына байланысты орындалатын оператор:

-  THEN- қызметші сөз:

  • ELSE- Қызметші сөз:
  • k+10- Шатты сақталған жағжайда оператордың нөмірі;
  • k+20- Шартты сақталған жағдайда  оператордың нөмірі:
  • GOTO- шаттыз өту операторы:

 

 

 

 

 

 

 

 Шартсыз өту операторы

 

    Шарттсыз өту операторын GOTO (өту) есептеуді одан әрі жалғастыруда программаның келесі кезекте орындалытын операторын көрсету үшін, яғни программаның қандайда бір бөлігін өту үшін қолданылады. Оператордың жазылу  пішімі:

    GOTOk

    Мұнда GOTO-оператордың аты; k-GOTOоператордың соң орындалатын оператордың қатарының нөмірі. Осылайша, GOTO операторы программаның табиғи реттілікпен орындалатын бұзады. Мысалы, 10 GOTO 120 операторын нөмірі  10-қатардан кейін 120- операторы орындалады.

    Мысалы,

   10 A=7

   20 GOTO 40

   30 A=1

   40 A=A+3

   50 PRINT A

   60 END

    Пргорамма орындалғанда 10- қатардағы меншіктеу операторы А айнымалысына 7 мәнін меншіктейді. 20 – қатардағы операторынна кейін 40- операторы орыедалады, онда айнымалсына сол айнымалының алғашқы мәніне 3-ті қосқандағы мән меншіктеліп нәтижесі баспаға шығарылады. Ал мына төмендегі программа орындалғанда Ы. Алтынсариннің «Кел балалар оқылық» атты өлеңі экранға шығады.

       10 REM «өлең» 

       20 PRINT «Кел балалар  оқылық» GOTO70

       30 PRINT  «Ықылыспен  тоқылық» GOTO 80

       40 PRINT  «Шамнан  шырақ жағылар» GOTO 90

       50 PRINT  «Іздемей-ақ  табылар» GOTO 100

       60 PRINT «Оқығанды  көңілге» GOTO 30

       70 PRINT  «Оқысаның  балалар» GOTO 40

       80 PRINT  « Тілегенің  алдыңнан» GOTO 50

    Бұл программа орындалғанда мына төмендегідей нәтиже экранға шығады.

      Кел балалар оқылық 

     Оқығанды көңілге 

     Ықыласпен тоқылық 

    Оқысанңыз балалар

    Шамнан шырақ жағылар

    Тілегенің алдыңнан іздемей-ақ  табылар.

Әзір циклі

 

    BASIC тілінде циклді мектептік алгоритмдік тілдегі жазылуымен салстырып былай жазуға болады.

    

       Әзір <шарт>              k IF NOT P THEN k+30                                                            

        цб                               k+10S

              <әрекет>             k+20 GONO k

       цс                                k+30 REM соңы

 

    Мұнда к-қатарда шартты өту операторы тұр, ол қойылған шарт «сакталмаған» жағдайда басқаруды к+30-қатарға, яғни «қайталану командасынан» шығару құрылғысына береді. Цикл к+10-қатардан басталып циклдің денесіне сай келетін к+20-қатардағы шартсыз өту операторымен аяқталады, содан кейін басқаруды қайтадан шартты тексеру қатарына береді. Осылайша, мектептік алгоритмдік тілдегі сияқты цикл қайталана береді.

    Төменде циклдің бұл түрінің блок-схемасы BASIC тіліндегі жазылуымен салыстырылып көрсетілген.

 


                                                                                                          



 

 



 

 



                                                                                                 

                                                                                                             k IF  ШАРТ THEN k+20 

                                                                                                             k+10 STOP

                                                                                                             k+20 Командалар тізбегі

                                                                                                             k+30 GOTO k

 

Мұнда   командалар   тізбегі   шартты   тексеруден  орналасқан.  Мұндай жағдайда шартқа байланысты цикл денесі бір рет те орындалмауы мүмкін. Циклдің бұл түрін ӘЗІР циклі деп атайды.

 

Дейін циклі

 

    Бұл циклдің блок – схемасы мына суретте көрсетілген.

 


                         


 

       Жоқ                                                                                                                                                   

                         

                        иә                


k Командалар тізбегі

k+10 IF NOT шарт THEN k

k+20 REM цикл соңы

 

    Циклдің бұл түрінде командалар тізбегі шартты тексеруге дейін орналасады, сондықтан цикл денесі шартқа тәуелсіз, кемінде бір рет орындалады. Циклдің бұл түрін ДЕЙІН циклі деп атайды. Әзір цикілінде цикл денесі әзір-шарт ақиқат болса орындалады; мұндай жағдайда шарт циклді жалғастырушы шарт болып табылады. Дейін циклінде цикл денесі, шарт ақиқат болғанға дейін орындалады, мұндай жағдайда шартты циклді аяқтау шарты деп атайды. Циклдің бұл түрлері нақты есептердің ерекшеліктеріне сәйкес программа құруда қолданылады.

Мысалы, ДЕЙІН циклін пайдаланып х-тің  мәні -10-нан +10-ға дейін 2 қадаммен өзгеретін  у= х2+в функциясының мәнін есептейтін программа құрыңыздар.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 ДЕЙІН циклі бойынша:

                   

                         

                                                                                                                                                                              


                                                                                



                 


 



                                                                      


          




                                                                          

                                                     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Үшін цикілінің BASIC тіліндегі  жазылуы.

FOR және NEXT операторлары

 

    Жоғарыда айтылғандай  циклді программаларды басқаруды беру операторы IF арқылы ұйымдастыруға болады. Бірақ циклдер программа жасаудағы ең маңызды және кеңінен тараған құрылым болғандықтан практикада BASIC программалау тілінде оларды ұйымдастыру үшін арнайы

FOR және NEXT операторлары  қарастырылған. Бұл операторларды циклдік программаның ұзындығын қысқарту үшін және BASIC тіліндегі программада циклдерді анық ажыратып бөліп көрсету үшін пайдаланады.

    Мектептік алгоритмдік  тілде параметрі бар қайталану  командасын Үшін цикілі деп атайды. Оның жазылу пішімі мынадай:

 

Цб: үшін і1 бастап і2 дейін

цикл денесі (командалар тізбегі)

            Цс

    BASIC программалау тілінде  Үшін циклін жазу үшін FOR операторы  қолданылады. FOR операторын циклдің басының операторы немесе жай ғана циклдің басы деп атайды. Олар әр уақытта қайталанатын командалар тізбегінің, яғни циклдің денесінің алдында келеді. Сонымен цикл басының жазылу пішімі мынадай болады:

k FOR v=e1 TO e2 STEP e3.

 

    Мұнда к-қатар нөмірі, v-циклдің параметрі, e1, e2-цикл параметрінің бастапқы және соңғы мәндері, TO (дейін) – қызметші сөздер, STEP (қадам) – қызметші сөз, e3-цикл параметрі қадамының өзгерісі, яғни өсімшесі.

    Программа жасағанда FOR операторынан соң циклдің денесін құрайтын операторлар тізбегі жазылады. Цикл NEXT операторымен анықталады. Сондықтан NEXT операторын цикл соңының операторы деп те атайды. NEXT операторының жазылу пішімі:

k NEXT v

 

    Мұнда k-қатар нөмірі, NEXT-(келесі) оператордың аты; v-циклдің параметрі. Ол міндетті түрде FOR операторындағы параметрмен сәйкес келуі тиіс. Сонымен, BASIC тілінде цикл былай ұйымдастырылады:

k FOR v=e1 TO e2  STEP e3

 

                                                       Командалар тізбегі.

                                       

                                        k NEXT v

FOR және NEXT  операторларын

пайдалану ережелері

 

    Бұл оператордың көмегімен циклді программалауда мына төмендегі ережелерді ескеру қажет.

   1. FOR  операторын  қолданып циклге  ендіруге  рұқсат  етілмейді. Яғни циклдің денесін құрайтын операторға сырттан басқаруды беруге болмайды. Сырттан басқаруды беруде е1,е2,е3 өрнектің мәні есептелмейді. Егер е1,е2,е3 айнымалы немесе тұрақтылар болса,

Информация о работе Алгоритмдер және оның қасиеттері