Giáo Trình NNLT Pascal

Chia sẻ bởi Nguyễn Văn Phong | Ngày 14/10/2018 | 44

Chia sẻ tài liệu: Giáo Trình NNLT Pascal thuộc Tin học 8

Nội dung tài liệu:

ch­¬ng I
Nh÷ng kiÕn thøc c¬ b¶n

1. Ng«n ng÷ lËp tr×nh
a. LËp tr×nh lµ g× ?
LËp tr×nh lµ c¸c thao t¸c ®­a ý nghÜ cña con ng­êi theo mét tr×nh tù cã hÖ thèng vµo m¸y tÝnh, yªu cÇu m¸y tÝnh thùc hiÖn.
b. Ng«n ng÷ lËp tr×nh
Lµ c¸c phÇn mÒm mµ nhê ®ã c¸c kü thuËt viªn m« pháng l¹i c¸c thao t¸c trªn ng«n ng÷ ®ã th«ng qua c¸c qui t¾c qui ­íc mµ ng«n ng÷ ®Ò ra. Ng«n ng÷ lËp tr×nh cã chøc n¨ng chuyÓn toµn bé ch­¬ng tr×nh sang m· m¸y ®Ó m¸y tÝnh cã thÓ thùc hiÖn vµ ®­a ra kÕt qu¶.
2. Bµi to¸n tin häc vµ c¸ch gi¶i quyÕt
a. Bµi to¸n tin häc lµ g×?
Bµi to¸n trong Tin häc kh«ng dïng ®Ó chØ mét bµi to¸n cô thÓ, mµ chØ mét líp c¸c bµi to¸n cô thÓ thuéc cïng mét lo¹i. Mét bµi to¸n tin häc ®­îc cÊu t¹o bëi hai yÕu tè sau:
+ Th«ng tin vµo (Input): Lµ c¸c th«ng tin ta cã.
+ Th«ng tin ra (Output): Lµ c¸c th«ng tin cÇn t×m hoÆc c©u tr¶ lêi cÇn thiÕt
VÝ dô: §Ó gi¶i bµi to¸n tÝnh diÖn tÝch tam gi¸c b»ng c«ng thøc S=a*h/2.
+ Th«ng tin vµo: Lµ c¹nh ®¸y a vµ ®­êng cao h
+ Th«ng tin ra : Lµ diÖn tÝch tam gi¸c S hoÆc lµ dßng th«ng b¸o d÷ liÖu kh«ng hîp lÖ.
b. ThuËt to¸n (algorithm)
ThuËt to¸n lµ mét qu¸ tr×nh gåm mét d·y h÷u h¹n c¸c thao t¸c ®¬n gi¶n ®­îc s¾p xÕp theo mét tr×nh tù x¸c ®Þnh sao cho theo ®ã tõ Input cña bµi to¸n ta sÏ t×m ®­îc Output hoÆc kh¼ng ®Þnh kh«ng cã Output nh­ bµi to¸n ®ßi hái. ChØ nh÷ng qu¸ tr×nh nh­ vËy míi cã kh¶ n¨ng chuyÓn giao m¸y tÝnh thùc hiÖn ®­îc.
VÝ dô: Trë l¹i bµi to¸n tÝnh diÖn tÝch tam gi¸c, thuËt to¸n nh­ sau:
+ B­íc 1: Cho gi¸ trÞ cña c¹nh ®¸y a vµ ®­êng cao h
+ B­íc 2: KiÓm tra
- NÕu a>0 vµ h>0 th× ®i tÝnh diÖn tÝch theo c«ng thøc S=a*h/2 vµ xuèng b­íc 3
- Ng­îc l¹i th«ng b¸o d÷ liÖu kh«ng hîp lÖ vµ quay vÒ b­íc 1
+ B­íc 3: In diÖn tÝch S.
c. M« t¶ thuËt to¸n qua s¬ ®å
§Ó m« t¶ mét c¸ch trùc quan h¬n vÒ thuËt to¸n ng­êi ta dïng s¬ ®å khèi. Qua s¬ ®å khèi ng­êi lËp tr×nh cã thÓ quan s¸t c¸c b­íc cña thuËt to¸n còng nh­ dßng th«ng tin h×nh thµnh vµ biÕn ®æi trong qu¸ tr×nh thuËt to¸n lµm viÖc.
ViÖc thÓ hiÖn thuËt to¸n ng­êi ta qui ­íc dïng c¸c khèi sau ®Ó thÓ hiÖn.















- ThÓ hiÖn sù b¾t ®Çu vµ kÕt th­c ch­¬ng tr×nh

- ThÓ hiÖn viÖc nhËp, xuÊt d÷ liÖu.

- Chøa c¸c c«ng thøc,c©u lÖnh tÝnh to¸n

- Chøa c¸c biÓu thøc ®iÒu kiÖn, vµ ®Ó rÏ nh¸nh ch­¬ng tr×nh.


- Dïng ®Ó gäi ch­¬ng tr×nh con

DÉn h­íng ch­¬ng tr×nh vµ nèi c¸c khèi trong thuËt to¸n víi nhau


3. CÊu tróc cña mét ch­¬ng tr×nh pascal
Mét ch­¬ng tr×nh Pascal bao gåm c¸c thµnh phÇn sau:
PhÇn 1: Tªn ch­¬ng tr×nh
Lu«n b¾t ®Çu bëi tõ kho¸ Program
PROGRAM Tªn_ch­¬ng_trinh;
PhÇn 2: Khai b¸o
USES Tªn_c¸c_Unit; {Khai b¸o th­ viÖn dïng trong ch­¬ng tr×nh}
CONST C¸c h»ng;{Khai b¸o h»ng sö dông trong ch­¬ng tr×nh}
TYPE C¸c_kiÓu_d÷_liªu_míi;{Khai b¸o kiÓu d÷ liÖu míi}
VAR C¸c_biÕn;{Dïng ®Ó khai b¸o biÕn sö dông trong ch­¬ng tr×nh}
PROCEDURE C¸c_thñ_tôc;{Khai b¸o c¸c thñ tôc}
FUNCTION C¸c_hµm; {Khai b¸o c¸c hµm}
PhÇn 3: Th©n ch­¬ng tr×nh
BEGIN {B¾t ®Çu ch­¬ng tr×nh}
{ C¸c c©u lÖnh }
END. {KÕt thóc ch­¬ng tr×nh}
4. C¸c b­íc so¹n th¶o vµ ch¹y mét ch­¬ng tr×nh Pascal c¬ b¶n
B­íc 1: Khëi ®éng Pascal
TÖp ®Ó ch¹y ch­¬ng tr×nh Pascal lµ tÖp TURBO.EXE. Muèn khëi ®éng Pascal ta ph¶i ch¹y tÖp nµy.
Gi¶ sö trong æ C: cã th­ môc TP trong th­ môc TP cã tÖp Turbo.exe. Khëi ®éng ch­¬ng tr×nh Pascal ta gâ lÖnh nh­ sau:
C:TPTURBO (
B­íc 2: So¹n th¶o ch­¬ng tr×nh
Sau khi ch­¬ng tr×nh Pascal khëi ®éng, ta tiÕn hµnh so¹n th¶o ch­¬ng tr×nh theo cÊu tróc nh­ phÇn 3. Sau khi so¹n th¶o xong ta Ên phÝm F2 ®Ó ghi v¨n b¶n ch­¬ng tr×nh vµo m¸y.
NÕu muèn më ch­¬ng tr×nh ®· cã trong m¸y ta dïng phÝm F3.
B­íc 3: Biªn dÞch vµ ch¹y ch­¬ng tr×nh
Khi hoµn tÊt ch­¬ng tr×nh ta Ên phÝm F9 ®Ó dÞch ch­¬ng tr×nh, Pascal sÏ th«ng b¸o cho ta nh÷ng lçi có ph¸p nÕu trong ch­¬ng tr×nh cã, tiÕn hµnh söa ch÷a c¸c lçi cho ch­¬ng tr×nh hoµn chØnh.
Khi ch­¬ng tr×nh ®· ®­îc biªn dÞch xong ta Ên tæ hîp phÝm CTRL + F9 ®Ó ch¹y ch­¬ng tr×nh.
B­íc 4: Tho¸t khái Pascal
§Ó tho¸t khái Pascal ta Ên tæ hîp phÝm ALT + X










ch­¬ng II
c¸c kh¸i niÖm c¬ b¶n
I. Mét sè qui ­íc trong ng«n ng÷
1. Bé kÝ tù
Turbo Pascal ®­îc x©y dùng víi bé kÝ tù sau:
- C¸c ch÷ c¸i: 26 ch÷ c¸i hoa (A,B,......,Z)
26 ch÷ th­êng (a,b,......z)
- C¸c ch÷ sè thËp ph©n: 0,1,2,3,4,5,6,7,8,9
- C¸c dÊu to¸n häc th«ng dông: + - * / > >= < <= = ( )....
- DÊu g¹ch nèi _
- C¸c kÝ hiÖu ®Æc biÖt: ; . {} [ ] : % & @ $ # ^ ! ‘ “ ?
2. Tõ kho¸ (Key word)
Tõ kho¸ lµ c¸c tõ dµnh riªng cho Turbo Pascal, mçi tõ cã mét chøc n¨ng nhÊt ®Þnh. Khi sö dông ph¶i dïng ®óng víi có ph¸p.
Mét sè tõ kho¸:
BEGIN END PROCEDURE FUNCTION PROGRAM
CONST VAR TYPE IF THEN FOR vvv......
3. Tªn hay danh hiÖu (Indentifier)
Tªn lµ mét d·y kÝ tù ®­îc t¹o thµnh tõ c¸c ch÷ c¸i, ch÷ sè vµ dÊu g¹ch nèi. Tªn th­êng dïng ®Ó ®Æt tªn cho c¸c ®¹i l­îng trong ch­¬ng tr×nh nh­ tªn biÕn, h»ng, tªn kiÓu d÷ liÖu míi vv....
KÝ tù ®Çu tiªn cña tªn kh«ng ®­îc lµ ch÷ sè.Tªn cã ®é dµi tuú ý nh­ng chØ cã 63 kÝ tù ®Çu tiªn lµ cã ý nghÜa, tªn kh«ng ®­îc trïng víi tªn cña tõ kho¸.
* Tªn chuÈn: lµ tªn do Turbo Pascal ®Þnh nghÜa tr­íc dïng chØ c¸c hµm, h»ng, biÕn, thñ tôc th­ viÖn cña turbo Pascal.
* Tªn do ng­êi lËp tr×nh ®Æt: §Æt tuú ý nh­ng ph¶i tu©n thñ theo nguyªn t¾c cña Pascal nh­ tªn biÕn, tªn ch­¬ng tr×nh, tªn kiÓu d÷ liÖu míi.....
4. Dßng chó thÝch
Trong qu¸ tr×nh so¹n th¶o ch­¬ng tr×nh ®Ó lµm s¸ng tá nh÷ng ®o¹n ch­¬ng tr×nh, nh÷ng dßng lÖnh cô thÓ hoÆc mét c«ng viÖc nµo ®ã, ng­êi lËp tr×nh th­êng ®­a thªm vµo ch­¬ng tr×nh dßng chó thÝch, lêi gi¶i thÝch ®Ó lµ s¸ng tá vÊn ®Ò cÇn nªu. Dßng chó thÝch ®­îc ®Æt trong hai dÊu ngoÆc sau {}
VÝ dô: PROGRAM TG; {Khai b¸o tªn ch­¬ng tr×nh tÝnh diÖn tÝch tam gi¸c}
5. DÊu chÊm phÈy
DÊu chÊm phÈy “ ; ” th­êng n»m sau c¸c c©u lÖnh nh»m ng¨n c¸ch gi÷a c¸c c©u lÖnh víi nhau, kh«ng lªn hiÓu dÊu “ ; ” dïng ®Ó kÕt thóc mét c©u lÖnh.
II. C¸c kiÓu d÷ liÖu
1. KiÓu logic (Boolean)
- ChØ cã hai gi¸ trÞ: TRUE (®óng), FALSE (sai).
- Quy ­íc: FALS < TRUE.
- C¸c phÐp to¸n: AND, OR, XOR, NOT.
- T¸c dông cña c¸c phÐp to¸n thÓ hiÖn qua b¶ng:

P
Q
NOT P
P AND Q
P OR Q
P XOR Q

TRUE
TRUE
FALSE
TRUE
TRUE
FALSE

TRUE
FALSE
FALSE
FALSE
TRUE
TRUE

FALSE
TRUE
TRUE
FALSE
TRUE
TRUE

FALSE
FALSE
TRUE
FALSE
FALSE
FALSE


Trong ®ã P vµ Q lµ hai gi¸ trÞ kiÓu Boolean.
2. KiÓu sè nguyªn
- Cã n¨m kiÓu sè nguyªn ®­îc tæng kÕt qua b¶ng sau:
Tªn MiÒn gi¸ trÞ Yªu cÇu bé nhí
Shortint -128 ®Õn 127 1 bytes
Integer -32768 ®Õn 32767 2 bytes
Longint - 2147483648 ®Õn 2147483647 4 bytes
Byte 0 ®Õn 255 1 byte
Word 0 ®Õn 65535 2 bytes
- C¸c phÐp tÝnh:
+ céng / chia
- trõ DIV chia lÊy phÇn nguyªn
* nh©n MOD chia lÊy sè d­ cña hai sè nguyªn
VÝ dô: 5/2=2.50
5 DIV 2=2
5 MOD 2=1
Chó ý:
- Khi viÕt c¸c sè nguyªn ph¶i tu©n theo c¸c quy ®Þnh: kh«ng cã kho¶ng trèng gi÷a c¸c sè, dÊu + hay - (nÕu cã) ph¶i ®Æt ngay tr­ícch÷ sè ®Çu tiªn, kh«ng ®­îc sö dông dÊu chÊm thËp ph©n.
- Khi thùc hiÖn c¸c phÐp tÝnh trªn sè nguyªn, ph¶i hÕt søc thËn träng xem c¸c phÐp to¸n ®ã cã cho kÕt qu¶ v­ît qu¸ ph¹m vi biÓu diÔn cña sè nguyªn hay kh«ng. VÝ dô khai b¸o a, b lµ d÷ liÖu kiÓu Integer. Khi ®ã hai c©u lÖnh sau:
a:=80;
b:=(a*1245)Div 200;
cho kÕt qu¶ sai v× a*1245 = 99600 v­ît qu¸ ph¹m vi cña Integer.
3. KiÓu sè thùc
- Cã n¨m kiÓu sè thùc, ®­îc tæng kÕt qua b¶ng sau:
Tªn Ph¹m vi biÓu diÔn Yªu cÇu bé nhí
Single 1.5*10-45 ®Õn 3.4*1038 4 bytes
Real 2.9*10-39 ®Õn 1.7*1038 6 bytes
Double 5.0*10-324 ®Õn 1.7*10308 8 bytes
Extended 3.4*10-4932 ®Õn 1.1*104932 10 bytes
Comp -9.2*1018 ®Õn 9.2*1018 8 bytes
Gi¶i thÝch: Ph¹m vi biÓu diÔn cña bèn kiÓu ®Çu ®­îc hiÓu nh­ sau: m¸y cã thÓ l­u tr÷ ®­îc mét sè kiÓu Single cã gi¸ trÞ tuyÖt ®èi trong kho¶ng tõ 1.5*10-45 ®Õn 3.4*1038. Sè cã trÞ tuyÖt ®èi <1.5*10-45 ®­îc xem b»ng 0, sè cã trÞ tuyÖt ®èi > 3.4*1038 kh«ng biÓu diÔn ®­îc. Ph¹m vi biÓu diÔn cña c¸c kiÓu cßn l¹i ®­îc hiÓu t­¬ng tù.
C¸c gi¸ trÞ thùc ®­îc biÓu diÔn theo hai c¸ch: d¹ng dÊu phÈy tÜnh vµ d¹ng dÊu phÈy ®éng.
- C¸ch viÕt sè thùc theo d¹ng dÊu phÈy tÜnh: viÕt d¹ng thËp ph©n b×nh th­êng.
VÝ dô: 2.25, 5.0, -25.56812, 0.0256
- C¸ch viÕt sè thùc theo d¹ng dÊu phÈy ®éng: sè ®­îc t¸ch thµnh hai phÇn lµ ®Þnh trÞ vµ bËc. PhÇn ®Þnh trÞ lµ mét sè nguyªn hay sè thùc viÕt d­íi d¹ng dÊu phÈy tÜnh. PhÇn bËc lµ mét sè nguyªn. Hai phÇn c¸ch nhau bëi ch÷ E hay e.
VÝ dô:
123.456E-4 : biÓu diÔn sè 0.0123456
0.12E+5 : biÓu diÔn sè 12000.0
-52.4e2 : biÓu diÔn sè –5240.0
C¸c ký tù biÓu diÔn mét sè thùc ph¶i viÕt liÒn nhau.
- C¸c phÐp to¸n ®èi víi sè thùc: + (céng), - (trõ), * (nh©n), / (chia). Kh«ng tån t¹i c¸c phÐp to¸n DIV, MOD cho kiÓu sè thùc.
Chó ý: Trong mode th«ng th­êng, Turbo Pascal chØ lµm viÖc víi kiÓu Real, khi ®ã nÕu sö dông c¸c kiÓu thùc kh¸c m¸y sÏ b¸o lçi.
VÝ dô:
Var R: Double;
Begin
R:=12.12;
Write(R);
End.
Khi biªn dÞch m¸y sÏ b¸o lçi: Error 116: Must be in 8087 Mode to compile this.
Muèn dïng c¸c kiÓu Single, Double, Extended, Comp cã thÓ chän mét trong hai c¸ch sau:
C¸ch 1: Dïng bé coprocessor lµm to¸n cã sè hiÖu 80x87 (8087, 80287, 80387)
C¸ch 2: Dïng th­ viÖn cña Turbo Pascal ®Ó xö lý c¸c sè thùc vµ bËt phÇn mÒm gi¶ lËp 80x87. Râ rµng c¸ch lµm nµy sÏ chËm vµ hiÖu qu¶ thÊp h¬n so víi c¸ch dïng coprocessor nh­ng cã ­u ®iÓm lµ ta cã thÓ dïng c¸ch nµy trªn tÊt c¶ c¸c may PC mµ phÇn lín chóng ®Òu kh«ng cã 80x87.
4. KiÓu kÝ tù (Char)
- Mét gi¸ trÞ kiÓu Char chiÕm 1 byte vµ biÓu diÔn ®­îc mét ký tù th«ng qua b¶ng m· ASCII. M· cña mét ký tù chÝnh lµ sè ký tù cña nã trong b¶ng m·. vÝ dô: m· (hay sè thø tù) cña A lµ 65. Cã tÊt c¶ 256 ký tù ®¸nh sè tõ 0(255. VËy cã 256 gi¸ trÞ kiÓu Char. Trong b¶ng m· ASCII c¸c ký tù tõ 0(31 lµ c¸c ký tù ®iÒu khiÓn kh«ng in ra ®­îc vµ dïng ®Ó ®iÒu khiÓn qu¸ tr×nh vµo ra trªn ¸cc thiÕt bÞ ngo¹i vi. VÝ dô: Khi m¸y nhËn ®­îc ký tù cã m· lµ 7 (Beep) nã sÏ ph¸t ra 1 tiÕng chu«ng.
- §Ó biÓu diÔn 1 ký tù cã thÓ dïng 1 trong 3 c¸ch: §Æt ký tù trong 2 dÊu nh¸y ®¬n, dïng hµm Chr(n), dïng #n( trong ®ã n lµ m· cña ký tù cÇn biÓu diÔn)
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Văn Phong
Dung lượng: 299,50KB| Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)