Циклды ұйымдастыру және матрицаны өңдеу

Автор работы: Пользователь скрыл имя, 23 Декабря 2011 в 06:17, курсовая работа

Описание

Қазақстан Республикасындағы білімді ақпараттандыру жүйесі ары қарай дамыту процесін оқып үйренудің ақпараттық ресурсы болып табылатын оқытуға арналған программалық құралдарды дайындамай жүзеге асыруы мүмкін емес. Олардың атқаратын қызметтерінің ауқымы кең, мысалы, бақылайтын және тест жүргізетін программалар, компьютерлік ойындар, ақпараттық жүйелер, оқыту орталары, электрондық оқулықтар және мультимедиалық программалар.

Работа состоит из  1 файл

Курсовой Боранова 3-курс.doc

— 755.50 Кб (Скачать документ)

    а) Қайталанатын операторлар ( циклдің денесі ) бірақ рет жазылады;

    ә) Циклге тек қана басынан ( тақырыбы ) ғана кіруге болады;

    б) Циклің айнымалылары алдынала циклге дейін анықталуы тиіс;

    в) Цикл денесінде көшу операторын ( Goto ) қолданып программаның басқа бөліктеріне шығуға болады.

    д) Цикл ұйымдастырғанда, міндетті түрде циклден шығу шарты орындалатынын қарастыру керек, әйтпесе программа орындалуы циклге келгенде тоқтап тұрып қалады ( программа «мәңгі циклденіп» қалады ).

    Цикл денесінің әр қайталауында цикл айнымалыларының мәндері де өзгеріп, жаңа мән қабылдап отырады. Қайталану саны циклдің тақырыбында және цикл денесінде берілетін айнымалылардың мәндеріне байланысты болады.

2.2  WHILE операторы

       Алдын ала берілген шарт бойынша қайталауды жүзеге асыратын бұл оператор WHILE (оқылуы: yайл, аударылуы: әзірше) және DO (оқылуы: ду, орындау болып аударылады) түйінді сөздері қолданылып орындалады. Оның синтаксистік диаграммасы 1-суретте кескінделген.

            

             1-сурет. WHILE операторының синтаксистік диаграммасы

     Жазылу пішімі мынадай:

         WHILE <қайталану шарты> DO <цикл тұлғасы>;                                                                                           мұндағы қайталану шарты – диаграммада көрсетілген логикалық өрнек, цикл тұлғасы – қайталанып орындалып отыратын қарапайым немесе құрама оператор. Цикл әрбір орындалар алдында қайталану шартының мәні есептеледі, егер ол ақиқат – true болса, цикл тұлғасы орындалады да, шарт қайта тексеріледі. Қайталану шарты жалған – false болса, циклді орындау доғарылып, while операторынан кейінгі жолдар атқарыла бастайды.                                                                                                                              

         WHILE  оператордың жазылу пішімі мен орындалуын төмендегідей түрде де оңай бейнелеуге болады.              

WHILE <шарт> DO                                                                                                                              BEGIN

             <1-оператор>;

             <2-оператор>;                                                                                                 END;

             Егер алгоритмдік тілмен салыстырып қарайтын болсақ, онда жолдар сәйкестігі былай көрсетіледі:

     Алгоритмдік тілде

    әзірше шарт

    цб

    1-оператор;

    2- оператор;

    . . .

    n- оператор;

    цс                                                             WHILE операторының орындалуы

   Ескерту: Егер шарт бірінші тексергеннен-ақ жалған болса, онда цикл

орындалмайды.

     Енді WHILE операторына бір-екі мысал келтірейік:

1-мысал. Пернетақтадан енгізілген кез келген он бүтін санның  қосындысын табатын программа құру қажет.

   Program kosindi;

      const

          limit=5;  {енгізілген сандардың шектелуі}

      var

          count, item, sum:integer;

   Begin

        count:=0; {Енгізілген сандарды санау}

       sum:=0; {Сандар қосындысы}

       while(count<limit) do {Циклдің қайталану  шарты}

             begin

                     count:=count+1;

                     Write(count,’-shi butin sandi engizinder: ’);

                     readln(item);  {Кезекті санды пернетақтадан енгізу}

                     sum:=sum+item;

             end;

        Writeln(‘Engizilgen sandardin kosindisi=’,sum);

   end.

   Нәтижесі:

   1-shi butin sandi engizinder: 3

   2-shi butin sandi engizinder: 7

   3-shi butin sandi engizinder: 6

   4-shi butin sandi engizinder: 5

   5-shi butin sandi engizinder: 9

   Engizilgen sandardin kosindisi=30

        Бұл мысалда тұрақтыларды сипаттау бөліміндегі limit тұрақтысы енгізілетін сандарды шектеу рөлін атқарады. Айнымалыларды сипаттау бөліміндегі count, item, sum айнымалыларды бүтін сандық типте көрсетілген.

    Программа басында енгізілген сандарды санайтын count(санауыш) айнымалысы мен қосындысы-sum нөлге теңестіріледі де, одан кейін 5 сан енгізіліп, оларды біртіндеп санау мен жинақтап қосу жүзеге асырыла бастайды.

     Алдын ала WHILE операторы count<5 шартын тексереді. Шарт ақиқат болса, яғни орындалса, цикл тұлғасы болып келетін құрама оператор атқарылады, онда кезекті сан енгізіліп, қосындысы осы сан мөлшеріне көбейеді. Сонан соң қайтадан цикл операторы орындалып шарт тексеріледі, ол ақиқат болса, тағы да цикл қайталанады т.с.с.

     Санауыш мәні 10-нан асқанда, қайталау  топталып, қосынды мәні экранға  writeln операторы арқылы «Eнгізілген сандардың қосындысы=» деген сөз тіркесінен кейін шығарылады.

    2-мысал.

     Евклид алгоритмі бойынша берілген m,n-екі санның ең үлкен ортақ бөлгішін табу керек. Ол үшін мына өрнекті пайдаланамыз.

                   

      Бұл есептің блок-схемасын да (2-сурет) келтіре кетейік. Блок-схема есептің шығару жолын көрнекі түрде бейнелеп, оның программасын құру кезінде қате жібермеуді қамтамасыз етеді.

 
 
 

2-сурет. Евклид алгоритмнің блок- схемасы

 
 
 
 
 
 
 

Program EYOB; {Екі санның ең үлкен ортақ  бөлгішін табу}

        Var n,x,m,e,y:integer;

   Begin

        Write(‘m,n sandarin engizinder:’);

         Readln(m,n);

         x:=m; y:=n;

         While x<>y do

                  if x>y then x:=x-y else y:=y-x;  e:=x;

          Writeln(‘En ulken ortak bolgish=’,e);

   End.

 

   Нәтижесі:

   m,n sandarin engizinder: 4 6

   En ulken ortak bolgish= 2

 

2.3  Repeat операторы

       Repeat қайталау операторы While операторына ұқсас, айырмашылығы-қаталану шартты цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда қайталанып, ол ақиқат болған кезде циклді орындау доғарылады (while операторында керісінше болатын).

     Бұл оператор Repeat (оқылуы: репит, қайталау болып аударылады) және Until(оқылуы:антил, дейін, шейін болып аударылады) түйінді сөздерін пайдаланып орындалады. Оператор Repeat сөзінен тұратын оның тақырыбынан, цикл тұлғасынан және қайталау шартынан құрастырылады да, синтаксистік диаграммасы 3-суреттегідей кескінделеді:

   

                        3-сурет. Repeat операторының диаграммасы

                            REPEAT <оператор 1>;

                                           <оператор 2>;                                                                                                                                                                 

                                                     …

                                           <оператор n>;

                             UNTIL <шарт>;

Repeat операторының блок-схемасы

       Repeat операторының циклі ішінде оның орындалу шартына әсер ететін кем дегенде бір оператор болуы тиіс, әйтпесе ол шексіз қайталана беруі мүмкін. Егер қаталау кезінде цикл ішінде көшу операторы болып, ол басқаруды цикл сыртындағы операторға берсе, онда циклдің орындалуы әрі қарай жалғаспайды.

     Цикл тұлғасы болып келген  оператор жай немесе құрама  оператор (4-сурет) бола береді.

     Бұл операторды да While операторын пайдаланған есептерде қолдануға болады, қай операторды қолдану әркімнің өз еркіне байланысты шешіледі. While операторы көмегімен шығарылған 2-суретте көрсетілген 2-мысалды енді Repeat операторымен қайталап шығарайық, программада қандай оператор қолданатынмызға байланысты алгоритм схемасы да (4-сурет) программа да өзгеріске ұшырайды.

Информация о работе Циклды ұйымдастыру және матрицаны өңдеу