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

Автор работы: Пользователь скрыл имя, 20 Февраля 2013 в 07: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
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

Работа состоит из  1 файл

TurboPascal курстық жұмыс.doc

— 210.00 Кб (Скачать документ)


 



 


 


 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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, F 2 т.б.) үшін өте маңызды. Бұлардың символ коды нөлге тең болып саналады да, программаларда олардың тек сканерлеу коды пайдаланылады. Скарнерлеу кодын пайдалану Турбо Паскаль программасының 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 Кеу;

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