GIÁO ÁN TIN HỌC LỚP 11
Ngày soạn: 28/11/2010
Ngày dạy:
Sinh viên: Thào Xuân Minh
Lớp: Sư phạm Tin K42
GVHD: Cô Ngô Thị Tú Quyên
KIỂU DỮ LIỆU XÂU (TIẾT 2)
I. MỤC TIÊU:
1. Kiến thức
- Biết được lợi ích của các hàm và thủ tục liên quan đến xâu trong
ngôn ngữ lập trình Pascal.
- Nắm được cấu trúc chung và chức năng của một số hàm và thủ tục
liên quan đến xâu của ngôn ngữ lập trình Pascal.
2. Kĩ năng
- Nhận biết và bước đầu sử dụng được một số hàm và thủ tục để
giải quyết một số bài tập đơn giản liên quan.
II. ĐỒ DÙNG DẠY HỌC
1. Chuẩn bị của giáo viên
- Máy vi tính, máy chiếu projector, giáo án điện tử, sách giáo viên.
2. Chuẩn bị của học sinh
- Sách giáo khoa, vở ghi.
III. HOẠT ĐỘNG DẠY-HỌC
1. Ổn định tổ chức lớp: (1’)
Lớp: Tổng số: Vắng: Lí do:
2. Kiểm tra bài cũ: (8’)
Câu hỏi 1: (Chiếu slide 2 và đặt câu hỏi): Nêu cách khai báo biến kiểu
xâu?(2đ) Trình bày một số thao tác trên xâu kí tự?(2đ) Giải thích tác
dụng của từng hàm và thủ tục?(4đ)
1
Câu hỏi 2: (Chiếu slide 3 và đặt câu hỏi): Lấy ví dụ khai báo biến S có
độ dài 30?(1đ) Cho biết kết quả vết ra màn hình sau khi thực hiện 2 câu
lệnh sau: s:=‘Ha Noi’;Write(Length(S)); (1đ)
Đáp Án:
Câu 1:
Khai báo: Var <tên biến> : String[độ dài lớn nhất];
Một số thao tác trên xâu kí tự:
- Phép ghép xâu :
- Các phép so sánh:
- Các thủ tục và hàm chuẩn:
Thủ tục Delete(St,vt,n): Xóa n kí tự của xâu St bắt đầu từ
vị trí vt.
Thủ tục Insert(s1,s2,vt): Chèn xâu s1 vào s2 bắt đầu từ
vị trí vt.
Hàm Copy(S,vt,n): Tạo xâu gồm n kí tự liên tiếp bắt đầu
từ vị trí vt.
Hàm Length(S): Cho giá trị là độ dài xâu S.
Hàm Pos(s1,s2): Cho vị trí xuất hiện đầu tiên của xâu s1
trong xâu s2.
Hàm Upcase(ch): cho chữ cái in hoa ứng với chữ cái
trong ch.
Câu 2: (Chiếu slide 4):
Khai báo biến S: Var s:string[30];
Kết quả trả về là: 6
3. Tiến trình bài dạy: (30’)
Dẫn dắt vào bài mới: Ở tiết trước các em đã được học cách khai
báo biến kiểu xâu. Đã biết các phép toán trên xâu và một số hàm
và thủ tục xử lí xâu. Vậy để cho các em hiểu rõ hơn về các thủ tục
2
và hàm xử lí xâu thì chúng ta sẽ cùng đi nghiên cứu bài ngày hôm
nay đó là. Bài 12. Kiểu dữ liệu xâu (Tiết 2)
Nội dung bài dạy:
GV Dẫn dắt: Chúng ta tiếp tục sang phần 3. Một số ví dụ.
NỘI DUNG GHI
BẢNG
HOẠT ĐỘNG CỦA
GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC
SINH
3. Một số ví dụ:
Ví dụ 1:
+ Input: Xâu a,b là họ
tên của hai người.
+ OutPut: In ra màn
hình xâu dài hơn.
Begin
If Length(a)>Length(b)
Then write(a)
else write(b);
End.
Ví dụ 2:
+ Input: 2 Xâu a,b.
+ OutPut: In ra màn
hình thông báo 2 xâu
trùng nhau hay không.
Begin
If a[1]=b[x] Then
- Chiếu Slide 5: bài
12. Kiểu dữ liệu xâu
(tiết 2)
- Ghi bảng: 3. Một số
ví dụ.
- Chiếu Slide 6 và ghi
bảng Ví dụ 1.
Các em hãy đọc
kĩ đề bài và xác định
input, output cho
thầy?
Để xác định được
độ dài của xâu ta
dùng hàm gì?
- Các bước giải và
chương trình như sau:
Chiếu tiếp slide 6 và
giải thích chương
trình.
- Chiếu slide 7:
- Ghi bảng: Ví dụ
2:
Các em hãy đọc
kĩ đề bài và xác định
input, output cho
thầy?
Để xác định được
- Ghi tên bài học vào vở.
- Ghi đề mục vào vở.
- Ghi ví dụ 1 vào vở.
- Input: Xâu a,b là họ tên
của hai người.
- Out put: In ra màn hình
xâu dài hơn.
- Hàm length(s).
- Chú ý theo dõi và ghi bài
vào vở.
- Ghi ví dụ vào vở.
- Input: 2 Xâu a,b.
- OutPut: In ra màn hình
thông báo 2 xâu trùng
nhau hay không.
- Hàm Length(S);
3
?
?
?
?
write(‘Trung nhau’)
else
write(‘Khac nhau’);
End.
Ví dụ 3:
+ Input: Xâu a.
+ OutPut: In ra màn
hình xâu ngược lại của
xâu a.
Begin
K:=length(a);
For i:=k downto 1 do
Write(a[i]);
End.
Ví dụ 4:
+ Input: Xâu a.
+ OutPut: Xâu tạo
được từ xâu a nhưng đã
loại bỏ dấu cách.
Begin
k:=length(a);
b:= ‘’ ; (*khoi tao xau
rong*)
IF a[i]<>’ ’ Then
b:=b+a[i];
kí tự cuối của xâu ta
dùng hàm gì?
- Các bước giải và
chương trình như sau:
Chiếu tiếp slide 7 và
giải thích chương
trình.
- Chiếu slide 8:
- Ghi bảng: Ví dụ
3:
Các em hãy đọc
kĩ đề bài và xác định
input, output cho
thầy?
Để xác định được
xâu ngược lại của xâu
ta phải làm thế nào?
- Các bước giải và
chương trình như sau:
Chiếu tiếp slide 7 và
giải thích chương
trình.
- Chiếu slide 9:
- Ghi bảng: Ví dụ
4:
Các em hãy đọc
kĩ đề bài và xác định
input, output cho
thầy?
Để xóa được các
dấu cách trong xâu ta
phải làm thế nào?
- Các bước giải và
- Chú ý theo dõi máy
chiếu và ghi bài vào vở.
- Ghi ví dụ vào vở.
+ Input: Xâu a.
+ OutPut: In ra màn hình
xâu ngược lại của xâu a.
- Ta duyệt các kí tự từ cuối
xâu lên đầu xâu. Mỗi lần
duyệt ta in ra các kí tự đó.
- Chú ý theo dõi máy
chiếu và ghi bài vào vở.
- Ghi ví dụ vào vở.
- Input: Xâu a.
- OutPut: Xâu tạo được từ
xâu a nhưng đã loại bỏ dấu
cách.
- Ta duyệt các kí tự của
xâu a, Nếu là kí tự trống
thì bỏ qua, còn không thì
lưu lại vào xâu b.
- Chú ý theo dõi máy
chiếu và ghi bài vào vở.
4
?
?
?
?
write(‘Ket Qua:
’,b);
End.
Ví dụ 5:
+ Input: Xâu s1.
+ OutPut: Xâu s2 được
từ xâu s1 bằng cách lấy
các chữ số có trong s1.
Begin
s2:=‘’;{Khoi Tao Xau
Rong}
for i:=1 to
length(s1) do
if
(‘0’=<s1[i]) and
(s1[i]<=‘9’) then
s2:=s2+s1[i];
writeln(‘Ket qua:
’,s2);
End.
chương trình như sau:
Chiếu tiếp slide 7 và
giải thích chương
trình.
- Chiếu slide 10:
- Ghi bảng: Ví dụ
5:
Các em hãy đọc
kĩ đề bài và xác định
input, output cho
thầy?
Các kí tự số là các
kí tự như thế nào?
Hãy nêu thuật
toán để giải bài toán
trên?
- Chiếu slide 11:
Thuật toán giải bài
toán và ví dụ.
Viết chương trình
dựa vào thuật toán
trên?
- Chiếu slide 12:
Chương trình giải bài
toán và giải thích.
- Ghi ví dụ vào vở.
- Input: Xâu s1.
- OutPut: Xâu s2 được từ
xâu s1 bằng cách lấy các
chữ số có trong s1.
- Là các kí tự từ 0->9.
B1. Khởi tạo xâu s2 rỗng;
B2. Lần lượt duyệt qua tất
cả các phần tử của xâu s1
vừa nhập, nếu phần tử
s1[i] thuộc các kí tự từ 0-
>9 thì nạp vào xâu s2.
- Suy nghĩ và viết thuật
toán vào nháp.
- Chú ý theo dõi máy
chiếu và ghi bài vào vở.
IV. CỦNG CỐ VÀ DẶN DÒ:
1. Củng cố: (5’) Chiếu slide 12:
Qua bài học ngày hôm nay các em cần nắm vững những vấn dề sau:
+ Cách khai biến kiểu xâu;
+ Các phép toán, các thủ tục và hàm:
- Thủ tục Delete(st,vt,n);
- Thủ tục Insert(st1,st2,vt);
- Hàm Copy(st,vt,n)
5
?
?
?
?
- Hàm Length(st)
- Hàm Pos(st1,st2)
- Hàm UpCase(ch)
2. Dặn dò:(1’)
- Các em về nhà học bài và giải bài tập số 10 trang 80.
- Làm lại ví dụ 4 nhưng không dùng xâu b mà hãy dùng hàm
Delete(St,vt,n) để xóa các kí trống trong xâu.
- Đọc trước cho thầy bài bài tập và thực hành số 5 trang 73 SGK.
V. RÚT KINH NGHIỆM
6