Turbo Pascal - дағы енгізу және шығару операторлары

Автор: Пользователь скрыл имя, 24 Ноября 2011 в 14:13, курсовая работа

Краткое описание

Паскаль т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 тузету оңай.

Оглавление

1. Курстық жұмыстың тапсырмасы .......................................................................3
2. Курстық жұмыстың орындау графигі............................................................... 4
3. Кіріспе..................................................................................................................... 5
3.1 Паскаль программалау тілі.................................................................................. 5
3.2 Паскаль тілінің негізгі элементтері.................................................................... 6
3.3 Мәлімет типтері.................................................................................................... 8
Паскаль тілінде программа дайындау жолдары..............................................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

Файлы: 1 файл

Курсовой нархоз.docx

— 45.42 Кб (Скачать)

     Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын  ала анықталған 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, F 2 т.б.) үшін өте маңызды. Бұлардың символ коды нөлге тең болып саналады да, программаларда олардың тек сканерлеу коды пайдаланылады. Скарнерлеу кодын пайдалану Турбо Паскаль программасының CRT модулінін Read Кеу функциясы арқылы жүзеге асырылады. Символ енгізу кезінде бұл Функция курсорды келесі орынға жылжытпай, ол орынға кез келген символ бейнесін шығара алады. Келесі testread2 программасы Read Кеу функциясын пайдаланып, кіші латын әріптерін бас әріптерге түрлендіреді.   

Uses CRT;  

Var сҺ: cҺar;

Begin

Writeln ('Латын алфавитінің  кіші әріптерін енгізіңдер (z-программадан  шығу). ');

Repeat

сҺ := Read Кеу;

write (Up Case( сҺ));

until сҺ ='z",

end.

     Төмендегі кесте басқару пернелерің немесе олардың комбинацияларының

сканерлеу коды берілген.

Төмендегі 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 Мәліметтерді  шығару операторы.  

Информация о работе Turbo Pascal - дағы енгізу және шығару операторлары