Giáo án Tin học 9 - Kiểu dữ liệu cơ sở

KIẾN THỨC YÊU CẦU:

Biết khắc ghi các kiểu dữ liệu, phạm vi và kích

thước trong Pascal.

 Biết sử dụng các kiểu dữ liệu phù hợp cho các

biến trong chương trình.

KIẾN THỨC ĐẠT ĐƯỢC

 Biết sử dụng các kiểu dữ liệu phù hợp cho các

biến trong chương trình một cách nhuần nhuyển và

chính xác.

pdf32 trang | Chuyên mục: Pascal | Chia sẻ: dkS00TYs | Lượt xem: 1947 | Lượt tải: 1download
Tóm tắt nội dung Giáo án Tin học 9 - Kiểu dữ liệu cơ sở, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
al. 
 Bạn thường dùng 6 toán tử so sánh đó là: = , > , < , 
>= , 
Ví dụ: 
 if (x >10) Then 
 if (x > 2) And (y >2) Then 
 Đối với kiểu này, các bạn cần biết các toán tử luận 
lý NOT, AND, OR và XOR. 
A NOT A 
True False 
False True 
A B A AND B 
True True True 
True False False 
False True False 
False False False 
A B A OR B 
True True True 
True False True 
False True True 
False False False 
A B A XOR B 
True True False 
True False True 
False True True 
False False False 
III/ Dữ liệu kiểu Char (ký tự) 
 1. Kiểu Char : Là những dữ liệu ký tự, một ký tự 
được viết trong hai dấu nháy (‘ ‘). 
Ví dụ: ‘3’, ‘M’, ‘N’, ‘a’, ‘b’ 
VAR 
Kytu : Char; 
Kytu := ‘A’; 
 Một kí tự được chứa trong một byte. 
 Kí tự được biểu diễn trong bộ nhớ bởi giá trị của 
nó trong bảng mã ASCii. 
Ví dụ : Ký tự ‘B’ có mã ASCii là 66, sẽ được 
biểu diễn trong bộ nhớ bằng 1 byte có trị là 66. 
 Như vậy các ký tự được biểu diễn bằng các trị từ 0 
đến 255. 
 2. Toán tử và các hàm thư viện dùng cho kiểu Char 
 Các ký tự có thể so sánh với nhau dựa trên bảng 
mã ASCii. Vậy có thể dùng các toán tử so sánh đối 
với kiểu này. 
Ví dụ : ‘A’ < ‘B’ vì trong bảng mã ASCii A=65 
và B=66 vì 65<66. 
 Hàm CHR(n:Byte): Hàm này cho ta ký tự có mã 
ASCii bằng n. 
Ví dụ : CHR(65) = ‘A’, CHR(97) = ‘a’, 
CHR(67) = ‘C’, CHR(98) = ‘b’ 
 Hàm ORD(c:Char): Hàm này cho ta mã ASCii 
của kí tự c. 
Ví dụ : ORD(‘A’) = 65, ORD(‘a’) = 97 
IV/ Dữ liệu kiểu String (chuỗi) 
 1. Kiểu String : Là một chuỗi các ký tự, chiều dài 
tối đa là 255. 
Ví dụ: 
VAR 
Chuoi : String; 
Chuoi := ‘***CHAO BAN ***’; 
 Bạn cũng có thể giới hạn cho chuỗi. 
Ví dụ: 
VAR 
Chuoingan : String[8]; 
Chuoingan := ‘ThanhDa’; 
 Nếu khai báo biến như trên, bạn dùng chuổi có 
chiều dài tối đa là 8. 
 2. Toán tử nối chuỗi : Bạn có thể dùng dấu cộng ‘+’ 
để nối hai chuỗi với nhau 
Ví dụ: 
VAR 
Chuoi : String; 
Chuoimot : String; 
Chuoihai : String[6]; 
Bạn có thể thực hiện như sau: 
Chuoimot := ‘Truong DHBK’; 
Chuoihai := ‘TP.HCM’ 
Chuoi := Chuoimot + Chuoihai; 
V/ Một số hàm và thủ tục thư viện của Pascal 
1. Hàm 
  Hàm ABS(Num) 
  Num có kiểu là integer hoặc Real. 
  Hàm này cho kết quả là trị tuyệt đối của 
Num, kiểu kết quả giống kiểu đối số Num. 
Ví dụ: ABS(-34)=34; ABS(-34.5) = 
3.4500000000E+01 
  Hàm EXP(Num) 
  Num có kiểu là integer hoặc Real. 
  Kết quả là e mũ Num (eNum), kết quả sẽ có 
kiểu Real. 
Ví dụ: EXP(2) = e2 
  Hàm Ln(Num) 
  Num có kiểu là integer hoặc Real. 
  Kết quả là Logarit tự nhiên của Num. Kiểu 
kết quả là Real. 
Ví dụ: Ln(10) = 2.3025850930E+00 
  Hàm SQR(Num) 
  Num có kiểu là integer hoặc Real. 
  Kết quả là bình phương của Num. Kiểu kết 
quả là kiểu của đối số. 
Ví dụ: SQR(3) = 9, SQR(1.2) = 
1.4400000000E+00 
  Hàm SQRT(Num) 
  Num có kiểu là integer hoặc Real. 
  Kết quả là căn bậc hai của Num (Num phải 
lớn hơn 0), kết quả có kiểu là Real. 
Ví dụ: SQRT(4) = 2.0000000000E+00 
  Hàm iNT(Num) 
  Num có kiểu là integer hoặc Real. 
  Kết quả cho ta phần nguyên của Num. Kiểu 
kết quả là Real. 
Ví dụ: iNT(4.6) = 4.0000000000E+00 
  Hàm FRAC(Num) 
  Num có kiểu là integer hoặc Real. 
  Cho ta phần lẻ của đối số. Kiểu kết quả là 
Real. 
Ví dụ: FRAC(4.3) = 0.3, FRAC(-2.5) = -0.5 
  Hàm ROUND(Num) 
  Num có kiểu là Real. 
  Kết quả làm tròn số theo nguyên tắc thông 
thường, kiểu kết quả là integer. 
Ví dụ: ROUND(3.6) = 4, ROUND(3.2) = 3 
  Hàm TRUNC(Num) 
  Num có kiểu Real. 
 Ý nghĩa giống như hàm iNT. Khi cần kiểu trả 
về là integer, bạn phải dùng hàm TRUNC(Num). 
Ví dụ : TRUNC(4.6) = 4 
  Hàm ODD(Num) 
  Num có kiểu là integer. 
  Hàm này có kết quả là True nếu Num là số 
nguyên lẻ, trái lại sẽ cho kết quả là False. Vậy 
kiểu kết quả là Boolean. 
Ví dụ : ODD(4) = FALSE 
  Hàm RANDOM 
  Kiểu kết quả là Real. 
  Kết quả là số nguyên ngẫu nhiên 0<= n<= 
Num 
  Hàm UPCASE(Ch) 
  Ch có kiểu Char. 
  Kết quả là kí tự hoa tương ứng với Ch, kiểu 
kết quả là Char. 
Ví dụ: UPCASE(‘h’) = H 
  Hàm COPY(Ch, Vitri, So) 
  Ch là biểu thức kiểu String. 
  Vitri và So là biểu thức kiểu integer. 
  Hàm này trả về một chuỗi gồm có So kí tự, 
bắt đầu từ Vitri trong chuỗi Ch. 
Ví dụ: Nếu chuỗi Ch =’PASCAL’, 
COPY(Ch, 4, 3) sẽ là CAL 
  Hàm LENGTH(Ch) 
  Ch là một chuỗi 
  Cho biết chiều dài của chuỗi Ch, kiểu kết 
quả là integer. 
Ví dụ: LENGTH(‘PASCAL’) = 6 
  Hàm POS(SubCh, Ch) 
  SubCh, ch là chuỗi 
  Hàm này cho ta biết vị trí xuất hiện đầu tiên 
của SubCh ở trong biểu thức Ch, nếu SubCh 
không nằm trong Ch thì nó sẽ cho trị 0. 
Ví dụ: nếu Ch = ‘PASCAL’, thì POS( ‘AS’, 
Ch) = 2, POS( ‘L’, Ch)= 6 
 POS( ‘T’, Ch) = 0 
2. Thủ tục 
  CLRSCR: Xoá màn hình và đưa dấu nháy về 
dòng 1 và cột 1 của màn hình. 
  GOTOXY(X, Y): Đem dấu nháy về dòng Y cột 
X 
  EXiT: Nếu Exit thuộc chương trình con thì 
chấm dứt chương trình con và trở về chỗ gọi nó. Nếu 
thuộc chương trình chính thì sẽ chấm dứt chương 
trình. 
  HALT: Chấm dứt thực hiện chương trình. 
  DELAY(time) 
  Time có kiểu integer, tính theo 1/1000 giây. 
  Thủ tục DELAY(time) dừng một thời gian là 
time. 
  DELETE(Ch, Vitri, So) 
  Ch có kiểu chuỗi 
  Vitri, So kiểu integer 
  Thủ tục này sẽ xoá trong biểu thức Ch một 
số kí tự là So, bắt đầu từ vị trí. 
Ví dụ: Nếu Ch = ‘PASCALViSUALBASiC’ 
 thì DELETE(Ch, 7, 11) sẽ được 
PASCAL 
  iNSERT(Ch1, Ch2, Vitri) 
  Ch1, Ch2 là biểu thức kiểu chuỗi. 
  Vitri là biểu thức kiểu integer. 
  Thủ tục này sẽ thêm Ch1 vào trong chuỗi 
Ch2 ở trước vị trí Vitri 
Ví dụ: nếu Ch2=’ASCAL’ thì insert(‘P’, 
Ch2, 1) ta sẽ được ‘PASCAL’. 
 Nếu Vitri vượt quá chiều dài của chuỗi Ch2 thì 
Ch1 sẽ được nối vào sau chuỗi Ch2. 
Ví dụ : insert(‘BASiC’, Ch2, 8) sẽ được 
‘ASCALBASiC’ 
  STR(Giatri, Ch) 
  Giatri là một biểu thức integer hoặc Real có 
ghi dạng in ra 
  Ch là biến kiểu chuỗi. 
  Thủ tục này cho chúng ta Ch là dạng chuỗi 
biểu diễn cho Giatri. 
Ví dụ: j := 12345; Thì STR(j:6, Ch) cho ta 
Ch=’ 12345’ (có 1 khoảng trắng ở trước). 
Nếu dùng STR(j, Ch) thì ta được ‘12345’. 
  VAL(Ch, Bien, Loi) 
  Ch là biểu thức kiểu chuỗi. 
  Bien là biến có kiểu là integer hoặc Real. 
  Loi là biến có kiểu là integer. 
  Thủ tục này sẽ biến chuỗi Ch thành số và 
gán vào Bien (Ch phải là là một chuỗi biểu diễn 
số nguyên hoặc số thực). 
Ví dụ: Ch =’2004’ thì VAL(Ch, x, e) sẽ cho 
x=2004, e=0. 
 Nếu Ch=’2004A’ thì VAL(Ch, x, e) 
sẽ cho x không xác định, e=5 (kí tự thứ 5 
trong chuỗi Ch bị lỗi). 
  Nếu không có lỗi, e=0, nếu có lỗi, e sẽ bằng 
vị trí đầu tiên gây ra lỗi. 
  Trong chuỗi Ch không được có dấu trắng ‘ 
‘đi trước hoặc sau số. 
TÓM LƯỢC 
  Cần nắm vững các dữ liệu kiểu số, kiểu Logic, 
kiểu Char, kiểu String, cách khai báo các kiểu, biết 
giá trị giới hạn của từng loại kiểu, khi khai báo nên 
chọn kiểu gì cho phù hợp, tránh tốn nhiều bộ nhớ, 
biết cách khai báo các biến, các toán tử sử dụng 
trong mỗi kiểu. 
 Cần biết thêm các hàm và thủ tục dùng trong các 
kiểu và cách dùng hàm và thủ tục trong chương 
trình để thực hiện những yêu cầu của đầu bài một 
cách nhanh chóng. 
PHẦN THỰC HÀNH : 
 1. Xác định các kiểu dữ liệu và giá trị giới hạn cho 
từng biến qua các khai báo biến như sau: 
 a. x : integer; 
 b. x : Byte; 
 c. y : Longint; 
 d. Chuoi : Char; 
 e. Chuoi : String; 
 f. Ketqua : Real; 
 g. Tongso : Double; 
 h. Ketqua : Boolean; 
 i. Ketqua : Single; 
2. Tìm câu sai trong các khai báo biến sau đây: 
 a. Tongso : Real; 
 b. Soam : int; 
 c. Soduong : integer; 
 d. Dungsai : Boolean; 
3. Thêm, bớt sửa lại chương trình sau cho đúng (có 
ghi chú cho bạn chỗ sai, ký hiệu ‘:=’ là phép gán 
trong Pascal). Kiểm tra lại bằng cách chạy thử 
chương trình: 
 Program TiMCHOSAi {thiếu} 
 Var 
 m : integer; 
 n : Real; 
 ch : Chuoi; {sai} 
 Begin 
 m := 19; 
 n := 25.62; 
 Ch := Ban thay hoc Pascal co kho lam 
không?’; {thiếu} 
 a := ‘Hoc di doi voi hanh’; {sai, vì sao?} 
 Writeln (‘So nguyen m =’, m); 
 Writeln (‘So thuc n =’, n); 
 Writeln ‘Hoi ban mot chut‘, Ch); {thiếu} 
 Readln; 
 End. 
4/ Tìm chỗ sai và thiếu trong các chương trình sau, 
nêu rõ điều sai hoặc thiếu: 
 Program BongdaSEAGAMES22; 
 X : integer; 
 Ch1 : Ctring; 
 Ch2 : String; 
 Begin 
 Ch1 := ‘Doi tuyen bong da ViETNAM’ 
 Ch2 := ‘Doi tuyen bong da THAiLAN’ 
 X := 1; 
 Writeln(‘Trong tran dau ngay 30/11/2003 
vao luc 17h30 ’, Ch1, ‘ Da hoa ’, 
Ch2, 
 ‘ voi ti so ’, x, ‘-‘, x); 
 Writeln(‘Ban cam thay vui hay nuoi tiec 
cho doi tuyen Viet Nam’); 
 Readln; 
 End. 
Ghi chú: Cho biết chỗ sai trong chương trình tính từ 
trên xuống: thiếu, sai 
5. Nhập vào chương trình như sau, chạy xem kết quả 
và nhận xét. 
 Program THUHAM; 
 Var 
 X : Real; 
 Y : Real; 
 Z : integer; 
 Ch1 : String; 
 Ch2 : String; 
 Begin 
 X := 15.56; 
 Y := 20.92; 
 Z := 5; 
 Ch1 := ‘Seagame2’; 
 Ch2 := ‘DuoctochuctaiVietNam’; 
 Writeln (‘Gia tri tuyet doi cua X la: ‘, 
ABS(X)); 
 Writeln (‘e luy thua Z la: ‘, EXP(Z)); 
 Writeln (‘Logarith cua Z la: ‘, Ln(Z)); 
 Writeln (‘Binh phuong cua Z la: ‘, 
SQR(Z)); 
 Writeln (‘Can bac hai cua Z la: ‘, 
SQRT(Z)); 
 Writeln (‘Phan nguyen cua X va Y la: ‘, 
iNT(X), iNT(Y)); 
 Writeln (‘Phan le cua so X va Y la: ‘, 
FRAC(X), FRAC(Y)); 
 Writeln (‘Ket qua tron so cua X va Y la: ‘, 
ROUND(X), ‘ ‘ ,ROUND(Y)); 
 Writeln (‘Phan nguyen cua X la “so 
nguyen”: ‘, TRUNC(X)); 
 Writeln (‘Copy(Ch1,4,5) la: ‘, 
COPY(Ch1,4,5)); 
 Writeln (‘Chieu dai cua chuoi Ch1 va Ch2 
la: ‘, LENGTH(Ch1), ‘ ‘, 
LENGTH(Ch2)); 
 Writeln (‘Chu e co dau tien trong chuoi Ch1 
la: ‘, POS(‘e’, Ch1)); 
 Readln; 
 End. 
6. Viết chương trình có dùng CLRSCR như sau, bạn 
chạy thử chương trình 3 lần, nhận xét kết quả xuất 
hiện trên màn hình. 
 Program DungCLRSCR; 
 Uses CRT; 
 Begin 
 Clrscr; 
 Writeln (‘Chao mung Sea Games 22 to chuc 
tai Viet Nam’); 
 Readln; 
 End. 

File đính kèm:

  • pdfGiáo án Tin học 9 - Kiểu dữ liệu cơ sở.pdf