Giáo án Tin học lớp 11 - Tiết 25, 26: Bài tập thực hành 4

4 15 0
Giáo án Tin học lớp 11 - Tiết 25, 26: Bài tập thực hành 4

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

Thông tin tài liệu

- Thực hiện chương trình, nhập dữ liệu để - Quan sát giáo viên thực hiện chương học sinh thấy kết quả chương trình.. - Hỏi: Chương trình làm công việc gì?[r]

(1) Gi¸o ¸n gi¶ng d¹y  Bé m«n: Tin häc 11 Bµi tËp thùc hµnh (TiÕt PPCT: 25, 26) Ngµy so¹n: ………………………… Ngµy §K gi¸o ¸n: Người duyệt giáo án (TTCM duyệt, BGH duyệt): I Môc tiªu: KiÕn thøc - Cñng cè l¹i c¸c kiÕn thøc c¬ b¶n lËp tr×nh víi kiÓu d÷ liÖu m¶ng - Làm quen với thuật toán xếp đơn giản KÜ n¨ng - Rèn luyện kĩ sử dụng kiểu liệu có cấu trúc, kĩ diễn đạt thuật toán chương trìn sử dụng liệu kiểu mảng - Rèn luyện kĩ nhận xét, phân tích và đề xuất cách giải bài toán cho chương tr×nh ch¹y nhanh h¬n II ChuÈn bÞ: ChuÈn bÞ cña gi¸o viªn - Phòng máy vi tính, máy chiếu Projector để hướng dẫn ChuÈn bÞ cña häc sinh - SGK, chương trình đã viết sẵn III hoạt động dạy và học Hoạt động 1: Tìm hiểu chương trình diễn đạt thuật toán xếp a Môc tiªu - Học sinh hiểu chương trình và thuật toán xếp đơn giản b Néi dung Bài 1: Viết chương trình xếp các phần tử mảng theo thứ tự không giảm - Chương trình minh hoạ: Uses CRT; Const nmax=250; Type arrint=arrray[1 nmax] of integer; Var n,i,j,y:integer; a:arrint; Begin clrscr; Randomize; Write(‘Nhap n=’); Readln(n); For i:=1 to n a[i]:=random(300)-random(300); For i:=1 to n write(a[i]:5); Writeln; For j:=n downto For i:=1 to j-1  GV: §ç ThÞ Thu HiÒn Lop11.com (2)  Gi¸o ¸n gi¶ng d¹y  Bé m«n: Tin häc 11 If a[i]>a[i+1] then Begin t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t; End; Writeln(‘Day so sau sap xep’); For i:=1 to n write(a[i]:7); Writeln; Readln; End - Yêu cầu: Soạn chương trình vào máy, chạy thử với các giá trị khác n Rút nhận xét thời gian thực chương trình c Các bước tiến hành Hoạt động giáo viên Gîi ý cho HS thuËt to¸n s¾p xÕp t¨ng dÇn - Lấy ví dụ thực tiễn: Người mù xếp dãy các viên bi theo kích thước kh«ng gi¶m - Yêu cầu: Vạch các bước để xếp c¸c phÇn tö cña mét m¶ng kh«ng gian Hoạt động học sinh Chó ý theo dâi nh÷ng dÉn d¾t cña giáo viên để trả lời câu hỏi - Lần lượt lấy phần từ trái qua phải - Cứ phần tử ta đem so sánh với các phần tử đứng bên phải nó - Nếu nhỏ thì đổi chỗ Tìm hiểu chương trình ví dụ, sách Quan sát chương trình, suy nghĩ câu gi¸o khoa trang 65 hái vµ tr¶ lêi - Chiếu chương trình ví dụ lên bảng - Hỏi: Vai trò biến i, j chương - Biến i, j dùng làm số tr×nh? Mçi vßng lÆp For ®o¹n - Mçi vßng lÆp For øng víi mçi phÐp duyệt chương trình xếp có ý nghĩa gì? - Hỏi: ba lệnh tg:=a[i]; a[i]:=a[i+1]; - Dùng để đổi giá trị hai phần tử a[i] a[i+1]:=tg; cã ý nghÜ g×? víi a[i+1] - Thực chương trình, nhập liệu để - Quan sát giáo viên thực chương học sinh thấy kết chương trình tr×nh - Hỏi: Chương trình làm công việc gì? - Chương trình xếp dãy số theo thứ tự kh«ng gi¶m Sửa chương trình để giải bài Quan sát yêu cầu mới, chú ý định to¸n ë c©u b hướng giải giáo viên - §Æt yªu cÇu míi: Khai b¸o thªm biÕn  GV: §ç ThÞ Thu HiÒn Lop11.com (3)  Gi¸o ¸n gi¶ng d¹y  Bé m«n: Tin häc 11 nguyên Dem và bổ sung vào chương trình đoạn lệnh cần thiết để biến Dem tính số lần thực tráo đổi thuật toán In kÕt qu¶ t×m ®­îc mµn h×nh - Hỏi: Đoạn chương trình nào dùng để thực tráo đổi giá trị? - Yêu cầu HS viết lệnh để đếm số lần tráo đổi - Hái: LÖnh nµy ®­îc viÕt ë vÞ trÝ nµo chương trình? - Yêu cầu HS soạn chương trình vào máy - Yªu cÇu HS nhËp d÷ liÖu vµo cña gi¸o viªn vµ th«ng b¸o kÕt qu¶ - §¸nh gi¸ kÕt qu¶ cña häc sinh tg:= a[i]; a[i]:=a[i+1]; a[i+1]:=tg; - Dem := Dem+1; - Ngay sau đoạn lệnh tráo đổi - Soạn chương trình vào máy, thực chương trình và thông báo kết - NhËp d÷ liÖu theo yªu cÇu cña gi¸o viên, thực chương trìn và thông báo kÕt qu¶ sau thùc hiÖn Hoạt động 2: Rèn luyện kĩ nhận xét, phân tích và đề xuất cách giải bài toán cho chương trình chạy nhanh a Môc tiªu: - HS biết sử dụng kiểu mảng để lập trình giải bài toán Biết nhận xét, phân tích để đề xuất phương pháp giải hay b Néi dung: Cho mảng A gồm n phần tử Viết chương trình tạo mảng B[1 n], đó B[i] là tæng gi¸ trÞ cña i phÇn tö ®Çu tiªn cña m¶ng A Chương trình minh hoạ: Const nmax=100; Type myarray=arrray[1 nmax] of integer; Var n,i,j:integer; a,b:arrint; Begin Randomize; Write(‘Nhap n=’); Read;m(n); For i:=1 to n a[i]:=random(300)-random(300); For i:=1 to n write(a[i]:5); Writeln; For i:=1 to n Begin B[i]:=0; For i:=1 to n write(B[i]:5); Readln; End c Các bước tiến hành  GV: §ç ThÞ Thu HiÒn Lop11.com (4)  Gi¸o ¸n gi¶ng d¹y  Bé m«n: Tin häc 11 Hoạt động giáo viên Xác định bài toán - Chiếu đề bài lên bảng - Yêu cầu: Xác định liệu vào, liệu ra? - Gợi ý để học sinh đề xuất thuật toán th« Hoạt động học sinh Quan sát đề bài và trả lời câu hỏi - Vµo: M¶ng A gåm n phÇn tö - Ra: M¶ng B gåm n phÇn tö - T¹i vÞ trÝ i ta tÝnh tæng gi¸ trÞ c¸c phÇn tö từ đến i Quan sát chương trình trên bảng Giới thiệu chương trình chưa cải - Quan sát giáo viên thực hiện, nhận xét thời gian thực chương trình tiÕn - Chiếu chương trình diễn đạt thuật toán - Thực chương trình để học sinh biết thời gian thực chương trình và kết chương trình - Hỏi: Trong chương trình phải thực bao nhiªu phÐp céng? - Hỏi: Có cách nào để cải tiến? - Ph¶i thùc hiÖn n(n+1)/2 phÐp céng - Để tính bước thứ i, ta sử dụng kết đã tính bước thứ i-1 B[i]:=B[i-1]+A[i]; - Thay ®o¹n lÖnh For j:=1 to i B[i]:=B[i]+A[j]; - LÖnh nµy ®­îc thay lÖnh nµo Soạn chương trình vào máy, thực chương trình? Viết vị trí nào? chương trình và thông báo kết Yêu cầu: Viết chương trình hoàn - NhËn xÐt vÒ thêi gian thùc hiÖn cña thiÖn chương trình này so với chương trình trước cải tiến TiÓu kÕt: Cïng mét bµi to¸n, cã nhiÒu cách giải khác Người lập tr×nh cÇn chän c¸ch cho m¸y thùc hiÖn nhanh nhÊt IV §¸nh gi¸ cuèi bµi - Thuật toán xếp đơn giản - Một bài toán có thể có nhiều cách viết thành chương trình Cần chọn cách có số phÐp tÝnh Ýt nhÊt  GV: §ç ThÞ Thu HiÒn Lop11.com (5)

Ngày đăng: 01/04/2021, 21:17

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan