Мазмұны
1. Курстық жұмыстың тапсырмасы .......................................................................3
2. Курстық жұмыстың орындау графигі............................................................... 4
3. Кіріспе..................................................................................................................... 5
3.1 Паскаль программалау тілі.................................................................................. 5
3.2 Паскаль тілінің негізгі элементтері.................................................................... 6
3.3 Мәлімет типтері.................................................................................................... 8 3.4 Паскаль тілінде программа дайындау жолдары..............................................10
3.4.1 Программа құрылымы.....................................................................................10
4. Turbo Pascal - дағы енгізу және шығару операторлары .................................12
4.1 Сандық мәліметтерді енгізу операторы ..........................................................12
4.2 Символдық мәліметтерді енгізу операторы..................................................... 16
4.3 Мәліметтерді шығару операторы .....................................................................22
5. Блок схема құрылымы......................................................................................... 25
6. Программаның түсінігі.........................................................................................27
6.1 Алгоритмнің түсінігі...................................................................................27
7. Қолдану ережесі....................................................................................................28
8. Программа.............................................................................................................29
9. Программаның нәтижесі..................................................................................... 33
10. Қорытынды .........................................................................................................34
11. Қолданылған әдебиеттер................................................................................... 35
Курстық жұмыстың тапсырмасы.
Енгізу және шығару операторына блок схема құрып және Turbo
Pascal - да программасын жазу.
-
Курстық жұмыстың орындау графигі.
-
Мақсаттарды орнатып қоюы.
|
5.10.2008-5.11.2008
|
Мақсатты зерттеу және шешім әдісін таңдау.
|
8.11.2008-21.11.2008
|
Алгоритм құрылымы.
|
25.11.2008-29.11.2008
|
Бағдарламаның жазылуы.
|
2.12.2008 -15.12.2008
|
Бағдарламаның жөнделуі
|
18.12.2008-20.12.2008
|
Түсіндіргіш анықтаманың дайындалуы.
|
22.12.2008-23.12.2008
|
.
3. Кiрiспе.
3.1 Паскаль - программалау тiлi.
Паскаль тiлiн 1968 - 1971 жылдары швейцариялық ғалым Никлаус Вирт оқып - үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Бұл тілдің стандарты кейiнiрек бекiтiлдi, ол сол кездері кең таралған АЛГОЛ, ФОРТРАН, БЕЙСИК тiлдерiне қарағанда жетiлдiрiлген, жұмыс iстeyгe ыңғайлы тiл болды. Паскаль тiлi өзінің қарапайымдылығының және тиiмдiлiгiнің арқасында дүние жүзіне тез таралды. Қазiргi кезде барлық дербес компьютерлер осы тілде жұмыс iстей алады. Паскаль тiлiнде жазылған программаның дұрыстығын компьютерде тексеру және жiберiлген қатенi тузету оңай.
Бұл тілде жазылған программа компьютерде орындалу барысында алдымен трансляцияланады (машина тiлiне аударылады), объектiк программаға түрлендіріледі де содан кейiн ғана орындалады. Осы сәтте компьютерде программаның екі нұсқacы болады, оның бiрiншiсi - алгоритмдiк тiлдегi алғашқы түп нұсқасы, ал екiншiсi - объектiк кодтағы жазылған программа. Есеп нәтижесін машиналық кодта жазылған программа арқылы аламыз, ал программаны түзету қажет болғанда, оның алгоритмдiк тiлде жазылған алғашқы нұcқacы өңделеді.
Қазiргi кезде Паскаль кез келген күрделі есептерді шығара алатын, кең таралған стандартты оқу тіліне айналды.
3.2 Паскаль тілінің негізі элементтері.
Программалар белгілі бір мәселені, есепті шешуге арналған. Есеп шығару барысында компьютерге бастапқы мәліметтер енгізіледі, оларды қалай өңделетіндігі көрсетіледі және нәтиже қандай түрде, қандай құрылғыға шығарылатыны айтылады.
Паскаль тілінде программа жеке - жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар атқарылады. Программа алдындағы азат жол немесе бос орын саны өз қалауымызша алынады. Бір қатарда бірнеше команда немесе оператор орналаса алады, олар бір - бірімен нүктелі үтір (;) арқылы ажыратылып жазылады, бірақ бір жолда бір ғана оператор тұрғаны дұрыс, оны түзету жеңіл, әрі оқуға ыңғайлы.
Паскаль тілінде программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі.
Кез келген программаның алғашқы жолы PROGRAM сөзінен басталатын оның тақырыбынан тұрады. Одан кейін программаның ішкі объектілерінің сипаттау бөлімі жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала аңықтап алуға көмектеседі. Сипаттау бөлімі бірнеше бөліктерден тұрады, бірақ программаның күрделілігіне байланысты көбінесе ол бір немесе екі ғана бөліктен тұруы мүмкін.
Программаның соңғы және негізгі бөлімі операторлар бөлімі – болып табылады. Орындалатын іс - әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, бірақ атқарылатын операторлар (командалар) тізбегі жеке - жеке жолдарға жазылып біткен соң end түйінді сөзімен аяқталады.
-
Program BASTAU:
|
Сипаттау бөлімі
|
begin
|
Операторлар бөлімі
|
end
|
Операторлар бөлімінде командалар ретімен орналасады. Олардың кейбірі шартқа байланысты атқарылса, ал кейбір қайталанатын цикл немесе қосымша программа түрінде орындалады. Операторлар бөлімінде орнатылатын негізгі әрекеттерді қарастырайық.
Деректер - сан мәндері мен мәтін түріндегі сөз тіркесін мән ретінде қабылдай алатын тұрақтылар, айнымалылар т.б. осы тәрізді құрылымдар немесе солардың адрестері.
Дерек енгізу - бастапқы деректерді пернетақтадан, дискіден немесе енгізу - шығару порттарынан енгізу арқылы жүзеге асады.
Операциялар немесе амалдар - берілген және есептелген мәндердің меншіктеу, соларды өңдеу, салыстыру операцияларын орындайды.
Шартты түрде атқару - белгілі бір көрсетілген шарттың орындалуына байланысты, командалар жиыны атқарылады, әйтпесе олар аттап өтіледі немесе басқа командалар жиыны орындалады.
Цикл - белгілі бір шарттар орындалған жағдайда көрсетілген командалар жиынын бірнеше рет қайталанып атқарылады. Қайталау саны бүтін санмен беріледі.
Көмекші программа - алдын ала қандай да бір атау атымен аталған командалар тобы. Олар программаның кез келген жерінен оның атауын көрсету арқылы шақырылып атқарыла береді.
Түсініктеме (комментарий) - программа жолдары соңында немесе оның түйінді сөздері арасында қазақша (орысша) түсінік беретін пішінді (фигуралық) жақшаға алынып жазылған сөз тіркесітері. Олар программа операторларының орындалуына ешқандай әсер етпейді.
3.4 Мәлімет типтері.
Программада пайдаланылатын мәліметтердің немесе шамалардың мәндері Паскаль тіліндегі алдын ала келісілген типтердің біріне тән болуы тиіс.
Мәліметтердің немесе шамалардың типі деп, олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиының анықтауды айтады, яғни тип дегеніміз - шамалардың қабылдайтын мәндеріне берілетін сипаттама.
Мәліметтердің әр типі тек өзіне ғана сәйкес келетін операциялар жиынын орындата алады. Мысалы, 1 мен 2 мәндері бүтін сандар типіне жатады, оларды қосуға, азайтуға, көбейтуге және бөлуге болады. Ал, «ІВМ» және «РС» мәндері сөз тіркесі типіне жатады, бұларды біріктіріп жазуға ғана болады («ІВМ РС»). Қосуға, азайтуға, көбейтуге, бөлуге болмайды. Кез келген тұрақты, айнымалы функция немесе өрнек өзіне тән бір типпен ғана сипатталады. Паскаль тілінде шамалардың типін көрсету міндетті болып табылады. Сондықтан программа алдына оның сипаттау бөлімінде пайдаланылатын барлық шама атаулары және оның типтері көрсетілуі қажет.
Паскаль тілінде пайдаланылатын барлық типтер скалярлық (қарапайым) және құрылымдық (структуралық) болып үлкен екі топқа бөлінеді. Скалярлық (қарапайым) типке шамалардың стандартты типі және жасанды тип (тағайындалған) жатады. Стандартты типтерге:
• Бүтін - INTEGER;
• Нақты - REAL;
• Логикалық - BOOLEAN;
• Тіркестік - (STRING);
• Мәтіндік (ТЕХТ) тәрізді типтер жатады.
Құрылымдық типтері жиымдар (массивтер) - ARRAҮ, жазбалар - RECORD, жиындар - SET және файлдар - FILE түрлеріне бөлінеді.
Бұлардан өзге типтер программаның типтері сипаттау бөлігінде анықталуы қажет. Тұрақты сандардың типін олардың сыртқы пішініне қарап - ақ ажыратуға болады, ал айнымалылар мен функциялар типтері программаның сипаттау бөлімінде көрсетіледі.
Ол үшін type түйінді сөзі қолданылып, жазылу пішімін былай көрсетуге
болады:
Туре <тип атауы> =<тип мәндері>;
Логикалық шамалар екілік сандар жүйесіне сәйкес «1» және «0» деген мәндерді ғана қабылдайды. Мұндағы «1» тексерілетін белгілі бір шарттың - логикалық тұжырымның орындалатынын, яғни ақиқат екенін, ал «0» сол шарттың орындалмайтынын - тұжырымның жалған екенін көрсетеді. Бұл екі мән программада ағылшын тіліндегі айтылуына сәйкес true (1) және false (0) болып жазылады.
Символдық шамалар апострофқа алынған бір символды ғана мән ретінде қабылдай алады, мысалы, 'R','Л','%' т. б. Бірақ әрбір таңбаны оның кодына байланысты реттелген бүтін сандармен де өрнектеу мүмкіндігі бар.
Мәліметтердің қарапайым түрлерін стандартты типтер деп атау қалыптасқан. Стандартты типтердің real түрінен өзгелері реттелген деп аталады, өйткені оларды бүтін сан арқылы өрнектей отырып өсуі не кемуі бойынша реттеп орналастыруға болады.
Стандартты типтер. Паскаль тілінде төмендегі қарапайым типтер пайдаланылады:
• Бүтін типтер - SHORTINT, INTEGER, LONGINT, ВYТЕ, WORD;
• Нақты тип - REAL, SINGLE, DOUВLE, EXTENDED, СОМР;
• Логикалық - BOOLEAN;
• Символдық - CНAR;
• Ауқымды (диапозонды) тип;
• Саналатын тип;
3.5 Паскаль тіліндегі программа дайындау жолдары.
3.5.1 Программа құрылымы.
Паскаль тілінің программасы блоктардан құрылады. Қандай да бір блок ішінде басқа да кішігірім блоктар орналасуы мүмкін. Блоктар екі бөлімнен тұрады, олардың алғашқысы – мәліметтерді сипаттау бөлімі, ал екіншісі – сол мәліметтерді пайдаланып, әр түрлі іс - әрекеттерді (операцияларды, амалдарды) атқару бөлімі.
Мәліметтерді сипаттау бөлімінің болуы міндетті емес, ал екінші негізгі бөлімінің болуы міндетті. Басқа блокқа кірмейтін блок негізгі (глобальді) блок болып саналады. Ал блок ішіндегі блок - жергілікті (локальді) блок деп аталады.
Негізгі блок - негізгі программа блогы, сондықтан ол басқа блоктарға кірмеуі тиіс. Жергілікті блоктарға процедуралар мен функциялар кіреді, олар кейбір программаларда болмауы да мүмкін.
Программалардың негізгі объектілері болып саналатын айнымалы, тұрақты және oлapдың типтері орналасқан блогына байланысты басты немесе жергілікті деп аталады. Программа объектілерінің де жұмыс істеу, ықпал ету аймағы сол өздері орналасқан блокпен шектеледі. Блоктық құрылым программа мәтінін тиянақты түрде қатесіз құрастыруға мүмкіндік береді.
Турбо Паскаль программасының тақырыбын (атауын) жазбай кетуге де болады, бірақ жалпы Паскаль тілінің стандарты бойынша программада тақырып болуы қажет.
Сонымен Паскаль тіліндегі кез келген программаның тақырыбы, одан кейін сипаттау бөлімі және begin және end сөздерімен қоршалған операторлар бөлімі болуы керек.Сипаттау бөлімі толық жағдайда, 7 бөліктен тұрады, олар:
-
Программамен байланысатын кітапханалық модульдер атауларының
тізімі (ол uses түйінді сөзімен басталады);
2) Белгілерді (lаbеl) сипаттау;
3) Тұрақтыларды (const) сипаттау;
4) Мәліметтер типтерін (true) анықтау;
5) Айнымалыларды (var) сипатгау;
6) Процедураларды (procedure) сипатгау;
7) Функцияларды (function) сипатгау;
оператор
Белгіні сипаттау
Тұрақтыны сипаттау
Типтерді анықтау
Айнымалыларды сипаттау
Процедураны сипаттау
Функцияларды сипаттау
4. Turbo Pascal- дағы енгізу және шығару операторлары.
4.1 Сандық мәліметтерді енгізу операторы.
Берілген мәндерді айнымалыға беру ушін меншіктеу операторы пайдалануға болады. Мысалы, А:= -15; ВЕС:=16,4; тағы басқалар. Бірақ бұл жағдайда программада жалпылық қасиет болмайды, яғни ол тек көрсетілген мәндер үшін ғана есептеу жұмысын жүргізіп, қалған кез - келген мәндер үшін дұрыс нәтиже бермейді. Программаны дұрыс әрі әмбебап етіп жасay үшін айнымалылардың мәндері өзгерілетін түрде жасалып oлap пернетақтадан енгізілуі қажет, мұндайда программа айнымалының әр түрлі мәндері үшін дұрыс жұмыс атқара алады.
Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.
Паскаль тілінде мәлімет енгізетін READ ( READ - ағылшынша оқy )
операторының жалпы турі (пішімі) төмендегідей:
READ (а1, а2 ... ап);
READLN (а1, а2, ... , ап);
READLN;
Мұндағы а1, а2, ..., аn - айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln ( read lіnе - «қатарды оқу» деген сөздің қысқартылуы) алдыңғы оператордағыдай пернетақтадан мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіруді ғана атқарады.
Енгізілетін айнымалылардың мәндері integer, reаl, char немесе stгіпg (сөз тіркесі) типтеріне жатуы мүмкін. Логикалық айнымалылардын мәндері өз типтеріне сәйкес Паскаль тілінің ережесі бойынша енгізіледі. Егер ол шарт бұзылса (мысалы, а1 типі integer болса, ал енгізгенде сhаг типтес мән терілсе), онда экранға енгізу-шығару қатесі шығады, оның пішімі мынадай болып келеді:
І/О error ХХ,
мұндағы ХХ - бүтін сан түріндегі қaтенің сипатына сәйкес коды.
READ операторы орындалtанда параметрлер өздеріне сәйкес мәндері қабылдайды, бұл міндет INPUT енгізу файлы арқылы жүзеге асырылады. Параметрлер жаңа мән қабылдағанда, оларда бұрын орналасқан (жазылған) ескі мән өшіріліп, орнына жаңа мәндер жазылып отырылады да, прогрaмма параметрдің жаңа мәні бойынша жұмыс атқарады.
Мысал.
var
І: real;
J: integer;
К: cҺar;
begin
Read (І, J, К);
...
Программаға мынадай бастапқы мәндер енгізіледі 212.5 38 ‘п’. Осыдан кейінгі келесі мәндер енгізілсін: 'л' 121.35 25.
Алғашқы нұсқасында мәлімет енгізу дұрыс орындалады, өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне (І, J. К) сәйкес келіп тұр. Екінші нұсқа коды 10 болып келетін қате бар екенін айтады, себебі real типтес 1 айнымалысы үшін char типіндегі мән енгізіліп отыр.
Егер енгізу пернетақта арқылы емес, дискіден немесе файлдан жүзеге асырылса, онда жақша ішіне алдымен файл аты жазылады.
READ (FN, аl, а2 ... ап);
READLN (FN, аl, а2, ... , ап);
READLN (FN);
Мұндағы FN - енігізілетін мәндер жазылған дискідегі файлдың аты; а1- айнымалылар идентификаторлары, файлдарда да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады. Файлдағы мәліметтер де бір-бірінен «бос орын» немесе «енгізу» пернесін басу арқылы бөлінуі тиіс, яғни файлға енгізілгеннен кейін «_», ал енгізу соңында «Enter» пернесі басылады.
Файлдардан мәлімет енгізу мысалдары кейінірек қарастырылады.
READ операторы кез келген сандармен, символдармен және сөз тіркестерімен жұмыс атқара алады.
Сонымен, параметрлердің сандық мәндері бір - бірінен бос орын арқылы
ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін Enter (енгізу) пернесі басылады. Мысалы, енгізу операторы READ (А,В,С); түрінде берілсе, парметрлерге мәндер былай беріледі: 5 _ 6.2 _ 4.5 Enter. Бұл жағдайда
А=5, В=6.2, С=4.5 мәндер қабылдайды. Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны қайталау қажет болса, онда программа басынан бастап қайта орындау қажет.
Бүтін айнымалыларға бүтін, нақты айнымалыларға нақты мәндер берілуі қажет.
Айнымалы сипатталғанда нақты ретінде көрсетілсе, оған нақты да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан енеді. Ал машина «өзі» бүтін санды нақты сан түріне келтіріп алады.
Мысалы:
VAR
А, В: REAL;
BEGIN
READ (А, В);
...
END.
түрінде беріліп А,В айнымалылары үшін 4 5 Enter орындалса, онда машина оларды А= 4.0, В=5.0 түрінде қабылдайды.
Сандар арасында бір немесе бірнеше бос орын қалдыруға болады, себебі сан енгізілгенде бос орын есепке алынбайды.
Мәндерді енгізгенде мән енгізілген жолдан келесі жаңа жолға өту үшін параметрсіз немесе параметрге сәйкес READLN; READLN (аl, а2, ... ,аn); операторларын пайдалану қажет. Сонымен, READ (аl, а2,...,an); READLN; операторларының орнына бір ғана READLN (аl, а2,...,an) операторын пайдалануға болады.
4.2 Символдық мәліметтерді енгізу операторы.
Символдық деректерді пернетақтадан енгізу READ (READLN) операторы
арқылы жүргізіледі, оларды енгізудің төмендегідей ерекшеліктері бар.
1. Бос орын таңбасы - '_' Паскаль тілінде символ орнына жүретіндіктен,
символдық айнымалылардың мәндері (символдар) бос орынсыз жазылады.
2. Бір айнымалыға бір ғана символ меншіктеледі. Мысал ретінде төмендегі
программа үзіндісін қарастырайық:
......................
VAR А, В, С: CHAR;
.......................
READ (А, В, С);
.......................
Бұл мысалдағы READ операторы орындаларда пернетақтадан мынадай мәндер SNR енгізсек, онда айнымалылар өз орындарына сәйкес: A='S', B='N', C='R' мәндерін қабылдайды. Егер мәндерді S_N_R түрінде берсек, онда айнымалылар орындарына сәйкес A='S', В='_', С=' N' мәндерін қабылдайды да, соңғы екі таңба ешқайда енгізілмейді.
3. Символдық айнымалыларды енгізудің тағы бір ерекшелігі - тек Eпter
пернесі басылса да, оны READ операторы бос орын символы ретіндe қабылдайды. Мысалы, айнымалыларға: А=3, В=4, C='W', D='F' ,мәндерін меншіктеп, оны экранға шығару қажет болса, онда оған мынадай программа жазу керек:
VARA, В: INTEGER;
С, D: CНAR;
BEGIN
WRlTELN (' А, В, С, D мәндерін енгізіндер :');
READ (А, В);
READ (С, D);
WRlTELN (А, В, С, D);
END.
Бұл программа орындалу кезінде пернетақтадан мынадай мәндер енгізілген болса:
3 4
WF
онда А = 3, В = 4, С=' " D = 'W' болады, себебі 4 санынан соң басылған Enter пернесі бос символ ретінде меншіктеледі де, соңғы F символы ешқайда енгізілмейді. Программадағы айнымалылар мәнді дұрыс қабылдауы үшін екі оператордың арасына параметрсіз және бір енгізу операторын мына түрде жазу қажет:
READ (А, В);
READLN;
READ (С, D);
Осылай жазылған уш оператор А = 3, В = 4, С = ' W " D = 'Р' мәндерін дұрыс меншіктеуді қамтамасыз етеді. Символдарды енгізу операторының алдына міндетті турде READLN операторын қою қажет. Егер жоғарыдағы программа үзіндісін десимволдарды енгізу операторын (READ (С. D);) 1- орынға шығарсақ та, оның алдына READLN операторын қою қажет, яғни айтылған ерекшелікке байланысты жоғарыдағы жолдарды былай да жазуға болады:
READLN;
READ (С, D);
READ (А, В);
Программада сандық және символдық мән қабылдайтын айнымалылар үшін екі рет енгізу операторын жазудың да қажеті жоқ. Жоғарыдағы екі оператор орнына READ (А, В, С, D) операторын ғана жазуға болады. Егер READ (А, В, С, D) операторын орындауда айнымалыларға мәнді былай берсек:
45 31
KN
онда дисплей экранында 4531К көрінеді, демек А = 45, В = 31, С= ‘_’, D= 'К' болғаны, ал егер мәндер былай берілсе:
45 31 К N
Онда дисплейден 4531KN көрінеді, яғни осылай береді.
Readln операторы көмегімен пернетақтадан бір символ енгізіп оны экранның келесі қатарына қайта шығаруды орындайтын testread программасының мәтіні төменде келтірілген.
var сҺ: cҺar;
begin
writeln ('Символ енгізіндер: ');
writeln (сҺ,' символы енгізілді ');
write ('Enter пернесін басыңдар'); readln
end.
Егер осы программаның 'Символ енгізіндер:' деген хабарламасынан кейін бір символ пернесін басып, оны босатпасақ, онда сол басылған символ бейнесі экранға 127 рет шығады да, одан кейін тек тырсылдаған дыбыс қана естіледі. Бұл 127 символ сақтай алатын пернетақта буферінің енгізілген таңбалармен толып қалғанын көрсетеді.
Негізінде, перне басылғанда бірден екі код қалыптасады, оның алғашқысы символ коды, ал екіншісі - кеңейтілу немесе сканерлеу коды. Алфавиттік-цифрлық перне басылғанда, олардың символ коды пайдаланылады. Ал кеңейтілу коды басқару пернелері (Ctrl, SҺift, Caps Lock, ←, →, ↑, ↓, F1, F2 т.б.) үшін өте маңызды. Бұлардың символ коды нөлге тең болып саналады да, программаларда олардың тек сканерлеу коды пайдаланылады. Скарнерлеу кодын пайдалану Турбо Паскаль программасының CRT модулінін Read Кеу функциясы арқылы жүзеге асырылады. Символ енгізу кезінде бұл Функция курсорды келесі орынға жылжытпай, ол орынға кез келген символ бейнесін шығара алады. Келесі testread2 программасы Read Кеу функциясын пайдаланып, кіші латын әріптерін бас әріптерге түрлендіреді.
Uses CRT;
Var сҺ: cҺar;
Begin
Writeln ('Латын алфавитінің кіші әріптерін енгізіңдер (z-программадан шығу). ');
Repeat
сҺ := Read Кеу;
write (Up Case( сҺ));
until сҺ ='z",
end.
Төмендегі кесте басқару пернелерің немесе олардың комбинацияларының
сканерлеу коды берілген.
Басылған пернелер
|
Сканерлеу коды
|
Басылған пернелер
|
Сканерлеу коды
|
Ctrl+@Ctrl+3
SҺift+Tab
Alt+ 1..Alt+=
Alt+Q ..Alt+P
Alt+A ..Alt+L
Alt+Z ..Alt+M
Alt+Enter
Ноте
Ctrl+Home
Ctrl+PgUp
End
|
3
15
120..131
16..25
30..38
44..50
28
71
119
132
77
79
80
|
PgDn
lns
Del
Fl ..FI0
SҺift+F 1..SҺift+F 10
Ctr1+Fl ..Ctrl+Fl0
Alt+F 1..Alt+F 10
Ctrl+PrintScreen
PgUp
75
Ctrl+
Ctr1+End
Ctrl+PgDn
|
81
82
83
59..68
84..93
94 ..103
О 104..113
114
73
Ctrl+ 115
116
117
118
|
Төмендегі scan_codes программасы басылған пернелердың сканерлеу кодын
анықтауға арналған. Ол программамен жұмыс істеу барысында Сtгl + PrtSс (принтерге экрандағы мәліметті шығару) немесе Ctr1+Alt+Del (ДОС-ты· қайта жүктеу) пернелер комбинациясын басу керек емес, ал Ctr1+Break пернелерін басу программа жұмысын тоқтатады.
Uses CRT;
Var сҺ: char;
Begin
Writeln ('Программа символ коды мен сканерлеу кодын анықтайды');
Wrіtеlп('Программа жұмысын тоқтату үшін Ctrl+Break пернелерін басыңдар');
repeat
wrіtеlп('Келесі перне: ');
сҺ: = Read Кеу;
writeln;
if cs <> #0 then
writeln ('Символдық перне. Огd (сҺ) = " Ord(ch))
else
begin
write (Басқару пернесі, символ коды: #0. ' );
сҺ : = Read Кеу;
writeln ('Сканерлеу коды: " Огd(сҺ));
end·,
until false;
end.
Бұл программа кейбір пернелерді басқанда, мысалы, F11 пернесін басқанда еш нәрсе істемейді. Оның символдық және сканерлеу коды болғанмен, Паскаль қолданатын DOS жүйесі компьютер пернелерінің кеңейтілмеген ескі нұcқaсын пайдаланатындықтан (онда F11 болмаған), программа осындай нәтиже береді.
4. Символдық және сандық мәндерді енгізгенде, көбінесе EOLN (еnd of linе - жол соңы) стандартты функциясын пайдалану қолайлы болады. Бұл Функция мәні "жолдың соңы болды " немесе "мәндер беріліп болды" дегенді білдіретін Enter пернесі басылғанда ғана ақиқат (TRUE) болады да,қалған жайғдайлардың барлығында жалған (FALSE) болады. Бұл Функция көбінесе циклдік операторларда пайдаланылады.
4.3 Мәліметтерді шығару операторы.
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы (процедурасы деп те айтылады) қолданылады:
WRІTE (аl, а2, ... ,an);
Мұндағы жақша ішінде жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін. Мысалы, егер B=17.15. болып, мына команда орындалғанда:
WRlTE ('В мәні=', В);
экранда
В мәні = 1.715Е+Оl
деген сөз тіркесі көрінеді.
Шығарлатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар iпteger, real, Вооlеап (true, false), char, striпg сияқты типтер түрінде беріле береді.
Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылыn, WRITE түйінді сөзінен соң жай жақша ішіне жазылады.
Шығару операторында жақша ішінде қағазға немесе экранға шығарлатын мәнінің пішімін- оның алатын орнын, яғни енін толық көрсетуге болады. Бүтін санды оның енін көрсете отырып экранға шығаруға болады, мысалы: b айнымалысының бүтін түрдегі мәнін көрсету
WRITE (b: n) немесе WRITE (b: 5)
операторы арқылы жүзеге асырылады. Мұндағы b - айнымалының атауы: n - мәні бүтін сан болып келетін тұрақты түрінде берілген орын саны, оны бірден бүтін санмен де жазуға болады. Егер b: 5 пішімі беріліп, ал b =56 ( екі немесе үш разрядты сан) болса, онда беске дейінгі толтырылмаған орындарға сол жақ шетте бос орын қалдырылады. В = 56 мәні үшін WRІTE (b: 5) операторы экранға
«56»
тіркесін шығарады.
Нақты сандар ушін оның жалпы енін, сонан соң бөлшегі алатын орынды көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қос нүктемен бөлінген екі бүтін сан арқылы жазылады. Сонымең нақты сан үшін пішім екі саннан тұрады:
І- санға берілетін барлық орын.
ІІ- үтірден кейін алынатын бөлшек цифрлар саны.
Мынадай оператор берілсін делік: WRІTE (Ү: 5: 2)
Мұндағы 5 - нәтижеге берілген барлық орын, 2 үтіпден соңғы бөлшек бөлігіне берілетін орындар саны. Мысалы, С= - 145.7865 болғанда WRITE (С: 8: 3) операторы экранға - 145.786 мәнін шығарады, мұндағы жалпы орындар саны - 8, ал бөлшек үш санмен бейнеленетіндіктен соңғы бір цифр жазылмай қалып отыр. С айнымалысының берілген мәнін толық бейнелеу үшін WRITE (С: 9: 4) операторын жазу керек еді. Жалпы нақты санды экранда бейнелеу операторының жазылу түрі:
WRITE (С: п: т);
мұндағы n - С мәнінің барлығына берілген орын саны; m - С мәнінің бөлшек бөлігіне белгіленген орын саны. n - нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшек қосып көрсететіндіктен, ол n > m +3 болуы тиіс. Экранға шығаратын сандардың арасында қалдырылатын бос орын санын да осы жолмен көрсетуге болады. Ол үшін екі апостроф жазып, одан кейін қос нүктемен бөлінген бүтін сан арқылы қалдырылатын бос орындар санын өрнектейміз, мысалы:
WRITE (b: 8: 3,":4, с: 12: 4);
мұндағы 4 - b мен с сандарының арасындағы бос орын саны.
Егер нақты сан үшін: WRIТЕ ('Ү =', Ү: 8: 3) пішімі берілсе, ал оның мәні Ү=1.76 болса, экраннан Ү=1.760 тіркесі көрінеді.
Егер операторда пішім көрсетілмесе, онда нәтuжеде сол сан экспоненциальды түрде экранға шығады.
Паскаль тілінде параметрсіз шығару операторы WRITELN жаңа жолға өту үшін қолданылады.
Егер WRITELN (аl, а2, ...,an); операторы қолданылса, онда аl, а2, ... ,аn. мәндерін экранға шығарған соң курсор келесі жолға көшеді.
WRITE операторын түсініктеме беруге қолдануға болады. Мысалы:
WRITE (' А, В, С мәндерін енгізіндер: ');
READ (А, В, С);
Мұндайда экранға:
А, В, С мәндерін енігізіндер:
түсініктеме сөзі шығады, сонан кейін үш сандық мән енгізілуі тиіс.
Мысалы,
WRITE (' Т = ' , N: 3,": 4, ,М = ' , М: 4: 2)
болса, онда Т-ның үш орынды мәнінен соң 4 бос орын қалады да, одан соң М-нің нақты мәні жазылады.
Айталық, х= 7, ү= 15, Z= 11, ал R= 450,08 болсын, оларды экранға
шығарудың әр түрш тәсілдерін мына кестеде көрсетілген.
Оператордың жазылуы
|
Экрандағы нәтижесі
|
Write (х, у);
Write (Х'_,_' ,у);
Write ('Х =',Х);
Write (Х, ": 3, Z);
Write (Х+Ү =',Х+Ү);
Write (Z,'- соңы);
Write ('бітті');
Write (R);
|
7 15
7_,_ 15
Х=7
7 11
Х+Ү=22
ІІ-соңы
бітті
4.5008Е+02
|
5. Блок схема құрылымы.
6. Программаның түсінігі.
6.1 Алгоритмнің түсінігі.
Бұл программада енгізу - шығару операторларына блок – схема құрылған.
Бұл блок - схемада n таңбасын студенттер санына өзгертеміз. With - оператор көмегімен студенттердің аты жөнін, тобын, туғaн жылын және әрбір пән бойынша алған бағаларын енгіземіз. Fоr оператор көмегімен студентердің әрбір пән бойынша алған бағаларының орташа бағасын есептейміз және олардың жауабын шығарамыз.
7. Қолдану ережесі.
Программаны іске қосыңыздар. Программа А:\ Student. ехе орналасқан.
Сіздің алдыңыздан меню терезесі көрінеді. Көрінген меню терезесінен керек жолды таңдап алып, (бағыттаушылар жоғары, төмен) таңдауды растау үшін "Enter" пернесін басыңыз.
Егер сіз «Программа туралы» жолды таңдасаңыз, онда сіз Авторы кім
екенін және программа аты туралы ақпарат көресіз. Жалғастыру үшін "Enter" пернесін басыңыз.
Егер сіз "Енгізу" жолын тандасаныз, онда алдыңыздан "Turbo Pascаl - дағы енгізу және шығару операторлар программасы" - на хабарлама шығады. Студенттердің санның енгізіңіз, "Enter" пернесін басыңыз, содан соң студенттердің аты - жөнің енгізіңіз, "Enter" пернесін басыңыз, сонан кейін олардың тобын енгізіңіз, "Enter" пернесін басыңыз және туған жылын енгізіңіз, "Enter" пернесін басыңыз,осылардан кейін студенттердің әрбір пән бойынша алған бағаларын енгізіңіз, "Enter" пернесін басқаннан кейін бастапқы меню терезесіне шығасыз.
Енгізілетін мәндерді енгізіп болғаннан кейін «Жауабы» жолын таңдасаңыз экранға программа нәтижесі шығады.
«Шығу» жолын тандасаңыз программадан шығасыз.
8. Программа.
{Приложение А. Листинг модуля Student.pas}
{О каждом студенте известна следующая информация
~ Ф.и.о.
~ Год рождения
~ Группа
~ Оценка по математики
~ Оценка по истори
~ Оценка по в.т.
~ Оценка по статистики
Сформируйте таблицу, записав в нее всю известную о қаждом студенте и его средний балл. Подсчитайте средний балл по каждому предмету выведите таблицу на экран дисплея в алфотвитном порядке.}
{Автор: Бақтығалиев Бекнұр}
{Подключения модуля CRT.}
Uses CRT;
{Описания записи о каждом студенте. }
type
tablica=record
паmе: string[15];
group: string[6];
god: integer;
vt, history, stat, math: byte;
sr bal:real;
end;
var
i,j, n:integer;a:tablica;
{Таблица- массив записей.}
mas: array [1 .. 30] of tablica;
{Переменные для сравнение средних значении пo предметам. }
s vt, s history, s stat, s math: real;
begin
{Bвод количества n записи.}
write('n='); readln(n);
{Ввод элементов в массив записей.}
for і:=l to n do
with mas [і] do
begin
writeln (' і=', і: 4);
writeln ('FIO');
readln (nаmе);
writeln('GROUP') ;
readln (group);
writeln ('Year');
readln (god);
writeln ('Oсenki');
readln(vt,history,stat,math);
sr_bal:=(vt+history+stat+math)/4;
end;
{Вычисление средних значении по каждому предмету. }
s vt:=0; s history:=0; s stat:=0; s math:=0;
for і:=l to n do
begin
s vt:=s vt+mas[i] .vt;
s history:=s history+mas[i] .history;
s stat:=s stat+mas[i] .stat;
s -math:=s -math+mas[i] .math;
end;
s vt:=s vt/n;
s history:=s history/n;
s stat:=s stat/n;
s math:=s math/n;
{Упорядочение массива записей в алфавитном порядке фамилии.}
for і:=l to п-l do
for j:=l to п-l do
if mas[j] .name>mas[j+l] .пате then
begin a:=mas[j];
та s [j ] :=та s [j +1] ;
mas[j+l] :=а;
end;
{Вывод результатов.}
clrscr;
write(' ':8,'FIO , , .. 4) .,•
wr і te (' ': 2, 'GROUP ');
write(' ':l,'Year ',":2);
write (": 3, 'OСENKI', '
writeln('Sr.Bal') ;
for і:=l to n do
with rnas[i] do
begin
write(narne:15);
write (' ',group: 8);
write(' ',god:4);
-- _. о. _
writeln(' ',vt:з,' ',history:3,' ',stat:3,’math : 3,' ', sr_bаl : 5 : 2) ;
end;
writeln (' , ' Sr. bа1: ' " ': 24, s_vt: 3 : 1, ' ',s_history:3:1, , ',s_stat:3:1, S rnath:3:1);
end.
9. Программаның нәтижеcі.
Енгізілген мәндер:
1. n = 3
2. і= 1 Ф.И.О.:Бисенов Нүргелді
3. Группа: 11-122
4. Год рождения: 1988
5. Оценки: 5454
6. і= 2 Ф.И.О. : Бақтығалиев Бекнұр
7. Группа: 11-122
8. Год рождения: 1989
9. Оценки: 5 4 5 5
10.і = 1 Ф.И.О.: Амангелді Медет
11.группа: 11-122
12.Год рождения: 1989
13.0ценки: 5 444
Енгізілген мәндердің нәтижесі:
Ф.И.О. Группа Год рождения Оценки Средний бал
Бақтығалиев Бекнұр 11-122 1989 5 4 5 5 4.75
Бисенов Нүргелді 11-122 1988 5 4 5 4 4.50
Амангелді Медет 11-122 1989 5 4 4 4 4.25
Средний бал: 5.0 4.0 4.7 4.3
10. Қорытынды.
Курстық жобалау жұмысын жазу барысында менімен бағдарлама жазылған болатын. Курстық жобалау жұмысын жазу барысында Turbo Pascal бағдарламасымен жұмыс жасауда тәжірбиеге ие болдым. Turbo Pascal - дағы операторлармен жұмыс істеуді және қойылған мaқcaтты шешу, шарттарды жазуды, жөңдеуді, тестілеуді үйрендім.
11. Қолданылған әдебиеттер.
1. Авторы: Алексеев Е. Р. "Турбо Паскаль 7.0" Идеалный учебный курс. Численные методы. Москва - 2006.
2. Авторы: Немнюгин С. А. "Turbo Pascal" учебник. Санк-Петербург - 2002.
3. Авторлары: Б. Бөрібаев. Б. Нақысбеков Т. Мадиярова. "Инфарматика және есептеуіш техника негіздері". Алматы – 2002.
Достарыңызбен бөлісу: |