1.ỔN ĐỊNH LỚP(1’):
2.KIỂM TRA BÀI CŨ(3’): Đưa bài toỏn lờn mỏy chiếu như sau Hĩy cho biết quả của một số hàm và thủ tục chuẩn sau đõy: Hĩy cho biết quả của một số hàm và thủ tục chuẩn sau đõy:
S=’THUC HANH TIN HOC’S1=’BAI TAP’); S1=’BAI TAP’);
Length(s)->? Insert(S1,S,0)->? COPY(S, 30,9)->?
a.Đặt vấn đề(1’): Hụm nay chỳng ta học bài “bài tập và thực hành5(t1)” để kiểm tra một số thuật toỏn, một số thủ tục và hàm xử lý xõu.
b.Triển khai bài mới:
HOẠT ĐỘNG CỦA THẦY VÀ TRề NỘI DUNG KIẾN THỨC
Hoạt động 1(20’)
(Tỡm hiểu cỏch khai bỏo biến, sử dụng hàm và thủ tục trong chương trỡnh)
Vớ dụ 1 : Nhập 1 xõu, kiểm tra xem ký tự đầu tiờn của xõu S1 cú trựng với ký tự cuối cựng của xõu S2 hay khụng ?
Vớ dụ 2 : Nhập 1 xõu, viết ra màn hỡnh xõu đú theo thứ tự ngược lại của cỏc ký tự trong xõu .
Vớ dụ 3 : Nhập 1 xõu, viết ra màn hỡnh xõu đú nhưng đĩ được bỏ tất cả cỏc ký tự là dấu cỏch .
I.Tỡm hiểu khai bỏo biến, cỏc hàm và thủ tục thụng qua một số chương trỡnh cú sẳn:
VD 1 :
Var s1,s2 : String ; x : Byte ;
Begin
Write('Nhap xau thu 1 : '); Readln(s1) ;
Write('Nhap xau thu 2 : '); Readln(s2) ; x := length(s2) ; If s1[1] = s2[x] then Write('Trung nha') else Write('Khac nhau'); Readln ; End . VD 2 :
Var i,k : Byte ; a : String ; Begin Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; For i := k downto 1 do Write(a[i]) ; Readln ; End . VD 3 :
Var i,k : Byte ; a,b : String ; Begin Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; b :='' ;
Vớ dụ 4 : Nhập 1 xõu, viết ra màn hỡnh xõu gồm cỏc ký tự số của xõu đú .
Gv:Yờu cầu hs kiểm tra với một số bộ dữ liệu được nhập vào từ bàn phớm và giải thớch từng cõu lệnh ở trong 4 vớ dụ.
Hoạt động 2(17’)
(Rốn luyện kỷ năng lập trỡnh) Gv:Đưa cõu hỏi lờn mỏy chiếu
Hĩy cho biết hàm đổi ký tự thường thành chữ in hoa?
Hs:Hàm Upcase(ch) Gv:
Hĩy viết đoạn chương trỡnh đổi chữ thường thành chữ in hoa?
Hs:Thực hành trờn mỏy rồi trả lời cõu hỏi For i:=1 To Length(S) Do
Write(Upcase(S[i]);
Gv:Đưa cõu hỏi bài 2 lờn mỏy chiếu
Hĩy nờu ý tưởng thuật toỏn đếm trong xõu S cú bao nhiờu ký tự là số?
Hs:Thực hành trờn mỏy->Trả lời cõu hỏi Dem:=0;
For i:=1 To length(S) Do
If (S[i]>=’0’) and (S[i] <=’9’) Then
For i := 1 to k do if a[i] <> '' then b := b+a[i] ; Write(b) ; Readln ; End . VD 4 : Var s1,s2 : String ; i : Byte ; Begin Write('Nhap xau s1 : ') ; Readln(s1) ; s2 := '' ; For i := 1 to length(s1) do
If ('0'<s1[i]) and (s1[i]<='9') then s2 := s2 + s1[i] ;
Write(s2); Readln ; End .
II.Vận dụng cỏc cõu lệnh, cỏc hàm và thủ tục để viết chương trỡnh:
Bài1:Hĩy viết chương trỡnh nhập vào một xõu S bất kỳ và đưa ra màn hỡnh xõu in hoa.
Var S : String ; i : Byte ; Begin
Write('Nhap xau S : ') ; Readln(S) ;
For i:=1 To Length(S) Do Write(Upcase(S[i]); Readln;
End.
Bài2:Hĩy viết chương trỡnh nhập vào một xõu bất kỳ (cú cả ký tự và ký tự số) và đưa ra màn hỡnh cú bao nhiờu ký tự là số? Vớ dụ: S=’08bC156546CD’ =>Dem=8 Var S:String; i, Dem:Byte; Begin
Write(‘Nhap xau S=’);Readln(S); Dem:=0;
For i:=1 To length(S) Do
If (S[i]>=’0’) and (S[i] <=’9’) Then Dem:=Dem+1;
Write(‘Tong so ky tu la so’,Dem); Readln;
Dem:=Dem+1;
Gv:Quan sỏt thực hành của hs và đưa ra cõu hỏi tiếp theo
Ngồi cỏch viết thuật toỏn như trờ ta cũn cú cỏch viết nào khỏc nửa?
Hs:
Tỏch dĩy từ xõu S thành một xõu con chỉ cú số (Vớ dụ 4).
Sử dụng hàm Length(S1)
Gv:Yờu cầu Hs thử sử dụng cỏch 2 để kiểm chứng
IV.CỦNG CỐ(2’):