Giáo án Tin học 11 - Tiết 23 đến tiết 52
I. Mục tiêu
- Hiểu về cấu trúc rẽ nhánh.
- Làm quen với hiệu chỉnh chương trình.
- Xây dung các chương trình có sử dụng cấu trúc rẽ nhánh.
- Có thái độ học tập nghiờm tỳc, ham học hỏi
- Năng lực giao tiếp và hợp tác.
- Năng lực tin học.
II. Chuẩn bị
1. Giáo viên
- Máy chiếu, SGK, sách giáo viên, sách bài tập.
2. Học sinh
- SGK, sách bài tập, đồ dùng học tập.
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 11 - Tiết 23 đến tiết 52", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn 22/1/2021 Tiết 23 CĐ4: CẤU TRÚC LẶP I. Mục tiêu - Hiểu về cấu trúc rẽ nhánh. - Làm quen với hiệu chỉnh chương trình. - Xây dung các chương trình có sử dụng cấu trúc rẽ nhánh. - Có thái độ học tập nghiờm tỳc, ham học hỏi - Năng lực giao tiếp và hợp tác. - Năng lực tin học. II. Chuẩn bị Giáo viên - Máy chiếu, SGK, sách giáo viên, sách bài tập. 2. Học sinh - SGK, sách bài tập, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G 2. Kiểm tra bài cũ: - Tiến hành trong quá trình thực hành. 3. Tiến trình bài học Hoạt động của thầy và trò Nội dung Hoạt động 1: Bài tập 1(25 phút) * Chuyển giao nhiệm vụ học tập. GV: Nêu Nội dung bài tập. GV: Nêu hướng giải cho bài tập trên? * Thực hiện nhiệm vụ học tập HS: Sử dụng cấu trúc lặp với số lần không biết trước While - Do. GV: Chia nhóm cho các nhóm hoạt động. * Báo cáo kết quả, thảo luận. HS: Báo cáo kết quả. Các nhóm khác nhận xét, bổ sung. HS: Thảo luận nhóm. GV: Cho các nhóm báo cáo kết quả thảo luận. * Đánh giá kết quả thực hiện nhiệm vụ học tập. GV: Nhận xét kết quả thực hiện nhiệm vụ học tập của học sinh. GV: Chính xác hóa kiến thức. GV: Nên sử dụng cấu trúc lặp nào tốt hơn? HS: Dùng cấu trúc lặpWhile. GV: Giải thích? HS: Vì số lần thực hiện lệnh ít hơn. Chỉ cần gặp trường hợp x mod i = 0 thì thoát khỏi vòng lặp mà không cần kiểm tra các trường hợp còn lại. GV: Chinh xác hóa kiến thức. Hoạt động 2: Thực hành (15 phút) GV: Yêu cầu HS thực hành chạy chương trình trên máy. HS: Thực hành theo yêu cầu của GV. GV: Quan sát sửa lỗi cho HS. Bài 1: Cho chương trình được viết bằng lệnh For: Var x, i:word; nt:boolean; Begin Readln(x); nt :=true; For i :=2 to x – 1 do if x mod i = 0 then nt:=false; If nt = true then write(x,’la so nguyen to’) else write(x, ‘khong phai snt’); readln; End. Câu hỏi: Hãy viết lại chương trình trên trong đó lệnh lặp For được thay bằng lệnh lặp While. Hãy cho biết, trong bài toán trên sử dụng lệnh lặp nào là tốt hơn? Đáp án: Var x, i:word; nt:boolean; Begin Readln(x); I:=2; While (i 0 )do i:=i+1; If i> x-1 then write(x,’la so nguyen to’) else write(x, ‘khong phai snt’); readln; End. Nên sử dụng cấu trúc lặp While. 4. Tổng kết và hướng dẫn học tập ở nhà (05 phút) * Tổng kết + Câu lệnh For - Do: Số lần lặp đã xác định. + Câu lệnh While - Do: Số lần lặp chưa xác định. * Bài tập về nhà: Nghiên cứu nội dung bài kiểu mảng. IV. Rút kinh nghiệm .................................................................................................................................................. TIẾT 24 CĐ5: KIỂU MẢNG (tiết 1) I. Mục tiêu - HiÓu kh¸i niÖm m¶ng mét chiÒu. - HiÓu c¸ch khai b¸o vµ truy cËp ®Õn c¸c phÇn tö cña m¶ng. - NhËn biÕt ®îc c¸c thµnh phÇn trong khai b¸o kiÓu m¶ng mét chiÒu. - BiÕt c¸ch khai b¸o, nhËn d¹ng kiÓu m¶ng trong ch¬ng tr×nh. - Thùc hiÖn ®îc khai b¸o m¶ng, truy cËp, tÝnh to¸n c¸c phÇn tö cña m¶ng. - Có thái độ học tập nghiêm túc, ham học hỏi - Năng lực giao tiếp và hợp tác. - Năng lực tin học. II. Chuẩn bị 1. Giáo viên - Giáo án, SGK, sách giáo viên. 2. Học sinh - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập 1Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ: Không. Tiến trình bài học Hoạt động của thầy và trò Nội dung Hoạt động 1: Tìm hiểu vai trò, ý nghĩa của mảng một chiều (15 phút) GV: Yêu cầu học sinh đọc bài toán nhiệt độ trong sách. HS: Đọc bài. * Chuyển giao nhiệm vụ học tập. GV: Dựa vào những kiến thức đã học, nêu ý tưởng để giải bài toán. * Thực hiện nhiệm vụ học tập HS: Nêu ý tưởng bài toán. GV: Với cách làm trên, em hãy nhận xét với trường hợp giải quyết số ngày của một năm. * Báo cáo kết quả, thảo luận. HS: Báo cáo kết quả. * Đánh giá kết quả thực hiện nhiệm vụ học tập. GV: Để khắc phục được những nhược điểm trên ta sử dụng mảng một chiều. Để hiểu khái niệm mảng một chiều, em hãy nhận xét về các biến nhiệt độ của 7 ngày trong tuần. HS: Nhận xét: - Các biến đều chung đặc điểm: đều biểu diễn nhiệt độ, cùng kiểu dữ liệu real. - Các biến phân biệt nhau bới chỉ số các phần từ. GV: => KL: Khái niệm mảng một chiều. Hoạt động 2: Tìm hiểu các thao tác với mảng một chiều (25 phút) GV: Trình bày cú pháp khai báo mảng một chiều. HS: Nghe giảng, ghi bài. GV: Yêu cầu học sinh nêu ví dụ khai báo mảng. HS: Var T: array[1..7] of real; HS: Ví dụ: T[6]. GV giới thỉệu cách tổng quát để nhập xuất các phần tử của mảng một chiều. HS: Nghe giảng, ghi nhớ. GV: Yêu cầu học sinh vận dụng kiến thức đã học để giải quyết bải toán trên sử dụng mảng một chiều. HS: làm bài tập. GV: Trình chiếu chương trình chuẩn có giải thích cho học sinh quan sát. 1. Kiểu mảng một chiều a) Ví dụ: SGK trg 53. * Ý tưởng: - Sử dụng 7 biến để lưu nhiệt độ của bảy ngày trong tuần. - Dùng 7 câu lệnh rẽ nhánh để so sánh nhiệt độ của 7 ngày trong tuần với nhiệt độ trung bình tính được. * Nhận xét: Với số lượng ngày nhiều ( VD: Số ngày của một năm..) thì cách làm trên chương trình sẽ dài, khó theo dõi. Khái niệm mảng một chiều: - Là dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. Khai báo mảng một chiều: (khai báo trực tiếp) Var : array[Kiểu chỉ số] of ; Trong đó: Kiểu chỉ số là đoạn số nguyên liên tục có dạng n1..n2. Kiểu phần tử là kiểu các phần tử của mảng. Tham chiếu đến các phần tử. [Chỉ số] Nhập các phần tử của mảng một chiều (gồm n phần tử) For i:=1 to n do Begin Write(' Nhap A[',i,']='); Readln(A[i]); End; Xuất các phần tử của mảng ra màn hình. For i:= 1 to n do write(A[i]:4); 4. Tổng kết và hướng dẫn học tập ở nhà (05 phút) * Tổng kết - Ý nghĩa của mảng một chiều, cách khai báo, tham chiều đến các phần tử của mảng một chiều. - Cú pháp nhập xuất các phần tử của mảng một chiều. IV. Rút kinh nghiệm Ngày tháng năm 2021 Ký duyệt của TTCM Ngày soạn 22/1/2021 TIẾT 25 CĐ5: KIỂU MẢNG (tiết 2) I. Mục tiêu - HiÓu kh¸i niÖm m¶ng mét chiÒu. - HiÓu c¸ch khai b¸o vµ truy cËp ®Õn c¸c phÇn tö cña m¶ng. - NhËn biÕt ®îc c¸c thµnh phÇn trong khai b¸o kiÓu m¶ng mét chiÒu. - BiÕt c¸ch khai b¸o, nhËn d¹ng kiÓu m¶ng trong ch¬ng tr×nh. - Thùc hiÖn ®îc khai b¸o m¶ng, truy cËp, tÝnh to¸n c¸c phÇn tö cña m¶ng. - Có thái độ học tập nghiêm túc, ham học hỏi - Năng lực tin học. II. Chuẩn bị 1. Giáo viên - Giáo án, SGK, sách giáo viên. 2. Học sinh - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ:(05 phút) * Câu hỏi: Trình bày khái niệm, cú pháp cách khai báo và nhập xuất các phần tử trong mảng một chiều? Tiến trình bài học Hoạt động của thầy và trò Nội dung Hoạt động 1: Tìm hiểu bài toán tìm max của một dãy số nguyên (15 phút) GV: Gọi học sinh xác định Input và Output, ý tưởng giải quyết bài toán? HS: Input : Số nguyên dương N và dãy số A1, A2, .., AN Output : Chỉ số và giá trị của số lớn nhất trong dãy Ý tưởng : Đặt số A1 là số lớn nhất (max) Cho i lặp từ 2 đến N, nếu A[i]> thì đổi max = A[i] vả lưu lại vị trí i. GV soạn sẵn chương trình và cho học sinh quan sát chương trình. (Nếu có nhiều thời gian, giáo viên sẽ tiến hành soạn chương trình từ đầu để học sinh có thể dễ dàng nhận ra các thao tác cần phải thực hiện khi viết chương trình.) HS: Nghe giảng, ghi bài. Hoạt động 2: Tìm hiểu bài toán sẵp xếp bằng tráo đổi (20 p) * Chuyển giao nhiệm vụ học tập. GV: Gọi học sinh xác định Input - Output và nhắc lại ý tưởng của thuật toán đã học từ lớp 10. * Thực hiện nhiệm vụ học tập HS: Input : Số nguyên dương N và dãy số A1, A2, , AN Output : Dãy A được sắp xếp theo thứ tự không giảm . Ý tưởng : Đổi để đưa số lớn nhất về vị trí cuối cùng . Làm tương tự đối với những số còn lại. * Báo cáo kết quả, thảo luận. HS: Hướng dẫn cho học sinh cách sử dụng biến trung gian, và duyệt các phần tử mảng để thực hiện sắp xếp bằng tráo đổi. * Đánh giá kết quả thực hiện nhiệm vụ học tập. GV:Nghiên cứư tự viết chương trình hoàn chỉnh. Một số ví dụ về mảng một chiều: a)Ví dụ 1 : Tìm phần tử lớn nhất của một dãy số nguyên . Chương trình như sau : Program timmax ; Uses crt ; Var A : array[1..250] of integer ; n,i,max,csmax : Integer ; Begin clrscr ; Write('Nhap n = ') ; Readln(n) ; For i := 1 to n do Begin Write('a[',i,'] = ') ; readln(a[i]) ; End ; max := a[1] ; csmax := 1 ; For i := 2 to n do If a[i] > max then Begin max := a[i] ; csmax :=i ; End ; Writeln('Gia tri lon nhat : ',max) ; Writeln('chi so ptu lon nhat : ',csmax) ; Readln ; End. b)Ví dụ 2 : Sắp xếp dãy số nguyên theo bằng thuật toán tráo đổi . Chương trình như sau : Program sapxep ; Uses crt ; Var A : Array[1..250] of integer ; n,i,j,tg : Integer; Begin clrscr ; Write('Nhap so phan tu mang n = ') ; Readln(n) ; For i := 1 to n do Begin Write('A[',i,'] = ') ; readln(A[i]) ; End ; For j := n downto 2 do Begin For i := 1 to j-1 do If A[i] > A[i+1] then Begin tg := A[i] ; A[i] := A[i+1] ; A[i+1] := tg ; End ; End ; Writeln('day sau khi sap xep : ') ; For i := 1 to n do write(a[i]:8) ; readln ; End . 4. Tổng kết và hướng dẫn học tập ở nhà (05 p) - Một số lưu ý học sinh khi xây dựng chương trình có sử dụng kiểu mảng một chiều. - Cú pháp nhập xuất các phần tử của mảng một chiều. 5. Bài tập về nhà. - Đọc trước Nội dung về kiểu mảng hai chiều, sách giáo khoa trang 59. ....................................................................................... TIẾT 26 CĐ5: KIỂU MẢNG (tiết 3) I. Mục tiêu - HiÓu kh¸i niÖm m¶ng mét chiÒu. - HiÓu c¸ch khai b¸o vµ truy cËp ®Õn c¸c phÇn tö cña m¶ng. - NhËn biÕt ®îc c¸c thµnh phÇn trong khai b¸o kiÓu m¶ng mét chiÒu. - BiÕt c¸ch khai b¸o, nhËn d¹ng kiÓu m¶ng trong ch¬ng tr×nh. - Thùc hiÖn ®îc khai b¸o m¶ng, truy cËp, tÝnh to¸n c¸c phÇn tö cña m¶ng. - Có thái độ học tập nghiêm túc, ham học hỏi - Năng lực giao tiếp và hợp tác. - Năng lực tin học. II. Chuẩn bị 1. Giáo viên - Giáo án, SGK, sách giáo viên. 2. Học sinh - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ: (10p) * Câu hỏi: Gọi học sinh lên bảng viết chương trình của thuật toán tráo đổi? Tiến trình bài học Hoạt động của thầy và trò Nội dung Hoạt động 1: Hướng dẫn học sinh làm bài 1 (20p) * Chuyển giao nhiệm vụ học tập. GV: Chia HS thành 4 nhóm (lấy HS theo tổ trong lớp) GV: Giới thiệu bài 1 cho HS đọc đề: - Yêu cầu HS xác định dữ liệu đầu vào, đầu ra. * Thực hiện nhiệm vụ học tập HS: Xác định thông tin vào, ra của bài toán. viết các đoạn chương trình thực hiện việc khai báo, nhập mảng A, kiểm tra một phần tử có là chẵn hay không?(Thực hiện theo nhóm) * Báo cáo kết quả, thảo luận. HS: Thực hiện theo yêu cầu của GV. * Đánh giá kết quả thực hiện nhiệm vụ học tập. GV: Cho HS ghép các đoạn lệnh tạo nên chương trình. GV: Nhận xét và cho điểm HS GV: cần phải khai báo hằng nmax không? HS: không. à var A: array[1..100] of integer; Hoạt động 2: Mô phỏng việc thực hiện chương trình (10p) GV: Câu lệnh: s:=s + A[i]; được thực hiện bao nhiêu lần? HS: bao nhiêu là tùy theo mảng A có bao nhiêu phần tử. HS:quan sát và trả lời câu hỏi của GV. GV: Yêu cầu HS chạy thử chương trình với dãy số : 2 4 1 5 7 0 9 11 1 15 HS: Chạy thử chương trình. Kết quả: tong cua day so la: 55 GV: Hướng dẫn HS dùng thêm biến đếm d kiểu nguyên để lưu số chữ số chẵn của dãy. Giá trị khởi đầu d là bao nhiêu? HS: var d : integer; Khởi tạo d:=0 GV: Yêu cầu HS chạy thử chương trình với dãy số : 2 4 1 5 7 0 9 11 1 15 HS: Chạy thử chương trình. Kết quả: so chu so chan cua day so la: 3 Bài 1: Viết chương trình nhập vào dãy n số(n ≤ 100): Hiển thị dãy số ra màn hình. Tính tổng các số trong dãy và đưa kết quả ra màn hình. Kiểm tra trong dãy có bao nhiêu chữ số chẵn. Chương trình: program Bài 1; uses crt; const nmax=100; var A: array[1..nmax] of integer; n,i: Integer; begin clrscr; {nhập mảng} write(‘Nhap so phan tu cua day n = ‘); readln(n); for i:=1 to n do begin writeln(‘nhap phan tu thu’,i); readln(A[i]); end; {hiển thị} for i:=1 to n do write(‘A[’,i,’]=’,A[i]:5); {tính tổng} for i:=1 to n do S:=S+A[i]; Writeln(‘tong cua day so la:’,S); readln end. {kiểm tra dãy có bao nhiêu số chẵn} d:=0; for i:=1 to n do if A[i] mod 2=0 then d:=d+1; Writeln(‘so chu so chan cua day so la:’,d); Readln; End. 4.Củng cố - Cách lưu lại chương trình với tên khác và sửa để được chương trình mới. - Ghi nhớ thuật toán duyệt tất cả các phần tử của mảng, tìm các phần tử thỏa mãn điều kiện cho trước để xử lý. 5. Bài tập về nhà - Tìm hiểu chương trình ở Bài 2 (SGK – Tr64). Ngày tháng năm 2021 Ký duyệt của TTCM Ngày soạn 20/02/2021 TIẾT 27 CĐ5: KIỂU MẢNG (tiết4) I. Mục tiêu - Củng cố cho học sinh những hiểu biết về kiểu dữ liệu mảng. - Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình có sẵn. - Vận dụng kiến thức về mảng hai chiều để xây dựng chương trình của một số bài toán đơn giản. II. Chuẩn bị 1. Giáo viên - Giáo án, SGK, sách giáo viên. 2. Học sinh - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ: Em hãy ghép các đoạn lệnh tạo nên chương trình. Tiến trình bài học: Hoạt động của thầy và trò Nội dung Hoạt động 1: Lập trình giải quyết bài toán 2 (30 phút) B1: chuyển giao nhiệm vụ học tập. GV nêu yêu cầu của bài toán. Chia lớp theo nhóm thảo luận. GV: Chia HS thanh 4 nhóm (lấy HS theo tổ trong lớp) GV: Giới thiệu bài 1 cho HS đọc đề: Yêu cầu HS xác định dữ liệu đầu vào, đầu ra. Ý tưởng giải bài toán. HS: - Dãy số nguyên gồm n phần tử, số nguyên K - dùng thuật toán tìm kiếm tuần tự. - dãy số nguyên gồm n phần tử - tương tự bài toán 1b. B2: Thực hiện nhiệm vụ học tập HS thảo luận nhóm. GV quan sát giúp đỡ HS gặp khó khăn. GV: Yêu cầu HS phân tích bài toán, viết các đoạn chương trình thực hiện việc khai báo, nhập mảng A, kiểm tra một phần tử có bằng K hay không?(Thực hiện theo nhóm) HS: Thực hiện theo yêu cầu của GV. B3: Báo cáo kết quả thảo luận. Các nhóm báo cáo kết quả thảo luận. GV: Cho HS ghép các đoạn lệnh tạo nên chương trình. B4: Đánh giá kết quả thực hiện nhiệm vụ học tập GV nhận xét kết quả thực hiện nhiệm vụ của các nhóm và chính xác hóa kiến thức. Hoạt động 2: Mô phỏng việc thực hiện chương trình (10p) GV: yêu cầu học sinh mô phỏng việc thực hiện chương trình? HS: Dãy A gồm 5 phần tử: 1 5 6 12 5 Nhap so can tim: 5 à Cac vi tri cua 5 la: 2 5 - Dãy A gồm: 5 13 4 7 2 10 à Tich cac so chan la: 80 Bài 2: Nhập vào 1 dãy số nguyên gồm N phần tử (N <= 100) a. Nhập vào số nguyên K, tìm xem K có trong dãy không? Nếu có thì đưa ra các vị trí của nó trong dãy. Nếu không thì thông báo “Không tìm thấy”. Vd: Dãy A gồm 5 phần tử: 1 5 6 12 5 Nhap so can tim: 5 à Cac vi tri cua 5 la: 2 5 b. Tính tích các số chẵn trong dãy Dãy A gồm: 5 13 4 7 2 10 à Tich cac so chan la: 80 Chương trình uses crt; var a: array[1..100] of integer; i,n,dem,k: integer; begin writeln('nhap sl phan tu: '); readln(n); for i:=1 to n do begin writeln('nhap so thu: ',i,' '); readln(a[i]); end; write('nhap so can tim: '); readln(k); writeln('cac vi tri cua ',k,' la: '); for i:=1 to n do if a[i] = k then begin write(i:4); dem:=dem+1; end; writeln; {xuong dong} if dem = 0 then writeln('khong tim thay vi tri nao'); tich:=1; for i:=1 to n do if a[i] mod 2 =0 then tich:=tich*a[i]; writeln('tich cac so chan la: ',tich); readln; end. 4. Củng cố - Một số lưu ý học sinh khi xây dựng chương trình có sử dụng kiểu mảng một chiều. - Cú pháp nhập xuất các phần tử của mảng một chiều. 5. Bài tập về nhà. - Đọc trước nội dung bài thực hành số 3. TIẾT 28 CĐ5: KIỂU MẢNG (tiết 5) I. Mục tiêu - Củng cố cho học sinh kiến thức kiểu mảng. - Mô tả được cách khai báo, tham chiếu đến các phần tử của mảng,cách nhập xuất các phần tử của mảng. - Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính. - Nâng cao kỹ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình có sẵn. II. Chuẩn bị 1. Giáo viên: - Giáo án, SGK, sách giáo viên, phòng máy, máy chiếu. 2. Học sinh: - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ: Tiến hành trong quá trình thực hành. Tiến trình bài học: Hoạt động của thầy và trò Nội dung Hoạt động 1: Thực hành bài 1 phần a (25p) GV: Giới thiệu nội dung thực hành: GV:Yêu cầu học sinh tìm hiẻu và chạy thử chương tình ở câu a, sách giáo khoa, trg 63. HS: Tìm hiểu và chạy thử chương trình trên máy: GV: Chiếu chương trình lên bảng. GV: - Myarray là tên kiểu dữ liệu hay tên biến? - Vai trò của nmax và n có gì khác nhau? - Dòng lệnh nào để tạo biến mảng A? HS: - Tªn kiÓu d÷ liÖu. - nmax lµ sè phÇn tö tèi ®a cã thÓ chøa cña biÕn m¶ng A, n lµ sè phÇn tö thùc tÕ cña A. - LÖnh khai b¸o kiÓu vµ khai b¸o biÕn. GV: Thực hiện chương trình để học sinh thấy kết quả. - Hỏi:Lệnh gán a[i]:=random(300) – random(300) có ý nghĩa gì? GV: LÖnh sinh ngÉu nhiªn gi¸ trÞ cho m¶ng a tõ – 299 ®Õn 299. GV: Lệnh For i:=1 to n do Write(A[i]:5);có ý nghĩa gì? HS: In ra mµn h×nh gi¸ trÞ cña tõng phÇn tö trong m¶ng a. GV: Lệnh For – Do cuối cùng thực hiện nhiệm vụ gì? HS:Céng c¸c phÇn tö chia hÕt cho k. GV: Lệnh s:=a+a[i]; được thựchiện bao nhiêu lần? HS: Cã sè lÇn ®óng b»ng sè phÇn tö a[i] chia hÕt k. GV: Thực hiện lại chương trình và yêu cầu HS thực hiện trên máy. HS: Thực hành trên máy. Hoạt động 2: Làm bài tập 1 phần b (15p) GV:Söa ch¬ng tr×nh c©u a ®Ó ®îc ch¬ng tr×nh gi¶i quyÕt bµi to¸n ë c©u b. - ChiÕu lªn mµn h×nh c¸c lÖnh cÇn thªm vµo ch¬ng t×nh ë c©u a. HS: Quan s¸t vµ chó ý theo dâi c¸c c©u hái cña gi¸o viªn: GV: Quan s¸t c¸c lÖnh vµ suy nghÜ vÞ trÝ cÇn söa trong ch¬ng tr×nh c©u a. GV: nghÜa cña biÕn Posi vµ neg? - Hái: Chøc n¨ng cña lÖnh: If a[i] >0 then posi:=posi+1 else if a[i] <0 then neg:=neg+1; HS: Dïng ®Ó lu sè lîng ®Õm ®îc. - §Õm sè d¬ng hoÆc ®Õm sè ©m. GV: Yªu cÇu häc sinh thªm vµo vÞ trÝ cÇn thiÕt ®Ó ch¬ng tr×nh ®Õm ®îc sè. HS: ChØ ra vÞ trÝ cÇn thªm vµo trong ch¬ng tr×nh. - Lu ch¬ng tr×nh. Thùc hiÖn ch¬ng tr×nh vµ th«ng b¸o kÕt qu¶. Bài 1: Tạo mảng A gồm n (n<=100) số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 300. Tính tổng các phần tử của mảng là bội số của một số nguyên dương k cho trước. => Chương trình: Program Sum 1; Uses Crt; Const nmax:=100; Type Myarray = Array[1..nmax] of integer ; Var A:myarray; s, n, i, k:integer; Begin Clrscr; Randomize; Write(‘nhap n=’); readln(n); For i:=1 to n do a[i]:=random(301) – random(301); For i:=1 to n do Write(A[i]:5); Writeln; Write('nhap k=’); readln(k); s:=0; For i:=1 to n do if a[i] mod k=0 then s:=s+a[i]; Write(‘tong can tinh la’,s); readln; End. b) Thªm vµo ch¬ng t×nh ë c©u a. Posi, neg:integer; Posi:=0;neg:=0; If a[i] >0 then Posi:=posi+1 Else if a[i] <0 then neg:=neg+1; Write(posi:4,neg:4); để được chương trình đếm số lượng các số âm và các số dương. 4.Củng cố(05p) - Cách lưu lại chương trình với tên khác và sửa để được chương trình mới. - Ghi nhớ thuật toán duyệt tất cả các phần tử của mảng, tìm các phần tử thỏa mãn điều kiện cho trước để xử lý. 5. Tổng kết và hướng dẫn học tập ở nhà (05p) Tổng kết những lỗi học sinh mắc phải trong quá trình thực hành và cách khắc phục. Yêu cầu học sinh về nhà đọc và chuẩn bị nội dung bài thực hành số 3 ( Bài 2). .......................................................... Ngày tháng năm 2021 Ký duyệt của TTCM Ngày soạn 22/02/2021 TIẾT 29 CĐ5: KIỂU MẢNG (tiết 6) I. Mục tiêu - Củng cố cho học sinh kiến thức kiểu mảng. - Mô tả được cách khai báo, tham chiếu đến các phần tử của mảng,cách nhập xuất các phần tử của mảng. - Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính. - Nâng cao kỹ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình có sẵn. II. Chuẩn bị 1. Giáo viên: - Giáo án, SGK, sách giáo viên, phòng máy, máy chiếu. 2. Học sinh: - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ: Tiến hành trong quá trình thực hành. Tiến trình bài học Hoạt động của thầy và trò Nội dung Hoạt động 1: Hướng dẫn HS thực hành (15p) B1: chuyển giao nhiệm vụ học tập. GV nêu yêu cầu của bài toán. Chia lớp theo nhóm thảo luận. GV: Giới thiệu nội dung thực hành: HS: Quan sát nội dung thực hành GV: Lấy một ví dụ thực tiễn: Người mù tìm viên sỏi có kích thước lớn nhất trong một dãy các viên sỏi để gợi ý cho học sinh thuật toán tìm giá trị lớn nhất. GV: Nêu thuật toán tìm phần tử có giá trị lớn nhất. B2: Thực hiện nhiệm vụ học tập HS thảo luận nhóm. GV quan sát giúp đỡ HS gặp khó khăn. HS: So sánh lần lượt từ trái sang phải, giữ lại chỉ số của phần tử lớn nhất. GV: Yêu cầu học sinh tìm hiểu chương trình tìm chỉ số và giá trị lớn nhất. - Chiếu chương trình ví dụ, sách giáo khoa trang 64. - Hỏi: Vai trò của biến j trong chương trình? HS: Giữ lại chỉ số của phần tử có giá trị lớn nhất. GV: Nếu muốn tìm phần tử lớn nhất với chỉ số nhỏ nhất ta sửa ở chỗ nào? B3: Báo cáo kết quả thảo luận. Các nhóm báo cáo kết quả thảo luận. HS: Duyệt chương trình từ n-1 đến 1. GV: Đặt yêu cầu mới: Viết chương trình đưa ra các chỉ số của các phần tử có giá trị lớn nhất. HS: Theo dõi yêu cầu, suy nghĩ các câu hỏi định hướng để viết chương trình. GV: Cần giữ lại đoạn chương trình tìm giá trị lớn nhất không? HS: Có. GV: Cần thêm lệnh nào nữa? HS: Lệnh để in ra các chỉ số có giá trị bằng giá trị lớn nhất tìm được. GV: Vị trí thêm các lệnh đó? Sau khi tìm được giá trị lớn nhất. B4: Đánh giá kết quả thực hiện nhiệm vụ học tập GV nhận xét kết quả thực hiện nhiệm vụ của các nhóm và chính xác hóa kiến thức. Hoạt động 2: Học sinh thực hành (25p) GV: Yêu cầu Viết chương trình hoàn thiện. - Yêu cầu học sinh nhập dữ liệu vào của giáo viên và báo kết quả. - Đánh giá kết quả của học sinh. - Soạn chương trìnhvào máy. Thực hiện chương trình và thông báo kết quả. - Nhập dữ liệu vào và thông báo cho giáo viên dữ liệu ra. Bài 2: ViÕt ch¬ng tr×nh t×m phÇn tö cã gi¸ trÞ lín nhÊt cña m¶ng vµ in ra mµn h×nh chØ sè vµ gi¸ trÞ cña phÇn tö t×m ®îc. NÕu cã nhiÒu phÇn tö cã cïng gi¸ trÞ lín nhÊt th× chØ ®a ra phÇn tö cã chØ sè nhá nhÊt. Chương trình như sau : Program timmax ; Uses crt ; Var A : array[1..250] of integer ; n,i,max,csmax : Integer ; Begin clrscr ; Write('Nhap n = ') ; Readln(n) ; For i := 1 to n do Begin Write('a[',i,'] = ') ; readln(a[i]) ; End ; max := a[N] ; csmax := 1 ; For i := n-1 downto 1 do If a[i] > max then Begin max := a[i] ; csmax :=i ; End ; Writeln('Gia tri lon nhat : ',max) ; Writeln('chi so ptu lon nhat : ',csmax) ; Readln ; End. 4. Củng cố Một số thuật toán cơ bản: + Tìm tổng các phần tử thỏa mãn điều kiện nào đó. + Đếm số các phần tử thỏa mãn điều kiện nào đó. + Tìm phần tử lớn nhất, nhỏ nhất. 5. Câu hỏi và bài tập về nhà. - Xem nội dung của bài thực hành số 4, sách giáo khoa, trang 65. ...................................................................... TIẾT 30 CĐ5: KIỂU MẢNG (tiết 7) I. Mục tiêu: - Củng cố cho học sinh kiến thức kiểu mảng. - Mô tả được cách khai báo, tham chiếu đến các phần tử của mảng,cách nhập xuất các phần tử của mảng. - Biết giải một số bài toán về mảng trên máy tính. - Xây dựng được chương trình giải quyết được một số bài toán về mảng một chiều. II. Chuẩn bị: 1. Giáo viên: - Giáo án, SGK, sách giáo viên, sách bài tập, máy chiếu. 2. Học sinh: - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ: Tiến hành trong quá trình chữa bài tập. Tiến trình bài mới: Hoạt động của thầy và trò Nội dung Hoạt động 1: Làm bài 5 (20p) B1: chuyển giao nhiệm vụ học tập. GV nêu yêu cầu của bài toán. Chia lớp theo nhóm thảo luận. GV: Nêu nội dung bài tập. HS: Đọc nội dung bài tập. B2: Thực hiện nhiệm vụ học tập HS thảo luận nhóm. GV quan sát giúp đỡ HS gặp khó khăn. GV: Hướng dẫn học sinh chữa bài tập. GV: Nhắc lại định nghĩa cấp số cộng trong toán học? HS: Nhắc lại. GV: Dãy số A1, A2,..An là cấp số cộng nếu thoả mãn điều kiện gì? HS: d= A2-A1=A3-A2 = ......=An-An-1. GV: Khi nào thì dãy số đã cho không là cấp số cộng? HS: Khi tồn tại một cặp số đã cho có hiệu khác d. GV: Vậy phải sử dụng câu lệnh gì? HS: Sử dụng câu lệnh lặp với số lần không biết trước While - Do. B3: Báo cáo kết quả thảo luận. Các nhóm báo cáo kết quả thảo luận. . GV: gọi học sinh lên bảng chữa chương trình. HS: Thực hiện theo yêu cầu của giáo viên. B4: Đánh giá kết quả thực hiện nhiệm vụ học tập GV nhận xét kết quả thực hiện nhiệm vụ của các nhóm và chính xác hóa kiến thức Hoạt động 2: Làm bài 6 (20p) GV: Gọi học sinh lên bảng chữa phần a. HS: Lên bảng chữa chương trình theo yêu cầu của giáo viên. GV: Hướng dẫn học sinh làm phần b. GV: Thế nào là một số nguyên tố? HS: Một số nguyên tố nếu chỉ có hai ước là một và chính nó. GV: Muốn kiểm tra số nguyên tố ta làm thế nào? HS: Kiểm tra các ước trong phạm vi từ 2 đến n-1. Nếu chia hết cho một số nào trong phạm vi đó thì đó không phải là số nguyên tố. GV: Trong tin học cho phép kiểm tra ước đến sqrt(n). HS: Suy nghĩ thuật toán kiểm tra tính nguyên tố của một số. Bài 5: Viết chương trình nhập từ bàn phím số nguyên dương N (N<=100) và dãy A gồm N số nguyên A1, A2,...An có giá trị tuyệt đối không lớn hơn 1000. Hãy cho biết dãy A có phải là một cấp số cộng hay không và thông báo kết quả ra màn hình. Chương trình: program CSCONG; uses crt; Var A: array[1..100] of integer; n,i,d: Byte; Begin clrscr; write('nhap so phan tu day'); readln(n); While (n 100) do begin write('nhap lai'); readln(n); end; for i:= 1 to n do begin write(' Nhap A[',i,']='); readln(A[i]); end; d:= A[2]-A[1]; i:=3; While (A[i] - A[i-1] = d) do i:=i+1; if i> n then write(' Day so la cap so cong') else write(' Day so ko la cap so cong'); readln; end. Bài 6: Viết chương trình nhập vào từ bàn phím số nguyên dương n( n<=100) và dãy A gồm N số nguyên A1,A2,..,An có trị tuyệt đối không lớn hơn 1000. Hãy đưa ra những thông tin sau: a) Số lượng số chẵn và số lẻ trong dãy. b) Số lượng số nguyên tố trong dãy. Chương trình: program NGUYENTO; uses crt; Var A: array[1..100] of integer; n,i,dc,dl,dnt,u: Byte; Begin clrscr; write(' Moi ban nhap so phan tu cua day'); readln(n); While (n 100) do end. 4. Tổng kết: - Lưu ý học sinh về thuật toán kiểm tra tính nguyên tố của một số. - Câu lệnh kiểm tra điều kiện nhập vào của một số. 5. Bài tập về nhà: - Bải tập 7,8,9 trong SGK trg 79,80. - Đọc và chuẩn bị trước nội dung bài thực hành số 4. .......................................................... Ngày tháng năm 2021 Ký duyệt của TTCM Ngày soạn:25/02/2021 Tiết 31 BÀI TẬP I. Mục tiêu - Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng. - Làm quen với thuật toán sắp xếp đơn giản. - Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuật toán bằng chương trình sử dụng dữ liệu kiểu mảng. - Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn. II. Chuẩn bị 1. Giáo viên - Giáo án, SGK, sách giáo viên, sách bài tập, máy chiếu, phòng máy. 2. Học sinh - Vở ghi, sách giáo khoa, đồ dùng học tập. III. Tổ chức các hoạt động học tập Ổn định tổ chức lớp: Lớp Ngày dạy Sĩ số 11G Kiểm tra bài cũ: Tiến hành trong quá trình thực hành. Tiến trình bài học: Hoạt động của thầy và trò Nội dung Ho¹t ®éng 1: Híng dÉn lµm bµi tËp 1 phÇn a (25p) B1: chuyển giao nhiệm vụ học tập. GV nêu yêu cầu của bài toán. Chia lớp theo nhóm thảo luận. B2: Thực hiện nhiệm vụ học tập HS thảo luận nhóm. GV quan sát giúp đỡ HS gặp khó khăn. GV: Gîi ý cho häc sinh thuËt to¸n s¾p xÕp t¨ng dÇn. - LÊy mét vÝ dô thùc tiÔn: Ngêi mï s¾p xÕp mét d·y c¸c viªn bi theo kÝch thíc kh«ng gi¶m. - Yªu cÇu: V¹ch ra c¸c bíc ®Ó s¾p xÕp c¸c phÇn tö cña mét m¶ng kh«ng gi¶m. HS: Chó ý theo dâi nh÷ng dÉn d¾t cña gi¸o viªn ®Ó tr¶ lêi c©u hái. HS: LÇn lît lÊy tõng phÇn tö tõ tr¸i qua ph¶i. HS: Quan s¸t ch¬ng tr×nh, suy nghÜ c©u hái vµ tr¶ lêi. GV: - ChiÕu ch¬ng tr×nh vÝ dô lªn b¶ng. - Vai trß cña biÕn i, j trong ch¬ng tr×nh? Mçi vßng lÆp For trong ®o¹n ch¬ng tr×nh s¾p xÕp cã ý nghÜa g×? HS: BiÕn i, j dïng lµm chØ sè. - Mçi vßng lÆp For øng víi mçi phÐp duyÖt lÇn lît. GV: Ba lÖnh tg:=a[i]; a[i]:=a[i+1]; a[i+1]:=tg; cã ý nghÜa g×? HS: Dïng ®Ó ®æi gi¸ trÞ cña hai phÇn tö a[i] víi a[i+1]. B3: Báo cáo kết quả thảo luận. Các nhóm báo cáo kết quả thảo luận. GVR: Thùc hiÖn ch¬ng tr×nh, nhËp d÷ liÖu ®Ó häc sinh thÊy kÕt qu¶ ch¬ng tr×nh. - Hái: Ch¬ng tr×nh lµm c«ng vÞªc g×? HS: Ch¬ng tr×nh s¾p xÕp d·y sè theo thø tù kh«ng gi¶m. B4: Đánh giá kết quả thực hiện nhiệm vụ học tập GV nhận xét kết quả thực hiện nhiệm vụ của các nhóm và chính xác hóa kiến thức. Ho¹t ®éng 2: Lµm bµi 1.b (15p) GV: Söa ch¬ng tr×nh ®Ó giải quyÕt bµi to¸n ë c©u b. GV: §o¹n ch¬ng tr×nh nµo dïng ®Ó thùc hiÖn tr¸o ®æi gi¸ trÞ? HS: tg:=a[i];a[i]:=a[i+1];a[i+1]:=tg; GV: Yªu cÇu häc sinh viÕt lÖnh ®Ó ®Õm sè lÇn tr¸o ®æi. HS: Dem := Dem+1; GV:LÖnh nµy ®îc viÕt ë vÞ nµo trong ch¬ng tr×nh? HS: Ngay sau ®o¹n tr¸o ®æi. GV: Yªu cÇu häc sinh thùc hiÖn ch¬ng tr×nh? HS: Thùc hiÖn ch¬ng tr×
Tài liệu đính kèm:
- giao_an_tin_hoc_11_tiet_23_den_tiet_52.docx