Dữ liệu và kiểu dữ liệu Ngôn ngữ lập trình th ờng phân chia dữ liệu cần xử lý thành các kiểu khác nhau với các phép toán có thể thực hiện trên từng kiểu dữ liệu đó Hãy nhận xét về kết qu
Trang 1Gi¸o viªn: NguyÔn ThÞ Thu Trang
Trang 2ViÕt ch ¬ng tr×nh lµ g×?
ViÕt ch ¬ng tr×nh lµ h íng dÉn m¸y tÝnh thùc hiÖn
c¸c c«ng viÖc hay gi¶i mét bµi to¸n cô thÓ
Trang 41 D÷ liÖu vµ kiÓu d÷ liÖu
D÷ liÖu lµ tÊt c¶ nh÷ng g× ® îc m¸y tÝnh xö lý bao gåm c¸c
Dòng chữ
Phép toán
với các số
Th«ng tin ® îc m¸y tÝnh xö lý gäi lµ g×?
H·y quan s¸t h×nh bªn vµ nªu lªn c¸c kiÓu d÷ liÖu?
Trang 51 Dữ liệu và kiểu dữ liệu
Ngôn ngữ lập trình th ờng phân chia dữ liệu cần xử lý thành các kiểu khác nhau với các phép toán có thể thực hiện trên từng kiểu dữ liệu đó
Hãy nhận xét về kết quả của hai công
thức đ ợc sử dụng trong Excel ở các hình
trên.
Trang 6Một số kiểu dữ liệu cơ bản th ờng dùng sau:
Số nguyên : là các số không có phần thập phân
Ví dụ: số học sinh, số quyển sách,…
Số thực : gồm các số nguyên và các số có phần thập phân
Ví dụ: điểm TB môn văn, chu vi đ ờng tròn,…
Xâu kí tự là d y các kí tự lấy từ bảng chữ cái của ngôn ãy các kí tự lấy từ bảng chữ cái của ngôn
ngữ lập trình
Ví dụ: CHAO CAC BAN ’, ‘8A1’, ‘5/ 9/ 2008’ 8A1 , 5/ 9/ 2008 ’, ‘5/ 9/ 2008’ ‘8A1’, ‘5/ 9/ 2008’ ’, ‘5/ 9/ 2008’,…
Ngoài các kiểu trên, mỗi ngôn ngữ lập trình cụ thể còn định nghĩa thêm nhiều kiểu dữ liệu khác Số các kiểu dữ liệu và tên kiểu dữ liệu trong ngôn ngữ lập trình có thể khác nhau
Trang 7Tên kiểu Phạm vi giá trị
integer Số nguyên trong khoảng -215 (-32768) đến
real Số thực có giá trị tuyệt đối trong khoảng
char Một kí tự trong bảng chữ cái
string Xâu kí tự, tối đa gồm 255 kí tự
* Chú ý: Trong Pascal, để ch ơng trình dịch hiểu dãy chữ số là kiểu xâu ta phải đặt dãy chữ số đó trong cặp dấu nháy đơn ‘ ’
Ví dụ: ‘Chao cac ban’, ‘ 5342’
Một số kiểu dữ liệu cơ bản của ngôn ngữ lập trình Pascal
Trang 8R :
Bµi to¸n:
BiÕt b¸n kÝnh cña h×nh trßn lµ mét sè ch½n R TÝnh chu vi (CV) vµ diÖn tÝch (S) cña h×nh trßn.
H·y lùa chän kiÓu d÷
liÖu thÝch hîp trong
Pascal cho R , CV vµ S .
kiÓu integer
kiÓu real
Trang 92 Các phép toán với dữ liệu kiểu số
Trong ngôn ngữ lập
trình có thể thực hiện
đ ợc các phép toán số
học không?
Trong mọi ngôn ngữ lập trình đều có thể thực hiện các phép toán số học cộng, trừ, nhân và chia với các số nguyên và số thực
Trang 10C¸c phÐp to¸n sè häc trong Pascal
mod Chia lÊy phÇn d Sè nguyªn
div Chia lÊy phÇn nguyªn Sè nguyªn
Trang 11Trong to¸n häc Trong Pascal
7 mod 3 = 1 -5 Mod 3 = -2
2 -1
7 div 3 = -5 Div 3 =
VÝ dô 2:
VÝ dô 1:
C¸ch viÕt biÓu thøc sè häc trong Pascal
15a 30b + 12 – 30b + 12
(X2 + 2X +5) - 4XY
2 2)
(X 5 b
Y 3
a
5
X
15*a - 30*b + 12 (X*X + 2*X + 5) 4*X*Y – 30b + 12 (X+5)/(a+3) y/(b+5)*(X+2)*(X+2) – 30b + 12
Trang 12VÝ dô 3: ChuyÓn c¸c biÓu thøc sè häc sau sang NN Pascal
5 x3 +2 x2 - 8x + 15
b2 - 4ac
5*x*x*x + 2*x*x - 8*x +15 b*b 4*a*c – 30b + 12
(x+y) / (x-y) ((a + c)*h 7*d) /2*b – 30b + 12
2
b
Trang 13C¸c phÐp to¸n trong ngoÆc ® îc thùc hiÖn tr íc tiªn.
Quy t¾c tÝnh biÓu thøc sè häc
* Chó ý : Trong c¸c ng«n ng÷ lËp tr×nh, khi viÕt c¸c biÓu thøc to¸n häc chØ sö dông dÊu ngoÆc trßn ( ) , kh«ng ® îc sö dông dÊu ngoÆc vu«ng [ ] hay dÊu ngoÆc nhän { }
Trong d y c¸c phÐp to¸n kh«ng cã dÊu ngoÆc,·y c¸c kÝ tù lÊy tõ b¶ng ch÷ c¸i cña ng«n c¸c phÐp to¸n ® îc *, /, mod, div thùc hiÖn tr íc.
Cuèi cïng thùc hiÖn phÐp céng vµ phÐp trõ theo thø tù
tõ tr¸i sang ph¶i.
Trang 14Phép toán Kết quả
a) {3*a + [ 4*c 7*(a +2*c)] -5*b} – 7*(a +2*c)] -5*b}
b) a*x*x b*x + 7a : 5 – 7*(a +2*c)] -5*b}
c) (10*a + 2*b) / (a*b)
d) –b: (2*a*c)
e) 1/ (n*(n+1)*(n+2))
Sai
Sai
Đúng
Sai
Đúng
Pascal đúng hay sai?
Trang 15Bài tập 2 : Bốn bạn A, B, C, D đ a ra kết quả của phép chia, phép chia lấy phần nguyên và phép chia lấy phần d của hai số nguyên 14 và 5 nh sau:
Hãy các kí tự lấy từ bảng chữ cái của ngôn y chọn kết quả đúng
(B): 14/5=2.8; 14 div 5 = 2; 14 mod 5 = 4
Trang 16Ghi nhớ
Ngôn ngữ lập trình th ờng phân chia dữ liệu cần xử lý thành các kiểu khác nhau với các phép toán có thể thực hiện trên từng kiểu dữ liệu đó
Quy tắc tính biểu thức số học
-Các phép toán trong ngoặc đ ợc thực hiện tr ớc tiên
-Trong dãy các phép toán không có dấu ngoặc, các phép toán đ
ợc *, /, mod, div thực hiện tr ớc
-Cuối cùng thực hiện phép cộng và phép trừ theo thứ tự từ trái sang phải