1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo án tiết 32. Bài 12 - Kiểu xâu

29 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 412,19 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giáo án tiết 32. Bài 12 - Kiểu xâu được biên soạn với các nội dung chính: Mục tiêu, chuẩn bị phương tiện dạy học, phương pháp dạy học, tiến trình tổ chức bài học. Mời các bạn cùng tham khảo tài liệu để hiểu hơn về nội dung bài giáo án.

Trang 1

I Mục tiêu

1 Kiến thức:

- Hiểu và áp dụng được một số thủ tục và hàm thông dụng đối với kiểu xâu

- Có thể cài đặt được một số chương trình đơn giản có sử dụng kiểu xâu

- Phần minh họa với Pascal, học sinh cần nắm được:

o Cách khai báo kiểu xâu

o Ý nghĩa của các phép so sánh, phép ghép xâu

o Ý nghĩa của các hàm chuẩn: length(s), copy(s,vt,n), pos(s1,s2), upcase(ch) Và các thủ tục chuẩn: delete(st,vt,n), insert(s1,s2,vt).

- Thuyết trình thông qua việc trình bày một sản phẩm chung của cả nhóm

3 Tư duy, thái độ:

- Có tinh thần hợp tác, tích cực tham gia bài học

- Rèn tư duy lập trình logic trong quá trình lập trình giải quyết một bài toán trên Pascal

II Chuẩn bị phương tiện dạy học

1 Học sinh: Ôn các kiến thức về kiểu xâu đã được học trong tiết 31.

2 Giáo viên: Phiếu học tập, chương trình Pascal mẫu để giải các bài tập giao cho học sinh thực hiện, bảng phụ,

máy chiếu

Trang 2

- Phương pháp dạy học nêu vấn đề và giải quyết vấn đề.

IV Tiến trình tổ chức bài học

1 Ổn định tổ chức lớp học.

2 Kiểm tra bài cũ thông qua hoạt động “trò chơi khởi động”: (5 phút)

Giáo viên(GV) thực hiện phát cho mỗi nhóm 1 tờ giấy A3 màu trắng, 6 tờ giấy A4 khác màu (mỗi nhóm một màukhác nhau), và bút dạ

GV viết lên bảng chủ đề: “KIỂU XÂU” Yêu cầu học sinh nhớ lại kiến thức về kiểu xâu đã được học trong tiết

31, thư kí của mỗi nhóm viết vào giấy A3 màu trắng tất cả các thông tin mà các thành viên trong nhóm nhớ được

Sau 90 giây, GV yêu cầu các nhóm báo cáo kết quả bằng kĩ thuật XYZ: Lần lượt từng nhóm đọc 1 thông tin mànhóm nhớ được về kiểu xâu, viết to vào giấy màu A4 và dán lên bảng Các nhóm sau không được nêu thông tintrùng với nhóm trước Nhóm nào nêu thông tin trùng hoặc sau 5 giây không nêu thêm được thông tin mới sẽ bịloại

GV tổ chức cho các nhóm báo cáo quay vòng để tìm ra nhóm chiến thắng Sau khi kết thúc trò chơi, cả lớp thuđược một sơ đồ tư duy về các kiến thức liên quan tới kiểu xâu

Dự kiến một sơ đồ tư duy có thể thu được:

Trang 3

Cuối cùng, Giáo viên nhận xét đánh giá hoạt động của các nhóm và cho điểm các nhóm.

Trang 4

- GV sử dụng một bài thơ “Kiểu Xâu” để mở bài:

Array là mảng, string xâu.

Khai báo đã được học chưa lâu

Cứ var mà viết chẳng sai đâu.

Cộng ghép thêm vào xâu hết ngắn.

Lớn nhỏ bằng khác cứ so nhau.

Hàm thời sẵn có length và pos.

Thêm cả copy, upcase hàm.

Delete thủ tục xóa, insert chèn.

Pascal đâu có khô khan nhỉ.

Nếu mà chăm chỉ code vài bài.

Tác giả: Đào Thêm.

- GV: Các em thấy đấy “Pascal đâu có khô khan!” Và để chứng minh điều đó, hôm nay Cô trò mình sẽ tìm hiểu tiếp

phần 3 Một số ví dụ.

Trang 5

Hoạt động của giáo viên Hoạt động của học sinh Nội dung bài học

-GV: Đầu tiên chúng ta sẽ tìm hiểu

ví dụ 1 trang 71 sách giáo khoa

(SGK), GV trình chiếu bằng Turbo

Pascal

-GV nhấn mạnh: cách khai báo biến

xâu, việc nhập giá trị cho một biến

xâu như một biển kiểu đơn giản, và

cách sử dụng hàm length(s) -Học sinh (HS) quan sát vàlắng nghe.

3 Một số ví dụ

Ví dụ 1

Chương trình dưới đây nhập họ tên của haingười vào hai biến xâu và đưa ra màn hìnhxâu dài hơn, nếu bằng nhau thì đưa ra xâunhập sau

var a,b:string;

begin write('Nhap ho ten nguoi thu nhat: ');

Trang 6

-GV test chương trình bằng 2 bộ

test, mỗi lần test GV gọi HS dự

đoán kết quả trước khi chương trình

Pascal in kết quả ra màn hình

+ test1: ‘Bui Minh Phuong’

‘Dao Nhu Phuong’

+ test2: ‘Nguyen Khanh Huyen’

‘Nguyen Thanh Huyen’

-HS quan sát, dự đoán kếtquả

- 2 bộ test+ test1: ‘Bui Minh Phuong’

‘Dao Nhu Phuong’

Kết quả: ‘Bui Minh Phuong’

+ test2: ‘Nguyen Khanh Huyen’

‘Nguyen Thanh Huyen’

Kết quả: ‘Nguyen Thanh Huyen’

Ví dụ 2

Chương trình dưới đây nhập vào hai xâu từbàn phím và kiểm tra kí tự đầu tiên của xâuthứ nhất có trùng với kí tự cuối cùng của xâuthứ hai không

Trang 7

-GV: Qua ví dụ 1 các em đã thấy

được cách thao tác với biến xâu

cũng dễ dàng như các biến kiểu đơn

giản mà các em đã học Và bây giờ

chúng ta cùng tìm hiểu tiếp ví dụ số

2 trang 71 SGK để thấy được cách

tham chiếu tới từng kí tự của một

xâu như thế nào

Trang 8

-HS quan sát, và dự đoánkết quả.

-HS trả lời câu hỏi

-Bộ test:

‘Nguyen Khanh Huyen’

‘Nguyen Thanh Huyen’

-Kết quả: Khong trung

Trang 9

-GV đưa ra câu hỏi: “Các em thấy

cách tham chiếu tới từng kí tự của

xâu giống với cách tham chiếu của

kiểu dữ liệu nào mà các em đã

học?”

-GV nhận xét câu trả lời của HS và

đưa ra đáp án: Cách tham chiếu

từng kí tự của xâu giống như cách

tham chiếu của mảng một chiều, kí

tự thứ i của xâu S được viết: S[i]

-GV thực hiện test chương trình với

-Bộ test:

‘Nguyen Khanh Huyen’

‘Nguyen Thanh HuyeN’

var a,b:string;

begin write('Nhap xau thu nhat: ');

Trang 10

‘Nguyen Khanh Huyen’

‘Nguyen Thanh Huyen’

-GV yêu cầu HS đưa ra dự đoán kết

quả trước khi chương trình thực

hiện in kết quả ra màn hình

-GV đưa câu hỏi: Nếu không sử

dụng biến x mà viết trực tiếp

b[length(b)] thì chương trình có

thực hiện được không?

-GV nhận xét câu trả lời của HS và

đưa ra chương trình Pascal kiểm

-HS quan sát và trả lời

-HS quan sát kết quả

-Kết quả: Trung nhau

Ví dụ 3

Chương trình sau nhập một xâu từ bàn phím

và đưa ra màn hình xâu đó nhưng được viếttheo thứ tự ngược lại

var a:string;i:byte;

begin write('Nhap xau: ');

readln(a);

for i:=length(a) downto 1 do write(a[i]);

readlnend

Trang 11

var a,b:string;

i:byte;

begin write('Nhap xau: ');readln(a);

b:='';

for i:=length(a) downto 1 do

if a[i] <> ' ' then b:=b+ a[i];

write(b);

readln

Trang 12

-GV đưa ra câu trả lời cuối cùng là:

có thể viết trực tiếp b[length(b)] mà

không cần sử dụng thêm biến x

-GV mở rộng kiến thức: trong lập

trình mỗi biến chiếm một chỗ nhất

định trong bộ nhớ, vậy việc tiết

kiệm biến giúp tiết kiệm bộ nhớ

Đồng thời sử dụng biến phù hợp

giúp người lập trình kiểm soát

chương trình của mình tốt hơn

Test lần hai (Sau khi đã sửa lỗi)

Bộ test: ‘a b c d e’;

Kết quả: ’abcde’

var a,b:string;

i:byte;

begin write('Nhap xau: ');readln(a);

b:='';

for i:=1 to length(a) do

if a[i] <> ' ' then b:=b+ a[i];

write(b);

readlnend

Trang 13

-GV trình chiếu ví dụ 3 bằng Pascal.

-GV đưa câu hỏi: Các em thấy cách

sử dụng vòng lặp for – do để duyệt

lần lượt các kí tự của một xâu có

giống với mảng một chiều không?

-HS quan sát bài mẫu

Ví dụ 5

Chương trình sau nhập vào từ bàn phím xâu kí

tự S1, tạo xâu S2 gồm tất cả các chữ số cótrong s1 (giữ nguyên thứ tự xuất hiện củachúng) và đưa kết quả ra màn hình

var a:string;

i:byte;

begin write('Nhap xau: ');

readln(a);

for i:=1 to length(a) do

if a[i] <> ' ' then write(a[i]);

readlnend

Trang 14

-GV thực hiện test chương trình

thu được kết quả: ‘edcba’ ngược với

thứ tự xuất hiện của xâu ban đầu Vậy

kết luận chương trình lỗi Yêu cầu HS

S2:='';

for i:= 1 to length(a) do

if (s1[i] >= '0') and (s1[i]<='9') then S2:=S2+ s1[i];

write(S2);

readlnend

Trang 15

-GV nhận xét câu trả lời của HS, Sửa

lỗi chương trình, và test với bộ số: ‘a

b c d e’

For i:=1 to length(a) do

if a[i] <> ' ' then b:=b+ a[i];

-HS quan sát kết quả

var s1:string;i:byte;

begin write('Nhap xau S1: ');readln(S1);

for i:=1 to length(s1) do

if (a[i] >= '0') and (a[i]<='9') then write(s1[i]);

readlnend

Trang 16

-GV đưa một câu hỏi: Em hãy cải tiến

chương trình bằng cách không sử

dụng thêm biến xâu b mà vẫn in ra

kết quả đúng

-GV nhận xét câu trả lời của HS, chạy

thử chương trình mà HS cải tiến

-GV trình chiếu chương trình mẫu với

bộ test ‘a b c d e’ GV có thể chạy

thủ công trên bảng để giải thích nếu

không có HS nào trả lời đúng

Trang 17

-GV: tương tự ví dụ 4, ví dụ 5 trang

72 SGK yêu cầu tạo một xâu mới từ

xâu đã cho

-GV trình chiếu chương trình trên

Pascal Và yêu cầu HS làm theo cách

không sử dụng biến xâu S2

Trang 18

-GV chỉnh sửa chương trình theo câu

trả lời của HS Cuối cùng GV trình

chiếu chương trình mẫu

Trang 19

-GV tổng kết: qua 5 ví dụ Cô và các

em đã cùng thực hành về khai báo,

tham chiếu, phép ghép xâu, so sánh

xâu, hàm length(s) Sau đây chúng ta

sẽ thực hành thêm một số hàm, thủ

tục xử lý xâu khác thông qua bài tập

trong hoạt động 2

Hoạt động 2: Bài tập áp dụng (17 phút)

Trang 20

-GV yêu cầu HS thực hiện phiếu

Nội dung bài tập:

Bờm rất thích thú với các chương trình đượcviết bằng Pascal Bờm có một ước mơ sẽ tạo

ra một phần mềm soạn thảo văn bản giốngnhư Microsoft word Bờm muốn sử dụngPascal để tạo chức năng tìm kiếm thay thếbằng cách nhập một đoạn văn bản từ bànphím, thay thế tất cả cụm từ ‘anh’ bằng cụm

từ ‘em’ Kết quả in ra màn hình

Bờm đang loay hoay chưa biết làm như thếnào Các em hãy giúp Bờm thực hiện nhé

Trang 21

-GV thông báo dừng hoạt động

nhóm khi hết giờ hoặc tất cả các

nhận xét hoặc đặt câu hỏi

-GV đưa ra kết quả cuối cùng và

trình chiếu chương trình mẫu

-HS dừng hoạt động nhómtheo hiệu lệnh của GV, vàmang sản phẩm lên trưng bày

-Nhóm HS xong sớm nhất cửđại diện lên trình bày sảnphẩm của cả nhóm Các HSkhác chú ý lắng nghe

-HS nhận xét hoặc đặt câu hỏi

-Các bước thực hiện:

Bước 1: nhập xâu SBước 2: Nếu pos(‘anh’,s) = 0 thì in kết quả,

Trang 22

-HS quan sát, lắng nghe

Bước 3: xác định vị trí xuất hiện cụm kí tự

‘anh’, i:= pos(‘anh’,s);

Bước 4: Xóa cụm kí tự ‘anh’ trong S bắt đầu

while pos('anh',s) <> 0 do begin

Trang 24

PHIẾU BÀI TẬP VỀ NHÀ

2 Thực hành:

Bài thực hành 1: Học sinh thực hành 5 ví dụ trong phần 3 trang 71 sách giáo khoa.

Bài thực hành 2: Bờm rất thích thú với các chương trình được viết bằng Pascal Bờm có một ước mơ sẽ tạo ra

một phần mềm soạn thảo giống như Microsoft word Bờm muốn sử dụng Pascal để tạo chức năng tìm kiếm

thay thế bằng cách nhập một đoạn văn bản từ bàn phím, thay thế tất cả cụm từ ‘anh’ bằng cụm từ ‘em’ Kết

quả in ra màn hình Bờm đang loay hoay chưa biết làm như thế nào Em hãy giúp Bờm thực hiện nhé

Bài thực hành 3: Sau khi thử nghiệm thành công chức năng tìm kiếm và thay thế trong một văn bản bằng

chương trình Pascal Bờm muốn tiếp tục tạo chức năng đếm số lượng từ có trong một câu văn bản được nhập

từ bàn phím Biết rằng: cụm kí tự không chứa kí tự phân cách ‘.’ (dấu chấm), ‘,’ (dấu phẩy), ‘ ‘ (dấu cách)

được gọi là một từ Câu là một đoạn kí tự gồm nhiều từ, nếu câu có nhiều từ thì các từ được phân tách nhau

bởi một hoặc một số kí tự phân cách

Ví dụ: theo định nghĩa trên ta có

‘Number’ – câu có 1 từ,

‘The number one’ – câu có 3 từ,

‘One, two, three, four, five, six, seven, eight, nine, ten’ – câu có 10 từ

Em hãy cùng Bờm viết một chương trình Pascal để thử nghiệm chức năng này nhé

Trang 25

Trường THPT Cao Bá Quát – Gia Lâm

Môn: Tin học 11

Bài 12: KIỂU XÂU

PHIẾU HỌC TẬP

1 Hoạt động cá nhân: (2 phút)

- Em hãy trình bày ý tưởng, các bước thực hiện bài tập

- Sau đó trình bày cấu trúc chương trình pascal tương ứng các bước (Có thể trình bày dưới dạng giả mã lệnh)

2 Hoạt động nhóm: (8 phút)

- Cả nhóm thảo luận thống nhất ý kiến và viết kết quả vào bảng A0 theo mẫu sau:

Các bước thực hiện giải bài toán

Cấu trúc chương trình pascal (có thể trình bày dưới dạng giả mã lệnh)

- Nhóm nào hoàn thành trước sẽ được trình bày sản phẩm trước

Trang 27

2 Thực hành:

Bài thực hành 1: Học sinh thực hành 5 ví dụ trong phần 3 trang 71 sách giáo khoa.

Bài thực hành 2: Bờm rất thích thú với các chương trình được viết bằng Pascal Bờm có một ước mơ sẽ tạo ra một

phần mềm soạn thảo giống như Microsoft word Bờm muốn sử dụng Pascal để tạo chức năng tìm kiếm thay thế bằngcách nhập một đoạn văn bản từ bàn phím, thay thế tất cả cụm từ ‘anh’ bằng cụm từ ‘em’ Kết quả in ra màn hình Bờmđang loay hoay chưa biết làm như thế nào Em hãy giúp Bờm thực hiện nhé

Bài thực hành 3: Sau khi thử nghiệm thành công chức năng tìm kiếm và thay thế trong một văn bản bằng chương trình

Pascal Bờm muốn tiếp tục tạo chức năng đếm số lượng từ có trong một câu văn bản được nhập từ bàn phím Biếtrằng: cụm kí tự không chứa kí tự phân cách ‘.’ (dấu chấm), ‘,’ (dấu phẩy), ‘ ‘ (dấu cách) được gọi là một từ Câu làmột đoạn kí tự gồm nhiều từ, nếu câu có nhiều từ thì các từ được phân tách nhau bởi một hoặc một số kí tự phân cách

Ví dụ: theo định nghĩa trên ta có

‘Number’ – câu có 1 từ,

‘The number one’ – câu có 3 từ,

‘One, two, three, four, five, six, seven, eight, nine, ten’ – câu có 10 từ

Em hãy cùng Bờm viết một chương trình Pascal để thử nghiệm chức năng này nhé

Trang 28

Bài thực hành 3 trong phiếu bài tập về nhà

var s:string;

i,dem:byte;

begin write('Nhap xau: '); readln(s);

dem:=1;

for i:=1 to length(s) do

if s[i] = ' ' then dem:= dem + 1;

writeln(dem);

readln end

Ngày đăng: 30/04/2021, 20:56

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w