1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giáo án Tin học 11 - Trường THPT Quang Trung

20 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 293,61 KB

Nội dung

Về 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.. Về thái độ[r]

(1)Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Tuần: 09,10 - Tiết PPCT:16,17 Ngày dạy: BÀI TẬP VÀ THỰC HÀNH I MỤC TIÊU: 1.Về kiến thức: Học sinh sau tiết học sẽ:  Xây dựng chương trình có cấu trúc rẽ nhánh  Làm quen với các công cụ hiệu chỉnh chương trình 2.Về kỹ năng:  Rèn luyện cho học sinh các bước lập trình nói chung và kĩ tổ chức chương trình có sử dụng cấu trúc rẽ nhánh nói riêng Về thái độ:  Tự giác, tích cực và chủ động thực hành  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 CHUẨN BỊ: Giáo viên:  Sách giáo viên, máy vi tính đã cài đặt Turbo Pascal Học sinh:  Chuẩn bị bài BT&TH2 III PHƯƠNG PHÁP: Phương pháp vấn đáp, kết hợp trực quan để học sinh tham gia tích cực vào việc xây dựng bài học IV TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện Kiểm tra bài cũ: quá trình giảng bài Giảng bài mới: Hoạt động thầy, trò Nội dung Nhắc lại cấu trúc rẽ nhánh GV: Vừa qua chúng ta đã làm quen và tìm hiểu với  Cấu trúc If-then cấu trúc rẽ nhánh, em Dạng thiếu: Đúng Điều kiện -1Lop11.com Sai Câu lệnh GV : Khuùc Thò My õ Trinh (2) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 nào có thể nhắc lại Câu lệnh if-then không? HS: Trả lời theo câu hỏi giáo viên GV: Nhắc lại đầy đủ cấu trúc lệnh IF Dạng đầy đủ: GV: Yêu cầu các em nhìn vào chương trinh sách và gõ vào máy Câu lệnh Sai Điều kiện Đúng Câu lệnh GV: Sau đánh xong yêu cầu các em lưu Xác định bài toán chương trình với tên  Input: nhập a, b, c PITAGO GV: Hướng dẫn chúng ta  Output: Xuất a, b, c có phải là số Pi-ta-go hay không? có thể lưu cách Chọn File→ Save hay ấn  Thuật toán: phím F2 GV: Nhấn phím F7 để theo dõi quá trình thực dòng lệnh chương trình Đến lệnh readln(a, b, c) thì giáo viên hướng dẫn học sinh Ba số đã nhập là cách nhập liên tiếp ba giá số Pi-ta-go trị a= 3, b= 4, c= Các giá trị cách dấu cách phím  Thuật giải: Enter GV: Yêu cầu các em để ý giai đoạn rẽ nhánh bài toán và nhập ba giá trị a, b, c khác để thấy rõ ràng HS: Thực hành và quan Nhập a, b, c a2:= a; b2:= b; c2:= c; a2:=a 2*a; b2:=b2*b; c2:=c2*c; Đúng a2= b2 + c2; b2= a2 + c2; c2= a2 + b2 Bước 1: Nhập a, b, c Bước 2: Tính a2, b2, c2 a2:= a; b2:= b; c2:= c; a2:= a2* a; - - b2:= b2* b; c2:= c2* c; Lop11.com Bước 3: Kiểm tra Sai Ba số đã nhập là không số Pi-ta-go GV : Khuùc Thò My õ Trinh (3) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 sát cấu trúc rẽ nhánh GV: Sau đã quan sát quá trình rẽ nhánh in kết trên màn hình, để biết giá trị a2, b2, c2 bây giờ? GV: Chúng ta chọn thẻ Debug để chọn mục Watch, sau cửa sổ  Chương trình Pi-ta-go: program Pi_ta_go; Watch xuất ta ấn uses crt; phím Crtl+ F7 chon var a,b,c:integer; add watch… a2,b2,c2:longint; Debug để add các giá trị begin a2, b2, c2 vào để xem kết clrscr; Vừa giảng vừa thực write('nhap a, b, c: '); hành mẫu cho các em readln(a, b, c); xem kỉ a2:=a; GV: Nhấn F7 để theo dõi b2:=b; quá trình thực c2:=c; dòng lệnh và xem giá trị a2:=a2*a; a2, b2, c2 b2:=b2*b; c2:=c2*c; GV: Chúng ta có thể kết if ((a2=b2+c2)or(b2=a2+c2)or(c2=a2+b2)) hợp sử dụng tổ hợp phím Crtl+ F5 dùng để thay then writeln('ba so nhap la so Pi_ta_go') đổi kích thước cửa sổ else thời chứa trỏ writeln('ba so nhap khong la so màn hình hay phím F6 để chuyển cửa sổ thời Pi_ta_go'); readln để các cửa sổ end phần thông tin cần theo dõi không bị cửa sổ khác a)Lưu chương trình với tên PITAGO lên đĩa b)Nhấn phím F7 để thực câu lệnh chương che lấp GV: Yêu cầu học sinh trình, nhập các giá trị a=3,b=4,c= nhập liệu a= 700, c)Vào bảng chọn Debug mở cửa sổ hiệu chỉnh để b= 1000, c= 800 và tự xem giá trị a2, b2, c2 d)Nhấn phím F7 để thực câu lệnh tính các -3Lop11.com GV : Khuùc Thò My õ Trinh (4) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 làm các thao tác nhu trên giá trị nói trên, so sánh với kết a2=9, b2=16, c2=25 HS: Làm theo yêu cầu giáo viên để nắm rõ e)Quan sát quá trình rẽ nhánh Lặp lại các bước trên với liệu: a= 700, b=1000, các thao tác c=800 4.Củng cố và luyện tập:  Nhắc lại các kiến thức quan trọng cần nắm 5.Hướng dẫn học sinh chuẩn bị bài nhà:  Học bài cũ  BTVN :  Yêu cầu các em thực hành bài này thay dãy lệnh a2:= a; b2:= b; c2:= c; a2:= a2* a; b2:= b2* b; c2:= c2* c; dãy lệnh: a2:= a* a; b2:= b* b; c2:= c* c; Xem kết có gì thay đổi với liệu a = 3, b = 4, c = và a = 700, b = 1000, c = 800 không? Và tìm lời giải thích  Xem trước bài 11 : KIỂU MẢNG V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: -4Lop11.com GV : Khuùc Thò My õ Trinh (5) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Tuần: 10 - Tiết PPCT: 18 Ngày dạy: KIỂM TRA TIẾT -5Lop11.com GV : Khuùc Thò My õ Trinh (6) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Tuần: 11 - Tiết PPCT: 19 Ngày dạy: CHƯƠNG IV KIỂU DỮ LIỆU CÓ CẤU TRÚC Bài 11 KIỂU MẢNG I MỤC TIÊU: Về kiến thức: Học sinh sau tiết học sẽ:  Hiểu đúng khái niệm mảng chiều và hai chiều  Hiểu cách khai báo và truy cập đến các phần tử mả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 Về 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 Về thái độ:  Rèn khả tư giải các vấn đề khoa học sống  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 CHUẨN BỊ: Giáo viên:  Sách giáo viên Học sinh:  Xem trước bài 11 III PHƯƠNG PHÁP: Phương pháp thuyết trình, kết hợp tạo tình có vấn đề IV TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện Kiểm tra bài cũ: Giảng bài mới: -6Lop11.com GV : Khuùc Thò My õ Trinh (7) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Hoạt động thầy, trò Đặt vấn đề: Xét các ví dụ sau: Để lưu trữ nhiệt độ các ngày tuần, với các kiểu liệu đã học ta có thể khai báo biến sau: Var t1,t2,t3,t4,t5,t6,t7 Để lưu trữ chi tiêu nhà hàng tuần chúng ta cò thể khai báo với biến trên  Quan sát, theo dõi và lắng nghe Câu hỏi: Cùng với hai ví dụ trên muốn lưu trữ liệu tháng các em có nhận xét gì số biến dùng? Hôm nay, chúng ta tìm hiểu kiểu liệu mới: kiểu mảng  Suy nghĩ và trả lời:ta phải dùng nhiều biến (30 biến) GV: Đưa ví dụ trang 53 sách giáo khoa : nhập vào nhiệt độ trung bình ngày tuần, tính và in nhiệt độ trung bình tuần và số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tuần Đi vào phân tích chương trình để so sánh cách sử dụng kiểu liệu mảng Nội dung Giới thiệu kiểu mảng chiều: Mảng chiều là dãy hữu hạn các phần tử cùng kiểu Mảng đặt tên và phần tử nó có 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ó VD1 : program Nhietdo_Tuan; var t1,t2,t3,t4,t5,t6,t7,tb:real; dem:integer begin writeln(‘nhap vao nhiet cua 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; writeln(‘nhiet trung binh tuan : ’, tb:4:2); writeln(‘so nhiet cao hon trung binh : ‘,dem); readln end Khi sử dụng kiểu liệu kiểu mảng chiều để mô tả liệu chương trình viết lại sau với N ngày: program Nhietdo_Nngay; const Max = 366; (gia thiet N lon nhat la 366) type Kmang1 = array [1 Max] of real; var Nhietdo: Kmang1; -7Lop11.com GV : Khuùc Thò My õ Trinh (8) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 chiều tiện lợi  Quan sát, theo dõi, ghi chép Như qua chương trình trên ta quan tâm đến : Ứng với chương trình ví dụ trên ta xét : Tên mảng chiều:Nhietdo Số lượng phần tử mảng: N Kiểu liệu phần tử: real Cách khai báo biến mảng chiều: var Nhietdo: Kmang1; Cách truy cập vào phần tử mảng:Nhietdo [i]  Quan sát theo dõi và ghi chép Cùng với giáo viên đưa câu trả lời dem,i,N:byte; Tong, trung_binh: real; begin writeln(‘nhap vao so ngay: ‘); readln(N); Tong:=0; for i:=1 to N begin write (‘nhap nhiet ’,i, ‘: ‘ ); readln(Nhietdo [i]); Tong:= Tong + Nhietdo [i]; end; dem: = 0; Trung_binh:= Tong/N; For i: to N if Nhietdo [i] >Trungbinh then dem:= dem+1 writeln(‘nhiet trung binh ’,N,’ngay: ’,Trung_binh:8:3); writeln(‘so nhiet cao hon trung binh : ‘,dem); readln end  Tên mảng chiều  Số lượng phần tử mảng  Kiểu liệu phần tử  Cách khai báo biến mảng chiều  Cách truy cập vào phần tử mảng 1a.Khai báo: Cách 1: khai báo trực tiếp biến mảng chiều: var <tên biến mảng> : array [kiểu số] of <kiểu phần tử>; Cách 2: khai báo gián tiếp biến mảng qua kiểu Từ ví dụ trên ta có cách khai mảng chiều: báo biến mảng chiều sau: type <tên kiểu mảng> = array [kiểu Cách khai báo nào tiện hơn? số] of <kiểu phần tử>; Tùy theo bài mà chúng ta -8Lop11.com GV : Khuùc Thò My õ Trinh (9) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 chọn cách khai báo để giảm thiểu phức tap cho học sinh ta thường dùng cách Thông thường học sinh trả lời Cách Ví dụ ta có cấu trúc mảng B và số phần tử sau: Chỉ số Giá trị 11 42 61 79 Phần tử thứ có giá trị là B[3] = 61 Đưa số ví dụ mảng chiều và cách khai báo var <tên biến mảng> :<tên kiểu mảng>; đó: Kiểu số: thường là đoạn số nguyên liên tục có dạng n1,…,n2 với n1,n2 là các biểu thức nguyên xác định số đầu và số cuối(n1<= n2); Kiểu phần tử: là kiểu các phầ tử mảng Type: là từ khóa để khai báo biến, array là từ khóa để khai báo mảng Để truy cập vào phần tử mảng ta viết : <tên biến mảng>[chỉ số] Ví dụ khai báo mảng chiều: var ten_mang_1 : array [1 50] of real; hay: type mang_so_thuc = array [1 50] of real; var ten_mang_1 : mang_so_thuc ; Củng cố và luyện tập: - Mảng chiều là dãy hữu hạn các phần tử cùng kiểu - Khai báo mảng chiều: * Trực tiếp: Var <tên biến mảng> : array [kiểu số] of <kiểu phần tử>; * 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>; - Khi khai báo kiểu mảng cần xác định kích thước mảng Hướng dẫn học sinh chuẩn bị bài nhà:  Học bài cũ  Xem tiếp các ví dụ mảng chiều -9Lop11.com GV : Khuùc Thò My õ Trinh (10) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: Tuần: 11 - Tiết PPCT: 20 Ngày dạy: Bài 11 KIỂU MẢNG (tt) I MỤC TIÊU: Về 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 Về 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 Về 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 CHUẨN BỊ: Giáo viên:  Sách giáo viên Học sinh:  Xem tiếp bài 11 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 đề - 10 Lop11.com GV : Khuùc Thò My õ Trinh (11) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 IV TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện Kiểm tra bài cũ: Trình bày cách khai báo trực tiếp kiểu liệu mảng chiều Turbo Pascal Chọn khai báo kiểu liệu mảng chiều hợp lệ Turbo Pascal: a) var dayso: array[-1 20.5] of real; b) var mang: array[0 255] of byte; c) type A: array[-11 20] of integer; var mang: A; Giảng bài mới: Hoạt động thầy, trò Nội dung Hoạt động 1: Trình bày ví dụ SGK trang 56 GV: Nêu nội dung bài toán ví dụ Trình bày Input và Output bài toán Và yêu cầu HS theo dõi thuật toán SGK HS: Quan sát và nghe giảng GV: Diễn giảng thuật toán để giải bài toán trên Đặt câu hỏi để HS hiểu rõ hơn: 1/ Biến i dùng để làm gì? 2/ Ý nghĩa bước 3/ Có sử dụng vòng lặp không? 4/ Khi nào thì vòng lặp dừng lại? 5/ Cho HS chạy thử thuật toán với liệu: 15 b> Một số ví dụ : Ví dụ : Tìm phần tử lớn dãy số nguyê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 : + Đặt số A1 là số lớn (max) + Cho i lặp từ đến N, A[i]> thì đổi max = A[i] vả lưu lại vị trí 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,'] = ') ; - 11 Lop11.com GV : Khuùc Thò My õ Trinh (12) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 readln(a[i]) ; HS: Nghe giảng, trả lời End ; câu hỏi và ghi bài max := a[i] ; GV: Giải thích chương csmax := ; trình và đặt câu hỏi: For i := to n 1/ Khai báo bao nhiêu If a[i] > max then biến Begin 2/ Các biến có kiểu max := a[i] ; liệu là gì? csmax :=i ; 3/ Câu lệnh nào dùng để End ; nhập giá trị cho các phần Writeln('Gia tri lon nhat : ',max) ; tử mảng? Writeln('chi so ptu lon nhat : ',csmax) ; Readln ; 4/ Nếu dãy số có nhiều phần tử đạt giá trị lớn End thì chương trình Ví dụ : Sắp xếp dãy số nguyên theo thuật xuất số phần tử toán tráo đổi thứ mấy? - Input : Số nguyên dương N và dãy số A1, A2, …, AN HS: Nghe giảng, trả lời - Output : Dãy A xếp theo thứ tự không câu hỏi và ghi bài giảm GV: Nhận xét và bổ sung - Ý tưởng : Hoạt động 2: Trình bày + Đổi để đưa số lớn vị trí cuối cùng ví dụ SGK trang 57 + Làm tương tự số còn lại GV: Nêu nội dung bài Chương trình sau : toán Trình Input và Program sapxep ; Output bài toán Cho Uses crt ; HS xem thuật toán var A : Array[1 250] of integer ; chuẩn bị trên bảng phụ n,i,j,tg : Integer ; Begin HS: Nghe giảng GV: Giảng giải thuật toán clrscr ; và chương trình Đặt câu Write('Nhap so phan tu mang n = ') ; hỏi để HS hiểu rõ chương Readln(n) ; For i := to n trình: Begin 1/ Mô thuật toán Write('A[',i,'] = ') ; với liệu: readln(A[i]) ; 10 12 End ; - 12 Lop11.com GV : Khuùc Thò My õ Trinh (13) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 2/ Trong thuật toán cần For j := n downto Begin duyệt qua bao nhiêu lần? For i := to j-1 3/ Mỗi lượt thực trên If A[i] > A[i+1] then đoạn nào dãy số?4/ Begin Câu lệnh nào tg := A[i] ; chương trình thể hai A[i] := A[i+1] ; yêu cầu trên? A[i+1] := tg ; 5/ Mỗi lượt duyệt thực End ; các thao tác gì? End ; 6/ Câu lệnh nào thực Writeln('day sau sap xep : ') ; việc tráo đổi? For i := to n HS: Nghe giảng, trả lời write(a[i]:8) ; và ghi bài readln ; GV: Nhận xét và bổ sung End Writeln('chi so ptu lon nhat : ',csmax); readln ; End Củng cố và luyện tập: - 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 Hướng dẫn học sinh chuẩn bị bài nhà:  BTVN :  Xem tiếp phần MẢNG CHIỀU V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: - 13 Lop11.com GV : Khuùc Thò My õ Trinh (14) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Tuần: 12 - Tiết PPCT: 21 Ngày dạy: Bài 11 KIỂU MẢNG (tt) I MỤC TIÊU: Về 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 Về 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 Về 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 CHUẨN BỊ: Giáo viên:  Sách giáo viên Học sinh:  Xem tiếp bài 11 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 TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện 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ì? - 14 Lop11.com GV : Khuùc Thò My õ Trinh (15) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Type diem = array[1 15] of byte; Var A, mang: diem; Giảng bài mới: Hoạt động thầy, trò Nội dung c> Một số ví dụ : Hoạt động 1: Trình bày Ví dụ : Tìm kiếm nhị phân ví dụ SGK trang 58 Input: Dãy A là dãy tăng gồm N số nguyên dương GV: Nêu nội dung A1, A2, …, AN, số nguyên k ví dụ Trình bày phần Output: Chỉ số i mà Ai = k thông báo “Khong Input và Output Yêu tim thay” không có số hạng nào dãy A có cầu HS quan sát thuật giá trị k toán SGK Giảng * Thuật toán: giải thuật toán Bước 1: Nhập N, các số hạng A1, A2, …, AN, và khóa k; HS: Nghe giảng và ghi Bước 2: Dau  1; Cuoi  N; chép GV: Đặt câu hỏi để HS hiểu rõ thuật toán và chương trình: 1/ Cho ví dụ mô thuật toán với liệu: 21 22 30 31 33 2/ Điều kiện lặp là gì? 3/ Biến logic Tim_thay có tác dụng gì? 4/ Thể kiện chưa tìm thấy không gian tìm kiếm chưa rỗng biểu thức logic nào? 5/ Biến Giua có tác Bước 3:  Dau  Cuoi  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 Chương trình sau : Program sapxep ; Uses crt ; var A : Array[1 250] of integer ; n,i,k : Integer ; dau,cuoi,giua : Integer ; TK : boolean ; Begin clrscr ; Write('Nhap so ptu mang n = ') ; - 15 Lop11.com GV : Khuùc Thò My õ Trinh (16) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 dụng gì? 6/ Phạm vi tìm kiếm xác định biến nào? HS: Nghe giảng, trả lời câu hỏi và ghi bài Hoạt động 2: Ứng dụng GV: Cho liệu cụ thể và yêu cầu HS chạy chương trình với liệu đó HS: Thực theo yêu cầu Readln(n) ; For i := to n Begin Write('A[',i,'] = ') ; readln(A[i]) ; End ; Write('nhap so can tim k : ') ; Readln(k); dau := ; cuoi := n ; TK := false ; while (dau <= cuoi) and Not TK Do Begin giua := (dau+cuoi) div ; If A[giua] = k then TK := true Else If a[giua]>k then cuoi := giua - Else dau := giua + ; End ; If TK then write('Chi so la : ',giua) else write(' Khong tim thay '); readln ; End Củng cố và luyện tập: - Đố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) Hướng dẫn học sinh chuẩn bị bài nhà:  BTVN :  Xem tiếp phần MẢNG CHIỀU V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: - 16 Lop11.com GV : Khuùc Thò My õ Trinh (17) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Tuần: 12 - Tiết PPCT: 22 Ngày dạy: Bài 11 KIỂU MẢNG (tt) I MỤC TIÊU: Về 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 Về 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 2chiều  Thực khai báo mảng, truy cập, tính toán các phần tử mảng Về 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 CHUẨN BỊ: Giáo viên:  Sách giáo viên Học sinh:  Xem tiếp bài 11 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 TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện Kiểm tra bài cũ: + Trình bày thao tác nhập, xuất mảng chiều (5đ) + Viết đoạn chương trình dùng để nhập giá trị cho các phần tử mảng A gồm các số nguyên dương A1, A2, …, AN (5đ) - 17 Lop11.com GV : Khuùc Thò My õ Trinh (18) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 Giảng bài mới: Hoạt động thầy, trò GV : Quay lại ví dụ lưu trữ liệu dạng bảng để các em nhận nhu cầu phải sử dụng mảng chiều lập trình GV : Khai báo cách nào tiện lợi (tương tự mảng chiều) ? HS : Thường thì học sinh chọn cách GV : Tùy theo trường hợp cụ thể thường thì cách hay dùng GV : Khi khai báo mảng chiều cần chú ý điều gì ? HS : Tìm câu trả lời, GV gợi ý để các em số mảng, số dòng, số cột và kiểu phần tử mảng GV : Gọi số học sinh lên khai báo số biến mảng chiều theo yêu cầu giáo viên Minh họa hình ảnh mảng chiều và số các phần tử mảng hai chiều cách viết truy cập phần tử mảng GV cho học sinh quan sát chương trình và giải thích các lệnh chương trình, chú ý sâu vào các lệnh lặp để các em nhận thường thì ta sử dụng vòng lặp for - để duyệt qua các phần tử mảng GV nên soạn sẵn chương trình và cho các em quan sát chương trình, và chạy thử chương trình trên Nội dung Kiểu mảng chiều : - Mảng hai chiều là bảng các phần tử cùng kiểu Với mảng hai chiều ta quan tâm đến : - Tên kiểu mảng hai chiều - Số lượng phần tử chiều mảng - Kiểu liệu phần tử - Cách khai báo biến mảng hai chiều - Cách truy cập vào phần tử mảng a> Khai báo mảng hai chiều - Trong ngôn ngữ Pascal, mảnh hai chiều khai báo sau : Cách : Khai báo trực tiếp Var : <Tên mảng> : Array[kiểu số dòng, kiểu số cột] of < kiểu phần tử> ; Cách : Khai báo gián tiếp thông qua khai báo kiểu mảng Type <Tên kiểu mảng> = Array[kiểu số dòng, kiểu số cột] of <kiểu phần tử> ; Var <Tên mảng> : <Tên kiểu mảng> ; Ví dụ : Khai báo biến mảng thông qua kiểu mảng : Type ArrayInteger = Array[1 10,1 15] of Integer ; ArrayReal=Array[1 50,1 100] of Real ; Var A : ArrayInteger ; - 18 Lop11.com GV : Khuùc Thò My õ Trinh (19) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 máy để các em tiện theo dõi Program Timkiem; Uses crt; var A : Array[1 100,1 100] of Integer; i,j,n,m : Byte ; k,d : integer ; Begin Clrscr ; Write(' Nhap so dong, so cot cua mang : ') ; Readln(m,n); For i := to m For j := to n Begin Write(' A[',i,',',j,'] = '); Readln(A[i,j]); End ; Writeln(' Mang vua nhap vao la : '); Writeln; For i := to m Begin For j := to n Write(a[i,j]:4) ; Writeln; Writeln; End; Write(' Nhap gia tri k : '); Readln(k) ; d := ; For i := to m For j := to n If a[i,j] < k then Begin write('So nho hon ',k,' la '); write(a[i,j]:8); B : ArrayReal ; Khai báo mảng trực tiếp : Var A : Array[1 10,1 15] og Integer ; B : Aarray[1 50,1 100] og Real ; Cách truy cập vào phần tử mảng hai chiều : <Tên mảng>[chỉ số dòng, số cột] Ví dụ : A[1,3], B[23,66],…… b> Một số ví dụ : Ví dụ : Chương trình sau đưa màn hình bảng cửu chương Program cuuchuong; Uses crt ; var A : Array[1 9,1 9] of Integer ; i, j : Byte ; Begin Clrscr ; Writeln('Bang cuu chuong -> : '); Writeln ; For i := to For j := to A[i,j] := i*j ; For i := to Begin For j := to Write(a[i,j]:4); Writeln ; Writeln ; End ; - 19 Lop11.com GV : Khuùc Thò My õ Trinh (20) Trường THPT Quang Trung Giaùo aùn Tin hoïc 11 d := d+1 ; Readln ; End ; End If d = then Ví dụ : Write('Khong co phan tu nao Chương trình sau nhập vào mảng nho hon ',k); chiều và số nguyên k, sau đó in các readln; phần tử có giá trị nhỏ k mảng End Củng cố và luyện tập: - Khai báo mảng hai chiều: * Trực tiếp: Var <tên biến mảng> : array [kiểu số dòng, kiểu số cột] of <kiểu phần tử>; * Gián tiếp: Type <tên kiểu mảng> = array [kiểu số dòng, kiểu số cột] of <kiểu phần tử>; Var <tên biến mảng> : <tên kiểu mảng>; - Việc thực thao tác nào đó (nhập, xuất hay xử lí) trên các phần tử mảng hai chiều thường gắn với hai câu lệnh for – lồng Hướng dẫn học sinh chuẩn bị bài nhà:  Xem trước bài BÀI TẬP VÀ THỰC HÀNH V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: - 20 Lop11.com GV : Khuùc Thò My õ Trinh (21)

Ngày đăng: 01/04/2021, 23:47

w