Курстық жұмыс: Бағдарламалау | Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы
Мазмұны
КІРІСПЕ…………………………………………………………………………………………………..2
I НЕГІЗГІ БӨЛІМ…………………………………………………………………………………..4
1.1 Қосалқы программаларға жалпы түсінік ……………………………………………4
1.2 Процедуралар ……………………………………. . ………………………………………….6
1.2.1 Процедуралардың ерекшеліктері………………………………………………….8
1.3 Функциялар……………………………………………………………………………………..13
II ЕСЕПТІҢ ҚОЙЫЛЫМЫ
2.1-есеп…………………………………………………………………………………………………15
2.1.1 Есептің берілгені……………………………………………………………………….15
2.1.2 Есептің алгоритмі……………………………………………………………………..15
2.1.3 Программалау бөлімі…………………………………………………………………16
2.2-есеп…………………………………………………………………………………………………17
2.2.1 Есептің берілгені……………………………………………………………………….17
2.2.2 Есептің алгоритмі………………………………………………………………………17
2.2.3 Программалау бөлімі…………………………………………………………………18
III ПРОГРАММА ЛИСТИНГІ………………………………………………………………..19
IV ҚОРЫТЫНДЫ БӨЛІМ……………………………………………………………………..22
V ПАЙДАЛАНҒАН ӘДЕБИЕТТЕР………………………………………………………..24
КІРІСПЕ
Бағдарламалау тілі дегеніміз – адам мен компьютердің (ЭЕМ) өзара байланыс жасасу құралы. Бағдарламалау тілі екі топқа бөлінеді: таза машиналық кодпен, не белгілі бір машина кодына арналып ассамблерде жазылған тіл- төменгі дәрежедегі және жоғарғы дәрежедегі адам тіліне жақындатылған Basic, Qbasic, Ci, Turbo Pascal т.б. көптеген бағдарламалау тілдері. Мемлекеттік бағдарлама бойынша осы тілдерден Basic, Turbo Pascal, Visual Basic тілдерінің бірін меңгеру ұсынылған. Паскаль бағдарламалау тілі француз математигі Блез Паскаль құрметіне аталған. Ол 1968-1971 жылдарда Никлаус Вирттің Цюрихтағы Жоғарғы Техникалық мектепте оқыту тілінің бірі ретінде жазылған. Кең қолдана бастауы 1984 жыл, себебі осы жылдары қарапайым қолдануға ыңғайлы Турбо Паскаль компиляторы пайда болады. Ол Borland International компаниясында жасалды. Компилятор дегеніміз транслятордың бір түрі, ал транслятор дегеніміз белгілі бір компьютер мен бағдарламалау тілі түріне арналып жазылғанбағдарлама, оның міндеті жазылған бағдарламаны машиналық кодқа айналдыру.
Турбо Паскаль тілінің негізі Turbo.exe және Turbo.tpl файлдары арқылы берілген. Turbo.exe файлында компилятор, экран редакторы, жүйелегіш орналасса, Turbo.tpl файлында арнайы қойылған функциялар мен процедуралар (көмекші бағдарламалар) кітапханасы жазылған. Қазір жетілдіріле келе мынадай артықшылықтарымен ерекшеленеді:
• Құрылымдық бағдарламалау. Өзінше бөлек блок арқылы тұйық жұмыс істей алатын функциялар мен процедуралар жазып, оны қажет кезінде шақырып пайдалану нәтижесінде бағдарламаның түсініктілігі, қатесін түзету мүмкіндігі молаяды.
• Жоғарыдан төмен біртіндеп құру. Бағдарламашы алдын ала өзіне қажетті міндетті шешу үшін оны бірнеше бөліктерге бөліп, соңында оны іске асыра алады.
• Обьектілі бағдарланған бағдарламалар жасай алу. Бұл мүмкіндік Паскаль тілінің аясын кеңітті, жақсы жақтарын алып басқа бағдарламалау тілдерінде пайдалануға мүмкіндік берді, яғни олармен байланысты арттырды.
Сондықтан да қазіргі кезде Паскаль тілі кез келген саладағы күрделі есептерді шешу үшін пайдалануға болатын , кеңінен таралған стандартты программалау тіліне айналды.
I НЕГІЗГІ БӨЛІМ
1.1 Қосалқы программаларға жалпы түсінік.
Программада белгілі бір қайталанатын іс-әрекеттерді, атау бойынша бөлек жазып, атауы арқылы бір немесе бірнеше рет іске қосуға болатын программаның бөлігін қосалқы программа деп атайды.
Қосалқы программаларды қолдану арқылы программаларды ықшамдауға болады.
Тurbo Pascal программалау тілінде қосалқы программаның екі түрі қолданылады:
*Процедура;
*Функция.
Тurbo Pascal программалау тілінде айнымалыларды негізгі бөлімде сипаттау түрі – ауқымды айнымалылар деп аталады. Егер айнымалылар қосалқы программада сипатталса, онда олар жергілікті айнымалылар деп аталады. Сондай-ақ негізі программада қосалқы программаны шақыруда қолданылатын айнымалыларды нақты айнымалылар деп атайды. Ал қосалқы программаның атауында берілген айнымалыларды формалды айнымалылар деп атайды.
Әрбір қосалқы программаның атауы болады және олар айнымалыларды сипаттау бөлімінен құралып, операторлық жақшаларда операторлық жақшаларда орналасқан командалар жиынынан тұруы мүмкін. Көмекші бағдарламалар. Тұрмыста бағдарлама құрған кезде кейбір нұсқаулар жүйесі орындайтын және белгілі бір беретін іс-әрекеттер бағдарламаның орындалу барысында бір, не бірнеше рет пайдаланылуы мүмкін. Әрине, бұл әрекеттер тобын қанша рет пайдалансақ сонша рет бағдарламамызға қайталап жазуымызға болады, әрине, ол тиімді болмас еді. Осы іс-әрекеттерді топтап, бірақ рет жазып, Паскальда көмекші құрал, бағдарлама ретінде беруге болады екен. Қажет кезінде осы көмекші бағдарламаны шақырып, бағдарламамыздың кез келген жеріне пайдалана аламыз.
Кез келген бағдарлама жазушы күрделі бағдарламаларды кішігірім іс-әрекеттерге бөліп, оларды жалпы соңғы нәтижеге жетуге бейімдеп, жүйелеп, көмекші бағдарламалар тобын жасап, соңынан оларды негізгі бағдарламаға біріктіріп пайдаланады.
Көптеген операторлар арқылы жазылған бағдарламаны монолиттік бағдарлама деп, ал функциялар мен процедуралар арқылы берілген бағдарламаларды модульдік бағдарлама дейміз.
Практикалық есептерге программа құрғанда үлкен программаның белгілі бір бөлігін әр түрлі мәндер бойынша бірнеше рет қайталап пайдалануға тура келеді. Мұндай бір типтер программа бөлігін программаның әр бөлігінде қайталап жаза бермеу үшін оны жеке қосалқы программа ретінде бөліп жазған ыңғайлы.
Жеке программа түрінде бөлек жазылған, қажетті кезінде оған оралып, оны пайдаланып отыруға болатын негізгі программаның арнайы бөлігін қосалқы программа, подпрограмма дейді. Қосалқы программаға автоматты түрде енуге және одан солай шығуға да болады.
Қосалқы программаны пайдаланудың төмендегідей мүмкіндіктері бар:
— негізгі программаның көлемі кішірейеді;
— негізгі программада пайдаланылған айнымалыларды қосалқы программада да пайдалауға болады;
— қосалқы программаға берілген жады ұяшықтарын ол орындалмай тұрғанда бос ұяшық ретінде, бос айнымалы ретінде пайдалануға болады;
— қосалқы программаны пайдалану құрылымдық программалауға мүмкіндік береді.
Паскаль тілінде алгоритмдік тіл тәрізді қосалқы программаның екі түрі пайдаланылады. Олар: процедура және функция.
Бір программада бір немесе бірнеше процедура және функция пайдаланылуы мүмкін.
Паскаль тілінде процедуралар мен функциялар программаның басында айнымалылар белгіленіп болғаннан кейін жазылады.
Жоғарыда ескертілгендей, негізгі және қосалқы программада бір айнымалы, мысалы, «К» қатар пайдаланылуы мүмкін, бірақ әр программада пайдаланылғанда К-ның физикалық мағынасы бірдей болуы шартты түрде емес. Атау берілген операторлар тізбегін Турбо Паскаль бағдарламалау тілінде процедура дейді. Әр қосалқы программаның «процедураның немесе функцияның» атауы, аты болады, қосалқы программа сол атауы бойынша шақырылады.
.1.1 ПРОЦЕДУРАЛАР
Процедура Турбо паскальдың ең маңызды бөлігі және программаны жақсы жазуга мүмкіндік береді.Көбінесе процедураның құрылымы программаға ұқсас жазылады.Олардың басы,бейнелеу және операторлар бөліктері болады. PROCEDURE аты (формальды параметрлер тізімі);
Label …; (белгілерді сипаттау бөлімі);
Const…; (тұрақтыларды сипаттау бөлімі);
Type…; (типтерді сипаттау бөлімі);
Var…; (айнымалыларды сипаттау бөлімі);
Procedure…; (процедураны сипаттау бөлімі);
Function…; (функцияны сиппаттау бөлімі);
BEGIN
Операторлар бөлімі
END; (процедураның соңы)
Процедураны параметірсіз де пайдалануға болады. Екі процедуралық программа схемасы төмендегідей болады:
PROGRAM P;
Ортақ берілгендерді бейнелеу бөлігі
PROCEDURE P1;
P1 процедурасының бейнелеу бөлігі
BEGIN
P1 процедурасының операторлар бөлігі
END;
PROCEDURE P2;
P2 процедурасының бейнелеу бөлігі
BEGIN
P2 процедурасының операторлар бөлігі
END;
BEGIN
Негізгі программаның операторлар бөлігі
END.
Программаның орындалуы негізгі программаның операторларының орындалуынан басталады . Негізгі программада әрқашан процедураның орындалуы қажет болғанда ғана процедураға көшеді. Бұл жағдайда берілгендер негізгі программадан процедураға (енетін параметрлер) беріледі. Процедура орындалып болған соң оның нәтижесі (шығаратын параметрлер), процедураға негізгі программадан қай жерден көшті, сол жерге береді .Одан кейін негізгі программа орындала бастайды.
Процедура қандай да бір әрекеттер тізбегін орындайды да жұмыс нәтижесін негізгі программаға бермейді. Программаның орындалуы негізгі программаның операторларының орындалуынан басталады. Негізгі программада әр қашан процедуралар орындалуы қажет болғанда процедураға көшеді.Бұл жағдайда берілгендер –негізгі программадан процедураға беріледі. Процедура орындалған соң оның нәтижесі шығатын параметрлер процедураға негізгі программадан қай жерден көшті,сол жерге береді.Ал ары қарай программа орындала береді.
Procedure ();
Процедуралармен жұмыс істеген кезде, біз READ,READLN,WRITE, WRITELN деген сөздерімен және басқа да функцияларды қолдана отырып жұмыс істейміз. Процедура Турбо паскальдың ең маңызды бөлігі және программаны жақсы жазуга мүмкіндік береді.Көбінесе процедураның құрылымы программаға ұқсас жазылады.Олардың басы,бейнелеу және операторлар бөліктері болады. PROCEDURE аты (формальды параметрлер тізімі);
Label …;(белгілерді сипаттау бөлімі);
Const…;(тұрақтыларды сипаттау бөлімі);
Type…;(типтерді сипаттау бөлімі);
Var…;(айнымалыларды сипаттау бөлімі);
Procedure…;(процедураны сипаттау бөлімі);
BEGIN
Процедура Турбо паскальдың ең маңызды бөлігі және программаны жақсы жазуга мүмкіндік береді.Көбінесе процедураның құрылымы программаға ұқсас жазылады.Олардың басы,бейнелеу және операторлар бөліктері болады. PROCEDURE аты (формальды параметрлер тізімі);
Label …;(белгілерді сипаттау бөлімі);
Const…;(тұрақтыларды сипаттау бөлімі);
Type…;(типтерді сипаттау бөлімі);
Var…;(айнымалыларды сипаттау бөлімі);
Procedure…;(процедураны сипаттау бөлімі);
BEGIN
1.2.1 ПРОЦЕДУРАЛАРДЫҢ ЕРЕКШЕЛІКТЕРІ
1. Паскаль тілінде процедураның құрылымы негізгі программаның құрылымымен бірдей болады. Процедура тақырыбынан соң (PROCEDURE атау) жаңа айнымалыларды (локальды айнымалыларды) бейнелейді,одан кейін BEGIN және END операторлық жақша ішіне процедура денесі (операторлар тізбегі ) жазылады. Бірақ END қызмет сөзінен соң міндетті түрде “;” тұру қажет. Себебі, процедурадан соң негізгі программаның операторлары жазылады.
2.Процедура атауынан соң формальды параметрлер тізімінің болуы, болмауы шарт емес.Онымен бірге процедура мәнін белгілі сан болуы да шарт емес.Мысалы ,арнайы белгілер көмегіменен бірнеше (мысалы,үш) квадрат сызу қажет болсын.Оны мына программа арқылы орындауға болады.
1.Мысал:
Program BH;
Procedure KW;
Begin
writelen (‘*****’);
writelen (‘* *’);
writelen (‘* *’);
writelen (‘* *’);
writeleln (‘*****’);
END;
BEGIN
KW;
WRITELN;
WRITELN;(*2 жол қалдырылады*)
KW;
WRITELN;
WRITELN;
KW
END.
* * * * *
* *
* *
* *
* * * * * *
Программа орындалып болғанда экраннан араларында екі бос жолы бар,қабырғалары”*”-дан құралған үш квадрат шығады.
Бұл программада WRITELN(‘* *’) операторлары үш рет қайталанып отыр,онда бұл жолмен процедура құру өте қолайсыз болады.Бұл қиындықтан құтылу үшін параметірлі процедураны пайдаланғанған ыңғайлы.Мұны екі түрлі жолмен ұйымдастыруға болады:
а)глобальды немесе локальды айнымалыны пайдалану.
б)формальды параметрлерді пайдалану.
3.Процедураның формальді параметрлерінің типтері әр турлі болуы мүмкін.Мысалы,
Procedure OW (a, b, c: integer;
D, P1, F2: real;
L, L2 : char);
4. Процедураның параметрлері айнымалы түрде берілуі мүмкін. Мысалы,
Program AINA;
Var a, b : integer;
Procedure ALMASTRY (Var x, y : integer);
Var H : integer;
Begin
H:=x; x:=y; y:=H
End;
a:=1; b:=2; writeln (a,b);
ALMASTRY (a, b); writeln(a, b);
ALMASTRY (a, b); writeln (a,b);
End.
5.Процедураның параметрлері тұрақты, айнымалы типті арифметикалық өрнекті де алғашқы мән ретінде қабылдауы мүмкін.Мысалы,
а)Procedure AYDAN( a,b,c :real; var S: real);
б)Procedure MSAL(K: integer, Var P: integer);
Алдында VAR қызмет сөзі пайдаланылмаған формальды параметрлер- мәндер деп аталады. Бірінші процедурадағы, a,b,c- формальды параметрлері мәндер болады да, ал S формальды параметрі- айнымалы, екінші мысалда сәйкес К формальды параметрі-мән, ал р формальды параметрі- айнымалы.Енді үш санның үлкенін табу алгоритмін процедураны пайдаланып тауып көрейік.
Мысалы,
Program baljan;
Var a,b,c: integer;
Procedure max(x,y: integer; var z :integer);
Begin
If x>y then z:=x else z:=y;
End;
Write (‘a, b, c =’);
Readln (a, b, c);
Max (a, b, k);
Max (c, k, k);
Writeln (‘max=’,k);
End…….