GIÁO ÁN TIN HỌC 11 hoc kì 2

41 738 7
GIÁO ÁN TIN HỌC 11 hoc kì 2

Đ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

Chương 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC Tiết 19. Bài 11: KIỂU MẢNG VÀ BIẾN CÓ CHỈ SỐ. I. MỤC ĐÍCH, YÊU CẦU 1. Kiến thức - Biết kiểu liệu kiểu mảng chiều. - Biết loại biến có số; - Biết cấu trúc tạo mảng chiều, cách khai báo biến kiểu mảng chiều. 2. Kĩ - Biết thành phần khai báo kiểu mảng chiều; - Biết định danh phần tử kiểu mảng chiều xuất chương trình; - Biết cách khai báo mảng đơn giản với số miền kiểu nguyên; - Biết cách tham chiếu đến phần tử mảng chiều. 3. Tư thái độ: Tự giác, tích cực, chủ động sáng tạo tìm kiếm tri thức. II. CHUẨN BỊ 1. Giáo viên: giáo án, sgk, sơ đồ cấu trúc mảng chiều 2. Học sinh: sgk III. PHƯƠNG PHÁP: - Đặt vấn đề,gợi mở thuyết giảng. IV. HOẠT ĐỘNG DẠY HỌC 1. Ổn định lớp : - Cán lớp báo cáo sĩ số . 2. Kiểm tra cũ (Không kiểm tra) 3. Bài HOẠT ĐỘNG CỦA GV & HS NỘI DUNG Hoạt động 1: Sự cần thiết có liệu kiểu mảng Trước vào bài, giáo viên đưa số vấn đề cần giải sau : Có thể sử dụng ví dụ SGK để học Với kiểu liệu biết, làm sinh dễ theo dõi, gõ trước chương trình để : để sử dụng cho phần . - Lưu trữ xử lý dãy số ? - Lưu trữ xử lý Họ tên người ? - Lưu trữ xử lý bảng kết thi tốt nghiệp ? HS : Đưa phương án để trả lời cho câu hỏi . GV : Các ngôn ngữ lập trình thường cung cấp số kiểu liệu xây dựng từ kiểu liệu chuẩn gọi kiểu liệu có cấu trúc . Chương tìm hiểu số kiểu liệu ngôn ngữ Pascal để trả lời câu hỏi . GV : Đưa ví dụ, cần lập lập trình xử lý dãy số nguyên, tìm cách lưu trữ dãy số nguyên lập trình ? Hoạt đông 2: Kiểu mảng chiều GV : Các ngôn ngữ lập trình thường cung cấp Trong lập trình thường có loại số kiểu liệu xây dựng từ kiểu mảng : liệu chuẩn gọi kiểu liệu có cấu trúc . - Mảng chiều . - Mảng hai chiều . Chương tìm hiểu số kiểu liệu ngôn ngữ Pascal để trả lời câu hỏi . 1. Kiểu mảng chiều - Mảng chiều dãy hữu hạn GV : Đưa ví dụ, cần lập lập trình xử lý phần tử có kiểu, mảng dãy số nguyên, tìm cách lưu trữ dãy số đặt tên phần tử mang số. nguyên lập trình ? Để mô tả mảng chiều ta cần xác định kiểu phần tử cách đánh Bằng cách để lưu trữ thông tin số phần tử . dạng bảng lập trình ? Với mảng chiều ta quan tâm đến: HS : Đưa ý kiến . - Tên mảng chiều . - Số lượng phần tử mảng . GV : Đánh giá ý kiến học sinh, sau đưa - Kiểu liệu phần tử . mục đích việc sử dụng cấu trúc mảng - Cách khai báo biến mảng chương trình . chiều . - Cách truy cập vào phần tử GV : Đưa khái niệm mảng chiều mảng . số yếu tố liên quan lập trình nói chung . Xét ví dụ : Nhập vào nhiệt độ trung bình ngày tuần . Tính đưa hình nhiệt độ trung bình tuần đếm số ngày có nhiệt độ lớn nhiệt độ trung bình . GV : Đi sâu phân tích hai chương trình học sinh nhận thấy tiện lợi sử dụng mảng . Quan sát hai chương trình viết ngôn ngữ Pascal để giải toán . - Chương trình : Không sử dụng kiểu mảng . HS : Trong giáo viên phân tích hai chương - Chương trình : Sử dụng kiểu trình, học sinh đưa ý kiến nhận xét mảng chiều . chương trình. a> Khai báo mảng chiều Trong ngôn ngữ Pascal, mảng chiều khai báo hai cách sau : Cách : Var : Array[kiểu số] of ; GV : Đưa cách khai báo mảng chiều ngôn ngữ Pascal, giải thích ý nghĩa từ Cách : khóa . Type = Array [] of ; GV : Khai báo cách tiện lợi ? Var : ; HS : Thường học sinh trả lời cách tiện lợi ? GV : Tùy trường hợp cụ thể mà ta dùng cách hay cách thông thường ta sử dụng cách 1. GV : Sử dụng sồ hình ảnh trực quan minh họa cho học sinh cấu trúc mảng số phần tử Chỉ số Giá trị 53 81 62 18 26 41 24 53 Đưa số khai báo mảng Pascal . Trong : - Type từ khóa dùng để khai báo biến, Array từ khóa để khai báo mảng . - Kiểu số thường đoạn số nguyên liên tục có n1 n2, với n1 số đầu n2 số cuối. - Kiểu thành phần kiểu liệu phần tử mảng . - Để truy cập vào phần tử mảng ta viết : - [Chỉ số] Ví dụ : A[20] Truy cập phần tử mang số 20 mảng A . Ví dụ : Khai báo biến mảng thông qua kiểu mảng : Type ArrayInteger=Array[1 100] of Integer; ArrayReal=Array[1.50] of Real; Var A : Array[1 50]; B : Array[1 50] of Real; Khai báo mảng trực tiếp : Var A : Array[1 100] of Integer ; B : Arrat[1 50] of Real ; 4. Cũng cố, dăn dò - Cấu trúc mảng hai cách khai báo mảng - Làm tập xem ______________________________________________ Tiết 20. Ngày giảng:…/…/…. Bài 11: KIỂU MẢNG VÀ BIẾN CHỈ SỐ (T2) I. MỤC ĐÍCH, YÊU CẦU 1. Kiến thức: Khai báo kiểu, biến mảng chiều, cách tham chiếu dến p/tử mảng. 2. Kĩ năng: Hs sử dụng biến kiểu mảng chiều để giải toán đơn giản. 3. Tư thái độ: Tự giác, tích cực, chủ động sáng tạo tìm kiếm tri thức. II. CHUẨN BỊ 1. Giáo viên: giáo án, bảng phụ, sgk 2. Học sinh: sgk III. PHƯƠNG PHÁP Thuyết trình vấn đáp, gợi mở giải vấn đề IV. HOẠT ĐỘNG DẠY HỌC 1. Ổn định lớp : - Chào thầy cô . - Cán lớp báo cáo sĩ số . - Chỉnh đốn trang phục . 2. Kiểm tra cũ 3. Bài HOẠT ĐỘNG CỦA GV & HS NỘI DUNG Hoạt động 1: Bài toán tìm max với thuật toán so sánh GV : Đưa ví dụ . b> Một số ví dụ : Ví dụ : Tìm phần tử lớn HS : Xây dựng thuật toán để giải toán (thuật dãy số nguyên . toán học lớp 10) . - Input : Số nguyên dương N dãy số A1, A2, … , AN - Output : Chỉ số giá trị số GV soạn sẵn chương trình cho học sinh quan lớn dãy sát chương trình . - Ý tưởng : + Đặt số A1 số lớn (max) + Cho i lặp từ đến N, A[i]> đổi max = A[i] vả Nếu có nhiều thời gian, giáo viên tiến hành lưu lại vị trí i . soạn chương trình từ đầu để học sinh dễ dàng nhận thao tác cần phải thực Chương trình sau : viết chương trình . 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 ; 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 . Hoạt động 2: Bài toán xếp với thuật toán tráo đổi GV : Đưa ví dụ, nhắc lại ý tưởng thuật toán Ví dụ : Sắp xếp dãy số nguyên . theo thuật toán tráo đổi . - Input : Số nguyên dương N dãy số A1, A2, …, AN HS : Xây dựng thuật toán để giải toán (thuật - Output : Dãy A xếp toán học lớp 10) . theo thứ tự không giảm . GV soạn sẵn chương trình cho học sinh quan sát chương trình . Nếu có thời gian, giáo viên tiến hành soạn chương trình từ đầu để học sinh dễ dàng nhận việc chuyển đổi ngôn ngữ từ ngôn ngữ thuật toán sang ngôn ngữ lập trình . - Ý tưởng : + Đổi để đưa số lớn vị trí cuối . + Làm tương tự số lại . Chương trì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 := to n Begin Write('A[',i,'] = ') ; readln(A[i]) ; End ; 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 write(a[i]:8) ; readln ; End . Writeln('chi so ptu lon nhat : ',csmax); readln ; End . 4. Cũng cố, dăn dò - Cấu mảng chiều - Cách khai báo, nhập truy xuất phần tử mảng - Về nhà làm tập sách giáo khoa _________________________________ Tiết 21. Ngày giảng:…/…/…. BÀI TẬP VÀ THỰC HÀNH I. MỤC ĐÍCH, YÊU CẦU 1. Về kiến thức: Củng cố cho HS hiểu biết kiểu liệu mảng. 2. Về kỹ năng: - Khai báo kiểu liệu mảng, nhập liệu mảng, đưa hình số giá trị phần tử mảng. - Duyệt qua phần tử mảng để xử lý phần tử. - Nâng cao kĩ sử dụng số kiểu 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 phần tử mảng để xử lý phần tử. - Biết giải số toán thường gặp: + Tính tổng phần tử thoả mãn điều kiện + Đếm số phần tử thoả mãn điều kiện + Tìm phần tử lớn nhất, nhỏ 3. Về tư thái độ: - Góp phần hình thành rèn luyện tư lập trình, tác phong người lập trình. II. CHUẨN BỊ: 1.GV: Phòng máy tính, máy chiếu Projector. 2. HS: SGK, tập. III. PHƯƠNG PHÁP - Vấn đáp tìm tòi, vấn đáp tái hiện, giải vấn đề. IV. TIẾN TRÌNH BÀI HỌC 1. Ổn định lớp : - Cán lớp báo cáo sĩ số . 2. Kiểm tra cũ Lập trình nhập vào từ bàn phím dãy số nguyên sau đưa giá trị lớn nhỏ dãy số 3. Bài Tìm hiểu cách sử dụng lệnh kiểu liệu qua chương trình có sẵn: HOẠT ĐỘNG CỦA GV & HS GV. Cài đặt trình chiếu CT mẫu 1a. NỘI DUNG Bài 1a. {1}Program sum1; {2}Type Myarray=array[1 100] of integer; {3}Var A : Myarray; s,n,i,k: integer; {4}begin {5}write(‘nhap n=’); readln(n); {6}for i:=1 to n A[i]:=radom(301)radom(301); {7}for i:=1 to n write(A[i]:5);writeln; {8}write(‘nhap k=’);readln(k); {9}s:=0; {9}for i:=1 to n {10} if A[i] mod k= then s:=s+A[i]; {11}writeln(‘tong so can tinh la’,s); - MyArray tên kiểu liệu hay tên {12}readln biến? {13}end. Hs. Xem mẫu trình chiếu trả lời GV. Nhận xét. Chạy thử chương trình 1a - Dòng lệnh dùng để tạo biến mảng A? - Lệnh For i:=1 to n Write(A[i]:5); có ý nghĩa gì? - Lệnh For i:=1 to n If A[i] mod k = then s:=s + A[i]; thực nhiệm vụ gì? - Lệnh s:=s+A[i]; thực lần. Hs. Trả lời câu hỏi đặt Gv. Cho hs tự chạy thử chương trình. Để lấy kết quả. Gv. Chiếu 1b. cho học sinh phân tích ý nghĩa tác dụng dòng lệnh Hs. Thảo luận nhóm Báo cáo kết Gv. Nhận xét Gv. Cho học sinh chạy chương trình quan sát kết Giải thích số dòng lệnh {2}: khai báo kiểu mảng tối đa 100 phần tử {3}: tạo biến mảng A {6}: Tạo mảng ngẫu nhiên gồm n số nguyên {7}: viết mảng vừa tạo - Lệnh For i:=1 to n If A[i] mod k = then s:=s + A[i]; thực dùng để tính tổng bội số k - s:=s+A[i]; thực n lần Bài 1b. {1}Program Maxelement; {2}Type Myarray=array[1 100] of integer; {3}Var A : Myarray; n,i,j: integer; {4}begin {5}write(‘nhap sl day so n=’); readln(n); {6}for i:=1 to n Begin {7} Write(‘nhap phan tu thu’,i,’=’);readln(A[i]); End; J:=1 {8}for i:=2 to n {9} if A[i]>A[j] then j:=i; {10}writeln(‘chi so’,j,’ gia tri ‘,A[i]:4); {11}readln {12}end. 4. Củng cố: - Yêu cầu HS sửa lại chương trình để nhập mảng có 10 phần tử từ bàn phím. - Học cũ làm tập sgk __________________________________________Tiết 22. Ngày giảng:…/…/…. BÀI TẬP VÀ THỰC HÀNH I. MỤC ĐÍCH, YÊU CẦU 1. Về kiến thức: Củng cố cho HS hiểu biết kiểu liệu mảng. 2. Về kỹ năng: - Khai báo kiểu liệu mảng, nhập liệu mảng, đưa hình số giá trị phần tử mảng. - Duyệt qua phần tử mảng để xử lý phần tử. - Nâng cao kĩ sử dụng số kiểu 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 phần tử mảng để xử lý phần tử. - Biết giải số toán thường gặp: + Tính tổng phần tử thoả mãn điều kiện + Đếm số phần tử thoả mãn điều kiện + Tìm phần tử lớn nhất, nhỏ 3. Về tư thái độ: - Góp phần hình thành rèn luyện tư lập trình, tác phong người lập trình. II. CHUẨN BỊ: 1.GV: Phòng máy tính, máy chiếu Projector. 2. HS: SGK, tập. III. PHƯƠNG PHÁP - Vấn đáp tìm tòi, vấn đáp tái hiện, giải vấn đề. IV. TIẾN TRÌNH BÀI HỌC 1. Ổn định lớp : - Cán lớp báo cáo sĩ số . 2. Kiểm tra cũ: Không kiểm tra 3. Bài HOẠT ĐỘNG CỦA GV & HS NỘI DUNG Hoạt động 1: Ôn lại kiến thức để chuẩn bị làm tập thực hành Gv. Cách khai báo mảng trực tiếp? gián 1. Khai báo mảng tiếp ? - Khai báo trực tiếp Hs. Trả lời câu hỏi var : array[kiểu số] of Gv. Nhận xét bổ sung ; - Cách khai báo gián tiếp type = array[kiểu số] of ; var : Hoạt động 2: Đọc đề tìm hiểu yêu cầu tập SGK Gv. Yêu cầu HS đọc đề BT2 SGK - Tìm phần tử có giá trị lớn HOẠT ĐỘNG CỦA GV & HS NỘI DUNG 3. Một số ví dụ Giáo viên soạn sẵn ví dụ để tiện cho học sinh theo dõi việc chạy thử không làm thời gian ngồi viết chương trình . VD : Program vd1 ; Uses crt ; Var s1,s2 : String ; Begin Clrscr ; Với ví dụ, giáo viên sâu vào câu Write('Nhap xau thu : ') ; lệnh trực tiếp đáp ứng yêu cầu ví dụ, Readln(s1) ; em tiếp thu nhanh . Write('Nhap xau thu : ') ; Readln(s2) ; If length(s1) > Length(s2) then Ví dụ : Nhập xâu, viết hình xâu Write(s1) dài . else Write(s2); Readln ; End . VD : Ví dụ : Nhập xâu, kiểm tra xem ký tự xâu S1 có trùng với ký tự cuối Program vd2 ; Uses crt ; xâu S2 hay không ? Var s1,s2 : String ; x : Byte ; Begin Clrscr ; Write('Nhap xau thu : '); Readln(s1) ; Write('Nhap xau thu : '); Readln(s2) ; x := length(s2) ; If s1[1] = s2[x] then Write('Trung nha') else Write('Khac nhau'); Readln ; End . VD : Ví dụ : Nhập xâu, viết hình xâu Program vd3 ; theo thứ tự ngược lại ký tự Uses crt ; xâu . Var i,k : Byte ; a : String ; Begin Clrscr ; Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; For i := k downto Write(a[i]) ; Readln ; End . Ví dụ : Nhập xâu, viết hình xâu VD : bỏ tất ký tự dấu Program vd4 ; cách . Uses crt ; Var i,k : Byte ; a,b : String ; Begin Clrscr ; Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; b :='' ; For i := to k if a[i] '' then b := b+a[i] ; Write(b) ; Readln ; End . Ví dụ : Nhập xâu, viết hình xâu VD : gồm ký tự số xâu . Program Xulixau ; Uses crt ; Var s1,s2 : String ; i : Byte ; Begin Clrscr ; Write('Nhap xau s1 : ') ; Readln(s1) ; s2 := '' ; For i := to length(s1) If ('0'= 18 then Lop[i].Xeploai := 'A' Else if Tg >= 14 then Lop[i].Xeploai := 'B' Else if Tg >= 10 then Lop[i].Xeploai := 'C' Else Lop[i].Xeploai := 'D' End ; Readln ; For i := to n Writeln(i : 4, Lop[i].ten : 30 , ' --- Loai : ', Lop[i].Xeploai); Readln ; End. 4. Cũng cố, dăn dò Nhắc lại số khái niệm . Nhắc lại cấu trúc câu lệnh việc khai báo, truy cập đến thành phần ghi . Ra tập nhà . __________________________________ Tiết 32. Ngày giảng:…/…/…. BÀI TẬP I. MỤC TIÊU: 1.Kiến thức: - Tiếp tục ôn lại kiến thức chương IV. - Kiểu mảng: khai báo, truy xuất đến phần tử biến mảng. - Kiểu xâu: khai báo, thao tác xử lý xâu. Hàm thủ tục sử dụng xâu. - Kiểu ghi: khai báo, truy xuất đến trường kiểu ghi. 2.Kỹ năng: - Vận dụng kiểu liệu có cấu trúc vào làm tập. Rèn luyện kĩ tư thuật toán lập trình. 3.Thái độ: - Nghiêm túc, hứng thú với môn học. II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1. Chuẩn bị giáo viên: - Giáo án, SGK, sách giáo viên. 2. Chuẩn bị học sinh: - Vở ghi, sách giáo khoa, sách tập, đồ dùng học tập. III. TIẾN TRÌNH BÀI DẠY: 1. Ổn định tổ chức lớp: Kiểm tra sĩ số: 2. Kiểm tra cũ: 3. Nội dung mới: Hoạt động GV HS Nội dung Hoạt động 1: Chữa tập trang 79 Bài trang 79: GV đọc đề giới thiệu dãy Fibonaxi. Dãy F dãy Fibonaxi Yêu cầu học sinh cho biết Input Output F0=0; F1=1, FN =FN-1+FN-2. với N>=2 toán. Viết chương trình nhập từ bàn phím số HS trả lời: nguyên dương N đưa hình số hạng Input: số nguyên dương N. thứ N dãy Fibonaxi. Chương trình Output: số hạng thứ N dãy Fibonaxi. bạn thực với giá trị lớn với N GV nhận xét gợi ý để viết chương trình. bao nhiêu? + Khai báo mảng A để chứa phần tử dãy Fibonaxi. + Khởi gán A1=1, A2=1; + Dùng vòng lặp For để tính A[i]=A[i-1]+A[i-2] {i=3,4, ,N} + Thông báo kết AN. GV gọi học sinh lên viết phần khai báo, học sinh viết phần thân chương trình. Sau cho học sinh nhận xét hoàn thiện toán. Hoạt động 2: Chữa tập 10 trang 80 Bài 10 trang 80 Bài 10 trang 80 Viết chương trình nhập từ bàn phím xâu kí tự Gv giới thiệu yêu cầu toán. Cho học sinh S có độ dài không 100. Hãy cho biết có nêu ý tưởng thuật toán đếm xâu S có chữ số xuất iện xâu S, thông ký tự số? báo kết hình. Hs:suy nghĩ trả lời. Dem:=0; S=’08bC156546CD’ =>Dem=8 For i:=1 To length(S) Do If (S[i]>=’0’) and (S[i] Kết luận chương trình cụ thể 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] [...]... xuất đến các phần tử của biến mảng 2. Kỹ năng: - Vận dụng các kiểu dữ liệu có cấu trúc vào làm bài tập Rèn luyện kĩ năng tư duy thuật toán trong lập trình 3.Thái độ: - Nghiêm túc, hứng thú với môn học II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1 Chuẩn bị của giáo viên: - Giáo án, SGK, sách giáo viên 2 Chuẩn bị của học sinh: - Vở ghi, sách giáo khoa, sách bài tập, đồ dùng học tập III TIẾN TRÌNH BÀI DẠY: 1... thu 2 : ') ; Readln(s2) ; If length(s1) > Length(s2) then Ví dụ 1 : Nhập 1 xâu, viết ra màn hình xâu Write(s1) dài hơn else Write(s2); Readln ; End VD 2 : Ví dụ 2 : 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 Program vd2 ; Uses crt ; cùng của xâu S2 hay không ? Var s1,s2 : String ; x : Byte ; Begin Clrscr ; Write('Nhap xau thu 1 : '); Readln(s1) ; Write('Nhap xau thu 2. .. tham chiếu đến từng phần tử của mảng 2 Kỹ năng - Tạo được kiểu mảng hai chiều và khai báo biến mảng hai chiều trong ngôn ngữ lập trình Pascal Sử dụng đúng biến mảng để giải quyết một số bài toán cụ thể 3 Tư duy và thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức II CHUẨN BỊ 1 Giáo viên: giáo án, bảng phụ, sgk, projector, phiếu học tập 2 Học sinh: sgk III PHƯƠNG PHÁP Thuyết trình,... A 4 5 1 2 3 7 1 2 3 4 5 6 cầu) Tóm lại: B[i] = A[1] + …+ B A[i] 1 2 3 4 5 6 i Ban đầu: mọi B[i] = 0 ∑A[j ] = j=1 Hs Theo dõi ví dụ minh hoạ Gv Hỏi: mỗi B[i] được tạo mới bằng bao nhiêu? Gv GV minh hoạ một số phần tử: B[1], B [2] , B[3] - Y/cầu hs tìm kết quả mảng B theo ví dụ trên Hs Học sinh trả lời: B 4 9 10 12 15 22 1 2 3 4 5 6 Gv Y/cầu hs cho biết từng phần của CT cần xây dựng? Hs Học sinh trả lời... và sáng tạo trong tìm kiếm tri thức II CHUẨN BỊ 1 Giáo viên: giáo án, bảng phụ, sgk 2 Học sinh: sgk III PHƯƠNG PHÁP Thuyết trình, vấn đáp, gợi mở giải quyết vấn đề IV HOẠT ĐỘNG DẠY HỌC 1 Ổn định lớp : - Chào thầy cô - Cán bộ lớp báo cáo sĩ số - Chỉnh đốn trang phục 2 Kiểm tra bài cũ 1 Nêu cách khai báo mảng và giải thích từng thành phần câu lệnh 2 Cách nhập giá trị cho mảng và truy xuất giá trị... tưởng của thuật toán Ví dụ 3 : Tìm kiếm nhị phân HS : Xây dựng thuật toán để giải bài toán (thuật toán đã học ở lớp 10) - Input : Dãy số A1, A2, ………, AN đã được sắp xếp tăng dần GV soạn sẵn chương trình và cho học sinh quan - Output : Có hay không chỉ sát chương trình số i mà A[i] = k hoặc thông báo không tìm thấy - Ý tưởng : Xem lại thuật toán tìm kiếm nhị Nếu có thời gian, giáo viên sẽ tiến... bằng thuật toán Gv Chiếu đề bài lên bảng tráo đổi với các giá trị Hs Quan sát đề và lằng nghe câu hỏi của gv khác nhau của n số Gv Y/cầu hs xác định dữ liệu vào/ra của bài toán? Hs Trả lời câu hỏi * Chương trình - Vào: mảng A SGK_trang 56 - Ra: mảng A đã sắp xếp Gv minh hoạ bài toán: A 5 7 2 8 6 4 1 2 3 4 5 6 Mảng A đã sắp xếp: A 2 4 5 6 7 8 1 2 3 4 5 6 - Yêu cầu hs nhắc lại ý tưởng thuật toán(Lớp 10)... thuật toán sắp xếp đã học Gv Nhận xét và chiếu thuật toán đã được liệt kê các bước - TL: Dùng làm biến Từ thuật toán yêu cầu học sinh viết chương trình chỉ số Hs Viết chương trình - TL:3 lệnh: tg := a[i]; Gv Nhận xét và chạy chương trìn a[i]:= a[i+1]; * Tìm hiểu chương trình a[i+1]:= Gv - Vai trò của biến i, j trong CT? tg; - Vai trò của biến i, j trong CT? - Đoạn lệnh nào thực hiện tráo đổi giá trị 2 phần... HOẠT ĐỘNG DẠY HỌC 1 Ổn định lớp : - Cán bộ lớp báo cáo sĩ số 2 Kiểm tra bài cũ Lập trình nhập vào từ bàn phím một dãy số nguyên bất kỳ sau đó đưa ra giá trị lớn nhất và nhỏ nhất của dãy số đó 3 Bài mới Hoạt động của Gv & Hs Nội dung Hoạt động 1: Khái niệm và khai báo mảng hai chiều GV : Quay lại ví dụ về lưu trữ dữ liệu dạng bảng để các em nhận ra nhu cầu phải sử dụng mảng 2 2 Kiểu mảng 2 chiều : chiều... câu hỏi Gv Bước B2 được cụ thể trong CT như thế nào? Hs sử dụng 2 vòng for lồng nhau for i:=1 to n do begin b[i]: =0; for j:=1 to i do b[i]:=b[i]+a[j]; end; * Tối ưu thuật toán Gv Dựa vào phần phân tích ví dụ thuật toán ở trên Gv hỏi: So sánh giá trị B[i] và B[i-1]? Đặc biệt: B[1]=? Hs Tl: B[i]:=B[i-1]+A[i] Tl: B[1]=A[1] Khai báo: + k/báo mảng + biến đơn Phần thân: B1: tạo mảng A B2: xd mảng B theo . ; End . Hoạt động 2: Bài toán sắp xếp với thuật toán tráo đổi GV : Đưa ra ví dụ, nhắc lại ý tưởng của thuật toán . HS : Xây dựng thuật toán để giải bài toán (thuật toán đã học ở lớp 10) . GV. bài toán: A 5 7 2 8 6 4 1 2 3 4 5 6 Mảng A đã sắp xếp: A 2 4 5 6 7 8 1 2 3 4 5 6 - Yêu cầu hs nhắc lại ý tưởng thuật toán(Lớp 10) Hs. Theo dãy số minh họa, nhớ lại thuật toán sắp xếp đã học. Gv giải quyết một bài toán đơn giản. 3. Tư duy và thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức. II. CHUẨN BỊ 1. Giáo viên: giáo án, bảng phụ, sgk 2. Học sinh: sgk III.

Ngày đăng: 20/09/2015, 00:03

Mục lục

  • Bài 11: KIỂU MẢNG VÀ BIẾN CÓ CHỈ SỐ.

  • Bài 11: KIỂU MẢNG VÀ BIẾN CHỈ SỐ (T2)

  • Bài 11: KIỂU MẢNG VÀ BIẾN CHỈ SỐ (TIẾP)

  • Bài 11: KIỂU MẢNG VÀ BIẾN CHỈ SỐ (TIẾP)

  • Bài 11: KIỂU DỮ LIỆU XÂU

    • 1 Khai báo biến xâu :

    • 2 Các thao tác xử lí xâu

    • Bài 11: KIỂU DỮ LIỆU XÂU

      • 3. Một số ví dụ

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

Tài liệu liên quan