Tải bản đầy đủ (.doc) (19 trang)

chương 5 và 6

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (209.75 KB, 19 trang )

Tr ng THPT Cao Bá Quátườ Giáo án tin h c 11ọ
Tiết 30
Bài 12 KIỂU XÂU
I. Mục đích, yêu cầu
- Biết xâu là một dãy kí tự (có thể coi xâu là mảng một chiều).
- Biết cách khai báo xâu, truy cập phần tử của xâu.
- Nhận biết và bước đầu sử dụng được một số thủ tục, hàm thông dụng về xâu.
II. Phương tiện dạy học
- Máy chiếu Projector.
- Nếu không có máy, GV có thể chuẩn bị các ví dụ minh họa trên khổ giấy lớn.
III. Hoạt động dạy – học
1. Ổn định lớp
2. Kiểm tra bài cũ: Không kiểm tra bài cũ.
3. Tiến trình tiết dạy:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HS
- Đặt vấn đề:
+ Trình chiếu Slide1: em hãy cho biết kết quả sau khi thực
hiện chương trình dưới đây:
var ht:char;
begin
write('nhap ho va ten:');readln(ht);
write(ht);
readln;
end.
+ Rõ ràng, không thể in ra được họ tên nếu ta khai báo biến
ht:char. Vậy có cách nào không?
+ Phân tích các câu trả lời của HS (nếu có).
+ Quay lại với CT: nếu ta sửa kiểu char thành string  có
in ra được họ tên không? Chạy thử cho HS thấy? Vậy kiểu
string là gì? Thì hôm nay các em sẽ học 1 kiểu dữ liệu mới
nữa đó là kiểu xâu, là kiểu dữ liệu có cấu trúc.


- Ghi đầu bài.
- H: Kiểu dữ liệu xâu là kiểu như thế nào?
- Nhấn mạnh khái niệm xâu và ghi bảng 1 số ý chính:
+ dãy các kí tự.
- HS lên bảng làm, HS khác theo dõi,
nhận xét.(có thể coi như đây là phần
kiểm tra bài cũ)
 kết quả:
nhap ho va ten:Nguyen Vu
N
- TL
- Quan sát trên màn hình.
- TL
- Nghe giảng, trả lời câu hỏi, ghi vở
Giáo viên: H Th M Dungồ ị ỹ 1
Tr ng THPT Cao Bá Quátườ Giáo án tin h c 11ọ
VD: ‘Bach Khoa’; ‘A’, ‘’
H: Trong CT, khi viết 1 xâu, ta viết trong ‘’, nhưng khi
nhập từ bàn phím giá trị một xâu, có cần ‘’ không?.
+ Độ dài xâu
VD: ‘Nguyen Vu’  L = ? (9, kể cả kí tự rỗng)
Nếu L = 0 thì gọi là xâu gì? (xâu rỗng)
+ 1 mảng một chiều mà mỗi phần tử là 1 kí tự.
VD: ht:= ‘Nguyen Vu’
1 2 3 4 5 6 7 8 9
N g u y e n V U

+ Tham chiếu tới phần tử của xâu: tên biến [chỉ số]
VD: Để tham chiếu đến ptử thứ 6 của xâu trên ta viết thế
nào? (ht[6]  ‘n’)

- Kiểu xâu được khai báo thế nào, ta vào phần 1.
1. Khai báo
- Chiếu lại Slide 1
- Ghi và giảng phần khai báo, cho ví dụ.
var <tên biến> : string [độ dài lớn nhất của xâu]
VD:
var ht: string [25];
Có thể bỏ qua phần khai báo độ dài được không?
var ht: string;
 H: Phân tích sự khác nhau giữa 2 cách khai báo trên? (GV
gọi bất kỳ 1 HS trong nhóm trả lời)
* Nhấn mạnh:
- Độ dài xâu không vượt quá 255 kí tự.
- Nếu chỉ nhập 1 chuỗi ít kí tự thì nên khai báo độ dài
để tránh lãng phí bộ nhớ.
2. Các thao tác xử lý xâu:
- Lần lượt giảng 8 thao tác xử lý xâu, nhất là ý nghĩa các hàm
những ý chính.
- TL
- TL
- TL
- TL
- Quan sát cách khai báo trong
chương trình trên.
- TL
- HS có thể thảo luận với nhau trong
vòng 1 phút.
- Nghe, tự ghi
Giáo viên: H Th M Dungồ ị ỹ 2
Tr ng THPT Cao Bá Quátườ Giáo án tin h c 11ọ

và thủ tục chuẩn trên xâu.
- Các ví dụ được trình chếu bằng Slide.
a) Phép ghép xâu
VD: ‘pas’+’cal’ = ‘pascal’
b) Phép so sánh xâu (=, <>, <, >, <=, >=)
Chú ý 2 qui tắc so sánh xâu
VD:’Ba’ > ‘An’ ‘Tram’ = ’Tram’
‘Anh’ < ’Ba’ ‘Thanh’ < ‘Tram’
c) Thủ tục delete(st, vt, n)
d) Thủ tục insert(s1, s2, vt)
e) Hàm copy(S, vt, N)
f) Hàm length(s)
g) Hàm pos(s1,s2)
h) Hàm upcase(ch)
Lưu ý:
* Các hàm trên kiểu xâu cho kết quả trả về là 1 giá trị (số, kí
tự hay xâu).
* Các thủ tục trên kiểu xâu sẽ làm thay đổi, biến đổi xâu.
- Nghe, ghi những gì cần thiết, không
cần ghi nhiều, SGK đã trình bày rất
rõ.
4. Củng cố bài:
- Giá trị của X là ‘Mon tin hoc’, sau thao tác delete (X, 4, 4) giá trị của X là gì?
- Giá trị của X là ‘Em yeu truong em’, hãy viết thao tác để thêm tên trường (em đang học) vào sau
chữ truong trong xâu X?
- Cho biết giá trị của pos(‘xinh’,’Cai xac xinh xinh’)
5. Bài tập về nhà:
- Xem trước phần 3. Một số ví dụ.
Bài 12 KIỂU XÂU (tt)
*******************************

A. MỤC ĐÍCH, YÊU CẦU:
- Sử dụng được một số thủ tục, hàm thông dụng về xâu
- Cài đặt được một số chương trình đơn giản có sử dụng xâu
B. PHƯƠNG PHÁP:
- Phương pháp: Vấn đáp
- Phương tiện: máy chiếu, bảng đen
C. NỘI DUNG BÀI GIẢNG
I. Ổn định lớp
II. Kiểm tra bài cũ
Câu hỏi: Nêu cách khai báo một xâu và tham chiếu đến một phần tử thứ i của xâu?
Đáp án: Khai báo : Var <tên biến>: string[độ dài lớn nhất của xâu];
Tham chiếu đến ptử thứ i: tên xâu[i]
Giáo viên: H Th M Dungồ ị ỹ 3
Tr ng THPT Cao Bá Quátườ Giáo án tin h c 11ọ
III. Bài mới
Hoạt động của Giáo viên và Học sinh Nội dung
GV soạn sẵn các ví dụ để chiếu và chạy thử
cho học sinh tiện theo dõi và không làm mất thời gian
viết chương trình
VD1: Nhập vào hai xâu và in ra xâu dài hơn,
nếu bằng nhau thì in ra xâu nhập sau.
HS: Nêu ý tưởng, thuật toán
B1: Nhập vào 2 xâu bất kì
B2: So sánh độ dài 2 xâu với nhau
B3: In kết quả
GV: Yêu cầu HS nêu cách so sánh?
HS: Dùng hàm Length() để lấy độ dài từng xâu
và dùng phép so sánh
GV: Chiếu hoặc viết lên bảng chương trình
theo ý tưởng trên, chạy thử minh hoạ.

VD2: Nhập vào một xâu và đưa ra màn hình
xâu đó nhưng được viết theo thứ tự ngược lại
GV: Cho vdụ một xâu và in ra theo thứ tự đảo
ngược
Vd: ‘hoten’ -> ‘netoh’
HS: Từ ví dụ, nêu thuật toán
B1: Nhập vào xâu bất kì
B2: Duyệt phần tử cuối đến ptử đầu
B3: In kết quả
GV: Cho học sinh giải thích cách duyệt phần
tử cuối đến phần tử đầu. Phần tử cuối là phần tử nào?
HS: Ptử cuối có vị trí bằng độ dài xâu
Để duyệt từng phần tử từ cuối đến đầu, ta
dùng vòng lặp For…downto..
HS: Lên viết chương trình
GV+HS: Sửa lỗi chương trình cùng các HS
khác. Chiếu chương trình mẫu, chạy thử.
VD3: Nhập vào một xâu và in ra màn hình xâu
đã được loại bỏ các dấu cách nếu có.
GV: Cho biết dấu cách biểu diễn là kí tự nào?
HS: Kí tự rỗng
GV: Hướng dẫn cho HS
+ Cách tạo xâu rỗng
+ Duyệt từ đầu đến cuối xâu:
Kiểm tra nếu kí tự nào khác với dấu cách (rỗng)
thì đưa nó vào xâu rỗng vừa tạo
HS: Lên viết thuật toán
HS: Lên viết chương trình, chạy thử
GV+HS: Sửa bài HS và chạy thử kết quả.
GV: Như vậy, qua các ví dụ trên các em đã

nắm rõ cách cài đặt một chương trình có dùng kiểu
xâu.Bây giờ, các em lấy giấy ra làm bài tập này trong
5 phút. Em nào làm nhanh nhất có thể lên bảng nêu ý
VD1:
Var a, b: string;
Begin
Write(‘Nhap xau thu nhat:’);
Readln(a);
Write(‘Nhap xau thu hai:’);
Readln(b);
If length(a)>length(b) then
Writeln(a) Else writeln(b);
Readln
End.
VD2:
Var s:String;
i,k:byte;
Begin
Write(‘Nhap xau :’);
Readln(s);
K:=length(s) ;
For i:=k downto 1 do
write(s[i]) ;
Readln
End.
VD3:
Var s,st:String;
i,k:byte;
Begin
Write(‘Nhap xau :’);

Readln(s);
K:=length(s) ;
St:= ‘ ‘;
For i:=1 to k do
If s[i] <> ‘ ‘ then st:=st+s[i];
writeln(‘ket qua:’,st);
Readln
End.
Giáo viên: H Th M Dungồ ị ỹ 4
Tr ng THPT Cao Bá Quátườ Giáo án tin h c 11ọ
tưởng và viết chương trình.
VD4: Nhập vào 1 xâu, in ra màn hình xâu gồm
các kí tự là số của xâu đó.
HS: Nêu ý tưởng, viết chương trình, chạy trên
máy.
GV: Cho HS trong lớp nhận xét, sửa lỗi
VD4:
Var s,st:String;
i,k:byte;
Begin
Write(‘Nhap xau :’);
Readln(s);
K:=length(s) ;
St:= ‘ ‘;
For i:=1 to k do
If (‘0’<=s[i])and(s[i]<=’9’) then
st:=st+s[i];
writeln(‘ket qua:’,st);
Readln
End.

IV. Củng cố:
Cho biết để duyệt tất cả các kí tự của một xâu, ta thường dùng câu lệnh nào?
TL: Ta dùng vòng lặp For, như khi duyệt các phần tử trong mảng một chiều.
V. Dặn dò :
Về nhà xem lại bài, làm trước các bài tập thực hành 5
Bài 13: KIỂU BẢN GHI
*********************************
A. Mục đích, yêu cầu:
- Biết khái niệm kiểu bản ghi.
- Biết cách khai báo bản ghi, truy cập trường của bản ghi.
B.Phương pháp:
- Giáo viên: thuyết giảng cho học sinh hiểu.
- Học sinh : đọc bài trước ở nhà.
B. Nội dung bài giảng:
I. Ổn định lớp:
II. Kiểm tra bài cũ:
III. Nội dung bài giảng:
Nội dung Hoạt động của thầy Hoạt động của trò
* Giới thiệu kiểu bản ghi:
- Bản ghi là kiểu dữ liệu có cấu trúc.
- Mỗi đối tượng được mô tả bằng
một bản ghi.
- Mỗi bản ghi có nhiều trường.
- Nêu ví dụ về việc lưu giữ
thông tin của một học sinh: họ
tên, ngày sinh, giới tính, điểm
các môn thi…
- Phân tích cho hs thấy sự khác
biệt khi khai báo đối tượng hs
- HS lắng nghe.

Giáo viên: H Th M Dungồ ị ỹ 5
Tr ng THPT Cao Bá Quátườ Giáo án tin h c 11ọ
1/Khai báo:
* Kiểu bản ghi được định nghĩa như
sau:
Type <tên kiểu bản ghi> = record
<tên trường1> : <kiểu
trường1>;
…………………………….
<tên trường2> : <kiểu
trường 2>;
End;
* Biến kiểu bản ghi được khaibáo
như sau:
Var
<tên biến bản ghi>:<tên kiểu bản
ghi>;
VD:
Const Max=60;
Type
Danhsach = record
Hoten: string[30];
Ngaysinh: string[10];
Gioitinh: Boolean;
Tin,Toan,Li,Hoa,Van,Su,Đia:re
al;
End;
Var A, B: Danhsach;
Hocsinh: array[1..max] of
Danhsach;

CÝ: Có thể tham chiếu đến từng
thành phần của bản ghi:
A.Ngaysinh
Hocsinh[2].Giơitinh
2.Gán giá trị:
Có 2 cách để gán giá trị cho biến bản
này bằng mảng và bằng bản
ghi. Từ đó rút ra kết luận việc
khai báo đối tượng này bằng
bản ghi sẽ thuận tiện hơn.
- Yêu cầu hs nêu quy tắc, cách
thức xác định kiểu bản ghi.
- Giới thiệu cho hs các thông
tin cần khai báo trong kiểu bản
ghi là: tên kiểu bản ghi, tên các
thuộc tính, kiểu dữ liệu của mỗi
thuộc tính.
- Yêu cầu HS định nghĩa kiểu
bản ghi.
- Từ việc định nghĩa kiểu bản
ghi đưa ra cách khai báo kiểu
bản ghi.
- Yêu cầu HS đọc ví dụ trong
SGK.
- Qua ví dụ thì HS nhận thấy sự
khác biệt cơ bản nào giữa kiểu
bản ghi và kiểu mảng.
- Trong ví dụ đã nêu, A và B có
cùng kiểu không? Hocsinh[2]
và A có cùng kiểu không?

- GV chuẩn lại ý HS đã trả lời.
- GV chú ý cho HS : có thể
tham chiếu trên từng thành
phần của bản ghi, mỗi trường
được xác định bởi tên biến và
tên trường.
- Yêu cầu HS viết tham chiếu
đến trường Ngaysinh của biến
bản ghi A, tham chiếu đến
trường giới tính của biến mảng
Hocsinh[2].
- Nếu ta gán giá trị của Hocsinh
cho A (Hocsinh:=A) có được
không? tại sao?
-GV chuẩn lại ý HS đã trả lời.
- Phân tích cho HS hiểu giá trị
của mỗi thành phần của bản ghi
- HS tham khảo trong
SGK để trả lời câu hỏi.
- HS tham khảo SGK để
lên bảng định nghĩa kiểu
bản ghi.
- HS đọc ví dụ.
- Khi dùng kiểu bản ghi
thì các thuộc tính của
đối tượng có thể được
khai báo bằng các kiểu
dữ liệu khác nhau.
- HS suy nghĩ và trả lời
câu hỏi.

- HS lắng nghe.
- HS lên bảng viết tham
chiếu.
- HS trả lời câu hỏi.
Giáo viên: H Th M Dungồ ị ỹ 6
Tr ng THPT Cao Bá Quátườ Giáo án tin h c 11ọ
ghi:
- Dùng lệnh gán trực tiếp.
- Gán gía trị cho từng trường.
Ví dụ: tham khảo ví dụ trong SGK.
cũng được xuất, nhập xử lí như
mỗi biến cùng kiểu nó chỉ khác
là nó được xác định bởi tên
kiểu bản ghi và tên trường.
- Yêu cầu HS đọc ví dụ trong
SGK.
- Yêu cầu đặt ra của bài toán là
gì?
- Nêu các thao tác cần thiết để
thực hiện bài toán?
- GV chuẩn lại ý HS trả lời.
- GV phân tích và giải thích
cho HS hiểu tại sao lại dùng
vòng lặp for…do và việc tính
toán giá trị trường xếp loại
thông qua câu lệnh if…then.
- HS đọc ví dụ.
- HS suy nghĩ và trả lời
câu hỏi.
- HS nghe, hiểu và trình

bày lại ví dụ lên bảng.
2.Hoạt động 2: Tìm hiểu về cách sử dụng kiểu bản ghi trong ngôn ngữ Pascal.
- Tham chiếu đến từng trường.
- Gán giá trị cho biến bản ghi.
Hoạt động của GV Hoạt động của HS Nội dung
- Giới thiệu cấu trúc chung để tham chiếu
đến trường của biến bản ghi.
- Yêu cầu: Tìm ví dụ về tham chiếu đến từng
trường của biến bản ghi đã được khai báo ở
trên.
- Giới thiệu hai cách gán giá trị cho biến bản
ghi.
+ Gán nguyên cả biến bản ghi.
+ Gán lần lượt từng trường.
- Yêu cầu: Lấy ví dụ minh hoạ cho từng
trường hợp?
- Hỏi: Trường hợp 1 thực hiện được trong
điều kiện nào?
- Quan sát, ghi bài.
- Gọi 3 học sinh cho ví
dụ:
HS.hoten
HS.Gioitinh
HS.toan
- Quan sát, nghe giảng.
A:=B;
A.hoten:=B.hoten;
A.van:=B.van;...
- Hai biến A và B phải
được khai báo cùng một

kiểu bản ghi
Chú ý: Tham chiếu đến từng trường
bằng cách:
Tên_biến_bản_ghi.tên_trường

2. Gán giá trị:
Có 2 cách:
- Dùng lệnh gán trực tiếp: Nếu A và B
là 2 biến bản ghi cùng kiểu thì có thể
gán bằng câu lệnh: A:=B;
- Gán giá trị cho từng trường: có thể
bằng lênh gán hoặc nhập từ bàn phím.
3. Hoạt động 3: Hướng dẫn học sinh giải ví dụ:
Viết chương trình giải quyết bài toán sau:
Có một lớp gồm N học sinh (1<=N<=60). Với mỗi học sinh cần quản lí các thuộc tính: họ và tên, điểm
toán, điểm văn và xếp loại.Xếp loại được xác định theo quy tắc sau:
+ Nếu tổng điểm toán và điểm văn nhỏ hơn 10 thì xếp loại D.
+ Nếu tổng điểm toán và điểm văn lớn hơn hoặc bằng 10 và nhỏ hơn 14 thì xếp loại .C
+ Nếu tổng điểm toán và điểm văn lớn hơn hoặc bằng 14 và nhỏ hơn 18 thì xếp loại B.
+ Nếu tổng điểm toán và điểm văn lớn hơn hoặc bằng 18 thì xêp loại A.
Giáo viên: H Th M Dungồ ị ỹ 7

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×