Оқу-ҽдістемелік материалдар «алгоритмдеу жҽне бағдарламалау негіздері» Баспа


Output файлдары қолданылады. Программа берілген мҽндерді Input



Pdf көрінісі
бет4/11
Дата28.01.2017
өлшемі1,33 Mb.
#2921
1   2   3   4   5   6   7   8   9   10   11

Output файлдары қолданылады. Программа берілген мҽндерді Input файлынан 
алады  да,  алынған  нҽтижені  Output  файлына  орналастырады.  Стандартты 
енгізу  файлы  болып  пернетақта,  ал  шығару  файлы  болып  дисплей  экраны 
саналады. Ол ҥшін енгізу операторы пайдаланылады. 
Паскаль тілінде мҽлімет енгізетін READ ( READ - ағылшынша оқy ) 
операторының жалпы тҥрі (пішімі) тҿмендегідей: 
 
READ (а1, а2 ... ап); 
READLN (а1, а2, ... , ап); 
READLN; 
 
Мҧндағы  а1,  а2,  ...,  аn  -  айнымалы  атаулары,  оларды  енгізу  
операторының  параметрлері    деп  те  атайды.  Алғашқы  оператор  кҿрсетілген 
айнымалылардың  мҽндері  пернелер  арқылы  араларына  бір  бос  орын  қалдыру 
арқылы енгізілген соң, курсорды келесі қатарға кҿшірмейді. Ал readln ( read lіnе 
-  «қатарды  оқу»  деген  сҿздің    қысқартылуы)  алдыңғы  оператордағыдай 
пернетақтадан  мҽндер  енгізілгеннен  кейін  курсорды  келесі  қатарға  кҿшіріп 
Айнымалыларды 
сипаттау 
Процедураны 
сипаттау 
Функцияларды 
сипаттау 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 31-сі 
 
 
31 
жібереді.  Соңғы  қатарда  жазылған  параметрсіз  оператор  ешбір  мҽн  енгізбей, 
тек курсорды келесі қатарға кҿшіруді ғана атқарады. 
Енгізілетін  айнымалылардың  мҽндері  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» пернесі басылады. 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 32-сі 
 
 
32 
Файлдардан мҽлімет енгізу мысалдары кейінірек қарастырылады. 
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)  операторын 
пайдалануға болады. 
Турбо  Паскаль  тілінде  шығару  форматтары  бар.  Оны  келесі  мысалмен 
тҥсіндіріп ҿтейін.  
program qq; 
 
var i: integer; 
    x: real; 
begin 
  i := 15; 
  writeln ( '>', i, '<' ); 
  writeln ( '>', i:5, '<' );    
{i:5 
барлық 
символдар 
санын 
білдіреді} 
>15< 
>   15< 
 
>1.234568E+001< 
> 1.23E+001< 
>  12.35< 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 33-сі 
 
 
33 
  x := 12.345678; 
  writeln ( '>', x, '<' ); 
  writeln ( '>', x:10, '<' ); 
  writeln ( '>', x:7:2, '<' ); 
 end. 
 
 
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',  мҽндерін 
меншіктеп,  оны  экранға  шығару  қажет  болса,  онда  оған  мынадай  программа 
жазу керек: 
VAR A, В: INTEGER; 
С, D: CНAR; 
BEGIN 
WRlTELN (' А, В, С, D мҽндерін енгізіндер :'); 
READ (А, В); 
READ (С, D); 
WRlTELN (А, В, С, D); 
END. 
Бҧл  программа  орындалу  кезінде  пернетақтадан  мынадай  мҽндер 
енгізілген болса: 
3 4 
WF  

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 34-сі 
 
 
34 
онда А = 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. 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 35-сі 
 
 
35 
Егер осы программаның 'Символ енгізіндер:' деген хабарламасынан кейін 
бір символ пернесін басып, оны босатпасақ, онда сол басылған символ бейнесі 
экранға  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. 
 
1-кестеде  басқару  пернелерінің    немесе  олардың  комбинацияларының 
сканерлеу коды берілген. 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 36-сі 
 
 
36 
Кесте 1 Басқару пернелерінің  немесе олардың комбинацияларының 
сканерлеу коды 
Басылған 
пернелер 
 
Сканерлеу коды 
Басылған пернелер  Сканерлеу коды 
 
Ctrl+@Ctrl+

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 
 
 

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+PrintScree

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 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 37-сі 
 
 
37 
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 
айнымалысының бҥтін тҥрдегі мҽнін кҿрсету 
 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 38-сі 
 
 
38 
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жеде  сол  сан 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 39-сі 
 
 
39 
экспоненциальды түрде экранға шығады. 
Паскаль  тілінде  параметрсіз  шығару  операторы  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  болсын,  оларды  экранға 
шығарудың ҽр тҥрлі тҽсілдері мына кестеде кҿрсетілген. 
 
Кесте 2 Экранға шығару тҽсілдері 
Оператордың жазылуы 
Экрандағы нәтижесі 
Write (х, у); 
Write (Х'_,_' ,у); 
Write ('Х =',Х); 
Write (Х, ": 3, Z); 
Write (Х+Ү =',Х+Ҥ); 
Write (Z,'- соңы); 
Write ('бітті'); 
Write (R); 
7 15 
7_,_ 15 
Х=7 
7 11 
Х+Ҥ=22 
ІІ-соңы 
бітті 
4.5008Е+02 
 
5 Тармақталу командалары 
 
Программадағы  операторлардың  орындалу  ретін  басќарып  отыратын   
операторларды  тармаќталу  командалары  дейді.  Бҧл  командалардың  кҿмегімен  
қҧрылған  программалардың    блоксхемасы  тармаќ  (бҧтаќ)  тҥріне  болады. 
Тармаќталу командалары шартсыз жҽне шартты болып екіге бҿлінеді. 
GOTO шартсыз операторы. 
GOTO  операторы  программаның  орындалуын  ҿзінде  кҿрсетілген  белгіге   
аударады.     
Мысалы: 
                   GOTO  10;    //программа  орындалуы  ешќандай  шартсыз                   

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 40-сі 
 
 
40 
10 белгісі бар операторға ќарсы көшеді 
 
IF…THEN  шартты  операторлары. 
IF…THEN  шартты  операторлары  берілген  шарттардың  орындалуын 
реттейді.  
Программалауда шартты операторларды мынадай варианттарға ќолдануға 
болады: 
1.IF шарт THEN 1 блок; 
Егер  шарт  орындалса,  онда басќару    THEN  операторына беріліп,  1 блок 
орындалады, ҽйтпесе басќару ҥтірлі нҥктеден кейінгі операторға беріледі. 
 
  2. IF шарт THEN 1 блок 2 ELSE блок; 
  Егер  шарт  орындалса,  онда  басќару  THEN  операторына  беріліп,  1блок 
орындалады, ҽйтпесе басќару ELSE операторына беріліп, 2 блок орындалады. 
 
  3.IF  шарт  THEN  1  блок    ELSE  IF  2  шарт  THEN  2  блок  ELSE  IF  3 
шарт 
    THEN 3 блок  ELSE 4 блок; 
  Егер  шарт  орындалса,  онда  басќару  THEN  операторына  беріліп,  1блок 
орындалады,  ҽйтпесе  басќару  ELSE  операторына  беріліп,  2  шарт  тексеріледі, 
егер  2  шарт  орындалса    2  блок  орындалады,  орындалмаса  3  шарт  тексеріледі, 
егер 3 шарт орындалса  3 блок орынды, орындалмаса 4 блок орындалады. 
Егер THEN не ELSE операторларында бірнеше оператор болса, онда олар 
операторлыќ жаќшаға алынып жазылады. Егер IF операторында бірнеше шарт 
болса,    онда  жҽй  жаќшаға  алынып  OR  немесе    AND  ќызметші  сҿзі  арќылы 
бҿлініп жазылады. 
  Тармаќталу программаларын ќҧруға бірнеше мысал келтірейік. 
 
  1.Екі санның ҥлкенін табу программасы. 
 
            PROGRAM MAXSHISLO
            VAR     A, B:REAL; 
            BEGIN READLN (A,B); 
            IF A>B THEN 
           WRITELN(`MAX=`,A) 
           ELSE WRITELN (MAX=`,B); 
           END. 
  2.N санының [ a, b] интервалына жататынын аныќтау программасы. 
 
           PROGRAM INT shislo; 
           VAR       N,A,B: REAL; 
           BEGIN READLN (N); 
           A:=-50; B:=200; 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 41-сі 
 
 
41 
          IF ( N>A) AND (N=0 
 
        PROGRAM systema; 
        LABEL 1; 
        VAR      X, A, B, Y: REAL; 
        BEGIN READLN (X,A,B); 
        IF X>0 THEN 
        BEGIN Y:=X2*A; GOTO 1; END; 
        Y:=X+3*B; 
        1: WRITELN(`Y=`,Y:5:2); 
        END. 
 
       B)      X+2*A, егер X<-50 
                Y=    X+3*B, егер X<0 
                A*B+X, егер X<50 
                X,           егер X>=50 
 
       PROGRAM systema
       VAR      X, A, B, Y: REAL; 
       BEGIN READLN (X,A,B); 
       IF X<-50 THEN Y:=X+2*A ELSE IF X<0 THEN Y:=X+3*B 
       ELSE IF X<50 THEN Y:=A*B+X ELSE Y:=X; 
       WRITELN(`Y=`,Y:5:2); 
       END. 
 
  3. Светофор программасын ќҧру. 
 
       PROGRAM svet
       VAR      X, Y: STRING; 
       BEGIN READLN (X); 
       IF X=`ќызыл` THEN Y:= `ТОЌТА,К‡Т` ELSE IF X=`сары` THEN 
      Y=`ДАЙЫНДАЛ` ELSE IF X=`жасыл` THEN Y=`Ж‡Р` 
      ELSE Y=`светофорда ондай тҥс жоќ`; 
      WRITELN(Y); 
      END. 
 
  4. Тҿрт банктегі валюта курсын шығару программасы. 
     PROGRAM valuta; 
     LABEL 1,2,3,4,5; 
     VAR      X:STRING; 
     BEGIN READLN (X); 
     IF X=`Казкоммерцбанк` THEN GOTO 1 ELSE 
     IF X=`Темірбанк` THEN GOTO  2 ELSE 

ПОҼК 042-11.1.20/03-2014
 
Баспа  №1 кҥні 11.09.2014 ж.  121 беттің 42-сі 
 
 
42 
     IF X=`ТуранЄлембанк` THEN GOTO 3 ELSE 
     IF X=` ЦентрКредитбанк` THEN GOTO 1 ELSE GOTO 5; 
    1: WRITELN (`$US-147.5 KZT`); WRITELN (`1 RR-5.7 KZT`); 
    GOTO 5; 
    2: WRITELN (`$US-147.8 KZT`); WRITELN (`1 RR-4.9 KZT`); 
    GOTO 5; 
    3: WRITELN (`$US-148.7 KZT`); 
    WRITELN (`1 RR-5.3 KZT`); GOTO 5; 
    4: WRITELN (`$US-148.2 KZT`); 
    WRITELN (`1 RR-5.4 KZT`); 
    5:END. 
 

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   11




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет