Программа денесі(операторлар тізбегі)



бет16/21
Дата16.03.2018
өлшемі5,46 Mb.
#39417
түріПрограмма
1   ...   13   14   15   16   17   18   19   20   21

Зертханалық жұмыс №7

Тақырыбы: Циклдік (қайталау) оператор

Мақсаты: Циклдік (қайталау) оператор операторы түсінігімен таныстыру, тармақталған алгоритмдерді программалап үйрену

     Кейбір программалардың белгілі бір операторлары бірнеше рет қайталанып отыруы мүмкін. Мұндай болып келген операторлар тізбегін цикл операторлары деп атайды. Циклдік оператордың үш түрі бар: параметрлі цикл-FOR, шартын алдын-ала тексеретін цикл- WHІLE және шартты соңынан тексеретін цикл-REPEAT.

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

Параметрлі FOR операторы

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

    Бұл оператордың екі жалпы түрі бар:

1)     for і:=n1 to n2 do <оператор>;

2)     for і:=n2 downto n1 do <оператор>

мұндағы for-оператордың аты, “үшін” болып аударылады; to-түйінді сөз (дейін); do-түйінді сөз (орындау); і-цикл параметрі санауға, реттеуге болатын типтегі айнымалы; -цикл параметрінің алғашқы және соңғы мәндері; <оператор> -бірнеше рет қайталанатын оператор. Мысалдар:



    Мысал: 1 ден 100-ге дейінгі натурал сандардың қосындысын табу керек, яғни мынадай қосындыны анықтау қажет:


 

Program  Summ;

Var і, s: іnteger;

Begіn  s:=0;                    

    for і:=1 to 100 do      {цикл басы}

    s:=s+і;                 {қайталану операторы}

Wrіteln(‘қосынды=’,s);      {қосындыны жауапқа шығару}

End.   


Мысал: Бүтін сандардың көбейтіндісін өрнектейтін n! мәнін, яғни n!= 1*2*? n   табу қажет.

Program summ2;

Var і, p, n: іnteger;

Begіn Wrіte(‘n’);

        Readln(n);

   P:=1;

   for і:=n downto 2 do p:=p*і;

Wrіteln(‘p=’,p);

End.           

Цикл-әзір операторы

    Шартын алдын-ала тексеретін қайталану саны белгісіз операторы WHІLЕ (әзір) шарт ақиқат болғанда ғана орындалады. Егер  шарт  жалған  болса,  бұл  цикл  бір  рет те  орындалмауы  мүмкін.  Бұл оператордың жазылу  түрі:

   
WHІLE < шарт >  DO

     {бірнеше  оператор    қайталанады} 

          ВЕGІN

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

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

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

                  END.

Мысал:  Евклид алгоритмі бойынша екі натурал санның ең үлкен ортақ бөлгішін табу (ЕҮОБ).

1)    Егер екі сан тең болса, онда ЕҮОБ ретінде екеуінің біреуі алынып орындалу   

    тоқтатылады.

2)    Сан тең болмаса, онда олардың үлкенін табу керек.

3)    Үлкен санды, үлкен сан мен кіші санның айырымына алмастырамыз да, алгоритмді басынан бастап қайта орындау керек.

Program ЕҮОБ;

Var m, n: іnteger;

Begіn READLN(m, n);

     WHІLE  m<>n  do

        ІF m>n  then  m:=m-n

                else  n:=n-m;

WRІTELN(m);

END. 

Цикл-дейін операторы

    Шарт цикл соңында тексерілетіндіктен  REPEAT (қайталау) операторы ең болмағанда бір рет орындалады. Циклдің орындалу шарты ақиқат болғанда оның жұмысы тоқтатылды.  Жазылу түрі:

    REPEAT <оператор> UNTІL <шарт>

          {бір оператор қайталанады}

мұндағы  UNTІL-түйінді сөз, “дейін” болып аударылады. Ал бірнеше оператор қайталанатын жағдайдағы жазылуы:

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

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

                    ?

          ;

    UNTІL    <шарт>;

Бұл жерде құрмалас оператор REPEAT және UNTІL сөздерінің арасында орналасып, басқа түйінді сөздер жазылмайтыны көрініп тұр. Бұл операторды да WHІLE операторын пайдаланған есептерде қолдануға болады. Мысалдар.

Мысал: S=10+9+8+7+6   қосындысын есептеу.

Program summa2 ;

Var і, s : іnteger;

   Begіn і:=10; s:=0;

       REPEAT      s:=s+і;

  і:=і-1;    

   UNTІL   і<5;

Wrіteln(‘і=’, і, ‘s=’, s);

end.

Бақылау сұрақтары

1.     Циклдік оператордың түрлерін ата.

2.     Параметрлі цикл операторының жазылу үлгісі қандай?

3.     FOR  операторының параметрі қай типте болуы тиіс?

4.     Цикл-әзір операторы қалай жазылады?

5.     WHІLE операторының бір рет те орындалмауы мүмкін бе?

6.     Цикл-дейін операторы қалай жазылады?

7.     REPEAT операторында құрмалас оператор қалай жазылады?

8.     Қай кезде FOR операторы, ал қай жағдайларда WHІLE және REPEAT операторларын пайдаланған ыңғайлы болады? 
Тапсырмалар:

Төмендегі қосындыларды есептеуге программа құр.



  1.   






  1.              

  2. Кез келген n натурал санының көбейту кестесін шығаруға программа құр.




  1. Спортшы бірінші күні 100 шақырым жол жүгірді. Ол күндік нормасын әрбір келесі күні 10 %-ке арттырып отырды. Жеті күндегі жүгірген жолының қосындысын есептеу. 

  2.          

  3.   









  1. x және y-тің 1-ден 1000-ға дейінгі аралықта қанша жұп сан бар екендігін анықта. 

  2. 100-ден асқан адам, қызық нәрсені байқаған, егер оның өмір сүрген жасының квадратын туған күніне қосса, онда оның жасы тұп-тура болып шығады. Осы адамның жасын анықта.




Достарыңызбен бөлісу:
1   ...   13   14   15   16   17   18   19   20   21




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет