Turbo Pascal тілінде шартты операторлармен жұмыс

Автор: Пользователь скрыл имя, 27 Марта 2013 в 11:10, курсовая работа

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

Паскаль бағдарламалау тілі (француз математигі және философы Блез Паскальдің (1623-1662) құрметіне) 1968-1971 ж.ж Информатика Институты Швейцариялық жоғарғы политехникалық мектептің директоры, профессор Никлаус Вирттың еңбегімен құрастырылған. Паскаль тілі алғашында бағдарламаны жүйелік деңгейде оқу үшін, кейіннен кеңейтілген көлемде кәсіби бағдарламалау құралы болып құрастырылды.

Содержание

Кіріспе ..............................................................................................................


І Тарау. Turbo Pascal тілінің операторлары

1.1 Паскаль тілінің операторы.............................................................
1.2 Меншіктеу операторы.....................................................................
1.3 Мәліметтерді енгізу операторы.....................................................
1.4 Мәліметтерді шығару операторы.................................................
1.5 Циклді оператор...............................................................................


ІІ Тарау. Turbo Pascal тілінде шартты операторлармен жұмыс..
2.1 Шартты операторлар туралы түсінік...................................................
2.2 Программа құруда шартты операторларды пайдалану...................


Қорытынды....................................................................................................

Пайдаланылған әдебиеттер..................................................

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

шартты оператор.doc

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

  Кейде бос оператор begin end сөздерінен немесе ешбір  мәнді өзгертпейтін өрнектен  тұрады.

  Бос оператор ешқандай  да амал орындамайды. Бос оператор  қалдырылып кеткен жоқ оператордың орнын белгілеу үшін пайдаланылады.

1.3  Енгізу операторы.

Берілген мәндерді айнымалыға беру үшін меншіктеу операторын пайдалануға  болады. Мысалы,А:=-15; ВЕС:=16.4;т.б. Бірақ  бұл жағдайда программада жалпылық қасиет болмайды, яғни ол тек көрсетілген мәндер мәндер үшін ғана есептеу жұмысын жүргізіп, қалған кез келген мәндер үшін ғана есептеу жұмысын жүргізіп, қалған кез келген мәндер үшін дұрыс нәтиже бермейді. Программаны дұрыс әрі әмбебап етіп жасау үшін айнымалылардың мәндері өзгерілетін түрде жасалып, олар пернелерден енгізілуі қажет, мұндайда программа айнымалының әр түрлі мәндері үшін дұрыс жұмыс атқара алады.Паскаль тілінде мәліметтерді енгізу және шығару үшін яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.Паскаль тілінде мәлімет енгізетін READ- ағылшынша оқу операторының жалпы түрі пішімі төмендегідей:

   READ (a1,a2,…,an);

   READLN (a1,a2,…,an);

   READLN;

  Мұндағы а1,а2,...,an- айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln алдыңғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіруді ғана атқарады.

     Енгізілетін  айнымалылардың мәндері integer, real, char немесе  string типтеріне жатуы мүмкін.Логикалық айнымалалардың мәндері енгізілмейді.Айнымалылар мәндері өз типтеріне сәйкес Паскаль тілінің ережесі бойынша енгізіледі.Егер ол шарт бұзылса, онда экранға енгізу-шығару қатесі шығады.READ операторы орындалғанда параметрлер өздеріне сәйкес мәндерді қабылдайды,бұл мәндер INPUT енгізу файлы арқылы жүзеге асырылады.Параметрлер жаңа мән қабылдағанда,оларда бұрын орналасқан ескі мән өшіріліп,орнына жаңа мәндер жазылып отырылады да программа параметрдің жаңа мәні бойынша жұмыс атқарады.Алғашқы нұсқасында мәлімет енгізу дұрыс орындалады,өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне сәйкес келіп тұрады,себебі real типтес I айнымалысы үшін char типіндегі мән енгізіліп отыр.

   Егер енгізу  пернетақта арқылы емес,дискіден  арқылы емес,дискіден немесе файлдан жүзеге асырылса, онда жақша ішіне аодымен файл аты жазылады.

   READ (FN,a1,a2,…,an);

   READLN (FN a1,a2,…,an);

   READLN (FN);

  мұндағы FN-енгізілетін мәндер жазылған дискіде файлдың аты;а-айнымалылар идентификаторлары, файлдарда да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады.Файлдағы мәліметтер де бір-бірімен бос орын не енгізу пернесін басу арқылы бөлінуі тиіс,яғни файлға әрбір мән енгізілгеннен кейін ал енгізу соңында “Enter” пернесі басылады.

  Файлдардан мәлімет енгізу  мысалдар кейінірек қарастырылады.READ операторы кез келген сандармен,  символдармен және сөз тіркестерімен  жұмыс атқара алады. 

          Сонымен,параметрлердің  сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін Enter енгізу пернесі басылады.Мысалы, енгізу операторы READ (A,B,C); түрінде берілсе,параметрлерге мәндер былай беріледі: 5  6 2  4, 5 Enter. Бұл жағдайда А- 5, В- 6.2, С- 4.5 мәндер қабылдайды.Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны басынан бастап қайта орындау қажет.Бүтін айнымалыларға бүтін,нақты айнымалыларға нақты мәндер берілуі қажет.Айнымалы сипатталғанда нақты ретінде көрсетілсе, оған нақты да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан енеді.Ал машина «өзі» бүтін санды нақты сан түрінде келтіріп алады.Мысалы:VAR  A,B: REAL; BEGIN  READ(A,B);   END.түрінде беріліпА,В айнымалылары үшін 4 5 Enter орындалса, онда машина оларды А-4.0, В-5.0 түрінде қабылдайды. Сандар арасына бір немесе бірнеше бос орын қалдыруға болады,себебі сан енгізілгенде бос орын есепке алынбайды.Мәндерді енгізгенде мән енгізілген жолдан келесі жаңа жолға өту үшін параметрсіз немесе параметрге сәйкес READLN; , READLN(a1, a2,…, an);операторларының пайдалану қажет.Сонымен,READ(a1,a2,…,an);READLN;операторларының орнына бір ғана READLN(a1, a2,…,an)операторын пайдалануға болады.

   

1.4 Шығару операторы.

Паскаль тілінде нәтижені экранға шығару үшін  WRITE жазу операторы процедурасы деп те қолданылады:

      WRITE (a1, a2, …  an);

  Мұндағы жақша ішінде жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін. Мысалы, егер B – 17.15 болып, мына команда орындалғанда:

       WRITE (B мәні -, B);

Экранда

B мәні – 1.715E+01 деген сөз тіркесі  көрінеді.

     Шығарылатын мәндердің  түрі айнымалылардың типі арқылы  анықталады, олар integer, real, boolean (true, false), char, string сияқты типтер түрінде беріле береді.

      Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылып, WRITE түйінді сөзінен соң жай жақша ішіне жазылады.

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

     WRITE (b: n) немесе WRITE (b: 5) 

Операторы арқылы  жүзеге асырылады. Мұндағы b – айнымалының атауы; n-мәні бүтін сан болып келетін тұрақты түрінде берілген орые саны, оны бірден бүтін санмен де жазуға болады. Егер b:5 пішімі беріліп, ал b-56 (екі не үш разрядты сан) болса, онда беске дейінгі толтырылмаған орындарға сол жақ шетте бос орын қалдырылады. b-56 мәні үшін WRITE (b:5) операторы экранға «56» тіркесін шығарады.

      Нақты сандар үшін  оның жалпы енін, сонан соң  бөлшегі алатын орынды көрсету  қажет, сол себепті аралас сандарды  бейнелеуде оның ені қос нүктемен  бөлінген екі бүтін сан арқылы  жазылады. Сонымен, нақты сан үшін  пішім екі саннан тұрады:

        1 – санға  берілетін барлық орын.

        2 – үтірден  кейін алынатын бөлшек цифрлар  саны.

Мынадай оператор берілді.

  WRITE (Y: 5:2)

  мұндағы 5-нәтижеге  берілген барлық орын,2-үтірден  соңғы бөлшек берілетін орындар  саны.Мысалы, С=-1457865 болғанда WRITE(С:8:3)операторы  экранға -145786 мәнін шығарады,мындағы  жалпы орындар саны – 8, ал  бөлшек үш санмен бейнеленетіндіктен  соңғы бір цифр жазылмай қалып отыр. С айнымалысының берілген мәнін толық бейнелеу үшін WRITE(C:9:4)операторын жазу керек еді.Жалпы нақты санды экранда бейнелеу операторының жазылу түрі: 

         WRITE(C:n:m);

 мұндағы n-С мәнінің  барлығына берілген орын саны; m - C мәнінің бөлшек бөлігіне белгіленген орын саны.n- нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол n<m+3 болуы тиіс.Экранға шығаратын сандардың арасында қалдырылатын бос орын санын да осы жолмен көрсетуге болады. Ол үшін екі апостроф жазып,одан кейін қос нүктемен бөлінген бүтін сан арқылы қалдырылатын бос орындар санын өрнектейміз,мысалы:

         WRITE (b: 8:3,     :4, c:12:4);

 мұндағы  4- b мен  с  сандарының арасындағы бос  орын саны.Егер нақты сан үшін WRITE(Y=; Y:8:3) пішімі берілсе, ал оның мәніY=1.76 болса,экраннан Y=1.760 тіркесі көрінеді.Егер операторда пішім көрсетілмесе, онда нәтижеде сол сан экспоненциальды түрде экранға шығады. Паскаль тілінде параметрсіз шығару операторы WRITELN жаңа жолға өту үшін қолданылады.Егер WRITELN (a1, a2, …,an); операторы қолданылса, онда а1, а2, ..., an мәндерін экранға шығарған  соң курсор келесі жолға көшеді. WRITE операторын түсініктеме беруге қолдануға болады. Мысалы: WRITE(A,B,C мәндерін енгізіңдер:); READ (A,B,C,); Мұндайда экранға: А,В,С мәндерін енгізіңдер: түсініктеме сөзі шығады, сонан кейін үш сандық мән енгізілуі тиіс.Мысалы,WRITE(= , N:3,  :4, M= ,  M : 4 :2) болса, онда Т- нің үшорынды мәнінен соң 4 бос орын қалады да, одан соң М – нің нақты мәні жазылады. Айталық, X= 7, Y= 15, Z= 11, ал R= 450,08 болсын, оларды экранға шыға

рудың әр түрлі тәсілдерін көрсетеді.

 Мысалыдар:

    Program A(input,output);

    VAR

     x,y,z:string[10];

     a,b,c:real;

    m,n:integer;

BEGIN

    x:=’f’ ;

    y:=’j’;

    z:=’jan’;

    a:=23.5;

    b:=23,456789;

    m:=1444;

    n:=6785;

   WRITE (x:2,y:2,z:4,a:5:2,’8’,b:9:6,m:6,n:5:0)

Программа тақырыбындағы  жақша ішіндегі екі сөз (input, output) керекті деректердің пернелерден енгізілетін,ал нәтиже экранға шығарылатын мәлімдейді. Паскальдің стандарты бұл екі сөзді жазуды мәліметті түрде талап еркенімен Турбо Паскальда оларды жазбауға да болады, сондықтан көбінесе  бұл параметрлерді көрсетпейміз.

                          

Паскаль тілінің  басқару операторлары

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

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

    Құрылымдық операторлар. Құрылымдық операторлар басқа операторларды белгілі бір ереже брйынша біріктіпу жолымен құрылады. Олар үш топқа-құрама,шартты және қайталау операторларына жіктеледі.

   Құрама операторлар.Құрама оператор бір-бірінен нүктелі үтір арқылы бөлінген бірнеше операторларды begin және end түйінді сөздерімен шектей отврвп, оларды бір оператор тәрізді орындалатын етіп, біріктіру жолымен ұйымдастырылады. Құрама оператор тілдің ережесіне сәйкес программаның кез келген жерінде тұра береді де, бір оператор сияқты орындалады.

   Мұндағы операторды  шектеп тұратын BEGIN(басы), END(соңы) түйінді сөздері операторлық  жақшалар деп аталады, BEGIN сөзінің  соңына және END сөзінің алдындағы  оператордан кейін нүктелі үтір  «;» қойылмайды. Құрама оператордың  ішінде тағы да құрама оператор  болуы мүмкін. Мысалы, әріптермен белгіленген операторлар жақшалармен көрсетілгендей (A,B,C,D), (K,L,M), E, (R,S)) топталатын болса, онда программадағы құрама операторлар былай құрылады:

         

begin

              begin

               A операторы;

               B операторы;

               E операторы;

             D операторы;

             end;

       begin

              K операторы;

              L операторы;

              M операторы;

              end;

             E операторы;

       begin

              R операторы;

              S операторы;

               end

       end.

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

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

   1.5 Циклдік (қайталау) оператор 

 

 

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

 

 

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

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

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

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

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

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

WHІLЕ  <шарт>  DO <оператор>   { бір оператор   қайталанады}      

WHІLE < шарт >  DO    

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

     ВЕGІN       

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

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

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

 END.

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

Информация о работе Turbo Pascal тілінде шартты операторлармен жұмыс