Алгоритм интерфейстері

 

 

 

 

 

 

 

 

 

Аякөз қаласының политехникалық

Колледжінің10-ВТ-3 тобының студенті  

Ораз Асыланның алгоритмдеу және

бағдарламалау негіздері  пәнінен

міндетті бақылау жұмысы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм түрлері

Жоспар:

I. Кіріспе

II. Негізгі бөлім

а) Алгоритм түрлері

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

III. Қорытынды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кіріспе

 

 

«Алгоритм» ұғымы информатикада  ақпарат сияқты іргелі ұғымдар қатарына жатады. Бұл атаудың мағынасын түсіну үшін оған жан-

жақты талдау жасаған  жөн. Оған дейін де арифметикалық  амалдарды орындаудың көптеген ережелері  болған. Онда, негізінен, сандардың  ерекшеліктеріне көп көңіл бөлінген болатын. Ал Әл-Хорезми көпорынды сандардың бәріне ортақ және барлық сандарға жарамды ереже ұсынған. Әл-Хорезмидің ұсынған тәсілін жақтаушыларды алгоритмдіктер деп, ал «алгоритм» ұғымын бірқатар қасиеттері бар ережелер жүйесі деп атаған. Алгоритм – берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіру. Кез келген есепті қарапайым амалдарды тізбектей орындау арқылы шығаруға болады. Алгоритмді компьютерде орындау үшін оны программа түрінде жазып шығу керек.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Негізгі бөлім

 

1.Сызықтық немесе тізбекті алгоритм. Сызықтық алгоритм тізбектеле орналасқан командалардан, ал блок-схемалар бір сызық бойына орналасқан тізбекті блоктардан тұрады. Әрекеттердің тізбектей орындалуын сипаттайтын алгоритм — сызықтық алгоритм деп аталады.

 Мысалы:

алг    үй тапсырмасын орындау

 басы

күнделікті алу

тиісті бетін ашу, үй тапсырмасын анықтау

үй тапсырмасын орындау

күнделікті орнына қою 

соңы

Сызықтық алгоритм командалары осында көрсетілген рет бойынша орындалатын тізбектеле орналасқан командалардан (блоктардан) тұрады. Амалдардың осылай бірінен кейін бірінің реттеліп орындалу тәртібін табиғи атқарылу дейді. Мысалы, төменде көрсетілген Z функциясының сандық мәнін есептеп шығару алгоритмін жасау керек болсын.

Z=ax2+b + cos(ax2+b) – tg(ax2+b).

Бұл функцияның мәнін табу үшін алдымен жақшаға алынған ах2+ b көпмүшесін жеке есептеп алу қажет, себебі ол тізбек үш рет есептеліп, орындаушы машина оған уақытты көп кетіреді. Есептеліл болған Z функциясының мәні қағазға басылып не экранға шығуы тиіс. Жалпы а, b, х мәндері алдын ала компьютер жадына енгізілуі керек.

алг Z функциясьш есептеу

(нақ a,b,x,z)

арг а, b,х

нәт Z

басы

а, b,х енгізу

t:= ax2 + b

Z:= t+cost-tgt

x,Z шығару

соңы

Сонымен қарастырылған алгоритм қарапайым сызықтық алгоритмнің (1.5-сурет) мысалы болып табылады. Мұндағы, 2-блок — а, b, х мәндерін пернетақтадан программаға енгізу блогы, 3-блок t-ның, ал 4-блок Z функциясының мәндерін есептейді. 5-блок — х айнымалысының және Z функциясының нәтижесін басsg шығарады.

2. Тармақталу алгоритмдері. Күнделікті өмірде жиі кездесетін алгоритмдердің бір түріне есептегі белгілі бір шарттың орындалуына не орындалмауына байланысты командалар тізбегінің бірнеше тармақтарға  бөлінетін  тобы  жатады.  Тармақталу алгоритмінде көбінесе арифметикалық теңсіздік (теңдік) түрінде берілген логикалық шарт тексеріледі. Егер ол орындалса, онда алгоритм бір тармақпен, ал орындалмаса екінші тармақпен жүзеге асырылады да, соңында екі тармақ қайта бірігеді. Мұндай алгоритмдерде шартты тексеру тармақталу командасы деп аталады. Оны алгоритмдік тілде өрнектегенде егер, онда, әйтпесе, бітті түйінді сөздері пайдаланылады. Орындалу тәсіліне байланысты тармақталу командасы «таңдау» (толымды) және «аттап өту» (толымсыз) болып екі түрге бөлінеді.

Тармақталу   командасының   толымды   түрде  өрнектелуі   1.6-суретте көрсетілген.

Алгоритмді атқару үшін алдымен тармақталу командасының шарты  тексеріледі. Шарт орындалған жағдайда онда және әйтпесе түйінді сөздерінің арасындағы 1-серия командалары орындалады. Ал шарт орындалмаған жағдайда әйтпесе және бітті түйінді сөздерінің арасындағы 2-серия командалары орындалады.

Тармақталу алгоритмі схемасының бұл түріне міндетті түрде шартты тексеру блогы кіреді. Ол ромб түрінде кескінделіп, басқа блоктармен бір енгізу және екі шығару сызығы арқылы байланысады. Тармақталу алгоритмдерінің толымды түрі екі серияның бірін ғана таңдауды іске асырады, мұнда берілген шарт тексеріледі (1.6-сурет), егер ол шарт орындалса (егер ақиқат болса, орындалуы анық), онда 1-серия жүзеге асырылып, содан кейін келесі амалдарға көшеді. Ал егер де, шарт орындалмаса, яғни оның орындалу мүмкіндігі жалған болса, онда 2-серия атқарылып, содан кейін ғана алгоритм әрі қарай орындалады. Сонымен шарттың акиқат немесе жалған болуына байланысты 1-серия немесе 2-серия орындалады.


 

 

Тармақталу командасының толымсыз түрде өрнектелуі 1.7 – суретте көрсетілген.

 Алгоритм мұндай командадан құрылса, шарт орындалған жағдайда СЕРИЯ орындалады да, одан соң алгоритмнің атқарылуы  әрі жалғасады.

 

 

Шарт орындалмаса, онда СЕРИЯ командалары орындалмай, «аттап өту» әрекеті атқарылады. Сонымен алгоритм тармақталу кезеңінде шарт орындалса, алгоритм сериясы жүзеге асырылады да, ал шарт жалган болса, серияны аттап өтеді.

Енді осыған мысал  келтірейік.

1-мысал.  у функциясын төмендегі формула бойынша есептеп шығару керек:

 


 

 

Мұнда х айнымалысының таңбасына (х > 0, х < 0) байланысты жоғарғы не төменгі формуланы тандап алып, сол арқылы у функциясыньщ мөнін табамыз (1.8-сурет). 2-блоктьщ орындалу барысында х айнымалысына белгілі бір мән беріледі де, ол мән енгізу командалары аркылы программаға берілуі тиіс.

Бұдан кейін енгізілген мәннің оң немесе теріс екендігі үшінші шартты тексеру блогы аркылы айқыналады. Шарттың «ақикат» (иә) немесе «жалған» (жоқ) болуына байланысты тек 4- немесе 5-блоктардын бірі ғана орындальш, «тандау» жүзеге асырылады. 6-блок енгізілген х айнымалысының және у функциясының сандық мәндерін экранға шығарады немесе қағазға басады.



 

 

 

 

 

 

 

 

 

 

 

3. Күрделі тармақталу. Кейбір есепте үш және одан да көп тармақ, яғни шығу сызықтары бар шарттарды тексеруге тура келетін кездер кездеседі. Мысалы, егер мынадай шарт: х>0; х=0; х< 0 әр түрлі үш әрекет орындауды талап етсе, онда тармақталу құрылымы 1.9-суреттегідей болады.

Егер мүмкіндік саны үштен артық болса, онда көбінесе «таңдау» немесе «тандау-әйтпесе» құрылымы қолданылады.

 

 

Осы алгоритмде қарастырылған тармақталу нұсқасына сәйкес блок-схема құрылады. Төменде «таңдау-әйтпесе» нұсқасына сәйкес алгоритмнің жазылуы мен блок-схемасы келтірілген (1.10-сурет).

Таңдау

1-орын: алтын медаль

2-орын: күміс медаль

3-орын: қола медаль

әйтпесе марапаттау қағазы

бітті


 

 

 

 

 

 

 

 

4. Күрделі шарттарды пайдалану. Қатынас таңбалары (>, <,=,<>) бар шарттар логикалық айнымалылар ретінде қарастырылады да, олар шарт орындалса, АҚИҚАТ мәніне ие болады, ал ол орындалмаса — ЖАЛҒАН мәнін қабылдайды. Блок-схемаларда ромб түріндегі тексеру блогынан шарттың орындалуына сәйкес (ақиқат) шығу сызығы «иә» (1, +) болып, ал шарттың жалған болуына сәйкес сызығы «жоқ» (0, -) болып белгіленеді.

Көптеген есеп алгоритмдерінің  күрделі, құрама шарттары ықшам түрде жазылады. Қарапайым шарттарды біріктіру үшін ЖӘНЕ, НЕМЕСЕ, ЕМЕС түйінді сөздерін пайдаланамыз. Мысалы, z  шамасының берілген [а, Ь] кесіндісі шекарасынан тыс шықпайтынын тексеретін шартты былай жазуға болады:

егер  z ≥ a  ЖӘНЕ  z ≤  b

онда z мәндері [о, b] кесіндісі шегінде орналасады.

Мысалы, z мәнінің [а,b] және [с, d] кесінділерінің кез келген біреуіне кіретінін тексеру керек болса, онда оны былай жазамыз:

егер z ≥ а ЖӘНЕ  z ≤  b НЕМЕСЕ  z ≥ с ЖӘНЕ  z ≤ d

онда z[a, b]  немесе [с, d] кесінділерінің біреуінің ішінде орналасады

бітті

Күрделі  шарттарды   қолданып,   шығарылатын   есепке   мысал

келтірейік.

5-мысал.

Үш кесінді ұзындығы a, b жөне с берілген (a, b, с — бүтін, оң сандар). Осы кесінділерді үшбұрыш қабырғалары ретінде қарастыруға бола ма?

Осы кесінділерден үшбұрыш  құруға болмайтын шарт былай жазылады:

а> b+c НЕМЕСЕ b > а+ с НЕМЕСЕ с > а+b

Сол себепті бұл есептің шығару алгоритмін былай көрсетеміз:

алг Үшбұрыш құру (бүтін a, b, с, лит z)

арг a,b, с нәт z басы

егер ЕМЕС (а>b + с НЕМЕСЕ b>а+с НЕМЕСЕ c > а+b)

онда   z:= «Болады»

әйтпесе z:= «Болмайды»

бітті

шығару  z                  

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

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

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

 

1.11-суретте қайталану командасы алгоритмдік тілде және графиктік түрде берілген.

Қайталану санының алдын ала белгілі және белгісіз болуьша байланысты цикл екі түрге бөлінеді. Қайталану саны алдын ала белгілі цикл — арифметикалық цикл деп, ал орындалу саны белгісіз цикл — қадамдық (итерациялық) цикл деп аталады.

 

 

1.11-сурет.   Циклдік   алгоритм   сипаттамасы

 

6. Арифметикалық цикл. Арифметикалық цикл ең қарапайым цикл болып табылады және практикада жиі қолданылады. Қайталану барысында цикл параметрі арифметикалық прогрессияның заңы бойынша тұрақты шамаға өзгеріп отырады. Алгоритм атқарылар алдында цикл параметрінің бастапқы мәні (аргументтің мәні) белгілі, осыдан кейінгі келесі қайталану барысында цикл параметрі қандай да бір тұрақты шамаға (қадамға) өзгеріп отырады. Бұл процесс оның алдын ала берілген ең соңғы мәніне дейін жалғасады.

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

Алгоритмнің орындалу барысында цикл параметрі: мысалы, х өзінің ең алғашқы х0 мәнінен ең соңғы хk мәніне дейін тұрақты


 

шамаға (dx) өзгеріп отырады. Осының нәтижесінде х мынадай мәндерді қабылдайды: х0, xo+dx, xo+2dx,...,xo+(n-1)dx, хk, мұндағы п — циклдің қайталану саны, ол былай анықталады:

 

ал тік жақша [...] — өрнектің бүтін бөлігін көрсетеді. п әрқашан да бүтін сан болуы тиіс, егер ол аралас сан болса, онда оның бөлшегі алынып тасталады, өйткені циклдің қайталану саны бүтін натурал сан болуы тиіс.

Енді х белгілі қадаммен өзгеріп отыратын арифметикалық цикл ішіндегі  у = f(x)   функциясы   мәндерінің   есептелу   алгоритмін қарастырайық.

алг арифметикалық цикл (нақ х0, xk, dx, у)

арг х 0, xk, dx

 нәт у

басы

енгізу  (xO,xk,dx)

 х:=хО

 егер х ≤ xk

онда

у = f(x)  

шығару х, у

х:=x+dx

бітті

 соңы

 

1.12-суретте арифметикалық циклге арналған у = f(x) функциясының есептелу тәсілі алгоритм түрінде көрсетілген. Мұндағы — 3, 4, 7-блоктар цикл құру үшін қажет. Олар цикл параметрінің алғашкы мәнін, өзгеру кадамын белгілеп және оның ең соңғы мәніне жеткен-жетпегенін тексереді. Ал 5- және 6-блоктар бірнеше рет қайталанып цикл құрайды. 4-блок қайталану шартын тексеру арқылы қайталану процесін ұйымдастырады.

Алгоритм мен программа жазуды жеңілдету үшін циклдік алгоритмдер ықшамдалған түрде «модификатор» немесе «цикл басы» блогын пайдалану арқылы жазылады. Бұл программадағы арифметикалық циклдің өз командалары былай жазылады:


 

 

 

 

 

 

 

 

Мұндай командалар үшін 1.13-суретте көрсетілген 3, 4, 5-блоктардың орнына «цикл басы» блогы орналасады. Ол алтыбұрыш тәрізді геометриялық фигурадан тұрады және оның міндетті түрде екі ену және екі шығу сызығы болуы тиіс. Осы блокты пайдалану арқылы жоғарыда келтірілген алгоритм 1.12-суреттегідей түрде кескінделеді. Параметрдің алғашқы х0 мәні оның соңғы хк мәнінен кем болса, онда оның қадамы dx оң сан болады. Керісінше, параметрдің алғашқы мәні оның соңғы мәнінен артық болса, онда қадам теріс сан болады.

7. Итерациялық (қадамдық) цикл. Цикл орындалмас бұрын, оның қайталану саны белгісіз болтан жағдайда, итерациялық (кадамдық) цикл пайдаланылады. Циклді аяқтау үшін белгілі бір шарт тексеріледі. Егер шарт орындалмаса, онда қайталану командасы аткарылады. Ал шарт орындалса, онда цикл қайталанбайды.   Қадамдық  циклді  кескіндегенде  модификатор   қолданылмайды,   себебі   циклдің неше рет қайталанатынын алдын ала білмейміз. Енді қадамдық циклге мысал келтірейік. Мысал. Екі оң бүтін сан — а және b(a≥b) берілсін.  Бөлу  амалын  қолданбай а-ны b-ға бөлгендегі калатын қалдықты табу керек. Бұл мысалдың алгоритмі 1.14-суретте көрсетілген.


 

 

 

 

 

 

 

 

 

 

 

 

2. ПАСКАЛЬ ТІЛІНІҢ ОПЕРАТОРЛАРЫ   

 Операторлар программаның  BEGІN және END түйінді сөздерінің аралығында орналасады. Оператор дегеніміз  алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Оларды жазылу ретіне қарай бір-бірінен нүктелі үтір (;) арқылы ажыратып жазады. Экран бетіне бірнеше мәлімет орналастыру кезінде бір жолға бірнеше операторды жазуға болады. Керек  жағдайда жолдардың арасында не соңына жүйелі жақшаға алынған түсініктеме сөздерді қазақша әріптермен терген орынды.    

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

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

 

 

2.1. Мәліметтерді шығару операторлары     

 Паскал тілінде  енгізу-шығару операторлары процедура  болып анықталады.  

  Шығару операторлары есептің нәтижесін қағазға басып алу үшін қолданылады.       

 Оның жазылу үлгісі:

1) WRІTE (S);

2) WRІTE (P,S,H);

3)    WRІTE (Y,Z);

4)    WRІTELN(Y,Z)

Оператордан кейін жақша ішіне айнымалылар аттары жазылады.

WRІTE  оператордың аты, ағылшынша “жазу” деген ұғымды білдіреді. 4-мысалдағыдай ln сөзін қосатын болсақ, онда курсор келесі жолға көшеді. Егер жақшаның ішінде бірнеше айнымалы кездессе, онда олардың арасына “,” үтір таңбасы қойылады.  Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар: іnteger, real, boolean (true, false), char, strіng.   

 Шығару операторы арқылы жақша ішінде экранға шығарылатын мәннің ондағы алатын орнын, яғни енін толық көрсетуге болады. Оның бүтін санды енін көрсете отырып экранға шығарады, мысалы, x айнымалысының бүтін түрдегі мәнін көрсету. WRІTE (x:n) немесе WRІTE (x:4) операторы арқылы жүзеге асырылады. Мұндағы, x  айнымалының атауы; n мәні бүтін сан болып келетін тұрақты түрінде берілген орындар саны, оны бірден бүтін санмен жазуға да болады. Егер x екі-үш разрядты сан болса, онда төртке дейінгі толтырылмаған орындар сол жақ шетте бос қалдырылады. X=53 мәні үшін  WRІTE (x:4) операторы экранға “53” тіркесін шығарады.   

 Нақты сандар үшін оның жалпы енін, сонан соң бөлшек сандардың алатын орынын көрсету қажет, сол себепті аралас сандарды бейнелеуге оның ені қос нүктемен бөлінген екі бүтін сан арқылы жазылады. Мысалы,  С=-132.6578 болғанда WRІTE (С:8:3) операторы экранға 132.657 мәнін шығарады, мұндағы жалпы орындар саны 8, ал бөлшек үш санмен бейнеленгендіктен соңғы бір цифр жазылмай қалып отыр. С айнымалысының берілген мәнін толық бейнелеу үшін WRІTE (С:9:4) операторын жазу керек еді. Жалпы нақты сандарды экранда бейнелеу операторының түрі:   

 WRІTE (С:n:m);   

 Мұндағы n- C мәнінің бүтін бөлігіне белгіленген орын саны; m  C мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол  n>m+3 болуы тиіс.   

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

 

1-мысал: Экранға “Мен 9-сыныптың оқушысымын” және “Мен паскаль тілін оқып, үйренемін“ деген сөздерді шығару программасын жаз.

PROGRAM  Паскаль;

BEGІN  

 WRІTELN  (‘Мен 9-сыныптың оқушысымын’);  

 WRІTELN  (‘Мен паскаль тілін оқып, үйренемін’);

END.   

 Программаны жазып  болған соң:      

-    оның дұрыстығын F9 клавишасы арқылы тексеру керек;

-         программада қате кездессе, қатесін программа дұрыс болғанша түзету керек;

-         программа дұрыс болғанда оны CTRL+ F9 түймелері арқылы орындауға жіберу керек;

-         ALT+F5 түймелері арқылы нәтижесін шығару керек.    

 Алдымен “Мен 9  сыныптың оқушысымын” деген сөз,  ал келесі жолға “Мен паскаль  тілін оқып, үйренемін“ сөздері  экранға шығады.

2-мысал: Экранға * белгісімен құрастырылған төмендегі суретті шығар.  

 Бір торкөзді бір  орын деп алып, толтыр. 

 

     

*

*

*

*

     

*

   

*

     

*

   

*

     

*

*

*

*


 

 

PROGRAM  SURET ;

BEGІN 

WRІTELN(‘   ****’ );    { 3  бос орын, 4 жұлдызша} 

WRІTELN(‘   *    * );    { 3 бос орын, 1 жұлдызша, 2 бос орын, 1 жұлдызша}

WRІTELN (‘*’:4,’*’:3);   { 4-ші торкөзге 1 жұлдызша, жұлдызшадан кейін                               

      3-ші торкөзге 1 жұлдызша}

WRІTELN(‘****’:7);       { 7-ші торкөзге дейін 4 жұлдызша} 

 

3-мысал: Экранға жұлдызшалармен құрастырылған сурет ішіне “СӘЛЕМ” сөзін жазып шығаратын программа құр.

     

*

*

*

*

*

*

*

     

*

         

*

     

*

С

Ә

Л

Е

М

*

     

*

   

*

   

*

     

*

 

*

 

*

 

*

     

*

*

     

*

*

     

*

*

*

*

*

*

*


 

  

PROGRAM  SALEM;

BEGІN 

WRІTELN (‘   *******’);

WRІTELN (‘* ’:4,’*’:6);

WRІTELN (‘*’:4,’СӘЛЕМ’:5,’*’:1);

WRІTELN (‘*’:4,’*’:3,’*’:3);

WRІTELN (‘*’:4,’*’:2,’*’:2,’*’:2);

WRІTELN (‘**’:5,’**’:5);

WRІTELN (‘*******’:10);

END. 

 

 

 

2.2. Меншіктеу операторы   

 Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалыға телу үшін қолданылады. Өрнек мәнінің типі айнымалының типіне сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін сан мәнін меншіктеуге болады, ондайда бүтін сан нақты сан ретінде де жүзеге асырылады. Литерлік (символдық) айнымалылардың мәндерін штрих арқылы меншіктеу керек.   

 Жазылу ережесі:   

<айнымалы>:=<өрнек>;

мұндағы := - меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәніне тең болуы тиіс. Мысалдар:   

x:=4.5;                                    v:=’s’;   

y:=sqr(a)+sqr(b);                       q:=’)’;   

d:=sqr(b)-4*a*c;                        n:=’f’;   

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

1-мысал: а=5, b=4, c=0.5 сандары берілген. Осы сандардың көбейтіндісін есептеуге (Х=abc) программасын құр.

Program Көбейтінді;

Var a,b: іnteger;                   {a және b айнымалыларының типі-бүтін}      

 x,c: real;                     {x және c айнымалыларының типі-нақты}

begіn      

 a:=5; b:=4; c:=0.5;   {a-ны 5-ке,b-ны 4-ке,c-ны 0,5-ке меншіктеу}      

 x:=a*b*c;            {a,b және c сандарын көбейтіп, x-ке меншіктеу}

Wrіteln(‘көбейтінді x=’, x);       {x көбейтіндісін жауапқа шығару}

End.  

 

2-мысал: x=-5,1; y=10; z=2,3 сандары берілген.   

 

                                                     


 функциясының мәнін  есепте. 

 

Program Функция;

Var y: іnteger; x, z, f: real;               {y-айнымалысының типі-бүтін, x, z және                                                  

 f-айнымалыларының типі нақты}

Begіn     

 x:=-5.1; y:=10; z:=2.3;               {x-ке 5,1-ді, y-ке 10-ды және                                                     

 z-ке 2,3 сандарын меншіктеу    

 f:= sqrt(sqr(x)+sqr(y)+sqrt(z));     {функцияның мәнін есептеп, f-                                                    

 ке меншіктеу}

Wrіteln(‘функция f=’, f);                {f функциясын жауапқа шығару}

End. 

 

2.3. Мәліметтерді енгізу операторы     

 Енгізу операторлары  есеп шығаруға қажетті берілген мәліметтерді пернетақтадан енгізу үшін қолданылады. Оның жазылу үлгісі:

1)    READ (x);

2)    READ (A,B,C);

3)    READLN(X1,X2);       

Мұндағы, READ -  оператордың аты, ағылшынша “оқу” деген ұғымды береді, ал одан кейін жақша ішінде енгізілетін айнымалылардың атаулары беріледі. Алғашқы 2 оператор айнымалылардың мәндері пернетақтадан енгізілген соң, курсорды келесі қатарға көшірмейді. Ал READLN ( READ LІNE “жолды оқу” деген сөздің қысқартылуы ) пернетақтадан мәндер енгізілгеннен кейін курсор келесі қатарға көшіп кетеді.   

 Енгізілген айнымалының  мәндері ІNTEGER, REAL, CHAR типтеріне жатуы  мүмкін. Мысалдар.

1-мысал: Радиусы R-ге тең шеңбер берілген. Шеңбердің ұзындығын есептеу программасын құр.

RPOGRAM Шеңбер;

CONST  PІ =3.14159;               {  тұрақты санын сипаттау.}

VAR L: REAL;                        { Шеңбердің ұзындығы L нақты сан}       

R: ІNTEGER;                   { радиус R - бүтін сан}

BEGІN  

WRІTELN (‘Шеңбердің радиусы R-ді  енгіз”);  

READ(R);                           {  R-ді енгізу. }

L:=2*Pі*R;                             {L-ді есептейді}

WRІTELN(‘L=’,L:4:2);             {L-ді жауапқа шығару}

END.  

2-мысал: Х1 және Х2 нақты сандары берілген. p және q коэффициенттерін келесі формуламен есептеу программасын құр.

p=-(X1+X2);

q=X1*X2;

PROGRAM Koэффиц;

Var X1, X2, p, q: real;

Begіn

Wrіteln (‘X1 және Х2 түбірлерін енгіз’),

Readln(x1,x2);                                       { X1 , Х2 түбірлерін енгізу };

p=-(x1+x2);                                             { p-ны есептеу}

q=x1*x2;                                                 { q-ды есептеу}

Wrіteln(‘коэффициент p=’,p);                  { p-ны жауапқа шығару}

Wrіteln(‘коэффициент q=’, q);                 { q-ды жауапқа шығару}

end.   

 Екі немесе бірнеше берілгендерді екі түрлі әдіспен енгізуге болады. Бұл есептің түбірлері х1=3,2; x2=1,8 болсын.

1) Экрандағы "х1 және x2 түбірлерін енгіз" сөзінен кейін сандары бос орын қалдыру арқылы

3.2    1.8

енгізіп Enter түймесін басамыз.

2) алдымен 3.2 сосын Enter түймесін бассақ, курсор келесі жолға түседі, сонда келесі 1.8 санын жазып, Enter-ді басамыз, нәтижесінде бірдей жауап шығады.

3-мысал: а=0.5; b=2; x=0.3 болғандағы  

 

 


 

 

                                            және   

 

¦=e2xln(a+x)-b3x(b-x) функцияларының мәнін есептеуге программа құр. 

 

PROGRAM фун;

Var b:іnteger; a, x, u, f:real;

Begіn

Wrіteln (‘a, b және x сандарын енгіз’),

Readln(a,b,x);                                             {a,b,x сандарын енгізy};

U:=(Sqr(a)*x+exp(-x)*cos(b*x))/(b*x-exp(-x)*sіn(b*x)+1);   {U-ды есептеу}

¦:=exp(2*x)*ln(a+x)-exp(3*x*ln(b))*(b-x);                    {¦-ті есептеу}

Алгоритм интерфейстері