Tải bản đầy đủ (.docx) (3 trang)

ảnh excel trịnh hữu phước thư viện tư liệu giáo dục

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 (118.08 KB, 3 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Tuần : 25</b> <i>Ngày soạn / / 09</i>


Chương IV. KIỂU DỮ LIỆU CĨ CẤU TRÚC

<b>§12. KIỂU XÂU (t2)</b>



<b>A. MỤC TIÊU</b>
<b>1. Kiến thức:</b>


- Biết được lợi ích của các hàm và thủ tục liên quan đến xâu trong NNLT 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 trong
NNLT Pascal


<b>2.</b> <b>Kĩ năng:</b>


- 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 tập
đơn giản liên quan


<b>B. PHƯƠNG PHÁP </b>
Hỏi đáp


GV gợi mở để HS tham gia vào bài học
<b>C. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH</b>


<b> 1. Giáo viên:</b> Giáo án, giáo cụ
2. Học sinh: Sách giáo khoa
<b>D. TIẾN TRÌNH LÊN LỚP </b>


<b>I. Ổn định lớp:</b>


- Chào, lớp trưởng báo cáo sỉ số lớp


<b>II. Kiểm tra bài cũ:</b>


<b>III. Bài mới:</b>


<b>1.1</b> <b> Đặt vấn đề: </b>


Hôm nay chúng ta tiếp tục nghiên cứu về các thao tác xử lí xâu bằng cách dùng một
số hàm và thủ tục.


<b>1.2</b> <b> Triển khai bài mới:</b>


<b>Hoạt động giáo viên và học sinh</b> <b>Nội dung</b>


<b>Hđ1. Tìm hiểu một số hàm và thủ tục liên</b>
<b>quan đến xâu</b>


GV: Trong tiết trước ta đã biết một số phép
toán trên xâu là phép ghép xâu và các phép
so sánh hai xâu. Hôm nay chúng ta tiếp tục
nghiên cứu một số thao tác xử lí xâu bằng
cách dùng hàm và thủ tục.


GV: Trong những bài học trước, chúng ta đã
từng biết qua hàm chưa? Đã học các hàm nào?
HS: Nhớ lại, trả lời (đã học về một số hàm số
học)


GV: Đọc SGK, hãy cho biết cấu trúc và chức
năng một số hàm xử lí xâu



HS: Nghiên cứu SGK, trả lời
GV: Giảng giải từng hàm cụ thể.
Mỗi hàm đưa ra một số ví dụ,
yêu cầu HS cho biết kết quả


HS: Trả lời kết quả, bổ sung, nhận xét
GV: Nhận xét, hoàn chỉnh


GV: Ngoài các hàm đã nghiên cứu trên,
trong NNLT Pascal còn cung cấp cho ta một
số các thủ tục xử lí xâu: thủ tục Delete và
Insert. Hãy tìm hiểu cấu trúc và chức năng
của hai thủ tục này


<b>KIỂU XÂU (tt)</b>
<b>2. Các thao tác xử lí xâu </b>


* Hàm và thủ tục:


Thủ tục Delete(st, vt, n) thực hiện xóa n kí tự trong
xâu st bắt đầu từ vị trí vt


Vd:


<b>St</b> <b>Thao tác</b> <b>Kết quả</b>


‘Viet Nam’ Delete(st, 5, 4) ‘Viet’
‘Khanh Hoa’ Delete(st, 1, 5) ‘ Hoa’


Thủ tụ Insert(st1, st2, vt) thực hiện chèn xâu st1 và xâu


st2 bắt đầu từ vị trí vt


<b>TIẾT</b>



<b>30</b>



<b>St1</b> <b>St2</b> <b>Thao tác</b> <b>Kết quả</b>


‘ Ranh’ ‘TX Cam’ Insert(st1,st2,7) ‘TX Cam
Ranh’
‘ PC ’ ‘IBM486’ Insert(st1,st2,4) ‘IBM PC


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

HS: Nghiên cứu SGK, trình bày


GV: Giải thích lại từng thủ tục. Đối với từng
thủ tục, GV nêu ví dụ, yêu cầu một số học
sinh cho biết kết quả thực hiện.


GV: Nhận xét


GV: Các em cần lưu ý, như đã biết ở tiết học
trước, ta có thể xem xâu là mảng một chiều
mà mỗi phần tử là một kí tự. Nhưng kiểu
mảng một chiều với các phần tử thuộc kiểu
char khác với kiểu xâu nên không thể áp
dụng các thao tác xử lí xâu cho mảng.


GV: Các em hãy nhận xét về sự khác nhau
giữa hàm và thủ tục?



HS: Đưa ra nhận xét, HS khác bổ sung
GV: Tổng hợp các nhận nhét


GV: Hãy nhận xét về kết quả trả về của từng
hàm? (Hàm Copy?, hàm Pos?, hàm Length?
Hàm Upcase?)


HS: Hàm Copy cho kết quả là một xâu, hàm
Pos và hàm Length cho kết quả là một số,
hàm Upcase cho kết quả là một kí tự. Như
vậy, kết quả trả về của các hàm xử lí xâu có
thể là giá trị số, là kí tự hoặc xâu tuỳ theo
hàm cụ thể.


GV: Cho biết kết quả của chương trình sau
Var s1, s2: string;


Begin


S1 := ‘ em’;
S2 := ‘Truong’;
Insert(s1, s2, 10);
Write(s2);


end.


HS: Một số cho kết quả in ra màn hình là:
Truong em


Một số thắc mắc về vị trí chèn s1 vào s2


(10 > length(s2))


GV: Mặc dù thủ tục trên vẫn thực hiện chèn
được vào xâu s1 vào xâu s2 và chương trình
cho kết quả đúng như mong muốn. Nhưng
các em cần lưu ý truyền tham số cho hàm và
thủ tục cần phải hợp lí, chẳng hạn trong hàm
insert trên thì để thêm s1 vào cuối xâu s2 ta
nên viết là insert(s1, s2, length(s2)+1)


<b>Hđ2. Làm một số bài tập liên quan</b>


GV: Cho HS quan sát một số chương trình
(đã chuẩn bị trên giấy khổ lớn), yêu cầu HS
trả lời các câu hỏi do GV đặt ra


HS: Quan sát chương trình Vd1, suy nghĩ
GV: Với từng câu hỏi, gọi một số HS trả lời
HS: Lần lượt trả lời


GV: Nhận xét, đưa ra kết quả đúng.
1. Kết quả in ra màn hình:


Truong emNgo Gia Tu than yeu


Hàm Copy(st, vt, n) cho giá trị là một xâu gồm n kí tự
liên tiếp bắt đầu từ vị trí vt của xâu st


Vd:



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


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 giá trị là kí tự hoa tương ứng với
kí tự ch


<b>* Nhận xét: </b>


- Kiểu mảng một chiều với các phần tử thuộc kiểu
<i>char khác với kiểu xâu, do đó khơng thể áp dụng các</i>
thao tác xử lí xâu cho mảng


- Thủ tục Delete(st, vt, n) và Insert(st1, st2, vt) làm
thay đổi xâu (thủ tục Delete: xâu st bị xóa bớt một số kí
tự, thủ tục Insert: xâu st2 được thêm vào một số kí tự)


- Các hàm trên xâu cho kết quả là một giá trị, có thể là
số, kí tự hay xâu tuỳ theo hàm cụ thể.


- Tham số của các hàm và thủ tục chuẩn phải hợp lí,
chẳng hạn trong thủ tục insert(st1, st2, n) thì n <=
length(st2) + 1


<b>St</b> <b>Thao tác</b> <b>Kết quả</b>


‘Viet Nam’ copy(st, 6, 3) ‘Nam’
‘Khanh Hoa’ copy(st, 1, 5) ‘Khanh’



<b>St</b> <b>Thao tác</b> <b>Kết quả</b>


‘Viet Nam’ Length(st) 8


‘100 ki tu’ Length(st) 9


<b>St2</b> <b>Thao tác</b> <b>Kết quả</b>


‘Viet Nam’ Pos(‘am’, st2) 7


‘Khanh


Hoa’ Pos(‘hH’, st2) 0


<b>Ch</b> <b>Thao tác</b> <b>Kết quả</b>


‘t’ Upcase(ch) ‘T’


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

2. Kết quả in ra màn hình:
Truong Ngo Gia Tu than yeu


3. Khai báo thêm biến chỉ số i và thay
dòng lệnh write(s1); bằng các dịng
lệnh sau:


<b>For i:=1 to length(s1) do</b>
Write(upcase(s1[i]));


GV: Cho biết chương trình Vd2 làm gì? Kết


quả xuất ra màn hình như thế nào?


HS: Lần lượt trả lời


GV: Nhận xét, đưa ra kết quả đúng.


Chương trình cho nhập vào một xâu bất kì từ
bàn phím và xuất ra màn hình xâu đó viết
theo thứ tự ngược lại.


GV: Yêu cầu học sinh viết chương trình cho
Vd3. Gọi vài HS lên bảng viết


<b>3. Một số ví dụ </b>
<b>Vd1. </b>


<b>Var s1, s2: string[30];</b>
<b>Begin</b>


S1:= ‘Truong em’;


S2:= ‘Ngo Gia Tu than yeu’;
Insert(s2, s1, length(s1)+1);
Write(s1);


<b>End.</b>


1. Cho biết kết quả thực hiện chương trình trên
2. Thêm hai dịng lệnh



<i>Delete(s1, pos(‘em’,s1), 3); vào trước dòng Insert.</i>
Cho biết kết quả chương trình thay đổi như thế nào?


3. Hãy viết thêm vào chương trình để có kết quả
xuất ra màn hình là ‘TRUONG NGO GIA TU THAN
YEU’


<b>Vd2. Cho chương trình sau:</b>
<b>Var xau: string;</b>


<b>Begin</b>


Write(‘Nhap vao mot xau bat ki:’);
Readln(xau);


<b>For i:=length(xau) downto 1 do</b>
Write(xau[i]);


<b>End.</b>


<b>Vd3. Viết chương trình nhập vào một xâu bất kì. Kiểm</b>
tra xem trong xâu có dấu cách hay không


<b>Var s: string;</b>
<b>Begin</b>


Write(‘Nhap vao mot xau bat ki:’);
Readln(s);


<b>If pos(‘ ‘, s)>0 then </b>



Write(‘Co dau cach trong xau’)
<b>Else</b>


Write(‘Trong xau khong co dau cach’);
Readln


<b>End.</b>
<b>IV.</b> Củng cố


- Những hàm và thủ tục liên quan đến xâu
Thủ tục Delete(st, vt, n)


Thủ tục Insert(st1, st2, vt)
Hàm Copy(st, vt, n)
Hàm Length(st)
Hàm Pos(st1, st2)
Hàm UpCase(ch)


<b>V. Dặn dò - Xem bài tập 1, 2, 3 trang 73 SGK</b>
2. - Làm bài tập 10 trang 80 SGK


<b>VI. RÚT KINH NGHIỆM:</b>


</div>

<!--links-->

×