BỘ CÔNG THƯƠNG
TRƯỜNG CAO ĐẲNG CÔNG NGHIỆP TUY HÒA
KHOA CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG
HỌC PHẦN: TIN HỌC ĐẠI CƯƠNG
(Dành cho sinh viên bậc cao đẳng)
TUY HÒA, NĂM 2010
CHƯƠNG 1: TỔNG QUAN VỀ MÁY TÍNH
o0o
1.1 Thông tin (Information).
1.1.1. Khái niệm.
!"
#$%&%'()$*!)#+
+,(-./01-2- 34
-&
5$,%.'6!.78$79%
#!(794%(%6$8&%,
$4.%!-':#;+<=
%,/ >+6?!@4/A@
; 4&&
1.1.2. Đơn vị đo thông tin.
BCD)!-+,(0',%&C
,( 4*',%!&
BE>!F%'(G&CG>0!"HFI%
(!)#+8#4@A+J'(
KLMNNOPQLMORLOPSLT'O&
UG73VC8WX8'(V
YKLMNNO#8+.%K'(Q&
YCQLMO#8+.%K'(&
BSF ;Z73#:'([!($$79&U?#4@Z
73[!('(/HFHJ6F ;$
'(>!F0%\A&
B]'(6!K*]7&Z73
>!F%'">V
Tên gọi Ký hiệu Giá trị
] ] ^
_'] _] X
[
]`[Xa]
C] C] X
X[
]
b] b] X
c[
]
] ] X
a[
]
1.1.3. Mã hóa và xử lý thông tin.
a. Mã hóa thông tin
X
Cd%'(.?1%<78$79%
78#."AF&e?1,'8*%
,'( 2 4d&
UG73V- .4':J>!/&f.4':g/?4A
, /Fh&f/#WFH(
./.&!&!&&?!+.4':Q/A( 08 (#%'8<,
#4@h&fD!/dij$?'+
!!/>0&f!-.?dijDJ>!/'(
dk.?7)/dij$F%!!/'(4d&
G+Zd%7"78F ;7)!(
4dlS5iiLlS7757NiNiOQ^G&
d,Xmn#:)d<[Xmm!(,(XV
BfV5d<[Xo7h$d#:)#:+>QVp
lq[rstuv`Y&&!(#:)#$&
BfXV5d<X^Xmm7h$d#:)J!(#:)
I+*D"&
b. Xử lý thông tin (Data Processing).
BE$ 0%!+((J'w!)/0
#74A>8=5'% 4- !(Z':('8
%<J8Z':J.?V
Y- %VxA%<)!-+,%..
!(F#4@-&
YCdV]$79%g6!6%6;
?!y8+&&&
YVbQ<(#<$($#&C%
'(#/'/'8&
Y6Vb/'/!-#:&
YzZ':V'/d&
YzAVE%77"78($
-,&
B9&U?!-Z':'('(49*&5A
',,@0/ >7+VS))G)
-!()#F &
1.2. Tin học và công nghệ thông tin.
Các thuật ngữ:
iN'
iN
iN.
c
5 '
Tin học là ngành khoa học nghiên cứu các phương pháp và quá trình xử lý thông
tin một cách tự động dựa trên các phương tiện kỹ thuật mà hiện nay phương tiện đó là
MTĐT&
5()"!9% 2 #G(8
G&j!-!+ , 6%3Z':%)#A8!9
%{ %*!"!(6!"
( $&
_+5%+%7*(,6'w
!)64**#!(%+Z':%7)/
G&_%+A8G.?G1
0!( > Z':%""4 {&EFw5%+%
d,/U+f/0#4<Fw*
//"!(d,!(fF.arP5|*5G *! $
5%+%*U+<rrnV
"Công nghệ Thông tin là tập hợp các phương pháp khoa học, các phương tiện và
công cụ kỹ thuật hiện đại -chủ yếu là kỹ thuật máy tính và viễn thông -nhằm tổ chức và
khai thác và sử dụng có hiệu quả nguồn tài nguyên thông tin rất phong phú và tiềm tàng
trong mọi lĩnh vực hoạt động của con người và xã hội Công nghệ thông tin được phát
triển trên nền tảng phát triển của các công nghệ Tin học -Điện tử -Viễn thông và Tự
động hoá".
5%+%:wd>!<'(#!<'(
%+!<'(#}-h4!9%!()&
1.3. Lịch sử ra đời và khuynh hướng phát triển kỹ thuật máy tính.
• Thế hệ thứ nhất (1945 đến 1955) máy tính dùng đèn điện tử: @a[
!(6@m[ 0G, $7)/0
7)(d;7) 0D'8!(A8!()/0&
8(*,;7)7)/W+ZG
+Z/'(~fil5L~'f'il75''O7
•C'!(•&| ~##&fJ^&[[[W+Z&m[[>B'
Ic[A/3%A'(a[_€,'- ?gIn&[[[
•&
• Thế hệ thứ hai (1955 đến 1965) máy tính dùng Transitor: ,
8 kG+]''@ra^&5G7hW+Z#‚
(dQ/'DG&CG;7)7)/
/d\>&5G/'(zB[&
• Thế hệ thứ ba (1965 đến 1980) máy tính dùng Mạch tích hợp (IC): 5%
+!+Z $d88G, 2 I(3!(
!\L O'((4A$8G\
>>!((8>&
a
• Thế hệ thứ tư (từ 1980) máy tính dùng mạch tích hợp mức cao (VLSI):
f6@^[%+!+Zd8!8+Z0G,
ALUxSiUxS'iO $G, (+
7G((\>8>#4@G
'">!((ƒ>&f@r^[G;|5L|'5 O
&
1.4. Tổng quan về máy tính và các thiết bị ngoại vi.
]A#‚G+Z(„Jc( GV
• E>!FZ':;&
• ]"&
• 5F8!&
Cấu trúc chung của một máy tính điện tử
1.4.1. Đơn vị xử lý trung tâm (Central Proccessing Unit-CPU)
5|…,'(d*G'(F#$8*
G$#$!+)F#$!+G'6/*
>?,'(c'8GV
Y_#$L5'…B5…OVF+#$(8
*+%.HF>?&
Y_G!('Llx…Blx…OV5F+
)+ 2 GL5<;&&O 2 xLlfjM†
zM†fMO!( 2 G.+L>\>g&&O&
Y5L†OV#g8+Z'(+!3"
"8'6d'+#.4G/*#
m
]"
]!(x ]#$
F
F!( ]"(
Các thiết bị ngoại vi
Khối trung tâm
#$&50@/73R @1%
G&
1.4.2. Bộ nhớ chính (Memory)
]"'(F'(+!3'68I';7(%%'
6JV76'+<(!(HF>?#.4Z':&
]"'('8V
Y]"V5'(X'8
• RAM (Random Access Memory):x("- ‡/"(H
'68%.?Z':&_KA+I#Q'8
?%/†lCyA&j',*†lC('"?A
G(&
• ROM (Read Only Memory)Vx("H7H%ˆ
,Q(4A%/†MCy#%A#A+IK
&
Y]"(Vx(F'6%!"7','"%#%A
##%+&5$7$"('- !"Gw0
ww.…S]&&
1.4.3. Các thiết bị ngoại vi
F8!'(FR G !"%/(#$4!"
Z73&
BF- Li OVx(F 2 %76'+,- !(
G( G.2&&
BFALM OVx(F 2 %76'+$,A<
G(%.(?'&&
1.5. Phần mềm, phần cứng.
• Phần cứng (hardware)'((F!-':*CE&f;
Z':@#4@'6@-4@',Z73@#4@
2 &&&'(63/(#}- 0""&
• Phần mềm (software)/0 > Z73%3Z':%)
?Z':%&|J>?0
@#$# 0!($)+/Z':%&|
„J > 1076'+>0!">?Z':
%&? > Z':%+.41076'+!('-
?$+ > Z':'(!A* &
n
Chương 2: HỆ ĐẾM, BIỂU DIỄN THÔNG TIN
o0o
2.1 Hệ đếm, các phép tính cơ bản
2.1.1. Khái niệm hệ đếm
‰+'(- , #:+L46O$979!(FF*
$79&
B‰+- ;'(+>[6>4'([Xcamno^r&
B‰+F ;'(+>X6>4'([&CD6F ;'(
]iL]7O&U?+F ;H/HF'([!(/#
794'">I#:) 08 ?#, ]i!"&
Ví dụV[[$79m&
B‰+ ;'(+>^Vf7hcG$$79^F#V[[[[[
[[[[[[[&5F(>0!"^F+- ;'(V[
Xcamno&- , 6('(+ ;&
B‰+- '3 ;'(+>n6>4'([Xcamno^rl
]5j~T>0!"[Xcamno^r[Xcam
+- ;&
2.1.2. Các phép tính trong hệ nhị phân.
• Cộng: Thực hiện cộng từ phải sang trái (giống như trong hệ thập phân) có nhớ
theo quy tắc.
[Y[`[ _%"
[Y` _%"
Y[` _%"
Y`[ f"
Ví dụ:[Y[[[`[[
• Trừ: Thực hiện trừ từ phải sang trái (giống như trong hệ thập phân) có nợ theo
quy tắc.
[B[`[
[B` f,
B[`
B`[
Ví dụ:[Š[[`
• Nhân: Thực hiện nhân từ phải sang trái giống như trong hệ thập phân theo quy
tắc.
[‹[`[
[‹`[
‹[`[
o
‹`
Ví dụ:
[
‹
[
Y[
[[
• Chia:Thực hiện phép chia giống như trong hệ thập phân.
Ví dụV[V[`
2.2. Chuyển đổi số giữa các hệ đếm.
- Nguyên tắc 1VĐổi một số thập phân sang hệ cơ số b
• Đổi phần nguyên từ một số thập phân sang hệ cơ số b:
E$$1 /*- ;
+>LŒ[O'(VxA /
- ;># >*
2 g#%1,G'( 7*
2 !0),'8V
Ví du:5z`n
[
w'(z`n+- ;y,
1([
X
+F ;&
• Đổi phần thập phân của một số thập phân sang hệ cơ
số b:
E$1 - ;*+- ;+>'(VxA
- ;;!"># ;- ;*Gg[&_.4
$1,'( / 2 ;!0)G&
Ví dụ:
- Nguyên tắc 2: Đổi một số từ hệ cơ số b về hệ thập phân
E$$1<+>!+- ;Z73%0L•O
U"'(>[X&&'(6>4
^
6 2
0
3 2
11 2
1 0
0.6875 * 2 = .375
0.375 * 2 = .75
0.75 * 2 = .5
0.5 * 2 = .0
1
0
1
1
X
b
=a
n
a
n-1
…a
1
a
0
= a
n
b
n
+a
n-1
b
n-1
+….+a
1
b
1
+a
0
b
0
(*)
z'(Q+>&
Ví dụ:U"z`[
X
`•X
X
Y•X
Y[`n&
]4$16+F ;- '3 ;!(- ;V
- ; fF|; - '3 ;
[ [[[[ [
[[[
X [[[ X
c [[ c
a [[[ a
m [[ m
n [[ n
o [ o
^ [[[ ^
r [[ r
[ [[ l
[ ]
X [[ 5
c [ j
a [ ~
m T
- Nguyên tắc 3: Đổi một số từ hệ nhị phân sang hệ thập lục phân.
E$1<+F ;+- '3 ;'(Vf'',a
< 4aG(gF>0+
- '3 ;&
Ví dụ:
z`Ž[
X
`c]
n
- Nguyên tắc 4: Đổi một số từ hệ thập lục phân sang hệ nhị phân.
E$1<+- '3 ;+F ;'(VCD6
+- '3 ;y,$797"78a&
Ví dụ:
z`c]
n
`[
X
BÀI TẬP CHƯƠNG 2
Bài 1:‰d$1<+- ;+F ; ;!(-
'3 ;&
&c[ &X[m &no 7&nX &om&om
r
Bài 2:‰d1<+F ;+- ;!( ;
&[[[[[ &[[[[[ &[[[
Bài 3:‰d1 ;+F ;
&Xcm &[X &nn[
Bài 4: ‰d1- '3 ;+F ;
&lTj^ &ma]5j &lr[X
Bài 5:‰d)+ 2 GV
&Y[ &[[B[ &[‹ 7&V[
[
Chương 3: NGÔN NGỮ LẬP TRÌNH PASCAL
o0o
3.1. Giới thiệu về Pascal
3.1.1. Lịch sử ra đời.
|''(%6'- ?-7f#'€+
E8#}-qL3SwOA@ro[&•'A/|'$#•+(
!((| 1]'|'&
3.1.2. Phần mềm soạn thảo và chạy chương trình.
a. Các tập tin cần thiết khi lập trình với Turbo Pascal.
E$'- ?,!"|'$XN'V
• TURBO.EXEVjh$84!(7F>?&
• TURBO.TPLV!+0>!F{$8!"…†]M&~z~&
f('- ?J8? 4/- V
• GRAPH.TPUV!+J8&
• *.BGIV5N'#$'8(?>0#7hJ8&
• *.CHRV5N'0N6J&
b. Các bước cơ bản khi lập một chương trình Pascal.
Bước 1VS84>?&
Bước 2VjF>?LA GF9O'D? 4Z'D&
Bước 3V58>?LA GCtrl-F9O&
3.1.3. Một số phím chức năng thường dùng
• F2V x>?84!(w&
• F3V CQN'"IN'dJ8/w$84&
• Alt-F3V EN'84&
• Alt-F5V z#.48>?&
• F8V 58<;'+>?&
• Alt-XV #\|'&
• Alt-<Số thứ tự của file đang mở>: jF$.'86N'Q&
• F10: U(+C*|'.
3.2. Thuật toán
3.2.1. Khái niệm
-4-'(+Iy!(‘.Kg
F7d/6,68")
+?#.4&
<-(Algorithm)A </(’'(Abu
Abd - Allah ibn Musa al’Khwarizmi, '('Ž_•p&•'(4
!%d7h > %4A‘(8'8
46(&S( > %44*%d,'(
{)!(,(#;&<'7)
/;/*%&
3.2.2. Các đặc trưng của giải thuật.
•GF
b4-J"‘&h#+?#.4*D
"'(F&
•G687<
b4-68"?#.4&
•GRK&
S#)+"*4- 4,#.4#.4
,FFw"&
•G1.L''OV -G1.'(- 4 73
,, *(0#% 4H 73,
, /'ƒ(&5“84 >?-;gj'4
4,GA(!?'%4,!"F)A#‚&
/#% 4-(„44,G1.&)'R
H;7)-78I*((%&
•G8',!(!(
]K4-'(!+-76'+!(Li OŠ#R4-'(
#.4L76'+M O&
•G+.4&
G+.4*4-,7)//{V
Bj',
BS', 2 G)+&
B$8&
Bj9$!(79(I&
Ví dụ: Thuật toán giải phương trình bậc hai ax
2
+bx+c=0 (a?0)
1.”/F*c+
2.f`[?
X&&”/!(#%44&
X&X&_R-&
3., #[?
c&&GFj`
X
Ba
c&X&fj•[?
c&X&&|>?+ ;+
!(
X
c&X&X&bF*+,G%0V
X
a
b
x
X
∆+−
=
a
b
x
X
X
∆−−
=
c&X&c&_R-&
c&c&fj`[?
c&c&&|>?+#2
[
c&c&X&bF*+#2 '(
a
b
x
X
−=
c&c&c&_R-
c&a&fj–[?
c&a&&|>?!%+&
c&a&X&_R-&
3.2.3. Biểu diễn thuật toán.
SZ73#+
—
#>4$8(%4G
—
0
L(>(>!"!+%4")+-O&
Khối 1:_K-H7A&
Khối 2:_#R-$!(&
Khối 3:)+;'+L$'(I;'+O˜J!(!(
&
Khối 4:†y#$$0#+L$0]'O$0R
-yERLO$0-yS
LT'O&
Khối 5:5;'+- !(A76'+&
c
f- zA
]K
_R
5;'+
E#+
X
c
a
m
ER
S
3.3.Các khái niệm cơ bản (Từ khóa, tên chuẩn, Hằng số, biến…)
3.3.1. Tên (định danh)
EF7'(7d#:)7h$I/g#$/>
?&&&_I/ 4R:$V
• _%,Ih/!"<#
• _:)/*/#%,KQ#:)I+I6&
• _%,I/!"#:) 2 &
UG73V5/!'(
z”q S!?Kg6&
™xMfb S!?Kg#:)I+&
TM† S!?h!"<#&
_”… S!?#4KL O&
xl|B†if‰ S!?7A<LBO'( 2 &
3.3.2. Từ khóa
<#'(<(|'7(/$ 3!33G*&L5“
8VBEGIN, END, IF, WHILE, O
Chú ýVVới Turbo Pascal 7.0 trở lên, các từ khoá trong chương trình sẽ được hiển
thị khác màu với các từ khác&
3.3.3. Hằng
B‰g'(8',F#%1>?&
B5#gV
CONST <Tên hằng> = <Giá trị>;
IV
CONST <Tên hằng>: = <Biểu thức hằng>;
UG73V
5MfS C`[[˜
f`šU‰š˜
5`TlxS~˜
x`MjjLmO˜ sx`†…~t
Chú ýVChỉ các hàm chuẩn dưới đây mới được cho phép sử dụng trong một biểu thức
hằngV
ABS CHR HI LO LENGTH ODD
ORD PTR ROUND PRED SUCC SIZEOF
SWAP TRUNC
3.3.4. Biến
a
B]'(8',(F*$1.?)+>
?&
B_V
VAR <Tên biến>[,<Tên biến 2>, ] : <Kiểu dữ liệu>;
UG73V
Ul† V†'˜s_#$'(†'t
Vi˜s_#$t
Chú ýVTa có thể vừa khai báo biến, vừa gán giá trị khởi đầu cho biến bằng cách sử dụng
cú pháp như sauV
CONST <Tên biến>: <Kiểu> = <Giá trị>;
UG73V
5MfS V`m˜
Với khai báo biến x như trên, trong chương trình giá trị của biến x có thể thay đổi.
(Điều này không đúng nếu chúng ta khai báo x là hằng).
3.3.5. Dấu chấm phẩy (;)
jAA {,7h$@6;'+&_%/$7A
A {'(7A#R;'+&
UG73V
FOR i:=1 TO 10 DO Write(i);
;'+/'+€LO,)+['&f$7AA {
'(#R;'+?'+€LOH)+'&
3.3.6. Lời giải thích
5'('-'RG$!(A#‚D(>?
$7$$(#%'(4Q #>
?&x4G,I67A8s!(tI637AL•!(•O&
UG73V
UV†'˜{Khai báo biến}
j'V`•Ša••˜(*Tính delta để giải phương trình bậc 2*)
3.3.7. Kiểu
Bf(#$76'+7|'A $Fw#$76'+
"7)/#$76'+d&
B5R V
TYPE<Tên kiểu> = <Mô tả kiểu>;
VAR <Tên biến>:<Tên kiểu>;
UG73V
”|~ S`†'˜
Ul† VS˜
3.3.8. Biểu thức
m
]$0L O'(%0G(J 2
g(!(7AI>&
UG73V LYLOOPLmBX•O $0
LYaO•X`L^YO $0'
$00)/* 2 ,'+#/0)V
• x(&
• jAILO
• |2 %LfMBO&
• |2 •PjiUCMjlfj&
• |2 YBM†zM†
• |2 `–•–`•`–•if
3.3.9. Câu lệnh
a. Câu lệnh đơn giản
B5;'+LV`OV
–/•:=–]$0•˜
B5'+A- 76'+VREAD/READLN, WRITE/WRITELN.
Bx(*3&
b. Câu lệnh có cấu trúc
B5;'+2 VBEGIN END;
B5AR#$VIF , CASE , FOR , REPEAT , WHILE
c. Các lệnh xuất nhập dữ liệu
• Lệnh xuất dữ liệu
E$A76'+(?Z7378V
(1) WRITE(x1, x2,…,xn);
S#AF*(??\#%7k&
(2) WRITELN(x1, x2,…,xn);
S#AF*(??\7k
(3) WRITELN;
zA(?7k&
5$'(g$0&f;'+?
4, ;Q7A {&
_Z73'+€†i~P€†i~xf!Vkhông qui cách!(có
qui cáchV
BViết không qui cáchV76'+Ay,'Q G/&f76'+'(
)?y,7"78$79#&
UG73V
€†i~xfLO˜€†i~LLc•OO˜
n
BViết có qui cáchV76'+Ay,'Q G/ 4&
UG73V
€†i~xfLVmO˜€†i~LLc•OVmVXO˜
Câu lệnh Kết quả trên màn hình
€'Lš‰''šO˜
€'Lš‰''šV[O˜
€'Lm[[O˜
€'Lm[[VmO˜
€'LXc&amoO
€'LXc&amV^VXO
‰''
‰''
m[[
m[[
&Xcamo[[[[[~Y[X
Xc&an
• Lệnh nhập dữ liệu
E$- 76'+<( G!(#$76'+{L<#$
]MMx~lfOZ73R ;V
READLN(<biến 1> [,<biến 2>, ,<biến n>]);
Chú ýVKhi gặp câu lệnh READLN;(không có tham số), chương trình sẽ dừng lại chờ
người sử dụng nhấn phím ENTER mới chạy tiếp.
d. Các hàm và thủ tục thường dùng trong nhập xuất dữ liệu
• ‰(KEYPRESSEDV‰(4!F†…~ GA#‚,
A#%(F'(TlxS~&
• ‰(READKEYV‰(0@#:)<+( G&
• *3GOTOXY(X,Y:Integer)Vj$\z7k”&
• *3CLRSCRVz(?!(\!//(?&
• *3CLREOLVz#:)<!FG\7k&
• *3DELLINEVz7k8!FG\!(7J7kQ G7"'/&
• *3 TEXTCOLOR(color:Byte)V'- (#:)&'
∈u[mv&
*3TEXTBACKGROUND(color:Byte)V'- ((?&
3.4. Cấu trúc tổng quát một chương trình.
sPhần tiêu đề t
PROGRAM/›>›?˜
sPhần khai báot
USES&&&&&&˜
CONST&&&&&˜
TYPE&&&&&&&˜
VAR&&&&&&&&˜
PROCEDURE&&&&&&&&&&&&˜
FUNCTION&&&&&&&&&&&&&&˜
o
&&&&&&&&&&&&&&&
sPhần thân chương trìnht
BEGIN
&&&&&&&&&&&
END.
UG73V5>?|'>4A
]~bif
€Lœ‰''€'7•ŽO˜
~fj&
UG73XV
|U7X˜
5|i`c&a˜
U†SV†'˜
]
†V`[˜ s]#Gkt
SV`†•†•|i˜ sj+G?kt
€'Lœj`œSV[VXO˜si(?t
†7'˜
~7&
3.5. Các kiểu dữ liệu chuẩn.
3.5.1. Kiểu logic
B<#VBOOLEAN
BCFV(TRUE, FALSE)&
B5 2 V 2 L`–•O!( 2 'VlfjM†zM†
fM&
|'#F';.KVTlxS~–†…~&
b4Zl!(]'(F#$]'&_.4* 2 ,$+
.47";V
A B A AND B A OR B A XOR B NOT A
†…~ †…~ †…~ †…~ TlxS~ TlxS~
†…~ TlxS~ TlxS~ †…~ †…~ TlxS~
TlxS~ †…~ TlxS~ †…~ †…~ †…~
TlxS~ TlxS~ TlxS~ TlxS~ TlxS~ †…~
3.5.2. Kiểu số nguyên.
1. Các kiểu số nguyên
^
Tên kiểu Phạm vi Dung lượng
S
BX^→Xo
]
[→Xmm
i
BcXon^→cXono
X
€7
[→nmmcm
X
xi
BXaoa^cna^→Xaoa^cnao
a
2. Các phép toán trên kiểu số nguyên
a. Các phép toán số học:
+, -, *, / L 2 #.4'()O&
|2 'A /VDIVLUG73VcajiUm`nO&
|2 'A7VMODLUG73VcaCMjm`aO&
b. Các phép toán xử lý bit:
/#$Sii]€7 2 V
BfMlfjM†zM†&
A B A AND B A OR B A XOR B NOT A
[ [
[ [ [
[ [
[ [ [ [ [
BS‰xL 2 7FOVS‰x⇔×X
BS‰†L 2 7F 4OVS‰†⇔jiUX
3.5.3. Kiểu số thực
1. Các kiểu số thực:
Tên kiểu Phạm vi Dung lượng
S'
&m×[
Bam
→c&a×[
Yc^
a
†'
X&r×[
Bcr
→&o×[
Yc^
n
j'
m&[×[
BcXa
→&o×[
Yc[^
^
~77
c&a×[
BarcX
→&×[
YarcX
[
Chú ýV5#$)S'j'!(~77/ 4Z73!"
JZ':I 4/7>?!"HF{$N+}$'/#4'-
&
r
2. Các phép toán trên kiểu số thực: +, -, *, /
Chú ýVTrên kiểu số thực không tồn tại các phép toán DIV và MOD.
3. Các hàm số học sử dụng cho kiểu số nguyên và số thực:
SQR(x)V 4!
X
SQRT(x)V 4!@-*L≥[O
ABS(x)V 4!žž
SIN(x)V 4!LO7
COS(x)V 4!LO7
ARCTAN(x)V 4!LO7
LN(x)V 4!'LO
EXP(x)V 4!
TRUNC(x)V 4!/!"A2>&
INT(xOV 4! /*
FRAC(x)V 4! - ;*
ROUND(x)V x(k/
PRED(n)V 4!F0"
SUCC(n)V 4!F0
ODD(n)V 5F†…~'('ƒ&
INC(n)V @/>!FLV`YO&
DEC(n)V b4>!FLV`BO&
3.5.4. Kiểu ký tự
B<#VCHAR&
B_G"V&
BE$$79#:)$Z73;V
• EI#:)I 7A>&UG73šlšš[š&
• jh(5‰†LOL'(dlS5ii*#:)$79O&UG73
5‰†LnmO979#:)šlš&
• jh#:+™L'(dlS5ii*#:)$79O&UG73™nm&
B5 2 V`••`––`–•&
* Các hàm trên kiểu ký tự:
BUPCASE(ch)V4!#:)>0!"#:)&UG73V…|5lS~LššO`šlš&
BORD(ch)V4!0)4dlS5ii*#:)&UG73M†jLšlšO`nm&
B CHR(n)V4!#:)>04dlS5ii0)'(&UG73V
5‰†LnmO`šlš&
BPRED(ch)V#:)0"#:)&UG73V|†~jLš]šO`šlš&
BSUCC(ch)V#:)0#:)&UG73VS…55LšlšO`š]š&
BÀI TẬP MẪU
X[
Bài tập 1VU>?- !(7(8*!(68
G!((?7+G*&
Ý tưởngV5%0G7+GVS`
OL&&
X
θ
ba
!"'(7(X8!(θ
'(#Ÿ 6X8!(&
|›7›››˜
U7V†'˜
]
€Lšf !77VšO˜†7'LO˜
€Lšf !77VšO˜†7'LO˜
€Lšf !VšO˜†7'LO˜
jV`••LOPX˜
€'Lšj'VšjV[VXO˜
†7'˜
~7&
Bài tập 2: U>?G
n
x
•[&
Ý tưởngV
V
n
x
`
n
x
`
x
n
e
'
|›››››˜
U SV†'˜
V€7˜
]
€Lšf !`šO˜†7'LO˜
€Lšf !`šO˜†7'LO˜
SV`~z|LP•xfLOO˜
€'LšS`šSV[VXO˜
†7'˜
~7&
Bài tập 3: U>?- !(X&S1F*XV
a/ Cho phép dùng biến trung gian.
|S• ˜
U Vi˜
]
€Lšf !`šO˜†7'LO˜
€Lšf !`šO˜†7'LO˜
V`˜stam lấy giá trị của at
V`˜ sa lấy giá trị của bt
V`˜sb lấy lại giá trị của tamt
€'Lš`šŽ`œO˜
†7'˜
X
~7&
b/ Không được phép dùng biến trung
gian.
|S• ˜
U Vi˜
]
€Lšf !`šO˜†7'LO˜
€Lšf !`šO˜†7'LO˜
V`Y˜sa lấy tổng giá trị của a+bt
V`B˜sb lấy giá trị của at
V`B˜sa lấy lại giá trị của bt
€'Lš`šŽ`œO˜
†7'˜
~7&
3.6. Cấu trúc rẽ nhánh.
3.6.1. Cấu trúc IF…THEN…
(1) IF…THEN
- Cú pháp:
iT‰~f
5U˜
5UX˜
U"V'($0F'
5U5UX'(;'+;'+&
- Ý nghĩa của câu lệnh:fL$0OFR?)+5U"5UX
,'8F?\.5U)+5UX&
- Lưu đồ thuật toán:
UG73V?'"A*- <( G&
|›'˜
UV†'˜
]
€Lœf !O˜
†7'LO˜
CV`˜
XX
bt
Y B
CV1
CV2
iN–
CV`˜
€LœC'ŽCO˜
†7'˜
~7&
(2) IF…THEN…ELSE
- Cú pháp:
IF bt THEN
CV1
ELSE
CV2;
- Ý nghĩa câu lệnh: fFR?)+5U\.5UX,'8?
\.5U!()+5UX&
- Lưu đồ thuật toán:
Chú ý : Khi sử dụng câu lệnh IF thì đứng trước từ khoá ELSE không được có dấu
chấm phẩy (;).
UG73V
|›'˜
UV†'˜
]
€Lœf !O˜
†7'LO˜
iN–
CV`˜
~'
CV`˜
Xc
bt
Y B
CV1
CV2
€LœC'ŽCO˜
†7'˜
~7&
3.6.2. Cấu trúc CASE…OF…
- Cú pháp:
Dạng 1 Dạng 2
CASE bt OF
gt1: CV1;
gt2: CV2;
gt n: CV
n
;
END;
CASE bt OF
gt1: CV1;
gt2: CV2;
gt n: CV
n
;
ELSE CV
n+1
;
END;
V
V]$0#$!%",#$/#$'#$#:)
#$'+#/&
V‰g0$'(FgFgL ;Q7A
{OI8gL7h7AA$ ;6F!(
FO&
bF*$0!(F*- gL` O 4h#$&
- Ý nghĩa câu lệnh:_I '+5lS~>?y#$V
YfF*$0g- g?y)+'+5U
>0&
Yf,'8V
E!"78V_%'(?4&
E!"78XV)+'+S
Y
&
BUG73Vz2Gˆ'ƒ*/7>- <( G&
|›'˜
UV€7˜
]V]˜
]
€Lœ 7ŽO˜
†7'LO˜
]V`7X˜
5N
[V€'LŽ'ŽO˜
V€'LŽ''ŽO˜
~7˜s~7*5t
†7'˜
Xa
~7&
3.7. Cấu trúc lặp.
3.7.1. Cấu trúc FOR…TO…DO…
- Cú pháp:
578V
• Dạng tiến
FOR <biến đếm>:=<giá trị Min> TO <giá trị Max> DO CV;
• Dạng lùi
FOR <biến đếm>:=<giá trị Max> DOWNTO <giá trị Min> DO CV;
S>J)+!k'I TM†V
- Ý nghĩa câu lệnh:
YE!"78V]-F'(FC–`FC?)+5U
)@'/>!F!(k–`FC?)+5U
0 3#•FC?#\!k'I &
YE!"78'hV]-F'(FC•`FC?)+5U
)4>!F!(k•`FC?)+5U0
3#–FC?#\!k'I &
- Sơ đồ khối:
Chú ýV_Z73;'+'I TM†R:$V
Không nên tuỳ tiện thay đổi giá trị của biến đếm bên trong vòng lặp FOR vì làm
như vậy có thể sẽ không kiểm soát được biến đếm.
Giá trị Max và Min trong câu lệnh FOR sẽ được xác định ngay khi vào đầu vòng lặp.
Do đó cho dù trong vòng lặp ta có thay đổi giá trị của nó thì số lần lặp cũng không
thay đổi.
Xm
Dạng tiến
]V`C
]–`C
+
-
Thoát
5U˜
if5L]O˜
Dạng lùi
]V`C
]•`C
+
-
Thoát
5U˜
j~5L]O˜