Ngày soạn: 04/03/2019
Ngày giảng:07/03/2019
Tiết 33:
BÀI TẬP VÀ THỰC HÀNH 5
Người soạn: Nguyễn Thị Thu Dịu
GVHD: Bùi Thị Thu Huyền
I. Mục đích, u cầu:
1. Kiến thức:
- Làm quen với việc tìm kiếm, thay thế và biến đổi xâu.
- Khắc sâu thêm phần kiến thức về lí thuyết kiểu xâu kí tự, đặc biệt là các hàm và thủ tục
liên quan.
- Nắm được một số thuật toán cơ bản: tạo xâu mới, đếm số lần xuất hiện một kí tự trong
xâu, cách thức thay thế cụm từ này bằng cụm từ khác…
2. Kỹ năng:
- Khai báo biến kiểu xâu.
- Nhập, xuất giá trị cho biến xâu.
- Duyệt qua tất cả các kí tự của xâu.
- Sử dụng được các hàm và thủ tục chuẩn.
3. Thái độ:
- Tích cực, chủ động trong thực hành.
II. Đồ dùng dạy học
1. Chuẩn bị của giáo viên
- Sách giáo khoa, các chương trình chạy trong mơi trường Pascal để giải quyết các bài toán
đưa ra trong tiết thực hành.
- Tổ chức trong phòng máy để học sinh có được kĩ năng cơ bản khi làm việc với kiểu xâu.
2. Chuẩn bị của học sinh
- Sách giáo khoa, sách bài tập
- Bài tập ở nhà.
III. Hoạt động dạy học
1. Hoạt động 1: Giải quyết bài toán 1-Rèn luyện kỹ năng lập trình
a. Mục tiêu:
- Học sinh biết phân tích u cầu bài tốn để viết một chương trình hoàn chỉnh.
- Rèn luyện cho học sinh khả năng tư duy và kỹ năng lập trình bằng ngơn ngữ lập trình
Pascal.
b. Nội dung:
Bài tốn 1: Viết chương trình nhập từ bàn phím một xâu kí tự S và thơng báo ra màn
hình số lần xuất hiện của mỗi chữ cái tiếng anh trong S (không phân biệt chữ hoa hay
chữ thường).
Chương trình:
Program baitap2;
Var st: string[20];
ch: char;
i, dem: integer;
Begin
Write(‘Nhap xau ki tu’);
Readln(st);
For ch:= ‘A’ To ‘Z’ Do
Begin
Dem:= 0;
For i:= 1 To length(st) Do
If upcase(st[i]) = ch Then dem:=dem + 1;
If dem > 0 Then write(‘so lan xuat hien ki tu ’,ch,’ la ’,dem)
Else write(‘khong co chu cai tieng anh trong xau st’);
End;
Readln;
End.
2. Hoạt động 2: Giải quyết bài toán 2-Rèn luyện kỹ năng lập trình.
a. Mục tiêu:
- Học sinh biết phân tích u cầu bài tốn để viết một chương trình hồn chỉnh.
- Rèn luyện cho học sinh khả năng tư duy và kỹ năng lập trình bằng ngơn ngữ lập trình
Pascal.
b. Nội dung:
Bài tốn 2: Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự ‘anh’ bằng cụm
kí tự ‘em’.
Chương trình:
Program baitap3;
Var s, s1, s2: string;
i: integer;
Begin
Write(‘nhap mot xau ’);
Readln(s) ;
S1:= ‘anh’;
S2:= ‘em’;
While pos(s1, s) <> 0 Do
Begin
I:= pos(s1, s);
Delete(s, I, 3);
Insert(s2, s, i);
End;
Write(‘xau sau khi thay the’,s);
Readln;
End.
3. Các bước tiến hành
TG Nội dung ghi bảng
Hoạt động của Giáo viên
Hoạt động của Học sinh
Hoạt động 1: Giải quyết bài toán 1-Rèn luyện kỹ năng lập trình
I. Bài tốn 1
Nêu nội dung đề bài.
Chú ý nghe giảng
1. Xác định bài toán
Hỏi: Dữ liệu vào, dữ liệu Suy nghĩ trả lời câu
ra của bài toán?
hỏi.
Input: Một xâu S.
Output: Dãy các số ứng Ví dụ:
S:= ‘cham chi’;
với sự xuất hiện của
mỗi loại kí tự trong xâu Kết quả xuất hiện của các kí
tự trong xâu S:
a: 1 c: 2
h: 2
i: 1
m: 1
2. Ý tưởng bài toán
Hỏi: Em hãy nêu ý tưởng Suy nghĩ trả lời:
để giải quyết bài tốn?
Bắt đầu từ kí tự đầu đến
kí tự cuối xâu, kiểm tra
xem kí tự đó xuất hiện
mấy lần.
Hỏi: Em hãy nêu các
3. Thuật toán
Suy nghĩ trả lời:
bước thực hiện?
B1: Nhập xâu S;
B2: ch:= ‘A’; i:=1;
dem:=0;
B3: Nếu ch>‘Z’ thì kết
thúc.
B4: Nếu S[i]= ‘ch’ thì
dem := dem+1;
B5: i:= i+1;
B6: Nếu i <= length(S)
thì quay lại B4, ngược lại
thơng báo dem; i:=1;
dem:= 0;
B6: Tăng ch lên một kí
Yêu
cầu
cả
lớp
viết
4. Viết chương trình
tự, quay lại B4;
chương trình đầy đủ dựa
vào các bước đã nêu trên.
Chạy chương trình bằng
ngơn ngữ Pascal.
Hoạt động 2: Giải quyết bài toán 2-Rèn luyện kỹ năng lập trình
II. Bài tốn 2
Nêu nội dung đề bài
Chú ý nghe giảng
1. Xác định bài toán
Hỏi: Dữ liệu vào, dữ liệu Học sinh suy nghĩ trả
Input: Một xâu S
Output: Xâu sau khi
thay thế cum từ ’anh’
bằng cụm từ ’em’.
2. Ý tưởng bài toán
3. Dàn ý chương trình
4. Viết chương trình
ra của bài tốn?
Ví dụ:
Cho xâu:
S:=’Ngọc anh la anh cua toi’
Kết quả:
S=’Ngoc em la em cua toi’
Hỏi: Em hãy nêu ý tưởng
để giải quyết bài toán
trên?
Hỏi: Em hãy đưa ra dàn ý
chương trình?
Yêu cầu cả lớp viết
chương trình đầy đủ dựa
vào các bước đã nêu trên
Chạy chương trình bằng
ngơn ngữ Pascal.
lời.
Học sinh suy nghĩ trả
lời:
Tìm trong xâu S, từ trái
qua phải vị trí cụm từ
’anh’ và thay thế cụm từ
’anh’ bằng cụm từ ’em’
dựa vào vị trí tìm được.
Học sinh suy nghĩ trả
lời:
{Phần khai báo}
Begin
{Chừng nào còn tìm thấy
xâu con ’anh’ trong xâu
S cịn làm ba việc sau:
- Tìm vị trí bắt đầu của
xâu ’anh’;
- Xóa xâu ’anh’ vừa tím
thấy;
- Chèn xâu ’em’ vào xâu
S tại vị trí trước đây xuất
hiện xâu ’anh’}.
{In kết quả xâu S}
End.
IV. Đánh giá cuối bài
1. Những nội dung đã học
o Một số thuật tốn đơn giản liên quan đến xâu kí tự: đếm số lần xuất hiện của mỗi
kí tự trong xâu, thay thế cụm từ này bằng cụm từ khác trong xâu.
2. Bài tập về nhà
o Hoàn thành các bài tập trong tiết này vào vở.
o Đọc trước nội dung kiểu bản ghi.
V. Rút kinh nghiệm
....................................................................................................................................................
....................................................................................................................................................
..............................................................................................................................................
Phê duyệt của GVHD
Bùi Thị Thu Huyền