Бүтін айнымалыларға бүтін, нақты айнымалыларға нақты мәндер берілуі қажет.
Айнымалы сипатталғанда нақты ретінде көрсетілсе, оған нақты да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан енеді. Ал машина «өзі» бүтін санды нақты сан түріне келтіріп алады.
Мысалы:
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) операторын орындауда айнымалыларға мәнді былай берсек:
4 5 31
KN
онда дисплей экранында 4531К көрінеді, демек А = 45, В = 31, С= ‘_’, D= 'К' болғаны, ал егер мәндер былай берілсе:
4 5 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
|
Достарыңызбен бөлісу: |