1.Kiến thức: - Biết được một số kiểu dữ liệu m - TaiLieu.VN

29
Giáo án Tin hc 11 KIU XÂU (TIT 1) I-MC TIÊU: 1.Kiến thc: - Biết được mt skiu dliu mi, biết được khái nim kiu xâu. - Phân biệt được sging và khác nhau gia kiu mng kí tvà kiu xâu kí t. - Biết được cách khai báo biến, nhp xut dliu, tham chiếu đến tng kí tca xâu. - Biết các phép toán liên quan đến xâu. - Biết được tin ích ca các hàm và thtục liên quan đến xâu trong ngôn nglp trình Pascal. - Nắm được cu trúc chung và chức năng của mt shàm và thtục liên quan đến xâu. 2.Knăng: -Khai báo được kiu dliu xâu trong ngôn nglp trình Pascal. Sdng được biến xâu và các phép toán trên xâu để gii quyết một bài toán đơn giản. - Nhn biết và bước đầu sdụng được mt shàm và thtục để gii quyết mt sbài toán. II-ĐỒ DÙNG DY HC:

Transcript of 1.Kiến thức: - Biết được một số kiểu dữ liệu m - TaiLieu.VN

Giáo án Tin học 11

KIỂU XÂU (TIẾT 1)

I-MỤC TIÊU:

1.Kiến thức:

- Biết được một số kiểu dữ liệu mới, biết được khái niệm kiểu xâu.

- Phân biệt được sự giống và khác nhau giữa kiểu mảng kí tự và kiểu xâu kí tự.

- Biết được cách khai báo biến, nhập xuất dự liệu, tham chiếu đến từng kí tự của

xâu.

- Biết các phép toán liên quan đến xâu.

- Biết được tiện í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.

2.Kỹ năng:

-Khai báo được kiểu dữ liệu xâu trong ngôn ngữ lập trình Pascal. Sử dụng

được biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản.

- 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 toán.

II-ĐỒ DÙNG DẠY HỌC:

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector.

-Một số chương trình mẫu viết sẵn để giới thiệu ví dụ

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi.

III-HOẠT ĐỘNG DẠY VÀ HỌC:

1.Hoạt động 1: Tìm hiểu về xâu và cách sử dụng.

a. Mục tiêu:

- Học sinh nắm được ý nghĩa của xâu và một số khái niệm của xâu. Biết cách khai

báo biến xâu, nhập xuất dữ liệu cho biến xâu và tham chiếu đến từng kí tự trong

xâu.

b. Nội dung

- Xâu kí tự là dãy các kí tự trong bảng mã ASCII, mỗi kí tự được gọi là một phần

tử của xâu. Số lượng các kí tự trong xâu được gọi là độ dài xâu. Xâu có độ dài

bằng không là xâu rỗng.

- Khai báo biến kiểu xâu: VAR tên_biến : String[độ_dài_lớn_của_xâu];

- Tham chiếu đến từng phần tử của xâu: tên_biến[chỉ_số]

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

10’ 1. Chiếu tên bài lên bảng

- Chiếu ví dụ: Nhập danh sách họ tên học

sinh của một lớp.

- Yêu cầu: Với bài toán trên, khai báo kiểu

dữ liệu như thế nào?

- Yêu cầu viết đoạn lệnh để xuất nhập dữ liệu

cho từng phần tử?

- Hỏi: Trong trường hợp này, nên khai báo

biến kiểu mảng một chiều trực tiếp hoặc gián

tiếp? Vì sao?

- Dùng mảng một chiều gặp những khó khăn

gì?

- Chúng ta thấy, họ tên của một học sinh khi

nhập phải nhập từng kí tự một, khi đó nhập

cho học sinh một lớp rất mất thời gian. Một

số ngôn ngữ lập trình cung cấp cho kiểu dữ

liệu xâu.

2. Tìm hiểu về kiểu xâu

- Chiếu lên bảng cấu trúc khai báo biến kiểu

xâu

Trong đó String là tên kiểu xâu, và n là độ

- Ghi tên bài và theo dõi ví dụ

để trả lời câu hỏi.

- Sử dụng kiểu mảng một

chiều với kiểu dữ liệu chung

của các phần tử là kiểu kí tự.

- Học sinh viết đoạn lệnh và

một học sinh lên bảng viết.

- Nên khai báo gián tiếp, vì

mỗi họ tên cuỉa mỗi học sinh

là một mảng.

- Dùng mảng một chiều khi

nhập dữ liệu rất dài, dùng

nhiều lệnh lặp.

- Theo dõi ttrên bảng và ghi

bài.

- Theo dõi trên bảng và lắng

dài lớn nhất của xâu.

- Khi khai báo biến kiểu xâu, không có n thì

độ dài tối đa là bao nhiêu? Có phải độ dài là

0 không?

- Chiếu ví dụ lên màn hình: ‘Viet Yen – Bac

Giang’

- Hỏi: Xâu có bao nhiêu kí tự?

- Độ dài của xâu chính là số lượng các kí tự

trong xâu, do đó, kí tự trắng cũng được tính

và chiếm một ô nhớ.

- Xâu chỉ gồm một kí tự trắng thì được viết

như thế nào? Và độ dài là bao nhiêu?

- Xâu rỗng được viết như thế nào? Số lượng

kí tự là bao nhiêu?

- Lấy ví dụ một xâu và xác định số phần tử

của xâu đó.

3. Xuất/nhập dữ liệu cho biến kiểu xâu

- Cách xuất/nhập dữ liệu cho biến mảng một

chiều?

- Chiếu cách nhập dữ liệu cho biến kiểu xâu

nghe.

- Khi khai báo kiểu xâu mà

không có n thì độ dài tối đa

của xâu là 255, số lượng kí tự

tối đa.

- Xâu có 20 kí tự.

- Xâu chỉ gồm một kí tự

trắng, thì được viết ‘ ‘ và độ

dìa là 1.

- Xâu rỗng ‘’, độ dài là 0.

- Lấy ví dụ.

-for i:=1 to n do

readln(hoten[i]);

- write(‘Nhap ho ten:’)

- Yêu cầu: Lấy ví dụ cụ thể?

- Từ ví dụ trên, so sánh 2 cách xuất nhập

trên?

4. Tham chiếu đến một phần tử của xâu

- Hỏi: Cách truy xuất dữ liệu đến một phần tử

của mảng một chiều?

- Chiếu cách truy xuất phần tử của xâu

- Hỏi: So sánh hai cách truy xuất này?

- Yêu cầu học sinh lấy một ví dụ cụ thể.

5. Kiểm tra kiến thức

- Chiếu một chương trình đơn giản có sử

dụng khai báo biến kiểu xâu và tham chiếu

đến các phần tử của xâu.

- readln(hoten);

Kiểu mảng một chiều phải

nhập từng kí tự của họ tên,

còn kiểu xâu nhập một lần

được họ tên đầy đủ .

- tên_biến[chỉ_số]

- Giống nhau.

- hoten[2];

2. Hoạt động 2: Tìm hiểu các phép toán liên quan đến xâu

a. Mục tiêu

- Học sinh biết được các phép toán liên quan đến xâu. Diễn đạt được các phép

toán đó trong ngôn ngữ lapạ trình Pascal.

b. Nội dung:

- Phép ghép xâu:

+ Kí hiệu: +

+ ý nghĩa: Sử dụng để ghép nhiều xâu thành một xâu.

- Các phép so sánh: =, <>, <, >, <=, >=, dùng để thực hiện việc so sánh hai xâu.

Xâu A được xem là lớn hơn xâu B, nếu kí tự khác nhau đầu tiên giữa chúng kể từ

trái qua phải trong xâu A có mã ASCII lớn hơn . Nếu A, B là các xâu có độ dài

khác nhau, A là đoạn đầu của B thì A nhỏ hơn B.

c. Các bước tiến hành.

TG Hoạt động của GV Hoạt động của HS

10’ 1. Nhắc lại các phép toán đã học

- Hỏi: Nhắc lại các phép toán đã học trên

các kiểu dữ liệu chuẩn?

2. Tìm hiểu chức năng của một số phép

toán qua một số ví dụ.

- Chiếu chương trình ví dụ

Var st : String[30];

Begin

st:=’Viet ’+’Yen’;

write(st);

end.

- Hỏi: Chương trình cho kết quả in ra màn

hình?

- Chú ý theo dõi và suy nghĩ trả

lời câu hỏi.

- Cho kết quả trên màn hình là

- Thực hiện chương trình để học sinh thấy

kết quả.

- yêu cầu học sinh tìm một số ví dụ khác.

- Hỏi: Từ ví dụ, hãy cho biết chức năng

của phép cộng xâu?

- Chiếu một số ví dụ khác và yêu cầu học

sinh cho biết kết quả.

- Giới thiệu và chiếu ví dụ về phép so

sánh xâu.

Var st1,st2:String[50];

ktra:Boolean;

Program vidu2;

Begin

st1:='lop 10 A;

st2:= 'lop 10 B';

ktra:=st1<st2;

write(ktra);

End.

- Hỏi: Kết quả của chương trình in ra màn

hình?

xâu: Viet Yen

- Lấy một số ví dụ.

- Chức năng: Cộng nhiều xâu

thành một xâu.

- Học sinh tự lấy ví dụ khác.

- Chú ý quan sát và lắng nghe để

trả lời câu hỏi.

- Kết quả là True.

- Thực hiện chương trình để học sinh thấy

kết quả.

- Còn phép toán so sánh nào nữa đã học?

- Chiếu các ví dụ về các phép so sánh và

yêu cầu học sinh cho biết kết quả.

* Lưu ý: Xâu A được xem là lớn hơn xâu

B, nếu kí tự khác nhau đầu tiên giữa

chúng kể từ trái qua phải trong xâu A có

mã ASCII lớn hơn . Nếu A, B là các xâu

có độ dài khác nhau, A là đoạn đầu của B

thì A nhỏ hơn B. Vì vậy, có thể một xâu

có độ dài lớn nhưng bé hơn xâu có độ dài

ngắn. Đưa ra ví dụ và thực hiện để học

sinh thấy rõ.

- Theo dõi kết quả.

- Có các phép so sánh: <>, <, >,

<=, >=, =

- Theo dõi và trả lời.

3. Hoạt động 3:

a. Mục tiêu:- Tìm hiểu về một số hàm và thủ tục chuẩn liên quan đến xâu. Nắm

được cấu trúc chung, hiểu được các tham số của hàm và thủ tục trong xâu.

- Biết được chức năng của hàm và thủ tục chuẩn.

b. Nội dung: - Thủ tục Delete(st,vt,n), thực hiện việc xoá đi trong xâu st n kí tự kể

từ vị trí vt.

- Hàm copy(st,vt,n), cho giá trị là một xâu kí tự được lấy trong xâu st, lấy n kí tự từ

vị trí vt.

- Hàm Length(st), cho giá trị là số lượng kí tự trong xâu st (độ dài của xâu).

- Hàm Pos(st1,st2) cho giá trị là vị trí xuất hiện đầu tiên của xâu st1 trong xâu st2.

- Hàm Upcase(ch), cho kí tự hoa tương ứng của kí tự ch.

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

15’ 1. Giới thiệu cấu trúc chung của thủ tục Delete.

- Chiếu lên màn hình cấu trúc chung của thủ tục

Delete.

Thủ tục Delete(st,vt,n), thực hiện việc xoá đi trong

xâu st n kí tự kể từ vị trí vt.

- Chiếu ví dụ:

Var st:String[20];

Begin st:= 'Lop 10A chung minh';

writeln('xau truoc khi xoa la: ',st);

Delete(st,8,9);

writeln('xau sau khi xoa la: ',st); readln;

End.

- Hỏi: Kết quả đưa ra màn hình?

- Thực hiện chương trình để học sinh quan sát.

2. Giới thiệu cấu trúc chung của hàm Coppy.

- Chú ý quan sát và

suy nghĩ để trả lời

câu hỏi.

- Ghi bài vào vở và

suy nghĩ.

- kết quả đưa ra màn

hình :

xau truoc khi xoa la:

Lop 10A chung minh

xau sau khi xoa la:

Lop 10A.

- Chiếu lên cấu trúc chung của hàm Coppy:

Hàm copy(st,vt,n), cho giá trị là một xâu kí tự được

lấy trong xâu st, lấy n kí tự từ vị trí vt.

- Chiếu ví dụ:

Var st1, st2:String[20];

Begin st1:= 'Lop 10A chung minh';

writeln('xau ban dau khi xoa la: ',st1);

st2:=coppy(st1,1,7); writeln('xau sao chep la: ',st2);

readln;

End.

- Hỏi: Kết quả đưa ra màn hình?

- Thực hiện chương trình để học sinh quan sát.

3. Giới thiệu hàm length.

- Chiếu cấu trúc chung của hàm length:

Hàm Length(st), cho giá trị là số lượng kí tự trong

xâu st (độ dài của xâu).

Var st1, st2:String[20];

Begin st:= 'Lop 10A chung minh';

writeln(length(st)); readln;

- Chú ý theo dõi, ghi

bài và suy nghĩ để trả

lời câu hỏi.

- Kết quả: trên màn

hình:

xau ban dau la: Lop

10A chung minh

xau sao chep la: Lop

10A.

- Chú ý theo dõi và

suy nghĩ trả lời câu

hỏi.

End.

- Hỏi: Kết quả đưa ra màn hình?

- Thực hiện chương trình để học sinh quan sát.

4. Giới thiệu hàm Pos

- Chiếu cấu trúc chung của hàm Pos:

Hàm Pos(st1,st2) cho giá trị là vị trí xuất hiện đầu

tiên của xâu st1 trong xâu st2.

- chiếu ví dụ:

Var st:String[20]; vt:byte;

Begin

st:= 'Lop 10A chung minh'; vt:=Pos('Lop 10', st);

writeln(vt)); readln;

End.

- Hỏi: Kết quả đưa ra màn hình?

- Thực hiện chương trình để học sinh quan sát.

5. Giới thiệu hàm Upcase

- Chiếu cấu trúc chung của hàm Upcase:

- Hàm Upcase(ch), cho kí tự hoa tương ứng của kí tự

ch.

- Kết quả: 17

- Chú ý theo dõi và

suy nghĩ trả lời câu

hỏi.

- Kết quả: 1

- Chú ý theo dõi và

suy nghĩ trả lời câu

hỏi.

--chiếu ví dụ:

Var st:String[20]; 1:byte;

Begin

st:= 'Lop 10A chung minh';

For i:=1 to length(st) Do st[i]:=Upcase(st[i]);

writeln(vt)); readln;

End.

- Hỏi: Kết quả đưa ra màn hình?

- Thực hiện chương trình để học sinh quan sát.

6. Giới thiệu thủ tục Insert

- Chiếu cấu trúc chung của thủ tục Insert

- Hàm Insert(st1,st1,vt), thực hiện việc chèn xâu st1

và xâu st2 tại vị trí vt.

--chiếu ví dụ:

Var st1, st2:String[20];

Begin

st2:= 'Lop 10A chung minh'; st1:=' thpt Viet Yen1';

Insert(st1,st2,8); writeln(st1)); readln;

End.

- Kết quả đưa ra màn

hình:

LOP 10A CHUNG

MINH

- theo dõi, ghi bài và

suy nghĩ để trả lời

câu hỏi.

- In ra màn hình xâu:

- Hỏi: Kết quả đưa ra màn hình?

- Thực hiện chương trình để học sinh quan sát.

Lop 10A chung minh

thpt Viet Yen1

IV. Đánh giá cuối bài (5’)

1. Nội dung đã học: Cách khai báo biến kiểu xâu, tham chiếu phần tử kiểu xâu và

một số hàm, thủ tục.

2. Câu hỏi và bài tập về nhà: Xem phần lý thuyết và làm bài tập sgk và sbt.

KIỂU XÂU (TIẾT 2)

I-MỤC TIÊU:

1.Kiến thức:

- Bước đầu sử dụng được kiểu dữ liệu xâu, cách khai báo

- Nắm được một số thủ tục và hàm liên quan đến xâu và áp dụng giải quyết các bài

toán đơn giản.

2.Kỹ năng:

- Khai báo được kiểu dữ liệu xâu trong ngôn ngữ lập trình Pascal. Sử dụng được

biến xâu và các phép toán, các hàm và thủ tục trên xâu để giải quyết một bài toán

đơn giản.

II-ĐỒ DÙNG DẠY HỌC:

1.Chuẩn bị của giáo viên:

- Phòng máy tính thực hành.

- Một số chương trình mẫu viết sẵn để giới thiệu ví dụ

2.Chuẩn bị của học sinh:

- Sách giáo khoa, vở ghi.

III-HOẠT ĐỘNG DẠY VÀ HỌC:

1. Hoạt động 1: Kiểm tra 15 phút:

a. Mục tiêu: Đánh giá mức độ hiểu và vận dụng kiểu mảng vào giải quyết bài toán .

b. Nội dung: Viết chương trình nhập vào các giá trị mảng hai chiều gồm N dòng

và M cột (N, M nhập từ bàn phím) các số nguyên. Tìm và đưa ra màn hình số nhỏ

nhất trong mảng?

2.Hoạt động 2: Rèn luyện kỹ năng khai báo biến kiểu xâu và một số hàm và

thủ tục so sánh trong xâu

a. Mục tiêu: Học sinh nắm được ý nghĩa và cấu trúc chung của phép so sánh và sử

dụng để giải quyết bài toán.

b. Nội dung: bài toán nhập vào họ tên của hai người và đưa xâu dài hơn. Nếu

bằng nhau thì đưa ra xâu nhập sau.

c. Các bước tiến hành

TG Hoạt động của giáo viên Hoạt động của HS

10’ - Để lưu họ tên của hai người, cần

dùng biến gì?

- Có thể dùng biến mảng một chiều

không?

- Yêu cầu 2 học sinh lên giải quyết

bài toán bằng hai cách: Dùng biến

mảng và dùng biến kiểu xâu.

- Yêu cầu hs theo dõi hai cách giải

quyết bài toán và rút ra nhận xét và

cách dùng biến kiểu mảng 1 chiều và

biến kiểu xâu, nhận xét cách nhập và

- Có thể dùng biến mảng một chiều

được.

- Hai hs lên bảng viết hai chương trình

theo hai cách khác nhau.

- HS trả lời

xuất của hai biến này?

- GV cho 1 học sinh lên viết chương

trình trực tiếp trên máy bằng cách

dùng biến kiểu xâu. Rồi GV chạy hai

chương trình để HS thấy được rõ sự

khác nhau khi dùng biến kiểu xâu và

biến kiểu mảng.

- Theo dõi trên màn hình hai chương

trình thực hiện như thế nào để đưa ra

nhận xét

3. Hoạt động 3: Rèn luyện kỹ năng khai báo biến và kỹ năng sử dụng hàm

length, cách truy nhập các phần tử của xâu.

a. Mục tiêu: Học sinh nắm được ý nghĩa và cấu trúc chung của hàm length và sử

dụng để giải quyết bài toán. Biết các truy nhập các phần tử của xâu.

b. Nội dung:

Ví dụ 2: Nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu này có

trùng với kí tự cuối cùng của xâu kia không.

Ví dụ 3: Nhập xâu từ bàn phím và đưa ra màn hình xâu đó nhưng được viết

theo thứ tự ngược lại.

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

10’ - Chiếu nội dung ví dụ 2 và

ví dụ 3.

- Hỏi: Để so sánh được kí tự

đầu tiên và kí tự đầu tiên,

thao tác như thế nào?

- Yêu cầu hs viết chương

trình trên máy và chạy

chương trình đó.

- Yêu cầu 1 học sinh viết

chương trình lên bảng để cả

lớp theo dõi và nhận xét.

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

để hs tham khảo và tự rút ra

kinh nghiệm viết chương

trình.

- Để so sánh kí tự thứ nhất và kí tự cuối cùng,

tham chiếu đến hai phần tử này và so sánh,

nếu bằng nhau thì đưa ra thông báo ‘hai kí tự

trùng nhau’, ngược lại thông báo hai kí tự

không trùng nhau’.

- hs viết chương trình trên máy và chạy

chương trình.

- theo dõi chương trình của bạn và so sánh với

chương trình của mình, rút ra nhận xét.

- Theo dõi bài mẫu của GV và hoàn thiện

chương trình.

4. Hoạt động 4: Rèn luyện kỹ năng vận dụng kiểu xâu, phép ghép xâu và các

hàm, thủ tục tác động đến xâu để giải quyết bài toán.

a. Mục tiêu: Học sinh vận dụng được hàm length và các thủ tục, Delete, copy.

b. Nội dung:

- Ví dụ 4: Nhập một xâu từ bàn phím và đưa ra màn hình xâu thu được từ nó bởi

việcloại bỏ kí tự trắng.

- Ví dụ 5: Nhập vào từ bàn phím một xâu s1, tạo xâu s2 gồm tất cả các chữ số có

trong xâu s1 (Giữ nguyên thứ tự) và đưa ra màn hình.

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

10’ - Chiếu nội dung ví dụ 4 và

ví dụ 5.

- Hỏi: Để xoá được kí tự

trắng trong xâu, cần dung

thủ tục nào?

Làm thế nào để xoá hết các

kí tự trắng?

- Xoá tại ví trí nào, và xoá

bao nhiêu kí tự?

- Yêu cầu hs viết chương

trình trên máy và chạy

chương trình đó.

- Yêu cầu 1 học sinh viết

chương trình lên bảng để cả

- Để xoá được kí tự trắng trong xâu, dùng thủ

tục Delete.

- Duyệt tất cả các phần tử, so sánh phần tử đó

với kí tự trắng, nếu là kí tự trắng thì dùng thủ

tục Delete để xoá.

- Xoá tại vị trí i, mà s[i]=’ ‘, xoá 1 kí tự.

- hs viết chương trình trên máy và chạy

chương trình.

lớp theo dõi và nhận xét.

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

để hs tham khảo và tự rút ra

kinh nghiệm viết chương

trình.

- theo dõi chương trình của bạn và so sánh với

chương trình của mình, rút ra nhận xét.

- Theo dõi bài mẫu của GV và hoàn thiện

chương trình.

IV. Đánh giá cuối bài (2’)

1. Nội dung đã học: Cách khai báo biến kiểu xâu, tham chiếu phần tử kiểu xâu và

một số hàm, thủ tục.

2. Câu hỏi và bài tập về nhà: Xem phần lý thuyết và làm bài tập sgk và sbt.

BÀI TẬP VÀ THỰC HÀNH 5 (TIẾT 1)

I. Mục tiêu

1. Kiến thức:

- 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.

- Hiểu và vận dụng một số thuật toán cơ bản : Tạo một xâu mới, đếm số lần suất

hiện của một kí tự…

2. Kỹ năng

- Khai báo biến xâu

- Nhập, xuất cho giá trị biến xâu

- Duyệt qua tất cả các kí tự trong 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 và sáng tạo trong thực hành.

II. Đồ dùng dạy học

1. Chuẩn bị của giáo viên

- Phòng máy vi tính, máy chiếu Projector

2. Chuẩn bị của học sinh:

Sgk, kiến thức đã học

III. Hoạt động dạy - học

1. Hoạt động 1: Tìm hiểu một chương trình, đề xuất phương án để học sinh có

được kĩ năng làm việc với kiểu xâu.

a. Mục tiêu:

- Học sinh biết và hiểu được chương trình, tính được kết quả của chương trình.

Biết đề xuất phương án cảI tiến.

b. Nội dung:

- Nhập một xâu, kiểm tra xem có phải là xâu Palindrome hay không?>

Chương trình minh họa sgk - tr.73

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

20’ 1. Tìm hiểu đề bài

- Giới thiệu đầu bài lên màn hình chiếu.

- Diễn giải: Xâu Palindrome là xâu mà

đọc từ trái qua phải cũng được kết quả

giống như đọc từ phải qua trái.

- Yêu cầu HS lấy hai ví dụ về xâu

Palindrome?

2. Tìm hiểu chương trình gợi ý

- Chiếu chương trình lên màn hình.

- Theo dõi và nghiên cứu đàu bài.

- Lấy hai ví dụ về xâu palindrome:

abcdcba; 1234321;

- Theo dõi chương trình trên màn

hình

-Hỏi: Chương trình có chức năng gì?

cho kết quả là gì?

- Thực hiện chương trình để kiểm

nghiệm suy luận của hs.

3. Cải tiến chương trình

- Nêu yêu cầu mới: Viết lại chương

trình mà không sử dụng biến trung gian

p.

- Yêu cầu: Nhận xét về các cặp đối

xứng nhau trong xâu Palindrome?

- Hỏi: Kí tự thứ i đối xứng với kí tự ở vị

trí nào trong xâu?

- Hỏi: Cần phải so sánh bao nhiêu cặơp

kí tự trong xâu để biết xâu đó có là xâu

Palindrome?

- Yêu câu: Dùng cấu trúc lặp nào để so

sánh?

- Yêu cầu hs viết chương trình hoàn

chỉnh

- Yêu cầu hs nhập dữ liệu cho sẵn của

gv và thông báo kết quả.

- Trả lời

- Thực hiện trên máy và kiểm

nghiệm suy luận của mình.

- Chú ý theo dõi yêu cầu mới và

suy nghĩ trả lời

- Các kí tự này giống nhau.

- Kí tự thứ i đối xứng vứi kí tự thứ

length() – i+1

- so sánh tối đa length() div 2 cặp

kí tự trong xâu

- Có thể dùng cấu trúc lặp For

hoặc While.

- Viết chương trình trên máy

- Thông báo kết qủa

2. Hoạt động 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 bài toán và áp dụng kiểu dữ liệu xâu

b. Nội dung:

- Nhập một xâu kí tự S, đưa a thông báo số lần xuất hiện trong S của mỗi chữ cái

tiếng Anh (không phân biệt chữ hoa chữ thường)

Chương trình minh họa sgk - tr.73

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

20’ 1. Tìm hiểu đề bài

- Giới thiệu đầu bài lên màn hình

chiếu. Nêu mục đích của bài toán

- Chia lớp thành nhiều nhóm,

mỗi nhóm 2 học sinh 1 máy tính.

- Nêu dữ liệu vào, dữ liệu ra của

bài toán?

- Nêu nhiệm vụ chính để giải

quyết bài toán?

2. Yêu cầu học sinh viết chương

trình trên máy đã được giao.

- Yêu cầu học sinh lập trình xong

- Theo dõi và nghiên cứu đàu bài.

- Xác định dữ liệu vào và ra.

Học sinh trả lời:

- Thực hiện viết chương trình trên máy

tính.

sớm tìm một số bộ test.

- Yêu cầu học sinh nhập dữ liệu

vào theo bộ test của giáo viên đã

chọn và thông báo lên kết quả

khi thực hiện chương trình.

- Xác nhận chương trình viết

ađúng, sai.

- Thự hiện bộ test tự đề xuất

- Test theo bộ test của giáo viên.

- Thông báo kết quả và sửa lại chương

trình cho hoàn chỉnh.

IV. Đánh giá cuối bài (5’)

1, Những kiến thức đã học

- Một số thuật toán đơn giản liên quan đến xâu kí tự. Kiểm tra một xâu đối xứng,

tìm tần xuất xuất hiện của các kí tự có trong xâu.

2. Bài tập về nhà: Bài tập sgk và sbt.

BÀI TẬP VÀ THỰC HÀNH 5 (TIẾT 2)

I. Mục tiêu

1. Kiến thức:

- 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.

- Hiểu và vận dụng một số thuật toán cơ bản : Tạo một xâu mới, đếm số lần suất

hiện của một kí tự.

2. Kỹ năng

- Khai báo biến xâu

- Nhập, xuất cho giá trị biến xâu

- Duyệt qua tất cả các kí tự trong 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 và sáng tạo trong thực hành.

II. Đồ dùng dạy học

1. Chuẩn bị của giáo viên

- Phòng máy vi tính, máy chiếu Projector

2. Chuẩn bị của học sinh:

Sgk, kiến thức đã học

III. Hoạt động dạy - học

1. Hoạt động 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 bài toán và áp dụng kiểu dữ liệu xâu , sử dụng một số

hàm và thủ tục chuẩn liên quan đến xâu.

b. Nội dung:

- 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”

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

20’ 1. Tìm hiểu đề bài

- Giới thiệu đầu bài lên màn hình

chiếu. Nêu mục đích của bài toán

- Chia lớp thành nhiều nhóm,

mỗi nhóm 2 học sinh 1 máy tính.

- Nêu dữ liệu vào, dữ liệu ra của

bài toán?

- Nêu nhiệm vụ chính để giải

quyết bài toán?

2. Yêu cầu học sinh viết chương

- Theo dõi và nghiên cứu đàu bài.

- Xác định dữ liệu vào và ra.

Học sinh trả lời:

- Thực hiện viết chương trình trên máy

trình trên máy đã được giao.

- Yêu cầu học sinh lập trình xong

sớm tìm một số bộ test.

- Yêu cầu học sinh nhập dữ liệu

vào theo bộ test của giáo viên đã

chọn và thông báo lên kết quả

khi thực hiện chương trình.

- Xác nhận chương trình viết

ađúng, sai.

tính.

- Thự hiện bộ test tự đề xuất

- Test theo bộ test của giáo viên.

- Thông báo kết quả và sửa lại chương

trình cho hoàn chỉnh.

2. Hoạt động 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 bài toán và áp dụng kiểu dữ liệu xâu , sử dụng một số

hàm và thủ tục chuẩn liên quan đến xâu.

b. Nội dung:

- Nhập vào từ bàn phím một xâu. Đếm và đưa ra ầmn hình số lần xuất hiện của các

chữ số trong xâu?

c. Các bước tiến hành

TG Hoạt động của GV Hoạt động của HS

20’ 1. Tìm hiểu đề bài

- Giới thiệu đầu bài lên màn hình

chiếu. Nêu mục đích của bài toán

- Chia lớp thành nhiều nhóm,

mỗi nhóm 2 học sinh 1 máy tính.

- Nêu dữ liệu vào, dữ liệu ra của

bài toán?

- Nêu nhiệm vụ chính để giải

quyết bài toán?

2. Yêu cầu học sinh viết chương

trình trên máy đã được giao.

- Yêu cầu học sinh lập trình xong

sớm tìm một số bộ test.

- Yêu cầu học sinh nhập dữ liệu

vào theo bộ test của giáo viên đã

chọn và thông báo lên kết quả

khi thực hiện chương trình.

- Xác nhận chương trình viết

ađúng, sai.

- Theo dõi và nghiên cứu đàu bài.

- Xác định dữ liệu vào và ra.

Học sinh trả lời:

- Thực hiện viết chương trình trên máy

tính.

- Thự hiện bộ test tự đề xuất

- Test theo bộ test của giáo viên.

- Thông báo kết quả và sửa lại chương

trình cho hoàn chỉnh.

IV. Đánh giá cuối bài (5’)

1, Những kiến thức đã học

- Một số thuật toán đơn giản liên quan đến xâu kí tự. Tham chiếu đến các phần tử

của xâu, so sánh và dùng thủ tục chuẩn.

2. Bài tập về nhà: Bài tập sgk và sbt.