Bài Tập i.Mục tiêu 1. Kiến thức: - ôn lại các kiến thức về kiểu dữ liệu có cấu trúc (dạng mảng và xâu) 2. Kỹ năng: Kỹ năng lập trình và nhận biết một số bài toán trong kiểu dữ liệu có cấu trúc (dạng mảng và dạng xâu) ii.Đồ dùng dạy học 1.Chuẩn bị của giáo viên: - Sách giáo khoa, sách giáo viên, giáo án. 2.Chuẩn bị của học sinh: Các kiến thức đã học trong học kì 1 về pascal, và kiểu dữ liệu có cấu trúc IiI.Hoạt động dạy học 1.Tổ chức lớp ổn định tổ chức lớp, báo cáo sĩ số 2.Kiểm tra bài cũ: (Kiểm tra 15 phút) a. Mục tiêu: Kiểm tra kiến thức và kỹ năng bài 12 về xâu dl b. Ma trận đề: Yêu cầu Nhận biết Thông hiểu Câu 1 Vận dụng Câu 2 c. Đề bài Câu 1(4đ): Hãy nêu cấu trúc khai báo xâu, cho 3 ví dụ khác nhau về khai báo xâu Câu 2(6đ): Cho xâu s1: mon tin hoc ; và xâu s2: that la hay a, Hãy viết câu lệnh ghép để đợc xâu S: mon tin hoc that la hay; b, So sánh xâu s1 và s2 c, Cho kết quả của thủ tục sau: Delete(s1,4,6); d, Cho kết quả của hàm: Copy(s2,6,2); e, Cho kết quả của hàm: Length(s1); f, Cho kết quả của thủ tục: Insert(s2,s1,8); 2.4 Đáp án Câu 1: Var <tên biến xâu>: string[độ dài lớn nhất của xâu]; Vd: var a,b: string; Var hs: string[30]; Var hoten: string[50]; Câu 2: a, s: = s1+s2; b, s2>s1; c, monoc d, la e, 11; f, mon tinthat la hay hoc 3. Tiến trình tiết dạy Hoạt động của giáo viên Hoạt động của học sinh Hoạt động 1: Củng cố kiến thức ? Nhắc lại những chủ đề kiến thức chính chúng ta đã đợc tìm hiểu trong chơng 4 ? Nêu khái niệm từng chủ đề kiến thức Trong các chủ đề kiến thức chúng ta đã học với mỗi chủ đề chúng ta cần quan tâm đến các vấn đề nh: Cách khai báo, các yếu tố cần quan tâm khi làm việc với từng kiểu dl có câu trúc (Yêu cầu hs xem lại sgk) Hoạt động 2: Bài tập sách giáo khoa GV: Yêu cầu học sinh làm bài tập 7 Gợi ý: ta thấy rằng số đằng sau thì bàng tổng 2 số đằng trớc vì vậyFn:=Fn-1+Fn-2 GV: Yêu cầu học sinh nghiên cứu và trả lời bài 8: TL: - mảng 1 chiều - mảng 2 chiều - Xâu TL: khái niệm mảng 1 chiều, mảng 2 chiều, xâu Lên bảng: Program phibo; Var i,n,F1,F2,F:Word; Begin Readln(N); F1:=1; F2:=1; For i:=1 to N do Begin F:=F1+F2; F1:=F2; F2:=F; End; Writeln(F); Readln End. HS: Nghiên cứu và trả lời Chơng trình bài 8 dùng để hoán đổi vị trí GV: Yêu cầu hs làm bài 9 GV: Gợi ý hs làm bài 10: Giống bài 5 phần ví dụ ta thay xâu b bằng biến dem; sau khi kiểm tra dem:=dem+1; Hoạt động 3: Bài tập làm thêm Viết chơng trình nhập vào 2 xâu, kiểm tra xem kí tự ở giữa xâu thứ nhất có trùng với kí tự ở cuối xâu thứ hai không Gợi ý: Giống vd3 bài 12, Giữa xác định bằng cách lấy phần nguyên của 1+độ dài của xâu chia 2 dòng thứ 1với dòng thứ N, dòng thứ 2 với dòng thứ N-1 HS: Suy nghĩ và lên bảng trình bày Chúng ta sửa nh sau For j=1 to N do Begin Max:=A[1,j]; ind:=1; For i:=2to N do If A[i,j]>max then Begin Max:=A[i,j]; ind:=i; End; Vsp:=A[j,j]; A[j,j]=max; A[i,ind]:=vsp; End; For j=1 to N do Begin For i:=1 to N do HS lên bảng Program xau; Var a,b:string; X,y, giua:byte; Begin Writeln(nhap xau a); readln(a); Writeln(nhap xau b); readln(b); X:=length(a); y:=length(b); Giua:=(1+x) div 2; If a[giua]=b[y] then Writeln( trung nhau) Else Writeln(khac nhau); Readln End. I. Đánh giá cuối bài - Các dạng bài toán về mảng ( có thể ra dới dạng lập trình, có thể ra dới dạng nhận biết) - Sö dông bµi to¸n x©u trong lËp tr×nh