- 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.. Giảng bài mới -Để khai báo lý lịch của một học sinh,n
Trang 1Ngà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
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
Trang 2
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
Trang 3KIỂ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
-Để 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),
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)
Trang 4
-Các cấu trúc dữ
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
Trang 5-Để 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);
1:’);readln(hs1.diem);
1:’);readln(hs1.loai);
Write(‘Nhập họ tên học sinh 2:’);readln(hs2.hoten);
2:’);readln(hs2.diem);
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
Trang 6-Giới thiệu cách truy
xuất kiểu bản ghi sử
dụng lệnh with…do
-Yêu cầu học sinh
sử dụng câu lệnh
with để viết lệnh
nhập thông tin của
học sinh
-Học sinh chú ý lắng nghe
-Giáo viên viết theo yêu cầu của giáo viên
With < Tên biến record > do
Begin < Câu lệnh với tên trường 1 > ;
< Câu lệnh với tên trường n > ; End ;
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
With hs1 do begin
Write(‘Nhập họ tên học sinh 1:’);readln(hoten);
Write(‘Nhập diểm học sinh 1:’);readln(diem);
Write(‘Nhập loai học sinh 1:’);readln(loai);
End;
With hs2 do begin
Write(‘Nhập họ tên học sinh 2:’);readln(hoten);
Write(‘Nhập diểm học sinh 2:’);readln(diem);
Write(‘Nhập loai học sinh 2:’);readln(loai);
End;
Readln ; End
3 Củng cố :
-Cú pháp định nghĩa và khái báo biến kiểu bản ghi
- Truy xuất kiểu bản ghi
4 Dặn dò :
+ Xem lại bài
+ Chuẩn bị bài bài tập SGK79+80