Автор: p***********@yandex.ru, 28 Ноября 2011 в 13:54, курсовая работа
Паскаль т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н ғана орындалады. Осы сәтте компьютерде
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
Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталған 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анда
Мысал.
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
операторы орындаларда
3.
Символдық айнымалыларды
пернесі басылса да, оны 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 операторы
көмегімен пернетақтадан бір
символ енгізіп оны экранның
келесі қатарына қайта
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с (принтерге экрандағы
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. Символдық
және сандық мәндерді
4.3 Мәліметтерді
шығару операторы.