Ngày soạn: 18/2/2009
Tiết : 31
§ BÀI TẬP
A. Mục tiêu
1. Về kiến thức :
- Biết xâu là một dãy kí tự (có thể coi xâu là mảng 1 chiều).
- Biết cách khai báo xâu, truy cập phần tử của xâu.
2. Về kỹ năng :
- Sử dụng được một số thủ tục, hàm thông dụng về xâu.
- Cài đặt được một số chương trình đơn giản có sử dụng xâu.
3. Về thái độ:
- Ham thích môn học, có tính kỷ luật cao và tính thần làm việc theo nhóm.
- Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như: xem xét vấn đề
một cách cẩn thận, chu đáo, sáng tạo, không thỏa mãn với các kết quả ban đầu đạt được,…
B. Chuẩn bị
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện : máy chiếu, máy tính.
C. Tiến trình bài dạy
1. Ổn định lớp: Kiểm tra sĩ số
2. Kiểm tra bài cũ:
Cú pháp khai báo biến kiểu xâu, mảng 1 chiều? Ý nghóa hàm upcase(s) ?
3. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
Nêu câu hỏi và gợi ý để
HS viết chương trình.
Bài 1: Viết chương trình nhập và hai
xâu Hodem và xâu Ten sau đó in ra
xâu mới với họ và tên đầy đủ
Chương trình
Var
Hodem:String[50];
Ten:String[10];
Hoten:String;
Program
write(‘Nhap vao ho va ten dem’);
readln (Hodem);
write(‘Nhap vao Ten’);
readln(Ten);
Hoten:=Hodem+ ‘ ‘Ten;
writeln(Hoten);
readln
End.
-1-
4. Củng cố :
Khai báo biến chuỗi, truy xuất chuỗi, tìm kiếm thay thế…
5. Dặn dò :
+ Xem lại bài
+ Chuẩn bò bài 13 “Kiểu bản ghi”
CHƯƠNG IV
-2-
KIỂU DỮ LIỆU CÓ CẤU TRÚC
Tuần : . . . Tiết : 32
§13 KIỂU BẢN GHI
I. Mục tiêu
1. Về kiến thức :
- Biết khái niệm kiểu bản ghi.
- Biết cách khai báo bản ghi, truy cập trường của bản ghi
2. Về kỹ năng :
- Bước đầu biết mô tả một đối tượng bằng một số thuộc tính cần quản lí.
- Khai báo kiểu bản ghi.
- Nhận biết được trường (thuộc tính) của một biến bản ghi và bước đầu viết được một
vài thao tác xử lí trên từng trường của bản ghi.
3. Về thái độ:
- Ham thích môn học, có tính kỷ luật cao và tính thần làm việc theo nhóm.
- Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như: xem xét vấn đề
một cách cẩn thận, chu đáo, sáng tạo, không thỏa mãn với các kết quả ban đầu đạt được,…
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện : máy chiếu, máy tính.
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
Cú pháp khai báo biến kiểu xâu, mảng 1 chiều? Ý nghóa hàm upcase(s) ?
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
-Để khai báo lý lòch
của một học
sinh,người ta phải
khai báo họ tên
người (kiểu chuỗi),
phái (nam:=1, nữ:=0
theo kiểu Boolean),
ngày sinh,đòa
chỉ,...Với các kiểu
dữ liệu cơ bản khác
nhau như vậy trong
Pascal ta có thể sử
dụng kiểu mảng
được không? Vì sao?
-Học sinh suy nghó
trả lời
-Các kiểu dữ liệu
kiểu mảng có hạn
chế là các phần tử
§13 KIỂU BẢN GHI (RECORD)
-3-
-Các cấu trúc dữ
liệu kiểu
mảng(Array) có hạn
chế ở chỗ nào ?
-Song trong thực
tế,có những kiểu
cấu trúc dữ liệu
khác nhau nhưng lại
có một mối quan hệ
nào đó. Với các kiểu
dữ liệu cơ bản khác
nhau như vậy trong
Pascal ta phải sử
dụng kiểu bản ghi
(Record).
-Yêu cầu học tìm
hiểu cú pháp đònh
nghóa và khai báo
biến kiểu bản ghi.
-Giải thích ý nghóa
của cú pháp cho học
sinh hiểu.
-Yêu cầu học sinh
đọc ví dụ SGK
-Yêu cầu học sinh
đònh nghóa bản ghi
để mô tả lý lòch học
sinh gồm: Họ tên ,
điểm , loại
-Yêu cầu học sinh
khai báo 3 biến
hs1,hs2,hs3 có kiểu
lylich
-Yêu cầu học sinh
thực hiện theo yêu
cầu của ví dụ 2.
phải cùng kiểu.
-Học snh chú ý
theo dõi
-Học sinh nghiên
cứu SGK, trình bài
theo yêu cầu của
giáo viên.
-Học sinh chú ý
lắng nghe
-Học sinh đọc ví
dụ SGK
-Học sinh đònh
nghó theo yêu cầu
của học sinh
-Học sinh khai báo
theo yêu cầu
-Học sinh là ví dụ
2.
RECORD là kiểu dữ liệu bao gồm nhiều
thành phần có thể khác nhau về kiểu dữ liệu,
mỗi thành được gọi là trường (Field).
1. Khai báo kiểu bản ghi
Khai báo kiểu bản ghi(mẩu tin) trước
rồi mới khai báo biến sau.
Cú pháp khai báo :
TYPE < Tên kiểu bản ghi > = RECORD
<Tên trường 1a>[,<Tên trường 1b>,...]: <
Kiểu trường > ;
<Tên trường 2a>[,<Tên trường 2b>,...]: <
Kiểu trường > ;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
END ;
VAR
< Tên biến 1>[,< Tên biế 2 >,...] : <Tên kiểu
bản ghi > ;
Ví dụ 1 : Để mô tả lý lòch học sinh gồm có :
Họ tên , điểm , loại ta có khai báo sau:
Type Lylich = Record
Hoten : String[25] ;
Diem : 0..10 ;
Loai : String[10] ;
End ;
Var hs1,hs2,hs3 : Lylich ;
Ví dụ 2 : Đònh nghóa kiểu số hửu tỷ gồm có
hai trường mẩu số,tử số như sau
Type Huuty = Record
Ms : Integer ;
Ts : Integer ;
End ;
2. Truy xuất mẩu tin
a) Truy xuất trực tiếp
Để truy xuất vào một trường của kiểu
Record,ta cần dùng tên biến kiểu Record sau
-4-
-Để nhập hay xuất
dữ liệu kiểu bản ghi
ta có thể sử dụng
lệnh như sau được
không?
Readln(hs1,hs2,hs
3);
Write(hs1,hs2,hs2
)
-Trình bài cách truy
xuất bản ghi theo
cách trực tiến.
-Vậy để nhập họ
tên, điểm, loại cho
hs1 tha thực hiện
như thế nào?
-Chúng ta có thể
viết như như sau
được không?
hs1<hs2
hs2 =hs3
-Nêu một số chú ý
khi sử dụng kiểu bản
ghi.
-Học sinh suy nghó
và xem sách giáo
khoa để trả lời:
Chúng ta không
thể sử dụng lệnh
như vậy được mà
phải có cách thao
tác riêng.
-Học sinh chú ý
theo dõi
-Ta có thể viết:
Readln(hs1.hot
en);
Readln(hs1.die
m);
Readln(hs1.loai
);
-Cách viết thứ
nhất không đúng.
-Học sinh chú ý
lắng nghe
đó là dấu chấm rồi đế tên trường muốn truy
xuất.
< Tên biến Record >. < Tên trường >
Ví dụ :
Program nhap_ly_lich;
Type Lylich = Record
Hoten : String[25] ;
Diem : 0..10 ;
Loai : String[10] ;
End ;
Var hs1,hs2,hs3 : Lylich ;
Begin
Write(‘Nhập họ tên học sinh
1:’);readln(hs1.hoten);
Write(‘Nhập diểm học sinh
1:’);readln(hs1.diem);
Write(‘Nhập loai học sinh
1:’);readln(hs1.loai);
Write(‘Nhập họ tên học sinh
2:’);readln(hs2.hoten);
Write(‘Nhập diểm học sinh
2:’);readln(hs2.diem);
Write(‘Nhập loai học sinh
2:’);readln(hs2.loai);
..........................................................................
Readln ;
End.
* Chú ý :
+ Các biến Record cùng kiểu có thể gán
cho nhau.
+ Không được viết ra màn hình hoặc đọc
vào từ bàn phím một biế record như :
write(hs1) hoặc readln(hs1).
+ Không thể so sánh các record bằng các
phép toán : < , > , <= , >= .
+ Hai phép toán so sánh = và <> thì có thể
được dùng với hai biến cùng kiểu record.
+ Không được dùng các phép toán số học.
b) Sử dụng câu lệnh With ... do
-5-