Автор: Пользователь скрыл имя, 27 Февраля 2013 в 17:53, курсовая работа
Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Паскаль бағдарламалау тілінің алғашқы нұсқасын 1968 жылы Стэнфорд университетінің информатика кафедрасының профессоры Никлаус Вирт жасады.Ал 1975 жылы стандартты Паскальдың компиляторымен Турбо Паскаль (3.0 версия) программмалау тілі пайда болды. Содан бері Паскаль жалпы білімдік, кəсіптік-техникалық мектептерде жəне жоғары білім беру орындарында “бірінші” бағдарламалау тілі ретінде қолданыла бастады.
I. Кіріспе
II. Негізгі бөлім
а) Алгоритм түрлері
б) Паскаль тілінің операторлары
III. Қорытынды
Аякөз қаласының политехникалық
Колледжінің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
нәт у