Ngôn ngữ lập trình Pascal bài giảng dành cho sinh viên Đại học, Cao đẳng là bộ tài liệu hay và rất hữu ích cho các bạn sinh viên và quý bạn đọc quan tâm. Đây là tài liệu hay trong Bộ tài liệu sưu tập gồm nhiều Bài tập THCS, THPT, luyện thi THPT Quốc gia, Giáo án, Luận văn, Khoá luận, Tiểu luận…và nhiều Giáo trình Đại học, cao đẳng của nhiều lĩnh vực: Toán, Lý, Hoá, Sinh…. Đây là nguồn tài liệu quý giá đầy đủ và rất cần thiết đối với các bạn sinh viên, học sinh, quý phụ huynh, quý đồng nghiệp và các giáo sinh tham khảo học tập. Xuất phát từ quá trình tìm tòi, trao đổi tài liệu, chúng tôi nhận thấy rằng để có được tài liệu mình cần và đủ là một điều không dễ, tốn nhiều thời gian, vì vậy, với mong muốn giúp bạn, giúp mình tôi tổng hợp và chuyển tải lên để quý vị tham khảo. Qua đây cũng gởi lời cảm ơn đến tác giả các bài viết liên quan đã tạo điều kiện cho chúng tôi có bộ sưu tập này. Trên tinh thần tôn trọng tác giả, chúng tôi vẫn giữ nguyên bản gốc. Trân trọng. ĐỊA CHỈ DANH MỤC TẠI LIỆU CẦN THAM KHẢO http:123doc.vntrangcanhan348169nguyenductrung.htm hoặc Đường dẫn: google > 123doc > Nguyễn Đức Trung > Tất cả (chọn mục Thành viên)
Trang 1TR NGă IăH CăPH MăV Nă NG
KHOA CÔNG NGH THÔNG TIN
BÀI GI NG:
NGÔN NG L P TRÌNH PASCAL
Nguy n Ánh
Tháng 12/2013
Trang 22
M c l c
L IăGI IăTHI U 4
CH NGă 1.ă CÁCă KI Nă TH Că CHUNGă V ă NGỌNă NG ă L Pă TRÌNHă PASCAL 6
1.1.ăGi iăthi u 6
1.2.ăCácăb căl pătrìnhăgi iăbƠiătoán 6
1.3.ăCácăkháiăni măăvƠăcácăthƠnhăph năc ăb n 7
1.4.ăC uătrúcăt ngăquátăc aăm tăch ngătrình: 8
CH NGă2.ăCÁCăKI UăD ăLI Uă NăGI N 10
2.1.ăT ngăquanăv ăcácăki uăd ăli uătrongăTurboăPascal 10
2.2.ăCácăki uăd ăli uăđ năgi năchu n 11
2.3.ăKi uăli tăkêăvƠăki uăđo năcon 13
2.4 CácăhƠmăvƠăth ăt căchu n 15
BÀIăT PăCH NGă2 16
CH NGă3.ăBI UăTH CăVÀăCỂUăL NHă NăGI N 18
3.1.ăBi uăth c 18
3.2.ăCơuăl nh 19
BÀIăT PăCH NGă3 23
CH NG 4.ăCỂUăL NHăCịăC UăTRỎC 27
4.1.ăL nhăghép 27
4.2.ăL nhăIFă(cơuăl nhăr ănhánh) 27
4.3.ăL nhăCASEă(cơuăl nhăl aăch n) 29
4.4.ăL nhăFORă(L păbi tătr căs ăl n) 31
4.5.ăL nhăREPEATă(l păv iăs ăl năkhôngăbi tătr c) 33
4.6.ăL nhăWHILEă(l păv iăs ăl năkhôngăbi tătr c) 35
BÀIăT PăCH NGă4 37
CH NGă5.ăKI UăD ăLI UăT PăH P,ăKI UăM NG,ăKI UăXỂU 42
5.1.ăKi uăt păh p 42
5.2.ăKi uăm ng 44
5.3.ăKi uăxơu 50
BÀIăT PăCH NGă5 54
CH NGă6.ăCH NGăTRÌNHăCON 62
6.1.ăCácăkháiăni măm ăđ u 62
6.2.ăTh ăt c 63
Trang 33
6.3.ăBi nătoƠnăc căvƠăbi năđ aăph ng 66
6.4 Hàm 69
6.5.ăCh ngătrìnhăconăl ngănhau 70
6.6.ăCh ngătrìnhăconăđ ăqui 71
6.7.ă năv ăch ngătrìnhăc aăng iădùng 73
BÀIăT PăCH NGă6 81
CH NGă7.ăKI UăB NăGHIă(RECORD) 83
7.1.ă nhăngh aăki uăvƠăkhaiăbáoăbi năki uăb năghi 83
7.2.ăCácăthaoătácătrênăki uăb năghi: 84
7.3.ăKi uăb năghiăbi năđ i 86
BÀIăT PăCH NG 7 90
CH NGă8.ăKI UăT PăTINă(FILE) 91
8.1.ă nhăngh aăki uăvƠăkhaiăbáoăbi n 91
8.2.ăM tăs ăth ăt căvƠăhƠmăchu n 92
8.3.ăT pătinăđ nhăki u 94
8.4.ăT pătinăv năb n 101
BÀIăT PăCH NG 8 108
CH NGă9 KI UăCONăTR ă(POINTER) 111
9.1.ăM ăđ u 111
9.2.ăKi uăconătr 112
9.3.ăDanhăsáchăliênăk t 119
BÀIăT PăCH NG 9 124
TÀIăLI UăTHAMăKH O 124
Trang 44
L I GI I THI U
Ngônăng ăl pătrìnhăPascalădoăNiklausăWirthăphátătri năc aăngônăng 60ă(ngônăng ăEuler)ăđ aăraăvƠoăn mă1970.ăPascalălƠăngônă ng ăđ căbi tăthíchăh pă
ăAlgol-choăki uăl pătrìnhăcóăc uătrúcăvƠălƠăngônăng ăchoăphépămôăt ăthu tătoánăr tăthu nă
ti n.ă Choă đ nă nay,ă Pascală v nă đ că dùngă đ ă gi ngă d yă v ă l pă trìnhă trongă m tă s ă
tr ngăPh ăthôngăvƠă iăh cătrênăth ăgi i
BƠiăgi ngănƠy,ăcungăc păchoăSinhăviênăchuyênăngƠnhăS ph mătinăcácăki nă
th căc ăb năv ăngônăng ăl pătrìnhăPascalăc ălýăthuy tăvƠăbƠiăt păth căhƠnh.ă Trong bƠiăgi ngă n yăchúngătôiăcóăđ aăthêmă m tăs ă bƠiăt pătinăh că11, đ ă sinhă viênă lƠmăquen d n v iăcácăd ngăbƠiă ăph thông N iădungănƠyăđ căh cătrongăph măviă3 tín
ch ,ăph căv ăchoăvi căd yăvƠăh cătheoăph ngăphápăđƠoăt oătínăch
BƠiăgi ngăbaoăg mă9ăch ngănh ăsau:
Ch ngă1.ăCácăki năth căchungăv ăngônăng ăl pătrìnhăPascal: Gi iăthi uăcácă
thƠnhăph năc ăb năc aăm tăngônăng ăl pătrình.ăC uătrúcăt ngăquátăc aăm t ch ngătrìnhăvi tăb ngăngônă ng ăl pătrìnhăPascal.ăCáchăbiênăd chăvƠăth căthiăm tăch ngătrìnhăvi tăb ngăngônăng ăl p trình Pascal
Ch ngă2.ăCácăki uăd ăli uăđ năgi n:ăCh ngăn yăgi iăthi uăt ngăquanăv ăcácăki uăd ăli uăc aăPascalăvƠăđiăsơuămôăt ăcácăki u d ăli uăđ năgi năchu n cùng cácăki uăd ăli uădoăng iădùngăđ nhăngh a.ă iăv iăm iăki uăd ăli uăgi iăthi uăcáchăkhaiăbáo,ăcáchăs ăd ng,ămi năgiáătr ăcùngăcácăphépătoánătácăđ ngălênăki uăd ăli uă
đó
Ch ngă3.ăBi uăth căvƠăcơuăl nhăđ năgi n:ăCh ngăn yăđ aăraăcácăki năth că
v ăcácăthƠnhăph năt oăthƠnhăm tăbi uăth cătrongăPascal,ăcáchătácăđ ngăc aăcácătoánă
t ălênăcácătoánăh ngătrongăm tăbi uăth c.ă ngăth iăgi iăthi uăcácălo iăcơuăl nhăđ nă
gi n,ăcáchăkhaiăbáoăvƠăs ăd ngăcácăcơuăl nhănƠyătrongăch ngătrình
Ch ngă4.ăCơuăl nhăcóăc uătrúc:ăN iădungăch ngăn yăđ aăraăcácăcơuăl nhăcóăc uătrúc.ăTrongăm iăl nhăđ aăraăcúăphápăc aăt ngăl nh.ăTi păđ năphân tích cách
s ăd ngăcácăcơuăl nhănh ăth ănƠoăchoăphùăh p
Ch ngă5.ăKi uăd ăli uăt păh p,ăki uăm ng,ăki uăxơu: N iădungăch ngăn yă
đ aăraăcácăki uăd ăli uăcóăc uătrúc Trongăm iăki uăd ăli uăđ aăcúăphápăc aăt ngă
ki u,ăcáchăđ nhăngh aăvƠăkhaiăbáoăchúng và môăt ăcácăthaoătácătrênăt ngăki uăd ăli uă
đó
Ch ngă 6.ă Ch ngă trìnhă con:ă Ch ngă nƠyă đ aă raă cáchă đ nhă ngh aă m tă
ch ng trìnhăconăd ngăth ăt c,ăch ngătrìnhăconăd ngăhƠm.ă ngăth iăh ngăd năcáchăs ăd ngăcácăch ngătrìnhăconănƠyătrongăm tăch ngătrìnhăsaoăchoăphùăh p
Ch ngă7.ăKi uăb năghi:ăN iădungăch ngănƠyăgi iăthi uăki uăd ăki uăb năghi.ăCáchăđ nhăngh aăvƠăkhaiăbáoăki uăb năghiăvƠăcácăthaoătácătrênăki uăb năghi
Trang 55
Ch ngă8.Ki uăt pătin:ăCh ngănƠyăgi iăthi uăki uăd ăli uăt pătinăcùngăcácăthao tác trên t pătinăđ nhăki uăvƠăt pătinăv năb n
Ch ngă9.ăKi uăconătr :ăCh ngănƠyăgi iăthi uăki uăconătr ălƠăm tăki uăd ă
li uăđ ngă(bi năđ ng).ăCáchăđ nhăngh aăvƠăkhaiăbáoăki u conătr ăcùng các thao tác trên nó
ăhoƠnăthƠnhăbƠiăgi ngănƠy,ăchúngătôiăxinăchơnăthƠnhăc mă năTh yăNguy năThanhă Tiênă vƠă Th yăNguy năH iăL căđƣăđóngă gópăýăki nă vƠăs aăch aăchoăhoƠnă
ch nhă bƠiă gi ng.ă Tuyă nhiên,ă doă h nă ch ă v ă th iă gian,ă c ngă nh ă trìnhă đ ă nênă bƠiă
gi ngăch căch năcònănhi uăsaiăsót.ăChúngătôiămongănh năđ căcácăýăki năđóngăgópă
c aăcácăb năđ c,ănh măhoƠnăthi năh năn aăn iădungăbƠiăgi ngănƠy
Nguy năÁnh
Trang 66
CH NG 1 CÁC KI N TH C CHUNG V NGÔN NG L P TRÌNH
PASCAL
M đ u: Gi iăthi uăcácăki năth căchungăv ăngônăng ăl pătrìnhăPascal.ăCácăthƠnhă
ph năc ăb năc aăm tăngônăng ănh :ăB ăkýăt ,ăt ,ăt ăkhóa,ătên,ătênăchu n.ăC uătrúcă
t ngăquátăc aăm tăch ngătrìnhăvi tăb ngăngônăng ăl pătrìnhăPascal Cách biên d chă
vƠăth căthiăm tăch ngătrình vi tăb ngăngônăng ăl p trình Pascal
M c tiêu: H căxongăch ngănƠyăSinhăviênă
- Hi uăđ căcácăkháiăni măc ăb năv ăngônăng ăl pătrìnhăPascal
- Bi tăcách s ăd ngăTurboăPascală7.0
- Bi tăt o,ăl uăvƠăm ăt pătinăch ngătrình
- Bi tăbiênăd chăch ngătrìnhăvƠăth căthiăch ngătrình
- Bi tăđ căcácăkýăt ăđ căs ăd ngătrongăNNLTăPascal
- Bi tăc uătrúcăc aăm tăch ngătrìnhăPascal
1.1 Gi i thi u
b ăvƠo đ uăn mă1970.ă(L yătênăPascalălƠăđ ăk ăni mănhƠătoánăh căPascală ăth ăk ăXVII)
Banăđ uănóăch ălƠăm tăngônăng ăd yăh c,ăv ăsauăvìănh ngă uăđi mămƠănhi uăhƣngăđƣăphátătri nănóăthƠnhăcácăph năm măriêngăbi tăđ ăph căv ăchoăcôngăvi căriêngă
c aămình
Turbo Pascală lƠă m tă s nă ph mă c aă hƣngă Borlandă (M )ă đ că phátă tri nă t ăPascal.ă ơyă lƠă m tă ngônă ng ă l pă trìnhă b că caoă cóă c uă trúc,ă đ că dùngă ph ă bi nătrongăn căc ngănh ătrênăth ăgi iăđ căbi tălƠătrongăl nhăv căd yăh căl pătrình
TurboăPascalăg măcácăfileăchínhăsau:
- Turbo.exe:ăLƠăfileăch ngătrìnhăso năth o,ăd chăvƠăliênăk tăv iăb ngăch n
- Turbo.tplă:ăLƠăfileăth ăvi năl uăcácăđ năv ăch ngătrìnhăchu năđ ăch yăv iăTurbo.exe
- Graph.tpu:ăLƠăfileăđ năv ăch ngătrìnhăx ălíăđ ăh a
- *.chr : Là các fileăch aăcácăfontăch ătrongăch ăđ ăd ăh a
- *.bgiăăăăăăăă:ăLƠăfileăch aăcácăfontăch ămƠnăhình
NgoƠiăraăcònăcácăfileăkhácăv iăcácăch căn ngăriêngăbi t.ă
1.2.1 Các b c l p trình t ng quát
- B că1:ăPhơnătíchăbƠiătoán;ăXácăđ nhăd ăli uăvƠo,ăd ăli uăraălƠmăc ăs ăchoă
vi căhìnhăthƠnhăgi iăthu t
Trang 77
- B că2:ăXơyăd ngăthu tătoánă:ăTrênăc ăs ăxácăđ nhăd ăli uăvƠo, ra;ăcácăgi ăthi tăc aăbƠiătoán,ăcácăm iăliênăh ăgi aăchúngăvƠănh ngăki năth căliênăquanătaăc nă
đ aăraăthu tătoánăt ngă ng
- B că3:ăT ăch căd ăli uăvƠăl păch ngătrìnhătheoăthu tătoánăđƣăđ ăra
1.2.2 Các b c l p trình và th c hi n (v i Turbo Pascal)
B c 1: Kh iăđ ngăTurboăPascală(Turbo.exe)
B c 2: So năth oăch ngătrình
B c 3: Biênăăd chă(nh năt ăh păphím ALT - F9)
- N uăthƠnhăcôngăthìăchuy năquaăb că4
- N uăkhôngăthƠnhăcôngăquayăl iăb că2
B c 4: Ch yăth ăch ngătrình (CTRL - F9)
- N uăt tăchuy năquaăb că5
- N uăch aăt tăthìăquayăv ăb că2
B c 5: GhiăvƠoăđ a,ăD chăthƠnhăfileă*.exe
B c 6: K tăthúc
(M ă fileă m iă đ ă so nă th oă ch ngă trìnhă khácă ho că thoátă kh iă Turboă Pascală b ngă
vi cănh năt ăh păphímăALTă- Xăđ ăthoát)
1.3.1 B ký t (dùng đ so n th o ch ng trình)
Baoăg măcácălo iăkýăt ăsauăđơy:
Cácăch ăcái:ăa z;ăăăA Ză(Tuyănhiênăkhiăso năth oăch ngătrình,ăTurboăPascalăkhôngăphơnăbi tăch ăhoaăhayăch ăth ng)
Cácăkýăt ăs :ă0 9
LƠăăt ădƠnhăriêngăc aăPascalăv iăch căn ngăvƠăcúăphápăđ căquyăđ nhăs n.ăVìă
v yăkhiăs ăd ngăph iătheoăđúngăquyăđ nh, vƠăkhôngăđ căs ăd ngăcácăt ăkhóaăvƠoăcácăcôngăvi căkhác
Víăd :ăBegin,ăend, if, then, const, var, function
Trang 8LƠătênămƠăTurboăPascalăđƣăđ nhăngh aăs năđ ăch ăcácăhƠm,ăh ng,ăbi n,ăth ăt că
th ăvi năc aănó
Chú ý: Turbo Pascal cho phépă ng iă s ă d ngă cóă th ă đ nhă ngh aă l iă cácă tênăchu năđ ădùngăvƠoăcácăcôngăvi căkhác
Trang 99
Type:Dùngăđ ăđ nhăngh aăcácăki uăd ăli uăc aăng iădùng
Cúăpháp:ăTênă_ki uă=ăđ nhăngh aăc ăth ăchoăt ngăki u
Var:Khaiăbáoăbi n
Cú pháp: Tên bi n:ăKi u_d ăli u;
(Ho căkhaiăbáoătr căti păkhôngăthôngăquaăki u.)
N uăcóănhi uăbi năcùngăki uăthìăs ăd ngăd uăph yă“,”ăđ ăng năcách
Proedure: nhăngh aăch ngătrìnhăconăd ngăth ăt c
Function: nhăngh aăch ngătrìnhăconăd ngăhƠm
cóăcácăph năkhaiăbáoăvƠăđ nhăngh aăphùăh p,ăcóănh ngăch ngătrìnhăcóăph năkhaiăbáo,ăđ nhăngh aănƠyămƠăkhôngăcóăkhaiăbáo,ăđ nhăngh aăkiaăho căng căl i,ăth măchíăcóănh ngăch ngătrìnhăkhôngăc năđ năm tăkhaiăbáoăhayăđ nhăngh aănƠoăc
1.4.3 Ph n thân ch ng trình:
căb tăđ uăb ngăt ăkhóaă"Begin"ăvƠăk tăthúcăb iăt ăkhóaă"End.".ăăGi aăc pă
t ăkhóaănƠyălƠăcácăcơuăl nhăc aăch ngătrình.ăN uăcóănhi uăcơuăl nhăthìăs ăd ngăd uă
“;”ăđ ăng năcáchăcácăcơuăl nh.ăPh nănƠyăb tăbu căph iăcó
Chú ý:
- TurboăPascalăc ngăs ăd ngăd uă“;”ăđ ăk tăthúcăph nă nƠyăchuy nă quaăph năkhácăc ngănh ăgi aăkhaiăbáoănƠyăquaăkhaiăbáoăkhácăc aăch ngătrình
- Khiăso năth oăch ngătrìnhăchoăphépăđ aăvƠoăcácăcơuăchúăthíchănh ngăph iă
đ căđ tătrongăc păd uămócă{ }ăho că(* *)
Trang 10- aăraăm tăs ăth ăt căvà hàm chu nătrênăki uăd ăli uăđ năgi năchu n và cáchă s ă d ngă cácă th ă t că vƠă hƠmă chu n n y đ ă vi tă m tă bi u th că s ă h că thôngă
th ngăsangăcúăphápăc aăngônăng ăPascal
M c tiêu: H căxongăch ngănƠyăSinhăviên
- Bi t đ cătênăc aăm tăs ăki uăd ăli uăchu n:ăănguyên,ăth c,ăkíăt ,ălogicăbi tă
đ căgi iăh năbi uădi năc aăm iălo iăki uăd ăli uăđó
- Bi tăcách khai báo bi năđ ădùngătrongăch ngătrìnhătr căkhiăs ăd ng
- Bi tăc uătrúcăchungăc aăkhaiăbáoăbi nătrongăngônăng ăPascal
- Bi tăs ăd ngăm tăs ăth ăt căvƠăhƠmătrênăcácăki uăd ăli u
Trong Turbo Pascal các ki uăd ăli uăđ căchiaălƠmă2ălo i:
- Cácăki uăd ăli uăđ năgi n
- Cácăki uăd ăli uăcóăc uătrúc
Trang 1111
2.2.1 Ki u logic:
- T ăkhóa:ăBoolean
- Mi nătr :ăCh ăcóă2ăgiáătr ălƠătrueăvƠăfalse
- Các phép toán:ăAND,ăOR,ăNOT,ăXOR.ă(Xemăb ngăd iăđơy)
(Quyă căFalseăbéăh năTrue.)
Cóă5ăki uăs ănguyên:
- Mi năgiá tr vƠăt ăkhóaădùngăđ ăkhaiăbáoăc aăcácăki uăđóănh ăsau:
Trang 1212
PhépăDIV:ăPhépăchiaăhaiăs ănguyênăchoănhauăchoăk tăqu ăchoăph nănguyênă
c aăth ng.ăVíăd ă12ădivă5ă=ă2
Phép MOD:ăPhépăchiaăhaiăs ă nguyênăchoă nhauăchoăk tăqu ăchoăs ă d ăc aăphépăchiaăđó.ăVíăd : 27 mod 8 = 3
- Các phép so sánh: Cóăđ yăđ ăcácăphépăsoăsánhăt ngăt ănh ăki uălogic.ăTuyănhiênă ăđơyătaăđƣăbi tăquanăh ăth ăt ătrênăt păh păcácăs ănguyên
Chú ý
(1) Trênăd ăli uăki uăs ănguyênăkhôngăt năt iăphépăchiaăth că(/)
(2).ă Thôngă th ngă cácă s ă nguyênă đ că bi uă di nă trongă h ă c ă s ă th pă phơn.ă
N uămu năbi uădi nătrongăc ăs ă16ăthìătaăthêmăd uă"$"ăphíaătr c.ăVíăd ă$Aă(t călƠă
s ă10ătrongăh ăth păphơn)
(3).ăV i ki uăs ănguyênăcònăcóăcácăphépătoánăAND,ăOR,ăNOT,ăXOR
2.2.3 Ki u s th c: Cóă5ăki uăs ăth c
- Mi năgiá tr vƠăt ăkhóaădùngăđ ăkhaiăbáoăc aăcácăki uăđóănh ăsau:
Real 2.9*10-39 1.7*1038 6 byte Single 1.5*10-47 3.4*1038 4 byte Double 5*10-324 1.7*10380 8 byte Extended 3.4*10-4932 1.1*104932 10 byte Comp -9.2*1018 9.2*1018 4 byte
N uăm tăs ă<-maxăho că>ămaxăthìăs ăkhôngăbi uădi năđ căvƠăxemănh ălƠătrƠnăs
N uăm tăs ă>-minănh ăh nă0ăho căl năh nă0ănh ăh năminăthìăđ căxemănh ălƠă0 (2).ăCh ăđ ăm căđ nhăc aă TurboPascală lƠăch ăchoăphépă lƠmă vi că v iăki uăs ă
th că REAL.ă Mu nă s ă d ngă cácă ki u khácă taă vƠoă b ngă ch nă OPTIONă -> COMPILER ->ă NUMERICă PROCESINGă r iă đánhă d uă [x]ă vƠoă m că 8087/80287.ăKhiăso năth oăch ngătrìnhătaăph iăthêmăvƠoăch ăth ăd chă{$N+}ă vƠoăđ uăch ngătrìnhăngayăsauăph nătiêuăđ
(3).ăTrongămáyătínhăs ăth căđ căbi uădi năd iăhaiăd ng:
- D uăch măt nh,ăvíăd :ă3.14,ăă123.456
Trang 13soăsánh:ăT ngăt ăs ănguyênăg m: =,ă<,ă>,ă>=ă(l năh năho căb ng),ă<=ă(nh ăh nă
ho căb ng),ă<>ă(khácănhau)
2.2.4 Ki u ký t (CHAR):
- T khóa: CHAR
- Mi n giá tr : Cácăkýăt ătrongăb ngămƣăASCIIăbaoăg m:
0 31ăăăăă:ăCácăkýăt ăđi uăkhi n
32 ă127:ăCácăkýăt ăthôngăd ng
128 255:ăCácăkýăt ăđ căbi tă(đ ăh a)
Ví d : kýăt ă'A'ăcóămƣălƠă65;ăKýăt ă'a'ăcóămƣălƠă97
quyăđ nhăkhiăbi uădi năchúngăph iăđ tătrongăc păd uănháyăđ n,ăăvíăd ăă'a',ă'abc'
- Phép so sánh:Mu năsoăsánhă2ăkýăt ătaăsoăsánhăcácămƣăASCIIăt ngă ngăc aăchúng,ăkýăt ănƠoăcóămƣăASCIIăl năh năđ căxemălƠăl năh n.ăVíăd ă'a'ă>ă'A'ăVìă97ă>ă
65
lƠăm tăt păh păđ măđ căvƠătrênăđóăt năt iăquanăh ăth ăt ăVíăd :ăKi uăByte,ăki uăInteger;ăki uăChar;ăki uăBoolean
2.3 Ki u li t kê vƠ ki u đo n con
- ten_kieuăkýăhi uăchoătênăki uădoăng iădùngăt ăđ t
- Danhăsáchăcácăgiáătr ălƠăt păh păcácăgiáătr ăđ căphơnăcáchăb iăd uăph yă","
- Khai báo bi n:
ςαρ τεν_βιεν : τεν_κιευ;
Trang 14ςαρ ηθυα, ηναψ: νγαψ;
ςιεχ: χϖιεχ;
Chú ý: C ngăcóăth ăkhai báoă bi năki uă li tăkêătr căti pă mƠăkhôngă c nă đ nhăngh aăki u.ă
Ví d : Var gioitinh: (nam, nu)
Mau: (xanh, do, tim, vang);
b Các tác đ ng lên d li u ki u li t kê:
- Cóăth ăth căhi năphép gán giáătr ăchoăbi n
tr ăđiăsau
Ví d : V iăkhaiăbáoă ătrênăthìăsună<ămon;ăxanh<ădo
c Chú ý:
(1).ăKhôngăth ănh p,ăxu tăv iăd ăli uăki uăli tăkê
(2).ăGiáătr ăki uăli tăkêăth ngăđ cădùngăđ ălƠmăch ăs ăchoăl nhăl păfor,ăcácă
tr ngăh păch năl aătrongăl nhăCase,ăho căch ăs ăchoăm ng
Hang_duoiăt călƠăkýăhi uăgiáătr ăh ngăc năd i,ăhang_trenăt călƠăgiáătr ăh ngă
c nătrênăt tă nhiênă lƠăhang_trênă hang_duoiă vƠăph iăcóăcùngăki uă vôăh ngăđ mă
Trang 15Gi ăs ăxălƠăm tăs ănƠoăđóăkhíăđóătaăcóăcácăhƠmăsauăđơy:
ROUND(x) - Choăgiáătr ălƠăs ănguyênăg năxănh tă
TRUNC(x) - Choăgiáătr ălƠăph nănguyênăc aăs ăxăăăă
INT(x) - Choăgiáătr ălƠăph nănguyênăc aăs ăxă
FRAC(x) - Choăgiáătr ălƠăph năth păphơnăc aăs ăx
ABS(x) - Choăgiáătr ălƠăgiáătr ătuy tăđ iăc aăs ăx
SIN(x) - Choăgiáătr ălƠăăsinx
COS(x) - - Choăgiáătr ălƠăcosx
EXP(x) - Choăgiáătr ălƠăex
SQR(x) - Choăgiáătr ălƠăăx2
SQRT(x) - Choăgiáătr ălƠăc năb căhaiăc aăs ăxă(x>=0)
LN(x) - Choăgiáătr ălƠălnxă(x>0)
2.4.2 Các hàm khác:
Gi ăs ăvarălƠ bi năcóăki uăvôăh ngăđ măđ c
INC(var, r) T ngăgiáătr ăc aăbi năvarălênăr
DEC(var, r) Gi măgiáătr ăc aăbi năvarăđiărăă(varăcóăki uăvôăh ngăđ mă
đ c)
PRED(var) Choăgiáătr ăđiăngayătr căvar.ăVíăd :ăpred('c')ă='b'
SUCC(var) Choăgiáătr ăđiăngayăsauăvar.ăVíăd :ăsucc('c')='d'
ORD(ch) - Choăgiáătr ălƠămƣăASCIIăc aăkýăt ăchă(chăki uăchar)
CHR(n) - Choăkýăt ăcóămƣăASCIIăb ngăs ănă(0<=n<=255)
UPCASE(ch) Choăk tăqu ălƠăăch ăchănh ngălƠăch ăinăhoaă(chălƠăch ăcái) ODD(n) - Choăk tăqu ăTRUEăn uănălƠăs ăl ,ăb ngăFALSEăn uănălƠăs ă
ch nă(nălƠăs ănguyên)
ki uăs ănguyên
Trang 1616
RANDOM(n) Choăk tăqu ălƠăm tăs ăng uănhiênăl yătrongăđo nă[0,n]ă(nălƠă
s ă nguyên;ă ă Chúă ýă đ ă s ă d ngă đ că hƠmă nƠyă thìă tr că đóă ph iă kh iă t oă th ă t căRandomize)
KEYPRESSED tr ăv ăgiáătr ătrueăn uăcóănh năphímăb tăk ,ăng căl iăchoăgiáătr ăfalseă(mu năs ăd ngăph iăkhaiăbáoăunităcrt)
2.4.3 S d ng hàm đ vi t các bi u th c b ng cú pháp c a Turbo Pascal:
1 ab = ebln(a) = exp(b*ln(a)) (a,b>0)
2 logab = logae*logeb = 1/ln(a)*ln(b)
3 (x3+ sin(x2y))2 = sqr(sqr(x)*x+sin(sqr(x)*y))
BÀI T P CH NG 2
1 N uăchălƠăm tăbi năki uăcharăthìăcácăhƠmăsauăđơyăchr(ord(ch)),ăord(chr(ch)) cho
k tăqu ăgì?ăT iăsao?
2 Tìmăcôngăth căđ ăđ iăm tăkýăt ălƠăch ăhoaăthƠnhăch ăth ng
3 DùngăcácăhƠmăvƠăcácăphépătoánăđ ăbi uădi năcácăcôngăth căsau:
a.ăCh ă'A'ăvƠăch ă'a'
b.ăCh ăă'A'ăăvƠăch ăs '1'
c.ăKýăt ătr ngăvƠăch ăă'a'
6 Trongă Pascal,ă n uă m tă bi nă ch ă nh nă giáă tr ă nguyênă trongă ph mă viă t ă 10ă đ nă25532ăthìăbi năđóăcóăth ăkhaiăbáoăb ngăcácăki uăd ăli uănƠo?
7 Bi năPăcóăth ănh năcácăgiáătr ă5;ă10;ă15;ă20;ă30;ă60;ă90ăvƠăbi năXăcóăth ănh năcác giáătr ă0,1;ă0,2;ă0,3;ă0,4;ă0,5.ăKhaiăbáoănƠoătrongăcácăkhaiăbáoăsauălƠăđúng?
a var X, P: byte; b var P, X: real;
c var P: real; d var X: real;
X: byte; P: byte;
Trang 1717
8 ătínhădi nătíchăSăc aăhìnhăvuôngăcóăc nhăAăv iăgiáătr ănguyênăn mătrong ph măviăt ă100ăđ nă200,ăcáchăkhaiăbáoăSănƠoăd iăđơyălƠăđúngăvƠăítăt năb ănh ănh t
a var S: integer; b var S: real; c var S: word;
d var S: longint; e var S: boolean;
1.ăChr(ord(ch))ăchoăkăqu ălƠăch,ăăcònăord(chr(ch))ăsaiăcúăphápăvìăhƠmăchrăcóăđ iălƠă
m tăs ăki uăbyte
2 Chr(ord(ch)+ord('a') - ord('A'))ă(trongăđóăchălƠăkýăt ăch ăhoaăc năđ i)
4 a k=250;
b.ăKhôngăxácăđ nhăvìătrƠnăs
c.ăKhôngăxácăđ nhăvìăsaiăki u
5.ăXemăb ngămƣăASCIIăvƠăcáchăsoăsánhăcácăkýăt
Trang 18- Gi iăthi uăcácă lo iăcơuă l nhăđ năgi n,ăcáchăkhaiă báo vƠăs ăd ngă cácăcơuă
l nhănƠyătrongăch ngătrình.ă ngăth iămôăt ăcáchăs ăd ngăcácăcơuăl nhănƠyăb ngăcácăvíăd ăminhăh a
M c tiêu: H căxongăch ngănƠyăSinhăviênă
- Bi tă đ că nh ngă kháiă ni mă v ă phépă toán, bi uă th că s ă h c,ă hƠmă s ă h căchu n,ăbi uăth căquanăh
- N măđ căcácăphépătoánăthôngăd ngătrongăngônăng ăl pătrình
- Bi tădùngăcácăcơuăl nhăvƠăcácăphátăbi uăcóăth ădùngătrongăthơnăc aăch ngătrình
- Bi tăcácăl nhănh păd ăli uăt ăbƠnăphím,ăl nhăxu tăd ăli uăraămƠnăhìnhămáyătính và máy in
3.1 B i u th c
3.1.1 H ng:
H ngălƠăđ iăl ngăkhôngăthayăđ iătrongăch ngătrình.ăCóăcácălo iăh ng:ăh ngă
s ,ăh ngăkýăt ,ăh ngăxơu,ăh ngălogic ăT ăkhóaăđ ăkhaiăbáoăh ngălƠăCONST
Ví d : Const max = 100; ch='A'; hoten='ng van A';
3.1 2 Bi n :
Bi nă lƠă đ iă l ng cóă th ă thayă đ iă giáă tr ă vƠoă t ngă th iă đi mă khácă nhauă c aă
ch ngătrình.ăBi nădùngăđ ăl uătr ăd ăli u,ăbi năđ căkhaiăbáoăsauăt ăkhóaăVAR.ă
Vi căkhaiăbáoăcácăbi nălƠănh măcungăc păcácăvùngănh ăđ ăl uătr ăd ăli uătrongăqúaătrìnhăth căhi năch ngătrình
Ví d :
Var a,b,c: Integer;
Ch : Char;
Ok : Boolean;
Chú ý: Khiăkhaiă báoăcóă nhi uă bi nă cùngăki uăthìătaă dùngăd uă ph yă(",")ăđ ă
ng năcách.ăH tăkhaiăbáoăki uăd ăli uănƠyăchuy năquaăkhaiăbáoăki uăd ăli uăkhácătaădùngăd uă";"ă
3.1 3 Toán t :
Là các phép toánătácăđ ngălênăd ăli uă(hayăcònăg iălƠătoánăh ng)
Ví d : Các phép +, -, *, /, and, or, not
Trang 19(2).ăN uăcóănhi uăphépătoánăcùngăc pă uătiênăthìăcácăphépătoánăđ căth căhi nă
tu năt ăt ătráiăquaăph iă(tr ăcácăphépătoánătácăđ ngălênăki uălogic)
(3).ăM tăbi uăth căchoăk tăqu ăb ngăs ăđ căg iălƠăbi uăth căs ăh c,ăchoăk tă
qu ăki uălogicăthìăđ căg iălƠăbi uăth călogic
Ví d : Tính giá tr ăc aăbi uăth căsau:
((18 mod 4 div 2 < 3) >= false) = true
((2 div 2 < 3) >= false) = true
< 3) >= false) = true
(true >= false) = true
true = true - true
3.2 Cơu l nh
3.2.1 Phân lo i câu l nh:
TrongăPascalăcóăhaiălo iăcơuăl nhăđóălƠăcơuăl nhăđ năgi năvƠăcơuăl nhăcóăc uătrúc
Trang 2020
- Cơuăl nhăđ năgi năg m:ăL nhăgán,ăl nhăxu t,ănh păd ăli u,ăl nhănh yăvƠăl iă
g i ch ngătrìnhăconăd ngăth ăt c
- Cơuăl nhăcóăc uătrúcăg m:ăL nhăghép,ăl nhăr ănhánh,ăl nhăl aăch n,ăcácăl nhă
l păvƠăl nhăWITH
3.2.2 Câu l nh đ n gi n:
a L nh gán:
Cú pháp: τεν_βιεν := βτ;
Gi iăthíchăbtălƠăkýăhi uăchoăbi uăth c
Ýăngh a:ăL nhăs ăth căhi năvi căgánăgiáătr ăc aăbtăchoăbi năten_bien
Chú ý:
(1).ăBi năten_bienăvƠăgiáătr ăc aăbtăph iăcùngăki uăd ăli u
(2).ăV ătráiăluônălƠăbi năcònăv ăph iălƠăbi uăth c,ăđ oăng căl iălƠăsaiăcúăpháp Víăd :ăa:=ă5;ăăSă:ă=ăsă+ăd*i;ăi:=i+1;
(1):ăL năl tăghiălênămƠnăhìnhăgiáătr ăc aăcácăbi uăth căăt iăv ătríăconătr
(2): T ngăt ăd ngă(a)ăch ăkhácă ăch ăsauăkhiăghiăxongăconătr ăđ căđ aăv ă
Trang 21Ch ăđ ăm căđ nhăc aăPascalălƠăghiătheoăd ngăd uăch măđ ng
Mu năghiăs ăth cătheoăd ngăd uăch măt nhătaădùngăcáchăghiăsauăđơy:
đ căghiălênăđƣăđ căquyătròn (víăd ătrên)ănh ngăgiáătr ăth căc aănóăv năđ căl uă
(1):ăChoăphépăl năl tănh păd ăli uăchoăcácăbi n
(2):ăT ngăt ăd ngă(a)ăch ăkhácă ă la khiănh păxongăconătr ăđ căđ aăv ăđ uădòngăti pătheo
(3):ăăCh ălƠmăthaoătácăt măd ngăch ngătrình,ăch ăgõăphímăEnterăđ ăti păt c
Chú ý:
(1).ăNguyênăt că nh păd ăli uă lƠătrongăcơuă l nhăcóă baoă nhiêuăbi năthìătaăph iă
nh păđ ăgiáătr ăchoăb yănhiêuăbi n.ăGi aăgiáătr ăc aăbi n nƠyăvƠăbi năkiaăđ căng năcáchăb iăítănh tălƠăm tăkýăt ătr ng;ăk tăthúcăvi cănh păb ngăcáchănh năphímăENTER
Trang 2222
(N uăch aănh păđ ăgiáătr ăchoăcácăbi năthìăch ngătrìnhăv năti păt căd ngăl iăch ăă
nh pă ti p,ă ch ngă nƠoă nh pă đ ă m iă ti pă t c,ă Víă d ă Khiă g pă l nhă READ(a,b,c);
ch ngătrìnhăt măd ngăch ănh păd ăli uăvƠăkhiăđóătaănh păch ngăh nă3ă 9 12 ) (2).ăThôngăth ngăkhiăth căhi năch ngătrìnhăđ ă nh păd ăli uătaănênăghiălênămƠnăhìnhăcơuăh ngăd năchoăng iăth căhi năch ngătrình,ăngh aălƠătr căcơuăl nhăREAD, READLNăănênăcóăm tăcơuăl nhăWRITE
Ví d : Write(' nhâp n nguyên duong : '); readln(n);
(3).ă Cơuă l nhă READLNă th ngă đ că s ă d ngă t mă d ngă ch ngă trìnhă (mƠnăhình)ă đ ă xemă k tă qu ,ă vìă v yă th ngă đ că s ă d ngă ă cu iă c aă m tă ch ngă trìnhă(tr căt ăkhóaă"END.")
(4).ăV iăd ăli uăki uălogicăkhôngăchoăphépănh păt ăbƠnăphím
Các ví d :
Ví d 1: Vi tăch ngătrìnhănh păvƠoăchi uădƠiăvƠăchi uăr ngăc aăm tăhìnhăch ă
nh tăr iăinălênămƠnăhìnhăchuăviăvƠădi nătíchăc aăhìnhăch ănh tăđó
H ng d n:
- Khaiăbáo:ăCácăbi năa,băki uăs ăth căđ ăl uăchi uădƠi,ăchi uăr ng
Bi năpăđ ăch aăchuăvi,ăbi năsăđ ăch aădi nătích
- Nh păd ăli uăchoăa,b
- Tínhăchuăviătheoăcôngăth căp:=2*(a+b);
- Tínhădi nătíchătheoăcôngăth căs:=ăa*b;
- Ghiăd ăli uălênămƠnăhìnhătheoăd ngăcóăquyăcáchă(s ăth c)
Ενδ
Ví d 2: Vi tăch ngătrìnhănh păvƠoăm tăs ănguyênăd ngăcóăbaăch ăs ăr iăinălênă
mƠnăhìnhăs ăđ oăng căc aăs ăđó
H ng d n:
- Khaiăbáo:ăBi nănăđ ăch aăd ăli uămh păvƠo
- Nh pănănguyênăd ngăcóă3ăch ăs
Trang 23- Khai báo: Bi nănăki uăs ănguyênăđ ăch aăd ăli uănh păvƠo
Bi năSăki uăs ănguyênăđ ăl uăk tăqu
- Nh păd ăli uăchoăn
Trang 2424
3.ăa.ăVi tăch ngătrìnhănh păvƠoăs ănguyênăd ngăn,ăs ăth c aăr iăinălênămƠnăhìnhăgiáătr ăc năb cănăc aăa.ă
b.ăVi tăch ngătrìnhănh păcácăs ăd ngăa,băr iăinălênămƠnăhìnhălogab
4.ăVi tăch ngătrìnhănh păvƠoă3ăc tăđi măv iăcácăh ăs ă1,2ăvƠă3.ăTínhăvƠăinălênămƠnăhìnhăđi mătrungăbìnhăc ng
5.ăVi tăch ngătrìnhănh păvƠoăs ănguyênăd ngăn,ăinălênămƠnăhìnhăt ngăsau:
S= 12 + 22 +32 + +n2
(Bi tăcôngăth căs=n*(n+1)*(2*n+1)ădivă6)
6 Hƣyăvi tăbi uăth cătoánăh căd iăđơyătrongăPascal:
7.ăHƣyăchuy năcácăbi uăth cătrongăPascalăd iăđơyăsangăbi uăth cătoánăh căt ngă
Trang 2525
Hình 3
10.ăL pătrìnhăvƠăđ aăraămƠnăhìnhăv năt căvăkhiăch măđ tăc aăm tăv tăr iăt ăđ ăcaoăh,ă
bi tăr ngă ,ătrongăđóăgă lƠăgiaăt căr iăt ădoă vƠăg = 9,8m2.ă ăcaoăhă(m)ă
đ cănh păvƠoăt ăbánăphím
H NG D N GI I BÀI T P
1 - Khaiăbáoăăbi nărăki uăs ăth căđ ănh păbánăkính,ăcácăbi năp,ăsăki uăs ăth căđ ă
ch aăchu viăvƠădi nătích
- Nh păbánăkínhăr
- TínhăchuăviăvƠădi nătíchătheoăcôngăth c
- Thôngăbáoăk tăqu ă
2a - Khaiăbáoăăbi năchăki uăcharăđ ănh păkýăt ăb tăk
- Dùng công th căăexp(1/n*ln(a))ăđ ătínhăvƠăthôngăbáoăk tăqu
3b - Khaiăbáoăăcácăbi năa,băki uăs ăth căđ ănh păd ăli u.ă
Trang 2626
4 - Khaiă báoăcácă bi năa,b,căki uăs ă th căđ ă nh pă3ăc tăđi m;ă bi nătbcă ki uăs ă
th căđ ăch aăk tăqu ă
Trang 27M c tiêu: H căxongăch ngănƠyăSinhăviênă
- Hi uăkháiăni măr ănhánh,ăbi tăđ căc uătrúcăchungăc aăc uătrúcăr ănhánh
- Bi tăs ăd ngăcácăcơuăl nhăr ănhánh choăphùăh p
- Hi uăđ căýăngh aăvƠătácăd ngăc aăc uătrúcăl p
- Bi tădùngăcácăcơuăl nhăl păvƠăcáchădùngăvòngăl pănƠoăchoăphùăh păv iăyêuă
TrongăđóăBTLGăkýăhi uăchoăbi uăth călogic
D ngă(1)ăcònăđ căg iălƠăd ngăđ yăđ ,ăD ngă(2)ăđ căg iălƠăd ngăthi u
Trang 2828
4.2.4 Chú ý:
V iăl nhăIfăd ngă(1)ăsauăCL1ă(tr căelse)ăkhôngăcóăd uă";"ăvìăn uăcóăthìămáyă
s ăhi uălƠăl nhăifăăd ngă(2)ăsauăđóăg păt khóaăelseămáyăs ăbáoăl iăvìăkhôngăcóăl nhă
- Bi nălu nănghi mătheoăaăvƠăb
- Thôngăbáoăk tăqu ălênămƠnăhìnhăchoăt ngătr ngăh p
Ιφ β<>0 τηεν Ωριτελν(∋πηυονγ τρινη ϖο νγηιεµ∋) Ελσε Ωριτελν(∋πτ ϖο δινη − νγηιεµ λα µοι ξ ∋); Ρεαδλν
T
T
Trang 29- Bi nălu nătheoăxăđ ătínhăf
- Thôngăbáoăk tăqu ălênămƠnăhìnhăs ăth căfătheoăd ngăcóăquyăcách
(1)ăTùyăthu căvƠoăgiáătr ăc aăbi uăth căbt thu căvƠoăt păh ngănƠoămƠămáyătínhă
s ăth căhi năcơuăl nhăt ngă ng.ăN uăkhôngăs ăth căhi năCLn+1ă;
1
1
x x
x
f(x) = x>0
0 x
Trang 3030
(2)ăT ngăt ăd ngă(1),ăch ăkhácă ăch ăn uăgiáătr ăc aăbi uăth căkhôngăthu că
t păh ngănƠoăc ăthìămáyăs ăkhôngăth căhi năcơuăl nhănƠoăc ătrongăthơnăl nhăCASE vƠăs ăthoát
4.3.4 Chú ý:
(1).ăGiáătr ăc aăbtăph iăcóăcùngăki uăv iăcácăph năt ăc aăt păh ngăvƠăph iălƠă
ki uăvôăh ngăđ măđ c
(2).ăT păh ngăcóăth ălƠăm tăgiáătr ,ăm tăt păh păcácăgiáătr ,ăvƠăth măchíălƠăm tă
ki uăd ăli uă(ki uăđo năcon,ăli tăkê)
(3).ăL nhăCASEăcóăth ăđ căthayăth ăb iănhi uăl nhăăIFăl ngănhauăvƠăng că
l iăl nhăIFăc ngăcóăth ăđ căthayăth ăb ngăl nhăCASEăăvíăd ăl nhăIFăd ngă(1)ăcóăth ă
Ví d 1: Vi tăch ngătrìnhănh păvƠoăm tăs ănăb tăk ătrongăđo nă[0 255] và
thông báo lên màn hình:
- Câu thông báo: ' Day la ky tu dieu khien' (n uăn < 32);
- Câu thông báo: ' la ky tu thongădung'.ă(n uă127 n 32);
ΕΝ∆;
Ρεαδλν
Trang 3131
Ενδ
Ví d 2: Vi tăch ngătrìnhănh păvƠoăthángătă(12 t 1),ăcóăth ănh păthêmăn mă
sauăđóăinălênămƠnăhìnhăs ăngƠyăc aăthángăđó
H ng d n:
- Khaiăbáoăbi nătăăki uăbyteăăđ ănh pătháng;ăbi nănăki uăs ănguyênăđ ănh pă
n m;ăbi năsnăki uăbyteăđ ăch aăs ăngƠyăc aătháng.ă
- Nh păt
- Dùngăl nhăCASEăđ ăphơnăchiaăcácătr ngăh pătheoăt:ă
* t[1,3,5,7,8,10,12] thì sn:=31;
* t[2,4,6,9,11] thì sn:=30;
*ăt=2ăthìănh păthêmăn măn,ăn uănălƠăn mănhu năthìăsn:=29,ăng căl i sn:=28;
- Thôngăbáoăk tăqu ăsnălênămƠnăhình
Trang 3232
(1)ăăCơuăl nhăCLăs ăđ căl păđúngăb ngăs ăl nămƠăbdkăđ căgánăt ngăd năl nă
l tăt ăgiáătr ăc aăăbt1ăđ năgiáătr ăc aăbt2
(2)ăăCơu_l nhăs ăđ căl păđúngă b ngăs ă l nă mƠă bdkăđ căgánăgi măd nă l nă
l tăt ăgiáătr ăc aăăbt2 đ năgiáătr ăc aăbt1
(2).ăTrongăthơnăcơuăl nhăforăkhôngăđ călƠmăthayăđ iăgiáătr ăc aăbdk vìănh ă
th ăs ăkhôngăki măsoátăđ c bi năđi uăkhi năvƠăcóăth ăd năđ nătrìnhătr ngăl păvôă
h n Khiăđóătaăs ăd ngăt ăh păphímăCtrlă+ăBreakăđ ăd ngăch ngătrình
(3).ăCóăth ăs ăd ngăl nhăBREAKăđ ăthoátăkh iăl nhăFORăc ngănh ăthoátăkh iăcácăl nhăWHILE,ăREPEAT
4.4.5 Các ví d :
Ví d 1: Vi tăch ngătrìnhăhi năth ălênămƠnăhìnhămƣăASCIIăvƠăcácăkýăt ăt ngă
ng,ăc ă20ăkýăt ătrênăm tătrangămƠnăhình
H ng d n:
- Khaiăbáoăbi năđi uăkhi năăl nhăFORălƠăăiăăăki uăbyte;
- Dùngăl nhăFORăăd ngă(1)ăv iăbi năđi uăkhi năiăch yăt ăă0ăđ nă255,ăăv iăm iăgiáătr ăc aăiătaăghiălênămƠnăhìnhăkýăt ăcóămƣăASCIIăt ngă ng;ăSauăđóăki mătraăxemă
n uăi+1ăchiaăh tăchoă20ăthìădùngăl nhăreadlnăđ ăt măd ngămƠnăhình
Trang 33Ví d 2: Vi tă ch ngă trìnhă tínhă t ng: S = 13
+23+33+ +n3 (nă nh pă t ă bƠnăphím)
H ng d n:
- Khaiăbáo:ăBi nănăki uăs ănguyênăintegerăđ ăch aăd ăli uănh păvƠo
Bi năSăki uălongintăđ ăl uăk tăqua
- Nh păn
- Kh iăgánăS:=0;
- Dùngăl nhăFORăăd ngă(1)ăv iăbi năđi uăkhi năiăch yăt ă1ăđ năn,ăăv iăm iăgiáă
tr ăc aăiătaăth căhi năl nhăc ngăd năS:=ăS+ăsqr(i)*i;
- Ghiăk tăqu ăSălênămƠnăhình
4.5.2 Ý ngh a: Th căhi năl năl tăcácăcơuăl nhăt ăCL1ăđ năCLnăsauăđóăki mătraăgiáă
tr ăc aăbi uăth călogic,ăn uăsaiăthìăl păl i,ăn uăđúngăthìăthoát.ă
4.5.3 S đ ho t đ ng:
Trang 3434
4.5.4 Chú ý:
(1).ăCácăcơuăl nhăn măgi aărepeat ăuntilăkhôngăc năph iăs ăd ngăc păt ăkhóaăbegin end;
(2).ăTrongăthơnăc aăl nhărepeatăth ngăph iăcóăcơuă l nhă lƠmăthayăđ iăgiáătr ă
c aăbi uăth călogicăn uăkhôngăd ăd năđ nătìnhătr ngăl păvôăh n
(3).ăKhiăth căhi n ch ngătrìnhăn uăb ăl păvôăh năthìănh năt ăh BREAKăđ ăd ngăch ngătrình
păphímăCTRL-(4).ăL nhărepeatăth ngăđ căs ăd ngăkhiăph iăth căhi năítănh tălƠăm tăl năcácăcơuăl nhăt ăCL1ăđ năCLnăvƠăs ăl năl păkhôngăxácăđ nhăđ cătr c.ă(Trongătr ngă
h păbi tătr căs ăl năl pătaănênădùngăl nhăfor)
4.5.5 Các ví d :
Ví d 1: S ăd ngăl nhărepeatăđ ăl căd ăli uăvƠoătheoăyêuăc u,ăch ngăh năc nă
nh pănănguyênăd ngătaăvi tănh ăsau:
Ρεπεατ
Ωριτε(∋νηαπ ν >0 : ∋);
Ρεαδλν(ν);
Υντιλ ν>0;
Ví d 2: Vi tăch ngătrìnhănh păđi mă6ămônăthiăsauăđóătínhăđi mătrungăbình,ă
v iăyêuăc uăm iăl nătínhăxongăl iăthôngăbáoălênămƠnăhìnhăcơu:ă'ăTiepătucăhayăkhongă(c/k)?',ăn uă nh pă'c'ăthìăl iăti păt c,ăn uănh pă'k'ăthìăk tăthúc
Trang 3535
Ρεπεατ
Ωριτε(∋νηαπ διεµ 6 µον τηι α,β,χ,δ,ε,φ : ∋); ρεαδλν(α,β,χ,δ,ε,φ);
Ωριτελν(∋∆ΤΒ λα:∋,(α+β+χ+δ+ε+φ)/6:4:2);
Ωριτελν(∋Τιεπ τυχ νυα κηονγ?∋); ρεαδλν(χη);
Υντιλ υπχασε(χη)=∋Κ∋;
Ενδ
Ví d 3: Vi tăch ngătrìnhă nh pă vƠoă m tăs ă nguyênăd ngă b tăk ăr iă ină lênă
mƠnăhìnhăs ăch ăs ăc aăs ăđó
Trang 3636
4.6.4 Chú ý:
(1).ăC ngăgi ngăl nhăRepeat,ătrongăthơnăc aăl nhăwhileăph iăcóăcơuăl nhălƠmăthayăđ iăgiáătr ăc aăbi uăth călogicăn uăkhôngăd ăd năđ nătìnhătr ngăl păvôăh n (2).ă Khácă v iă l nhă repeată l nhă whileă ki mă traă đi uă ki nă c aă bi uă th că logică
tr c,ănênăcóăth ăcơuăl nhătrongăthơnăc aănóăkhôngăđ căth căhi năm tăl nănƠoăc ăkhiămƠăngayăt ăđ uăbi uăth călogicănh năgiáătr ăsai.ă
4.6.5 Các ví d :
Ví d 1: S ăd ngăl nhăwhile,ăvi tăch ngătrìnhănh păvƠoăm tăs ănguyênăd ngă
b tăk ăr iăinălênămƠnăhìnhăs ăch ăs ăc aăs ăđó
Ví d 2: Vi tă ch ngă trìnhă nh pă vƠoă haiă s ă nguyênă d ngă r iă tìmă că s ă
chungăl nănh tăc aăchúng
Trang 37BÀI T P CH NG 4
4.1 L nh If vƠ Case:
1 Vi tăch ngătrìnhănh păvƠoă3ăs ănguyên,ăinăraămƠnăhìnhăs ăl nănh t
2 Vi tăch ngătrìnhăgi iăph ngătrìnhăb căhai
3 Vi tăch ngătrìnhănh pă3ăs ,ăchoăbi tăchúngăcóăth ălƠăđ ădƠiă3ăc nhăc aăm tătamăgiác hay không?
4 Vi tăch ngătrìnhănh păvƠoăs ăKWăđi nătiêuăth ăc aăm tăh ăgiaăđình,ăinăraămƠnăhìnhăs ăti năt ngă ng,ăbi tăr ngăgiáăthƠnhăđ cătínhănh ăsau:
- T ăKWăth ăă1ăđ năth ă100ăgiáă0.5ănghìnăđ ng
- T ăKWăth ăă101ăđ năth ă200ăgiáă0.8ănghìnăđ ng
- T ăKWăth ăă201ătr ălênăgiáă1.5ănghìnăđ ng
5 o năch ng trìnhăsauăđơyăđúngăcúăphápăhayăkhông?ăN uăđúngăchoăbi tăýăngh aă
1 Vi tăch ngătrìnhătínhăăcácăt ngăsau:
Trang 38(S ăhoƠnăh oălƠăs ăb ngăt ngăt tăc ăcácă căc aănóă(tr ăs ăđó)ăch ngăh nă6,ă28, )
5 Vi tăch ngătrìnhăki mătraăxemăm tăs ănguyênănănƠoăđóăcóăph iălƠăs ănguyênăt ăhay không?
6 Vi tăch ngătrìnhătìmăt tăc ăcácăs ănguyênăt ăn mătrongăđo nă[1,n]ă(nănh păt ăbƠnăphím)
7 Tìmăs ăc aădƣyăFIBONACCIăl nănh tăth aămƣnăbéăh nă2000.ă(Dãy Fibonacci là dãy a1=1, a2=1, an=an-1+an-2 (n>=3))
8 M tăng iăcóăs ăti nătăđemăg iăngơnăhƠngăv iălƣiăsu tăk/thángă(bi tăr ngălƣiăc aăthángătr căđ cănh păvƠoăti năg căđ ătínhălƣiăchoăthángăti pătheo).ăH iăđ ăcóăđ că
s ăti nămaxă(max>t)ăthìăng iăđóăph iăg iăti tăki măbaoănhiêuătháng?ă(t,ăk,ămaxăđ uă
nh păt ăbƠnăphím)
9 Vi tăch ngătrìnhătìmăcácăs ăa, b, căth aămƣn:
10 Vi tăch ngătrìnhăphơnătíchăm tăs ănguyênăthƠnhătíchăc aăcácăs ănguyênăt
11 Vi tăch ngătrìnhăgi i bài toán:
"ăăV aăgƠăv aăchó,
Trang 3915.ăM tăng iăg iăti tăki măkhôngăkìăh năv iăs ăti năAăđ ngăv iălƣiăsu tă0,3%ăm iătháng H iăsauăbaoănhiêuătháng,ăng iăđóărútăh tăs ăti năthìăs ănh năđ căs ăti năítă
nh tă lƠăBăđ ng?ăBi tăr ngă v iă vi căg iăti tăki măkhôngăkìăh năthìălƣiăkhôngăđ că
c ngăvƠoăv n
H NG D N GI I BÀI T P
1 - Nh păvƠoă3ăs ăa,b,c
- Kh iăgánămax:=a;
- Soăsánhămaxăv iăb,căn uămaxăbéăh năthìăgánăl iămax
2 - Nh păcácăh ăs ăa,b,c
- Tính dt:=b*b - 4*a*c;
- S ăd ngăl nhăIfăăbi nălu nănghi mătheoădtăvƠăthôngăbáoăk tăqu
3 - Nh p cácăh ăs ăa,b,c
- S ăd ngă l nhă Ifă bi nă lu n:ăN uăđ ngăth iăx yăraăa+b>c,ă b+c>a,ăc+a>băthìăthôngăbáoăa,b,căđúngălƠăđ ădƠiă3ăc nhăc aăm tătamăgiácănƠoăđó.ăNg căl iăthìăkhôngă
ph i
4 - Nh păvƠoăs ăKWăđi nătiêuăth
- Dùngăl nhăIfăho căcaseăđ ăbi nălu năvƠătínhăti nătheoăgíaăthƠnh
- Thôngăbáoăk tăqu
5 - o năch ngătrìnhătrênăhoƠnătoƠnăđúngăcúăpháp;
- Ýă ngh aă c aă nóă lƠă choă phépă nh pă vƠoă haiă s ă nguyênă a,b.ă N uă aă <bă thìă s ăthôngăbáoălênămƠnăhìnhăb tăd ngăth căđó,ăng căl iăthôngăbáoăb tăđ ngăth căbă<=ăa
8 - Nh păvƠoăm tăs ănguyênăd ng
- Dùngăl nhăRepeatăho căWhileăđ ăl păl iăcôngăvi căsauăđơyăchoăđ năkhiăn=0ăthìăd ng:
+ăGhiălênămƠnăhìnhăch ăs ăcu iăcùngăc aănă(nămodă10)ăb ngăl nhăwrite; +ăLo iăb ăch ăs ăcu iăcùngăb ngăcáchăgánăl iăn:=ănădivă10
9 - Nh păs ăm,ănănguyênăd ngă(m<n);
Trang 4040
- Dùngăl nhăforăl năl tăduy tăt tăc ăcácăs ăt ămăđ năn,ăn uăđúngălƠăs ăhoƠnă
h oăthìăthôngăbáo,ăn uăkhôngăthìăb ăqua
10 - Nh păs ăn
- Kh iăgánăi:=2;
- S ăd ngăl nhăWhileăl păl i:ăCh ngănƠoăi<=round(sqrt(n))ăvƠăn mod i <>0 thì
t ngăiălênă1;ăSauăđóăki mătraăn uăđ ngăth iăi<>1ăvƠăiă>ăround(sqrt(n))iănăăthìănălƠăs ănguyênăt ;ăNg căl iănăkhôngăph iălƠăs ănguyênăt
11 - Nh păs ăănănguyênăd ng;
- Dùngăl nhăforăl năl tăduy tăt tăc ăcácăs ăt ă1ăđ năn,ăn uăđúngălƠăs nguyên
t ăthìăthôngăbáoăn uăkhôngăthìăb ăqua
12 - Kh iăgánăa:=1,ăb:=1;
- Dùngăl nhăRepeatăl păl i:
c:=a+b;
a:=b; b:=c;
Choăđ năkhiăăăc>ă2000ăthìăd ngăl i
- Thôngăbáoăk tăqu ălƠăa
- Thôngăbáoăk tăqu ălƠăst
14 - G iăs ăc nătìmăcóăcácăch ăs ălƠăa,b,c
- S ăd ngă3ăl nhăforăl ngănhauăđ ăth ăh tăt tăc ăcácăkh ăn ngăc aăa,b,căt ă1ă
đ nă9,ăn uăth a mƣnă100*a+10*b+c=11*(a+b+c)ăthìăthôngăbáoăk tăqu