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.. Hoạt động 1: Giải quyết bài toán 1-Rèn luy
Trang 1Tên bài:
BÀI TẬP VÀ THỰC HÀNH 5
Tiết: ………
Ngày: ……… Phòng: ………
I Mục đích, yê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 Đồ dung 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 yêu cầu bài toá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:
Trang 2• Bài toá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 yêu cầu bài toá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 toá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) ;
Trang 3S1:= ‘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 toán 1
1 Xác định bài toán
• Input: Một xâu S
• Output: Dãy các số ứng
với sự xuất hiện của
mỗi loại kí tự trong xâu
2 Ý tưởng bài toán
3 Thuật toán
• Nêu nội dung đề bài
• Hỏi: Dữ liệu vào, dữ liệu
ra của bài toán?
• Ví dụ:
S:= ‘cham chi’;
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
• Hỏi: Em hãy nêu ý tưởng
để giải quyết bài toán?
• Hỏi: Em hãy nêu các
bước thực hiện?
• Chú ý nghe giảng
• Suy nghĩ trả lời câu hỏi
• Suy nghĩ trả lời: 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
• Suy nghĩ trả lời:
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;
Trang 44 Viết 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
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í
tự, quay lại B4;
• 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 toán 2
1 Xác định bài toán
• 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
• Nêu nội dung đề bài
• Hỏi: Dữ liệu vào, dữ liệu
ra của bài toá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?
• Chú ý nghe giảng
• Học sinh suy nghĩ trả 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’;
Trang 54 Viết 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
- 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 toá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