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â
Trang 1GIÁ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đ)
Trang 2Câ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
Trang 3và 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);
?
?
?
?
Trang 4write(‘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ở
?
?
?
?
Trang 5write(‘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)
?
?
?
?
Trang 6- 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