Автор: Пользователь скрыл имя, 10 Февраля 2013 в 17:02, курсовая работа
Біз күнделікті өмірде белгілі бір әрекеттерді орындау барысында көптеген алгоритмдерді қолданып жүрміз. Осы тұрғыдан қарасақ, өмірді алда тұрған мәселелерді шешу қажет болатын алгоритмдер жиыны деп түсінуге болады. Бұл курстық жоба тақырыбында алгоритм құрастыру, жазу түсініктері беріліп, қазіргі кездегі кең тараған программалау тілінің бірі – Паскаль тілінің ерекшеліктері қарастырылады және оны пайдаланып математика, физика есептерін шығаруды компьютерде орындау жүзеге асырылады. Паскаль тілі қарапайым программалармен қатар, күрделі өндірістік мәселелерді шеше алатын құрылымды тіл болып табылады. Ол Бейсик тіліне қарағанда аздап күрделі болғанымен, компьютер үшін ыңғайлы, программа құру реттілігін алгоритмдік тәртіппен қарастыратын, оқушыларды іс-әрекет тәртбіне тәртібіне тәрбиелейтін тіл болып табылады.
Кіріспе:.....................................................................................................................3
1-бөлім: Паскаль – программалау тілі
1.1 Паскаль тілінің негізгі элементтері.................................................................5
1.2 Тілдің алфавиті..................................................................................................8
1.3 Тілдің қарапайым объектілері.........................................................................13
2-бөлім: Паскаль тілінде программа дайындау жолдары
2.1 Программа құрылымы.....................................................................................15
2.2 Паскаль тілінің қарапайым операторлары.....................................................18
2.3.Паскаль тілінің басқару операторлары...........................................................21
3-бөлім: Қайталау операторлары
3.1 WHILE операторы............................................................................................25
3.2 REPEAT операторы..........................................................................................28
3.3 FOR операторы.................................................................................................30
3.4. Күрделі циклдер..............................................................................................34
Қорытынды.............................................................................................................36
Пайдаланылған әдебиеттер: .................................................................................38
<айнымалы атауы>:=<өрнек>;
Мұндағы <айнымалы атауы> - айнымалы идентификаторы, := - меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды; <өрнек> - арифметикалық өрнек немесе сан.
2. Көшу операторы. Көшу немесе шартсыз көшу операторы операторлардың рет-ретімен орналасуын бұзып, келесі атқарылуды, яғнибелгісі бар операторға көшуді орындайды. Бұл оператор GOTO (көшу) үйінді сөзінен басталады да, одан кейін LABEL бөлімінде сипатталған белгі атауы жазыла-ды. Көшу операторының пішімі:
GOTO <белгі>;
Мұндағы <белгі> – LABEL бөлімінде сипатталған белгінің біреуі.
3.Бос оператор. Бос оператор ешқандай да әрекеттің орындлмайтынын көрсетеді, ол программа блогынан шықпай-ақ, бірнеше жолды орындамай өткізіп жіберіп, блок соңына бірден көшетін кезде пайдаланылады. Мұндайда
END сөзінің алдына белгі
жазылып, соңына қос нүкте
Label belgi;
…
begin
…
goto belgi; {блок соңына көшу}
…
Belgi: end; {бос оператор белгісі}
Бос оператор ешқандай да амал орындамайды. Бос оператор қалдырылып
кеткен (жоқ оператор) оператордың орнын болгілеу үшін пайдаланылады. Әдетте, бос оператор орнына нүктелі үтір «;» қойып кетуге болады. Мысалы:
S:=A;
;
R:=5;
4.Сандық мәліметтерді енгізу операторы. Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.
Паскаль тілінде мәлімет енгізетін READ (READ – ағылшынша оқу) операторының жалпы түрі (пішімі) төмендегідей:
READ(a1, a2, …,an);
READLN(a1, a2, …,an);
READLN;
Мұндағы a1, a2, …,an – айнымалы атаулары, оларды енгізу операторларының параметрлері деп атайды. Ал readln (read line – «қатарды оқу» деген сөздің қысқартылуы) алдыңғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіруді ғана атқарады.
Енгізілетін айнымалылардың мәндері integer, real, char немесе string (сөз тіркесі) типтеріне жатуы мүмкін.
5. шығару операторы. Паскаль тілінде нәтижені экранға шығару үшін
WRITE (жазу) операторы қолданылады:
WRITE (a1, a2, … , an) ;
Мұндағы жақша ішіндегі жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін. Мысалы, егер В= 17.15 болып,
мына команда орындалғанда:
WRITE (`В мәні=` , В`);
Экранда
В мәні = 1.71E+01
деген сөз тіркесі көрінеді.
Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар integer, real,boolean (true, false), char, string сияқты типтер түрінде беріле береді.
Паскаль тілінде параметрсіз шығару операторы WRITELN (a1, a2, …, an); операторы қолданылса, онда a1, a2, …, an мәндерін экранға шығарған соң курсор келесі жолға көшеді.
2.3.Паскаль тілінің басқару операторлары
Паскаль тілінің басқару операторларына шартсыз және шартты көшу операторлары, цикл (қайталау) ұйымдастыру операторлары жатады.
Программа операторлары, негізінен, жазылу ретімен орындалады. Олардың бұл орындалу тәртібін өзгерту үшін жоғарыла айтылған шартты немесе шартсыз көшу (өту) операторы GOTO қолданылады ( оқылуы: гоу ту). Қойылған шартты тексеру арқылы оператордың орындалу ретін өзгертуге немесе өзгертпеуге болады. Шартты тексеру операторлары мен цикл операторлары көбінесе құрылымдық операторлар арқылы ұйымдастырылады.
Құрылымдық операторлар. Құрылымдық операторлар басқа оператор- ларды белгілі бір ереже бойынша біріктіру жолымен құрылады. Олар үш топқа – құрама, шартты және қайталау операторларына жіктеледі.
Құрама оператор. Құрама оператор бір-бірінен нүктелі үтір арқылы бөлінген бірнеше операторларды begin және end түйінді сөздерімен шектей отырып, оларды бір оператор тәрізді орындалатын етіп біріктіру жолымен ұйымдастырылады.
Құрама оператор тілдің ережесіне сәйкес программаның кез келген жерінде тұра береді де, бір оператор сияқты орындалады.
begin
1-оператор;
2-оператор;
. . . . . . .
n – 1- оператор;
n- оператор;
end.
Мұндағы операторды шектеп тұрған BEGIN (басы), END (соңы) түйінді сөздері операторлық жақшалар деп аталады. Құрама оператордың ішінде тағы да құрама оператор болуы м үмкін. Мысалы, әріптермен белгіленген операторлар жақшалармен көрсетілгендей ((A,B,C,D),(K,L,M), E, (R,S)) топталатын болса, онда программадағықұрама операторлар былай жазылады:
begin
begin
A операторы;
B операторы;
C операторы;
D операторы;
end;
begin
K операторы;
L операторы;
M операторы;
end;
E операторы;
begin
R операторы;
S операторы;
end
end.
Құрама операторлар шартты өту, таңдау және қайталау операторлары құрамында жиі кездеседі.
Шартты операторлар. Тармақталу процестері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады. Турбо Паскальда екі шартты оператор бар, олар: if және case.
If шартты операторы. If (егер) операторы программадағы іс-әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып табылады.
IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын ала есептеледі, оның нәтижесі логикалық (boolean) типте болады. Егер ол шарттың мәні TRUE (ақиқат) болса, яғни шарт ақиқат болып орындалса, онда THEN (онда) сөзінен кейін жазылған 1-оператор атқарылады, онда ELSE сөзінен кейінгі 2-оператор атқарылмайды. Екінші жағдайда, шарт мәні FALSE (жалған) болса, яғни теріс болып орындалмаса, онда ELSE сөзінен кейінгі 2-оператор атқарылып, 1-оператор атқарылмайды. If операторлары бірінің ішіне бірі кіріп қабаттасып та орындала береді.
Шартты операторды оқу, түсіну жеңіл болуы үшін оны сатылы түрде былай жазу қалыптасқан:
IF <логикалық өрнек>
THEN 1-оператор
ELSE 2-оператор
Таңдау операторы (case) бірнеше операторлардың ішінен таңдау жолымен көп тарамды тармақталуды ұйымдастырады.
CASE таңдау операторы
көп тармақты алгоритмдерді
Таңдау операторы төмендегідей түрде жазылады:
case <селектор-өрнек> of
1-тұрақты>: <1-оператор>;
<2-тұрақты>: <2-оператор>;
…………..
<n-тұрақты>: < n-оператор>;
else <n+1-оператор>;
end.
Таңдау операторы селектор мен тұрақты мәндерінің сәйкес келуіне байланысты бір ғана операторды орындауы тиіс. Кейде өрнектің мәні тұрақ-
тының көрсетілген мәндерінің аралығында болуы ықтимал, мұндайда тұрақ-
тының мәні кесінді тәрізді сандар бірлігін қамтиды.
Көп жағдайда аргументтердің әр түрлі мәні бойынша алгоритмнің белгілі бір бөліктерін бірнеше рет қайталауға тура келеді. Осындай процестерді ұйымдастыру үшін циклдік құрылымды алгоритмдер – қайталау операторлары қолданылады. Олар әр түрлі заңдылық негізіндегі ереже бойынша құрылады.
Шарттың сақталу кезінде командалар сериясын қайталап орындауға берілетін команданы қайталау командасы не қысқаша цикл деп, командалар сериясын цикл денесі деп атайды.
Қайталану командаларының ішінен n рет қайталану командасының үлкен мәні бар. Ол біріншіден, қайталану командаларының ішіндегі қарапайымы, екіншіден адам бір қимылды немесе әрекетті қайталағанда осы команда бойынша қайталайды. Мысалы, ертеңгілік дене қимылдары жаттығуларын жасағанда жүргізушінің радиодан « енді 10 рет отырып тұрыңыз » деген жарлығын немесе әлде біреудің « мен бұл кітапты 3 рет оқып шықтым » деген т.с.с.сияқты сөздерді күнделікті тұрмыста жиі естуге болады.
Паскаль тілінде қайталау процесін жүзеге асыратын циклдік операторлардың үш түрі бар: арифметикалық цикл – FOR , шартын алдын ала тексеретін цикл – WHILE және шартты соңынан тексеретін цикл – REPEAT.
Егер шартын алдын ала тексеретін циклдегі операторды (немесе құрама операторды) неше рет қайталау керек екендігі белгісіз болып, оның тек қайталану (аяқталу) шарты берілсе, онда WHILE, REPEAT операторлары
пайдаланылады. Ал FOR операторы қайталану саны алдын ала белгілі болған кезде қолданылады.
3- бөлім. Қайталау операторлары
3.1 WHILE операторы
WHILE операторы. Алдын ала берілген шарт бойынша қайталауды жүзеге асыратын бұл оператор WHILE (оқылуы: уаил, аударылуы: әзірше) және DO (оқылуы: ду, орындау болып аударылады) түйінді сөздері қолданылып орындалады.
Жазылу пішімі мынадай:
WHILE <қайталану шарты> DO <цикл тұлғасы>;
мұндағы қайталану шарты – диаграммада көрсетілген логикалық өрнек, цикл тұлғасы – қайталанып орындалып орындалатын қарапайым немесе қүрама оператор. Цикл әрбір орындалар алдында қайталану шартының мәні есептеледі, егер ол ақикат – true болса, цикл тұлғасы орындалады да, шарт қайта тексеріледі. Қайталану шарты жалған – false болса, циклді орындау доғарылып, while операторынан кейінгі жолдан атқарыла бастайды.
WHILE операторының жазылу
пішімі мен орындалуын
WHILE <шарт> DO
BEGIN
<1-оператор>;
<2-оператор>;
…
<n-оператор>;
END;
Егер алгоритмдік тілмен салыстырып қарайтын болсақ, онда жолдар сәй-кестігі былай көрсетіледі:
Алгоритмдік тілде
әзірше шарт
цб
1-оператор;
2-оператор;
...
n-оператор;
цс
Е с к е р т у. Егер шарт бірінші тексергеннен-ақ жалған болса, онда цикл орындалмайды.
Енді WHILE операторына бір-екі мысал келтірейік.
Мысалы, пернетақтадан енгізілетін кез келген он бүтін санның қосынды-сын табатын программа құру қажет.
program kosjndj10;
const
limit = 10;{Енгізілетін сандардың шектелуі}
var
count, item, sum: integer;
begin
count:= 0; {Енгізілетін сандарды санау}
sum:= 0; {сандар қосындысы}
while(count<limit) do {Циклдің қайталану шарты}
begin
count := count + 1;
write(count, `-ші бүтін санды енгізіңдер:`);
readln(item); {Кезекті санды пернетақтадан енгізу}
sum := sum + item;
end;
writeln(`Енгізілген сандардың қосындсы =`sum);
end.
Бұл мысалда тұрақтыларды сипаттау бөліміндегі limit тұрақтысы енгізілетін сандарды шектеу рөлін атқарды. Айнымалыларды сипаттау бөліміндегі count, item, sum айнымалылары бүтін сандық типте көрсетілген.
Программа басында енгізілген сандарды санайтын count (санауыш) айнымалысы мен қосынды – sum нөлге теңестіріледі де, одан кейін 10 сан енгізіліп, оларды біртіндеп санау мен жинақтап қосу жүзеге асырыла бастайды.
Алдын ала WHILE операторы count<10 шартын тексереді. Шарт ақиқат болса, яғни орындалса, цикл тұлғасы болып келетін құрама оператор атқарылады, онда кезекті сан енгізіліп, қосынды осы сан мөлшеріне көбейді.Сонан соң қайтадан цикл операторы орындалып шарт тексеріледі, ол ақиқат болса , тағы да цикл қайталанады т.с.с.
Санауыш мәні 10-нан асқанда, қайталау тоқталып, қосынды мәні экранға writeln операторы арқылы `Енгізілген сандардың қосындысы =` деген сөз тір-