Giáo án Tin học 11 - Tiết 20 đến tiết 39

20 19 0
Giáo án Tin học 11 - Tiết 20 đến tiết 39

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Kỹ năng:  Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một chiều  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 3.. Thái độ:  Có[r]

(1)Ngày soạn : 25/01/2010 Ngày dạy : 04/01/2010 Tiết :20 CHƯƠNG IV KIỂU DỮ LIỆU CÓ CẤU TRÚC §11 KIỂU MẢNG (TIẾT 1) I MỤC TIÊU Kiến thức - Biết kiểu liệu là kiểu mảng chiều Biết loại biến có số - Biết cấu trúc tạo kiểu mảng chiều và cách khai báo biến khiểu mảng chiều Kĩ - Tạo kiểu mảng chiều và sử dụng biến mảng chiều ngôn ngữ lập trình Pascal để giải số bài toán cụ thể Thái độ - Góp phần rèn luyện tác phong, tư lập trình: Tự giác, tich cực, chủ động và sáng tạo tìm kiếm kiến thức II ĐỒ DÙNG DẠY HỌC - Giáo án, SGK, SGV, Chuẩn bị học sinh - Sách giáo khoa, ghi Nội dung ghi bảng Kiểu mảng chiều VD: SGK_53 Chương trình minh họa: Program nhietdotuan; Var t1,t2,t3,t4,t5,t6,t7,tb:real; dem:integer; Begin Write(‘Nhap vao nhiet ngay: ’); readln(t1,t2,t3,t4,t5,t6,t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7; dem:=0; if t1>tb then dem:=dem+1; if t2>tb then dem:=dem+1; if t3>tb then dem:=dem+1; if t4>tb then dem:=dem+1; if t5>tb then dem:=dem+1; if t6>tb then dem:=dem+1; if t7>tb then dem:=dem+1; Lop11.com (2) writeln(‘Nhiet trung binh tuan ’,tb); writeln(‘So nhiet trung binh cao hon nhiet trung binh tuan’,dem); readln; end  Mảng chiều là dãy hữu hạn các phần tử có cùng kiểu liệu Các phần tử mảng có cùng chung tên và phân biệt số  Để mô tả mảng chiều cần xác định kiểu các phần tử và cách đánh số các phần tử nó a Khai báo TYPE tên_km= Array[kiểu_cs] Of kiểu_thành_phần; + Kiểu chii số thường là kiểu số nguyên (hoặc đoạn kí tự) liên tục, có dạng n1 n2 với n1 và n2 là các biểu thức nguyên (hoặc kí tự) xác ddingj số đầu và số cuối mảng + Kiểu thành phần: Là kiểu liệu chung phần tử mảng + Khai báo biến mảng chiều: Var Tên_biến: Tên_kiểu_mảng; + Tham chiếu đến phần tử: Tên_biến[chỉ số]; III HOẠT ĐỘNG DẠY-HỌC Ổn định tổ chức Kiểm tra sĩ số: Lớp - Sĩ số Ngày dạy 11A1 – 39 / / 2010 11A2 – 41 / / 2010 11A3 – 44 / / 2010 11A4 – 49 / / 2010 11A5 – 50 / / 2010 11A6 – 47 / / 2010 11A7 – 44 / / 2010 11A8 – 46 / / 2010 11A9 – 47 / / 2010 11A10 – 51 / / 2010 11A11 – 41 / / 2010 Kiểm tra bài cũ - Lồng vào bài Bài Vắng Tên HS vắng Hoạt động 1: Tìm hiểu ý nghĩa mảng chiều HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Nêu đề bài và chương trình ví dụ lên bảng - Hỏi: Khi N lớn thì chương trình trên có hạn chế nào? - Dẫn dắt: Để khắc phục hạn chế trên, Quan sát trên bảng, suy nghĩ và trả lời - Phải khai báo quá nhiều biến Chương trình phải viết dài Lop11.com (3) người ta thường ghép chung biến trên thành dãy và đặt cho nó chung tên và đánh cho phần tử số Yêu cầu học sinh tham khảo sách giáo khoa và hỏi: Em hiểu nào mảng chiều? Nghiên cứu sách giáo khoa để trả lời - Mảng chiều là dãy hữu hạn các phần tử có cùng kiểu liệu Các phần - Hỏi: Để mô tả mảng chiều, ta cần xác định tử mảng có cùng chung tên và yếu tố nào? phân biệt số - Để mô tả mảng chiều cần xác định kiểu các phần tử và cách đánh số các phần tử nó Hoạt động 2: Tạo kiểu mảng chiều và khai báo biến mảng HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Yêu cầu học sinh nghiên cứu sách giáo khoa Tham khảo sách giáo khoa và trả lời và cho biết cách tạo kiểu liệu mảng chiều - TYPE tên_km= Array[kiểu_cs] Of kiểu_thành_phần; ngôn ngữ lập trình Pascal - Tìm ví dụ để minh họa - Ví dụ: Type mmc=array[1 100] of - Gọi học sinh khác, hỏi: Ý nghĩa lệnh bạn integer; vừa viết? - Tạo kiểu liệu có tên mmc, gồm 100 phần tử, có kiểu nguyên - Chiếu lên bảng số khai báo kiểu mảng - Quan sát bảng và chọn khai báo đúng chiều Type Arrayr=array[1 200] of real; Arrayr=array[1 200] of real; Arrayb=array[-100 0] of boolean; Arrayr=array[byte] of real; Arrayb=array[-100 0] of boolean; - Hỏi: Những khai báo nào đúng? Tham khảo sách giáo khoa và trả lời Yêu cầu học sinh cho biết cách khai báo biến - VAR tên_biến:tên_km; và ví dụ khai báo biến mảng ứng với - Ví dụ: Var a:mmc; kiểu liệu vừa tạo - Khai báo biến mảng chiều - Gọi học sinh khác, hỏi: Ý nghĩa lệnh bạn vừa viết? - a đã chiếm 200 byte nhớ - Dung lượng nhớ biến a đã chiếm là bao nhiêu? - Chú ý cho học sinh cách đặt tên kiểu liệu và tên biến, tránh nhầm lẫn Theo dõi hướng dẫn giáo viên và Giới thiệu cách tham chiếu đến phần tử độc lập suy nghĩ để trả lời Lop11.com (4) mảng chiều Yêu cầu học sinh lấy ví a[1] là phần tử vị trí mảng a dụ a[i] là phần tử vị trí i mảng a Củng cố và dặn dò - Cách tạo kiểu mảng chiều và cách khai báo biến TYPE tên_kiểu_mảng = Array[kiểu_chỉ_số] Of kiểu_thành_phần; VAR tên_biến:tên_kiểu_mảng; - Tham chiếu đến phần tử: Tên_biến[chỉ số] - Trả lời các câu hỏi 1-4 trang 79 - Đọc trước nội dung kiểu mảng chiều phần b IV RÚT KINH NGHIỆM TIẾT DẠY Tổ trưởng duyệt Giáo viên soạn Ngày tháng năm 2010 ( Chữ ký, Họ tên) Phạm Anh Quý Giáp Văn Khiêm Lop11.com (5) Ngày soạn : 25/01/2010 Ngày dạy : 06/01/2010 Tiết :21 §11 KIỂU MẢNG (TIẾT 2) I MỤC TIÊU: Kiến thức: Học sinh sau tiết học sẽ:  Nắm khái niệm mảng chiều  Hiểu cách khai báo và truy cập đến các phần tử mảng Kỹ năng:  Cài đặt thuật toán số bài toán đơn giản với kiểu liệu mảng chiều  Thực khai báo mảng, truy cập, tính toán các phần tử mảng Thái độ:  Có tư đúng đắn việc áp dụng mảng chiều để giải các bài toán đơn giản  Tạo lòng ham muốn giải số bài tập tính toán đơn giản ngôn ngữ Pascal II ĐỒ DÙNG DẠY HỌC Giáo viên: − Sách giáo viên, giáo án, SGK, Học sinh: − Vở ghi, SGK III PHƯƠNG PHÁP: Phương pháp thuyết trình, vấn đáp, kết hợp tạo tình có vấn đề IV HOẠT ĐỘNG DẠY HỌC Ổn định tổ chức Kiểm tra sĩ số: Lớp - Sĩ số Ngày dạy 11A1 – 39 / / 2010 11A2 – 41 / / 2010 11A3 – 44 / / 2010 11A4 – 49 / / 2010 11A5 – 50 / / 2010 11A6 – 47 / / 2010 11A7 – 44 / / 2010 11A8 – 46 / / 2010 11A9 – 47 / / 2010 11A10 – 51 / / 2010 11A11 – 41 / / 2010 Vắng Lop11.com Tên HS vắng (6) Kiểm tra bài cũ − Mảng chiều là gì? − Khai báo cho bài toán sau: Cho dãy A gồm n phần tử có giá trị nguyên dương Sau đó đếm và đưa có bao nhiêu số chẵn, bao nhiêu số lẻ dãy Bài Hoạt động 1: Trình bày ví dụ SGK trang 56 HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Nêu nội dung bài toán ví dụ Trình bày Input và Output bài toán - Input : Số nguyên dương N và dãy số A1, A2, … , AN - Output : Chỉ số và giá trị số lớn dãy * Ý tưởng thuật toán + Đặt số A1 là số lớn (max) + Cho i lặp từ đến N, A[i]> A[1] thì đổi max = A[i] và lưu lại vị trí i * Thuật toán: B1: Nhập N và dãy A1, A2,…, AN; B2: Max←A1; i←2; B3: Nếu i>N thì đưa Max kết thúc; B4: B4.1: Nếu Ai>Max thì Max← Ai; B4.2: i←i+1 quay lại bước − Biến i dùng để làm gì? − Để thực phần tử từ vị trí thứ đến vị trí thứ n − Để kết thúc thuật toán sau đã duyệt xong (Tính dừng thuật toán) − Có − Khi i=N+1 thì vòng lặp dừng lại − Ý nghĩa bước − Có sử dụng vòng lặp không? − Khi nào thì vòng lặp dừng lại? * Chương trì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 := to n Begin Write('a[',i,'] = ') ; readln(a[i]) ; End ; Lop11.com (7) max := a[i] ; csmax := ; For i := to n 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 Cho HS chạy thử thuật toán với liệu: 15 Hoạt động 2: trình bày ví dụ SGK trang 58 HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Ví dụ : Tìm kiếm nhị phân Input: Dãy A là dãy tăng gồm N số Gọi HS xác định Input và Output bài toán? nguyên dương A1, A2, …, AN, số nguyên k Output: Chỉ số i mà Ai = k thông báo “Khong tim thay” không có số hạng nào dãy A có giá trị k * Thuật toán: Bước 1: Nhập N, các số hạng A1, A2, …, AN, và khóa k; Bước 2: Dau  1; Cuoi  N;  Dau  Cuoi   ;  Bước 3: Giua   Bước 4: Nếu AGiua = k thì thông báo số Giua, kết thúc; Bước 5: Nếu AGiua > k thì đặt Cuoi = Giua – chuyển đến bước 7; Bước 6: Dau  Giua + 1; Bước 7: Nếu Dau > Cuoi thì thông báo dãy A không có số hạng có giá trị k, kết thúc; Bước 8: Quay lại bước Gọi HS lên bảng viết phần khai báo và nhập liệu cho bài toán? Chương trình sau : dau := ; cuoi := n ; TK := false ; while (dau <= cuoi) and Not TK Do Begin Lop11.com Program sapxep ; Uses crt ; var A : Array[1 250] of integer ; n,i,k : Integer ; dau,cuoi,giua : Integer ; TK : boolean ; Begin clrscr ; (8) giua := (dau+cuoi) div ; If A[giua] = k then TK := true Else If a[giua]>k then cuoi := giua - Else dau := giua + ; End ; Write('Nhap so ptu mang n = ') ; Readln(n) ; For i := to n Begin Write('A[',i,'] = ') ; readln(A[i]) ; End ; Write('nhap so can tim k : ') ; Readln(k); Kết chưa hiển thị trên màn Sau đã tìm số cần tìm kết đã hình, ta phải dùng thủ tục để đưa liệu đó màn hình thị trên màn hình chưa? If TK then write('Chi so la : ',giua) else write(' Khong tim thay '); readln ; End Cho liệu cụ thể và yêu cầu HS chạy chương trình với liệu đó Củng cố và dặn dò - Thuật toán tráo đổi giá trị hai phần tử, sử dụng biến trung gian để lưu giá trị tạm thời - Đối với thuật toán tìm kiếm nhị phân, mảng phải xếp có thứ tự (dãy tăng dãy giảm) - Về nhà làm các bài tập 5,6 SGK_79 và chuẩn bị ví dụ SGK_57 V RÚT KINH NGHIỆM TIẾT DẠY Tổ trưởng duyệt Giáo viên soạn Ngày tháng năm 2010 ( Chữ ký, Họ tên) Phạm Anh Quý Giáp Văn Khiêm Lop11.com (9) Ngày soạn : 30/01/2010 Ngày dạy : 11/01/2010 Tiết :22 §11 KIỂU MẢNG (TIẾT 3) I MỤC TIÊU: Kiến thức: Học sinh sau tiết học sẽ:  Nắm khái niệm mảng chiều  Hiểu cách khai báo và truy cập đến các phần tử mảng Kỹ năng:  Cài đặt thuật toán số bài toán đơn giản với kiểu liệu mảng chiều  Thực khai báo mảng, truy cập, tính toán các phần tử mảng Thái độ:  Có tư đúng đắn việc áp dụng mảng chiều để giải các bài toán đơn giản  Tạo lòng ham muốn giải số bài tập tính toán đơn giản ngôn ngữ Pascal II ĐỒ DÙNG DẠY HỌC Giáo viên: − Sách giáo viên, giáo án, SGK, Học sinh: − Vở ghi, SGK III PHƯƠNG PHÁP: Phương pháp thuyết trình, vấn đáp, kết hợp tạo tình có vấn đề IV HOẠT ĐỘNG DẠY HỌC Ổn định tổ chức Kiểm tra sĩ số: Lớp - Sĩ số Ngày dạy 11A1 – 39 / / 2010 11A2 – 41 / / 2010 11A3 – 44 / / 2010 11A4 – 49 / / 2010 11A5 – 50 / / 2010 11A6 – 47 / / 2010 11A7 – 44 / / 2010 11A8 – 46 / / 2010 11A9 – 47 / / 2010 11A10 – 51 / / 2010 11A11 – 41 / / 2010 Vắng Lop11.com Tên HS vắng (10) Kiểm tra bài cũ Trình bày cách khai báo gián tiếp kiểu liệu mảng chiều Turbo Pascal Có khai báo sau, cho biết tên kiểu liệu mới, kiểu mảng đó có bao nhiêu phần tử, phần tử mảng thuộc kiểu gì, và tên các mảng dùng chương trình là gì? Type diem = array[1 15] of byte; Var A, mang: diem; Bài Hoạt động 1: Trình bày ví dụ SGK trang 57 HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Ví dụ : Sắp xếp dãy số nguyên thuật toán tráo đổi Trình Input và Output bài toán? - Input : Số nguyên dương N và dãy số A1, A2, …, AN - Output : Dãy A xếp theo Việc xếp dãy số là việc hoán vị các số đó thứ tự không giảm cho chúng tạo thành dãy tăng dần giảm dần Chúng ta có thể liên tưởng tới công việc xếp hàng buổi chào cờ * Ý tưởng : + Đổi để đưa số lớn vị trí cuối cùng + Làm tương tự số còn lại * Thuật toán: Program sapxep ; Gọi HS lên bảng viết phần khai báo và phần nhập Uses crt ; liệu cho chương trình? 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 := to n Begin Write('A[',i,'] = ') ; readln(A[i]) ; End ; GV: Hoàn thiện chương trình For j := n downto Begin For i := to j-1 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 sap xep : ') ; For i := to n 10 Lop11.com (11) write(a[i]:8) ; readln ; End Writeln('chi so ptu lon nhat : ',csmax); readln ; End - Trong thuật toán cần duyệt qua bao nhiêu lần? Thuật toán cần duyệt n! lần - Mỗi lượt thực trên đoạn nào dãy số? - Câu lệnh nào chương trình thể hai Trên đoạn n-1 phần tử yêu cầu trên? Câu lệnh: For j := n downto Begin For i := to j-1 - Mỗi lượt duyệt thực các thao tác gì? Đưa giá trị lớn cuối dãy - Câu lệnh nào thực việc tráo đổi? Câu lệnh: If A[i] > A[i+1] then Begin tg := A[i] ; A[i] := A[i+1] ; A[i+1] := tg ; End ; Hoạt động 2: thực với các số cụ thể HOẠT ĐỘNG CỦA GIÁO VIÊN - Mô thuật toán với liệu: 10 12 HOẠT ĐỘNG CỦA HỌC SINH Thực theo yêu cầu Củng cố và dặn dò - Thuật toán tráo đổi giá trị hai phần tử, sử dụng biến trung gian để lưu giá trị tạm thời - Về nhà làm các bài tập SGK_79 và chuẩn bị bài tập thực hành V RÚT KINH NGHIỆM TIẾT DẠY Tổ trưởng duyệt Giáo viên soạn Ngày tháng năm 2010 ( Chữ ký, Họ tên) 11 Lop11.com (12) Ngày soạn: 05/01/2010 Ngày giảng:13/01/2010 Tiết PPCT: 23 BÀI THỰC HÀNH SỐ (tiết 1) I MỤC TIÊU Kiến thức - Giới thiệu cho học sinh cách lưu trữ mảng chiều trên máy tính và các thao tác với mảng chiều Kĩ - Nâng cao kĩ sử dụng số lệnh kiểu liệu mảng chiều lập trình, cụ thể: + Khai báo kiểu liệu mảng chiều + Nhập/xuất liệu cho mảng + Duyệt qua tất các phần tử mảng để xử lý phần tử Thái độ - Góp phần rèn luyện tác phong, tư lập trình: Tự giác, tich cực, chủ động và sáng tạo tìm kiếm kiến thức II ĐỒ DÙNG DẠY HỌC Chuẩn bị giáo viên - Phòng máy vi tính, giáo án, SGK Chuẩn bị học sinh - Sách giáo khoa Nội dung ghi bảng – Nhắc lại cách mô tả mảng chiều, cách khai báo, cách tham chiếu III HOẠT ĐỘNG DẠY-HỌC Ổn định tổ chức Kiểm tra sĩ số: Lớp - Sĩ số Ngày dạy 11A1 – 38 / / 2010 11A2 – 41 / / 2010 11A3 – 44 / / 2010 11A4 – 49 / / 2010 11A5 – 50 / / 2010 11A6 – 47 / / 2010 11A7 – 44 / / 2010 11A8 – 46 / / 2010 11A9 – 47 / / 2010 Vắng 12 Lop11.com Tên HS vắng (13) 11A10 – 51 / / 2010 11A11 – 41 / / 2010 Kiểm tra bài cũ - Lồng vào bài Bài Hoạt động 1: Tìm hiểu cách sử dụng lệnh và kiểu liệu mảng chiều qua chương trình có sẵn HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Tìm hiểu chương trình câu a, sách giáo Quan sát, chú ý và trả lời khoa, trang 63 và chạy thử chương trình - Chiếu chương trình lên bảng - Hỏi: Khai báo Uses CRT; có ý nghĩa gì? - Khai báo thư viện chương trình Crt để sử dụng thủ tục Clrscr; - Hỏi: Myarray là tên kiểu liệu hay tên - Tên kiểu liệu biến? - Hỏi: Vai trò nmax và n có gì khác nhau? - nmax là số phần tử tối đa có thể chứa biến mảng a n là số phần tử - Hỏi: Những dòng lệnh nào dùng để tạo biến thực tế a - Lệnh khai báo kiểu và khai báo mảng a? - Thực chương trình để học sinh thấy kết biến - Hỏi: Lệnh gán a[i]:=random(300)- - Quan sát chương trình thực và random(300) có ý nghĩa gì? kết trên màn hình - Hỏi: Lệnh For i:=1 to n Write(A[i]:5); - Lệnh sinh ngẫu nhíên giá trị cho có ý nghĩa gì? mảng a từ -299 đến 299 - Hỏi: Lệnh For-Do cuối cùng thực - In màn hình giá trị phần nhiệm vụ gì? tử mảng a - Hỏi: Lệnh s:=s+a[i]; thực bao - Cộng các phần tử chia hết cho k nhiêu lần? - Thực lại chương trình lần cuối để học - Có số lần đúng số phần tử a[i] sinh thấy kết chia hết k Sửa chương trình câu a để chương - Quan sát giáo viên thực trình giải bài toán câu b chương trình và kết trên màn - Chiếu lên màn hình các lệnh cần thêm vào hình chương trình câu a Quan sát và chú ý theo dõi các câu - Hỏi: Ý nghĩa biến Posi và neg? hỏi giáo viên: - Hỏi: Chức lệnh? - Quan sát các lệnh và suy nghĩ vị trí If a[i]>0 then posi:=posi+1 cần sửa chương trình câu a 13 Lop11.com (14) else if a[i]<0 then neg:=neg+1; - Yêu cầu học sinh thêm vào vị trí cần thiết để chương trình đếm số - Yêu cầu học sinh gõ nội dung và lưu lại với tên caub.pas Thực chương trình và báo cáo kết - Dùng để lưu số lượng đếm - Đếm số dương đếm số âm HOẠT ĐỘNG CỦA GIÁO VIÊN - Quan sát học sinh thực hành và sửa lỗi HOẠT ĐỘNG CỦA HỌC SINH Thực hành bài - Chỉ vị trí cần thêm vào chương trình - Lưu chương trình Thực chương trình và thông báo kết Hoạt động 2: Học sinh thực hành, giáo viên quan sát và sửa lỗi Củng cố và dặn dò Sửa các lỗi mà học sinh mắc phải quá trình thực hành Một số thuật toán bản: + Tính tổng các phần tử thoả mãn điều kiện nào đó + Đếm số các phần tử thoả mãn điều kiện nào đó + Tìm phần tử lớn nhất, nhỏ IV RÚT KINH NGHIỆM TIẾT DẠY Tổ trưởng duyệt Giáo viên soạn Ngày tháng năm 2010 ( Chữ ký, Họ tên) Phạm Anh Quý Giáp Văn Khiêm 14 Lop11.com (15) Ngày soạn: 05/01/2010 Ngày giảng:18/01/2010 Tiết PPCT: 24 BÀI THỰC HÀNH SỐ (tiết 2) I MỤC TIÊU Kiến thức - Củng cố lại các kiến thức kiểu liệu mảng chiều Kĩ - Biết giải số bài toán thường gặp: + Tính tổng các phần tử thoả mãn điều kiện nào đó + Đếm số các phần tử thoả mãn điều kiện nào đó + Tìm phần tử lớn nhất, nhỏ Thái độ - Góp phần rèn luyện tác phong, tư lập trình: Tự giác, tich cực, chủ động và sáng tạo tìm kiếm kiến thức II ĐỒ DÙNG DẠY HỌC Chuẩn bị giáo viên - Phòng máy vi tính, giáo án, SGK Chuẩn bị học sinh - Sách giáo khoa III HOẠT ĐỘNG DẠY-HỌC Ổn định tổ chức Kiểm tra sĩ số: Lớp - Sĩ số Ngày dạy 11A1 – 38 / / 2010 11A2 – 41 / / 2010 11A3 – 44 / / 2010 11A4 – 49 / / 2010 11A5 – 50 / / 2010 11A6 – 47 / / 2010 11A7 – 44 / / 2010 11A8 – 46 / / 2010 11A9 – 47 / / 2010 11A10 – 51 / / 2010 11A11 – 41 / / 2010 Kiểm tra bài cũ Vắng 15 Lop11.com Tên HS vắng (16) - Lồng vào bài Bài Hoạt động 1: Rèn luyện kĩ lập trình HOẠT ĐỘNG CỦA GIÁO VIÊN Lấy ví dụ thực tiễn: Người mù tìm viên sỏi có kích thước lớn dãy các viên sỏi để gợi ý cho học sinh thuật toán tìm giá trị lớn - Yêu cầu: nêu thuật toán tìm phần tử có giá trị lớn Tìm hiểu chương trình tìm số và giá trị lớn - Chiếu chương trình ví dụ, sách giáo khoa, trang 64 - Hỏi: Vai trò biến j chương trình? HOẠT ĐỘNG CỦA HỌC SINH Theo dõi ví dụ giáo viên - So sánh từ trái sang phải, giữ lại số phần tử lớn Quan sát chương trình, suy nghĩ và trả lời - Giữ lại số phần tử có giá trị lớn - Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần - Phép so sánh a[i]<a[j] sửa chỗ nào? - Hỏi: Nếu muốn tìm phần tử lớn với - Chuyển thứ tự duyệt từ n-1 số lớn ta sửa chỗ nào? Đặt yêu cầu mới: Viết chương trình đưa Theo dõi yêu cầu, suy nghĩ các câu các số các phần tử có giá trị lớn hỏi định hướng để viết chương trình - Hỏi: Cần giữ lại đoạn chương trình tìm giá trị lớn không? - Có - Hỏi: Cần thêm lệnh nào nữa? - Lệnh để in các số có giá trị - Hỏi: Vị trí thêm các lệnh đó? giá trị lớn tìm - Yêu cầu: Viết chương trình hoàn thiện - Sau tìm giá trị lớn - Soạn chương trình vào máy Thực chương trình và thông báo kết - Yêu cầu học sinh nhập liệu vào giáo - Nhập liệu vào và thông báo cho viên và báo kết - Đánh giá kết học sinh giáo viên liệu Hoạt động 2: Học sinh thực hành, giáo viên quan sát và sửa lỗi HOẠT ĐỘNG CỦA GIÁO VIÊN - Quan sát học sinh thực hành và sửa lỗi HOẠT ĐỘNG CỦA HỌC SINH Thực hành bài 16 Lop11.com (17) Củng cố và dặn dò – Sửa các lỗi sai mà học sinh mắc phải – Về nhà làm bài tập 5, SGK trang 79 IV RÚT KINH NGHIỆM TIẾT DẠY Tổ trưởng duyệt Ngày tháng năm 2010 Giáo viên soạn ( Chữ ký, Họ tên) Phạm Anh Quý Giáp Văn Khiêm 17 Lop11.com (18) Ngày soạn: 05/01/2010 Ngày giảng:20/1/2010 Tiết PPCT: 25 BÀI TẬP I MỤC TIÊU Kiến thức - Củng cố lại các kiến thức kiểu liệu mảng chiều Kĩ - Biết giải số bài toán thường gặp Thái độ - Góp phần rèn luyện tác phong, tư lập trình: Tự giác, tich cực, chủ động và sáng tạo tìm kiếm kiến thức II ĐỒ DÙNG DẠY HỌC Chuẩn bị giáo viên - Giáo án, SGK, phiếu học tập Chuẩn bị học sinh - Sách giáo khoa III HOẠT ĐỘNG DẠY-HỌC Ổn định tổ chức Kiểm tra sĩ số: Lớp - Sĩ số Ngày dạy 11A1 – 38 / / 2010 11A2 – 41 / / 2010 11A3 – 44 / / 2010 11A4 – 49 / / 2010 11A5 – 50 / / 2010 11A6 – 47 / / 2010 11A7 – 44 / / 2010 11A8 – 46 / / 2010 11A9 – 47 / / 2010 11A10 – 51 / / 2010 11A11 – 41 / / 2010 Kiểm tra bài cũ - Lồng vào bài Bài Vắng Tên HS vắng Hoạt động 1: Củng cố lại các kiến thức đã học mảng chiều 18 Lop11.com (19) HOẠT ĐỘNG CỦA GIÁO VIÊN ? Thế nào là mảng chiều HOẠT ĐỘNG CỦA HỌC SINH Là dãy các phần tử có cùng kiểu liệu ? Để mô tả mảng chiều ta phải xác định Ta cần xác định các yếu tố sau: + Tên kiểu mảng chiều các yếu tố nào + Kiểu số + Kiểu liệu + Cách khai báo + Cách tham chiếu ? Có cách để khai báo mảng chiều? Có hai cách để khai báo mảng Đó là cách nào chiều: + C1: Khai báo trực tiếp Var <Tên biến mảng>: array[<kiểu số>] of <kiểu phần tử>; + C2: Khai báo gián tiếp Type <Tên kiểu mảng>= array[<kiểu số>] of <kiểu phần tử>; Var <Tên biến mảng>: <Tên kiểu mảng>; ? Lấy ví dụ minh họa VD: Var a: array[1 100] of byte; Var b: array[a z] of char; Type c=array[1 100] of byte; Var a:c; …………… Hoạt động 2: Chữa số bài tập SGK HOẠT ĐỘNG CỦA GIÁO VÊN Bài tập trang 79: HOẠT ĐỘNG CỦA HỌC SINH Củng cố và dặn dò – Sư IV RÚT KINH NGHIỆM TIẾT DẠY Tổ trưởng duyệt Giáo viên soạn Ngày tháng năm 2010 ( Chữ ký, Họ tên) 19 Lop11.com (20) Ngày soạn: 01/01/2010 Ngày giảng:25/01/2010 Tiết PPCT: 26 §12 KIỂU MẢNG (TIẾT 3) I MỤC TIÊU Kiến thức - Biết kiểu liệu là kiểu mảng hai chiều - Biết cách tạo kiểu mảng hai chiều chiều, cách khai báo biến, tham chiếu đến phần tử mảng Kĩ - Tạo kiểu mảng hai chiều và khai báo biến mảng hai chiều ngôn ngữ lập trình Pascal Sử dụng đúng biến mảng để giải số bài toán cụ thể II ĐỒ DÙNG DẠY HỌC Chuẩn bị giáo viên -Sách giáo khoa, phiếu học tập Chuẩn bị học sinh - Sách giáo khoa Nội dung ghi bảng Mảng hai chiều là bảng các phần tử cùng kiểu Cách xác định mảng hai chiều: + Tên kiểu mảng hai chiểu; + Số lượng phần tử chiều; + Kiểu liệu phần tử; + Cách khai báo biến; + Cách tham chiếu đến phần tử Cấu trúc C1: khai báo gián tiếp TYPE <tên_kiểu_mảng>= Array[csd,csc] Of <kiểu_thành_phần>; VAR <tên_biến_mảng>:<tên_kiểu_mảng>; C2: Khai báo trực tiếp Var <Tên_biến_mảng>:array[csd,csc] of <Kiểu_thành_phần>; * Chú ý: - Các biến mảng thường gồm số lượng lớn các phần tử nên cần lưu ý phạm vi sử dụng chúng để khai báo kích thước và kiểu liệu cho tiết kiệm nhớ - Ngoài hai kiểu mảng chiều và hai chiều, còn có kiểu mảng nhiều chiều III HOẠT ĐỘNG DẠY-HỌC Ổn định tổ chức Kiểm tra sĩ số: 20 Lop11.com (21)

Ngày đăng: 01/04/2021, 22:36

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan