Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học đổi mới phương pháp dạy học với bài cấu trúc rẽ nhánh và lặp...

Tài liệu đổi mới phương pháp dạy học với bài cấu trúc rẽ nhánh và lặp

.PDF
23
63
61

Mô tả:

PHẦN I. MỞ ĐẦU 1. LÝ DO CHỌN ĐỀ TÀI: Với sự phát triển nhảy vọt của khoa học công nghệ nói chung của ngành tin học nói riêng. Với những tính năng ưu việt, sự tiện dụng và được ứng dụng rộng rãi, tin học ngày nay là một phần không thể thiếu được của nhiều ngành trong công cuộc xây dựng và phát triển xã hội. Hơn thế nữa nó còn đi sâu đời sống của con người. Tin học đã thâm nhập khá mạnh mẽ vào Việt Nam. Nhiều lĩnh vực hoạt động từ lĩnh vực quản lý hành chính, quản lý kinh tế, tự động hóa công nghiệp ... đến các lĩnh vực giáo dục và đào tạo đều có thay đổi đáng kể nhờ ứng dụng tin học. Máy tính là công cụ cần thiết đối với con người trong thời đại ngày nay. Hoạt động của một máy tính là xử lý các thông tin đưa vào theo một chương trình đã được lập sẵn nhằm đưa ra kết quả phục vụ yêu cầu nào đó của người sử dụng. Việc xây dựng các chương trình cho máy tính là hết sức cần thiết bởi vì các chương trình là linh hồn của máy tính. Trong xây dựng chương trình để có một chương trình có hiệu quả cần phải có chuyên gia phân tích bài toán đưa ra sơ đồ thuật toán và từ đó các lập trình viên tiến hành sinh mã nguồn cho chương trình. Vấn đề đặt ra liệu có thể xây dựng một phần mềm hỗ trợ người lập trình xây dựng sơ đồ thuật toán hay không? Ngày nay, với sự phát triển có tính chất bùng nổ của công nghệ thông tin, máy tính đã và đang được sử dụng trong quá trình dạy - học để cải tiến và nâng cao tính tích cực và chất lượng đào tạo toàn diện. Tin học là môn khoa học phát triển rất nhanh, nhằm mục đích trang bị cho học sinh những hiểu biết cơ bản về công nghệ thông tin và vai trò của nó trong xã hội. Tin học có vai trò to lớn đối với sự phát triển của xã hội, là công cụ lao động tiên tiến của con người. Ngày nay trên thế giới đang diễn ra quá trình tin học hoá nhiều lĩnh vực hoạt động của xã hội loài người. Ngoài sự tò mò, ham hiểu biết, càng sớm càng tốt mỗi người phải có ý thức rằng nếu không có hiểu biết về máy tính nói riêng và tin học nói chung thì khó có thể hoà nhập vào cuộc sống hiện đại. Từ đó tin học đã góp phần hình thành học vấn phổ thông cho học sinh nắm được các khái niệm, các bài toán 1 quản lý... Là môn khoa học mới đưa vào chương trình phổ thông, nên các khái niệm còn rất mới đối với học sinh, và đặc biệt khi các em bước đầu làm quen với khái niêm lập trình và sử dụng Cấu trúc rẽ nhánh và lặp trong ứng dụng giải bài toán như thế nào? Nhưng làm thế nào để học sinh thực hiện được điều này đó là yêu cầu đặt ra cho mỗi giáo viên. Đó chính là lý do mà tôi tìm hiểu và đưa ra phương pháp và hình thức tổ chức dạy chương III “ĐỔI MỚI PHƯƠNG PHÁP DẠY HỌC TIN HỌC LỚP 11 - CHƯƠNG III. CẤU TRÚC RẼ NHÁNH VÀ LẶP”. Để phần nào giúp học sinh lĩnh hội kiến thức tốt hơn. 2. MỤC ĐÍCH YÊU CẦU Phương pháp và hình thức tổ chức dạy chương III “CẤU TRÚC RẼ NHÁNH VÀ LẶP LỚP 11” nhằm định hướng cho học sinh cách thức học tập để phát huy tính tích cực, tự học, chủ động, sáng tạo của người học, chuyển trọng tâm hoạt động từ giáo viên sang học sinh. 3. ĐỐI TƯỢNG NGHIÊN CỨU : Đối tượng: - Phương pháp dạy học và các kiến thức về chương III “CẤU TRÚC RẼ NHÁNH VÀ LẶP” - Các hình thức tổ chức dạy và học được tổ chức theo chủ đề, nội dung. 4. PHƯƠNG PHÁP NGHIÊN CỨU : a. Phạm vi nghiên cứu : - Phạm vi về nội dung: + Kiến thức trong các bài học thuộc phần Chương III: “CẤU TRÚC RẼ NHÁNH VÀ LẶP MÔN TIN HỌC LỚP 11”. - Phạm vi chủ thể: - Giáo viên: Nguyễn Thị Thu Hiền . - Học sinh khối 11: Lớp 11B 3, 11B4, 11B5. - Phạm vi về đối tượng: - Các phương pháp giảng dạy môn Tin học. - Các hình thức tổ chức trong hoạt động dạy và hoạt động học tập của học sinh. - Phạm vi về tài liệu: - SGK, SGV Tin học 11, Lập trình nâng cao: Tác giả GS Phạm Văn Ất, Lập trình TURBO 7.0 tác giả GS-TS Bùi Thế Tâm; Lập trình CSDL: tác giả Nguyễn Thị Ngọc Mai. 2 - Tài liệu bồi dưỡng giáo viên tin học lớp 11. - Tài liệu chuẩn kiến thức lớp 11... b. Phương pháp nghiên cứu : - Quan sát: Qua giảng dạy và trao đổi với đồng nghiệp, tôi đã tìm ra phương pháp tổ chức giảng dạy phù hợp với từng đối tượng nhằm phát huy tính tích cực tự học của học sinh. - Phát hiện: Chú ý đến những học sinh có khả năng xử lý thông tin nhanh, định hướng cho các em phát huy tố chất sẵn có. - Tìm hiểu tài liệu: - Đọc tài liệu có định hướng dạy học tích cực, cách thức tổ chức học tập linh hoạt. - Tìm hiểu lý luận cách tiến hành các hoạt động dạy và học. - Thực hành: - Phương pháp dạy học, học tập và làm việc theo nhóm. 5/ THUẬN LỢI - KHÓ KHĂN a.Thuận lợi: - Là môn học mang tính đột phá, sáng tạo nên nhiều em hứng thú. - Các em đã được làm quen với máy tính, sử dụng máy tính như một công cụ nghiên cứu, học tập cho bản thân. b. Khó khăn: - Kiến thức về Tin học nói chung và lập trình PASCAL nói riêng là kiến thức mới đối với học sinh nên gặp không ít khó khăn trong việc giảng dạy. - Học sinh lần đầu được làm quen với Ngôn ngữ lập trình nên còn gặp rất nhiều khó khăn.. 3 PHẦN II. NỘI DUNG Chương I: MỤC ĐÍCH YÊU CẦU CỦA BÀI TOÁN 1. Mục đích: Trong xây dựng để có một ngôi nhà chắc chắn cần phải có bản thiết kế chính xác, rõ ràng. Điều này có thể thực hiện thông qua bộ công cụ hỗ trợ vẽ thiết kế AutoCad. Trong lập trình để có một chương trình đúng với yêu cầu cần phải có một sơ đồ thuật toán chính xác, rõ ràng. Và mục đích của đề tài này là xây dựng phần mềm hỗ trợ người lập trình xây dựng sơ đồ thuật toán. Kết quả của đề tài này là một sản phẩm phần mềm trong đó có đầy đủ các đối tượng hỗ trợ vẽ sơ đồ khối và có các tính năng cho phép người sử dụng tạo lập sơ đồ khối một cách thuận tiện, đơn giản, chính xác và rõ ràng. 2. Yêu cầu: - Để xây dựng được sơ đồ thuật toán chính xác, rõ ràng trước hết phải tìm hiểu lý thuyết: + Thế nào là thuật toán? + Có những cách biểu diễn thuật toán nào? + Ưu nhược điểm của các cách biểu diễn - Sau khi tìm hiểu lý thuyết cần phải xác định rõ phương pháp biểu diễn bài toán bằng sơ đồ khối có ưu điểm gì hơn so với các phương pháp khác. Từ đó chi tiết hóa các khối gồm những thành phần gì? Cách liên kết các khối như thế nào? Tình tự thực hiện của sơ đồ ra sao…. - Từ những lý thuyết tìm hiểu ở trên xác định phương pháp xây dựng công cụ hỗ trợ người lập trình tạo sơ đồ khối. - Có thể có nhiều ngôn ngữ lập trình có thể giải quyết được bài toán này chẳng hạn như: Turbo Pascal, Turbo C, Visual Basic, … Mỗi ngôn ngữ đều có ưu nhược điểm vì vậy cần tìm hiểu kỹ để tìm ra ngôn ngữ thích hợp thể hiện bài toán. - Sau khi tìm hiểu ngôn ngữ và xác định phương pháp xây dựng tiến hành xây dựng sản phẩm. Tiến hành kiểm thử chương trình, bắt lỗi và sửa lỗi để có một chương trình hoàn thiện 4 Chương II: CƠ SỞ LÝ THUYẾT 1. Thuật toán: 1.1. Định nghĩa về giải thuật 1.2. Giải thuật theo cách hiểu thông thường - Ðể tin học hoá một bài toán trong thực tế ta phải bắt đầu từ việc xác định bài toán. Nhiều thời gian và công sức bỏ ra để xác định vấn đề cần giải quyết, tức là phải trả lời rõ ràng câu hỏi “phải làm gì?” sau đó là “làm như thế nào?“. Thông thường, khi khởi đầu, hầu hết các bài toán là không đơn giản, không rõ ràng. - Theo nghĩa rộng, khái niệm giải thuật được sử dụng ở mọi nơi, không riêng gì trong lĩnh vực tin học. - Giải thuật là một loạt các thao tác có thứ tự nhằm giải quyết một bài toán nào đó. - Ví dụ: “Thuật toán tìm giá trị nhỏ nhất trong dãy số”  Bước 0: Nhập N và dãy số a1,…,an  Bước 1: Gán Min = a1,i=2;  Bước 2: Nếu i > N thì đưa ra Min rồi kết thúc;  Bước 3: : So sánh min với a[i], nếu min >[i] thì gán min = a[i]  Bước 4: Nếu iN In ra S Sai § óng In ra S End End Ví dụ 3: Tính chu vi, diện tích tam giác Phương pháp liệt kê B1. Nhập cạnh a,b,c B2. Kiểm tra xem a,b,c có phải ba cạnh tam giác không Nếu (a+b>c) và (b+c>a) và (a+c>b) thì sang bước 3 Nếu không thì thông báo “không tạo thành tam giác” và kết thúc B3. Tính chu vi C = (a+b+c) B4. Tính nửa chu vi p = C/2 B5. Tính diện tích tam giác theo công thức Hê-rông S= B6. In kết quả C,S Lưu đồ thuật toán Begin § äc a,b,c (a+b>c) and (b+c>a) and (a+c>b) Sai In “Kh«ng t¹ o thµnh TG” § óng C :=(a+b+c) p :=C/2 S := p * ( p  a ) * ( p  b) * ( p  c ) In ra C,S End Như vậy: Một bài toán có thể có nhiều thuật toán với các cách biểu diễn khác nhau. Vấn đề là ta phải tìm ra thuật toán tốt để giải bài toán. 9 2.1.3 Diễn đạt thuật giải bằng giả ngôn ngữ - Giả ngôn ngữ  Dựa trên ngôn ngữ lập trình bậc cao  Gần với ngôn ngữ tự nhiên của con người  Ví dụ: Ngôn ngữ giả Pascal (tựa Pascal) có các ký pháp khá giống với ngôn ngữ lập trình Pascal, được rút gọn sao cho dễ diễn đạt - Giả ngôn ngữ được đưa ra với mục đích diễn đạt các giải thuật sao cho gần với ngôn ngữ lập trình và ngôn ngữ tự nhiên. - Sử dụng giả ngôn ngữ khiến việc chuyển từ giải thuật sang chương trình dễ dàng hơn. - Ví dụ: Giải thuật tính tổng n số tự nhiên đầu tiên Nhập N i:=0 S:=0 REPEAT S:=S+i i:=i+1 UNTIL (i>N) In S 2.2Thiết kế và phân tích giải thuật - Quá trình viết chương trình giải bài toán:  Phân tích yêu cầu bài toán  Thiết kế giải thuật  Viết chương trình  Chạy thử, đánh giá - Thiết kế giải thuật là từ yêu cầu của một bài toán, diễn đạt một giải thuật giải quyết bài toán đó.  Mô-đun hoá việc giải quyết bài toán.  Tinh chỉnh từng bước. - Phân tích giải thuật  Xem xét các tiêu chuẩn của giải thuật có được thoả mãn không, nếu có thì đến mức độ nào. 2.2.1 Thiết kế từ trên xuống BÀI TOÁN A A1 B C1 A2 A2.1 A2.2 C C2 A2.3 10 Các bài toán lớn đòi hỏi giải thuật có quy mô lớn - Mô-đun hoá  Bài toán = nhiều mô-đun  Mô-đun lớn = nhiều mô-đun con  Việc giải quyết một mô-đun ở mức thấp nhất là “đủ đơn giản” - Thiết kế từ trên xuống (top-down design): Bài toán được xem xét từ tổng quát đến chi tiết Ví dụ: Bài toán giải phương trình bậc 2 GIẢI PHƯƠNG TRÌNH BẬC II NHẬP HỆ SỐ XỬ LÝ TRƯỜNG HỢP SUY BIẾN HIỂN THỊ KẾT QUẢ TRƯỜNG HỢP KHÔNG SUY BIẾN TÍNH DELTA TÍNH NGHIỆM THEO DELTA 11 Ng«n ng÷ lËp tr× nh - Ví dụ: Sắp xếp dãy số theo thứ tự tăng dần  Phác thảo “thô” với những “ý tưởng cơ bản”  “Từ dãy các số chưa được sắp xếp, tìm số nhỏ nhất và đưa lên đầu”  Lặp lại quy trình trên tới khi dãy chưa được sắp xếp trở thành rỗng.  Ban đầu, dãy chưa sắp xếp là dãy đã cho, dãy đã sắp xếp là rỗng.  Lưu trữ dãy bằng “mảng” (danh sách các số), đưa số nhỏ nhất (aj) lên đầu danh sách là đổi chỗ nó với số đầu tiên.  Đổi chỗ  Số trung gian := aj  aj := số đầu tiên  Số đầu tiên : = số trung gian  …, cuối cùng ta được chương trình với ngôn ngữ cụ thể 2.2.3 Phương pháp phân tích giải thuật - Tính đúng đắn  Chạy thử nghiệm, đối chiếu kết quả à phát hiện được tính sai.  Dùng công cụ toán học để chứng minh à tính đúng đắn. - Tính đơn giản  Giải thuật có dễ hiểu, dễ lập trình không? - Tính hiệu quả  Đơn giản chưa chắc đã hiệu quả.  Đối với nhiều bài toán, tính hiệu quả là quan trọng, các giải thuật đơn giản lại gây tốn tài nguyên, chạy chậm.  Thời gian tính toán à Độ phức tạp tính toán  Những giải thuật hiệu quả phải có độ phức tạp (thời gian) tính toán chấp nhận được. - Tính dừng  Chứng minh, suy luận  Chạy thử 12 Tinh chØ nh tõng b­ í c (tõ th« s¬ ®Õn chi tiÕt) 2.2.2 Phương pháp tinh chỉnh từng bước - Phương pháp tinh chỉnh từng bước (stepwise refinement)  Ban đầu, sử dụng ngôn ngữ tự nhiên để diễn tả những công việc chính của giải thuật.  Các bước sau, các công việc được chi tiết hoá dần dần, ngôn ngữ tự nhiên được thay thế dần dần bằng giả ngôn ngữ.  Cuối cùng, giả ngôn ngữ được chuyển sang ngôn ngữ lập trình Ng«n ng÷ tù nhiªn - Đặc điểm  Thể hiện rõ ý tưởng thiết kế từ trên xuống Gi¶ ng«n  Gắn liền việc thiết kế giải thuật với việc lập trình ng÷ Chương III: MÔ HÌNH, PHƯƠNG HƯỚNG GIẢI QUYẾT 1. Mô hình Để xây dựng công cụ hỗ trợ lập trình dựa cơ sở thuật toán bước khởi đầu ta phải mô hình hóa bài toán. Như đã biết có nhiều phương pháp để mô tả một giải thuật: - Phương pháp biểu diễn từng bước - Phương pháp vẽ sơ đồ khối - Phương pháp giả ngôn ngữ Trong các phương pháp trên thì phương pháp biểu diễn giải thuật bằng sơ đồ thuật toán là hữu hiệu nhất, nó như một bản thiết kế. Thông qua đó bất kỳ một lập trình viên nào cũng có thể thao tác để biến nó thành chương trình cụ thể. Phương pháp biểu diễn thuật toán bằng sơ đồ thuật toán được mô tả như sau: - Sử dụng các hình khối để minh hoạ cho các lệnh hay thao tác. - Sử dụng mũi tên để diễn đạt thứ tự thực hiện - Đây là cách diễn đạt khoa học, có tính nhất quán cao - Các hình khối cơ bản:*) - Khối bắt đầu Begin End *) Khối kết thúc *) Khối thao tác cụ thể *) Khối kiểm tra điều kiện A Điều kiện *) Khối vào/ra dữ liệu Đúng Sai *) Khối gọi chương trình con - Các cấu trúc thường gặp: A 13 Ví dụ 1: Sơ đồ khối tính chu vi, diện tích hình chữ nhật (Hình trái) Ví dụ 2: Sơ đồ khối tính tổng từ 1..N (Hình phải) Begin Begin § äc c¹ nh a,b § äc sè N C :=2*(a+b) S:=0 S :=a*b i :=0 In ra C,S S := S + i End i : =i+1 i >N Sai § óng In ra S End Từ sự mô tả trên để xây dựng được công cụ hỗ trợ lập trình dựa cơ sở thuật toán và đưa ra mô hình bài toán như sau: - Xây dựng bộ công cụ hỗ trợ vẽ sơ đồ thuật toán - Xây dựng phần mềm sinh mã chương trình nguồn pascal từ sơ đồ thuật toán 2. Phương pháp giải quyết Trong sơ đồ khối, mỗi khối có một chức năng riêng. Mỗi khối phải thể hiện được là khối gì, thực hiện công việc gì…Ngoài ra còn có các đường để nối các khối. Thuật toán sẽ thực hiện theo chỉ dẫn của các đường từ đó ta phải tiến hành 14 xây dựng các khối,các đường sao cho nó đảm bảo được tính chất này. Mỗi khối, mỗi đường ta sẽ gán cho nó các thuộc tính tương ứng, các thuộc tính này quyết định chức năng của khối, của đường. 2.1Khối BEGIN (START) Ký pháp: START Các thuộc tính: - Id: Mã đối tượng - Type: Kiểu đối tượng (Start) - Line in: Mã của các mũi tên đi vào - Line out: Mã của mũi tên đi ra - Outext: Để hiển thị thông tin trên khối 2.2Khối END (END) Ký pháp: END Các thuộc tính: - Id: Mã đối tượng - Type: Kiểu đối tượng (end) - Line in: Mã của các mũi tên đi vào - Line out: Mã của mũi tên đi ra - Outext: Để hiển thị thông tin trên khối 2.3 Khối thao tác cụ thể (Process) Ký pháp: A Các thuộc tính: - Id: Mã đối tượng 15 - Type: Kiểu đối tượng (process) - Line in: Mã của các mũi tên đi vào - Line out: Mã của mũi tên đi ra - Outext: Để hiển thị thông tin trên khối 2.4 Khối kiểm tra điều kiện (Decision) Ký pháp: Các thuộc tính: - Id: Mã đối tượng Đúng Điều kiện Sai - Type: Kiểu đối tượng (Decision) - Line in: Mã của các mũi tên đi vào - Line out: Mã của mũi tên đi ra - Outext: Để hiển thị thông tin trên khối 2.5 Khối nhập dữ liệu vào (Input) Ký pháp: Các thuộc tính: - Id: Mã đối tượng - Type: Kiểu đối tượng (Input) - Line in: Mã của các mũi tên đi vào - Line out: Mã của mũi tên đi ra - Outext: Để hiển thị thông tin trên khối 2.6 Khối xuất dữ liệu ra (Output) Ký pháp: Các thuộc tính: - Id: Mã đối tượng - Type: Kiểu đối tượng (Output) - Line in: Mã của các mũi tên đi vào - Line out: Mã của mũi tên đi ra Outext: Để hiển thị thông tin trên khối 2.7 Khối gọi chương trình con (Function) A 16 Ký pháp: Các thuộc tính: - Id: Mã đối tượng - Type: Kiểu đối tượng (Function) - Line in: Mã của các mũi tên đi vào - Line out: Mã của mũi tên đi ra - Outext: Để hiển thị thông tin trên khối 2.8 Đường nối (Line) Ký pháp: Các thuộc tính: - Id: Mã đối tượng - Type: Kiểu đối tượng (Line) - Con_From: Kết nối từ đối tượng nào - Con_To: Kết nối tới đối tượng nào 2.9 Điểm nối (Connect) Ký pháp: Các thuộc tính: - Id: Mã đối tượng - Type: Kiểu đối tượng (Conn) - Line in: Mã của mũi tên đi vào - Line out: Mã của mũi tên đi ra 3.0 Kết quả đạt được 3.1 Giao diện chính của chương trình: 17 Tại cửa sổ chính của chương trình này có hệ thống menu trong đó có các mục như sau: + Menu File gồm: Tạo mới sơ đồ khối, ghi lại, thoát khỏi chương trình + Menu Change Shape: Thay đổi các thông tin về các khối như màu sắc, kích cỡ + Menu Delete: Cho phép xóa các khối, các đường + Menu Help: Trợ giúp sử dụng chương trình Trong chương trình cho phép sử dụng các khối ở bên trái để tạo ra các đới tượng như đã ngiên cứu ở trên. Để kết nối các đối tượng với nhau tạo thành sơ đồ khối thì cần phải chọn các đối tượng và sau đó chọn nút liên kết để tạo thành sơ đồ khối hoàn chỉnh. Nếu cần xóa đối tượng thì tiến hành chọn đối tượng cần xóa sau đó chọn mục xóa đối tượng. Nếu đặt liên kết sai chọn đường cần xóa sau đó chọn nút lệnh xóa đường. 18 3.2: Giao diện xây dựng thuật toán bằng sơ đồ khối: Tạo mã Pascal. Sau khi chạy thử, ta có thể sử dụng chức năng [Lưu đồ]\ [Tạo mã Pascal] để sinh ra một chương trình Pascal. Ví dụ với lưu đồ bài toán: In ra màn hình số nhỏ nhất trong ba số nhập từ bàn phím, ta có lưu đồ như sau: 19 Chọn [Lưu đồ]\ [Tạo mã Pascal], chương trình sẽ chạy Turbo Pascal để mở chương trình kết quả như sau: PHẦN III. KẾT LUẬN - KIẾN NGHỊ Xây dựng được hệ thống sơ đồ khối, vận dụng vào giảng dạy chương III"Tổ chức rẽ nhánh và lặp"Sử dụng sơ đồ khối vào giải các bài toán trong lập trình có cấu trúc và lặp.Đề tài được ứng dụng vào giảng dạy tại trường THPT Lê Văn Hưu và đạt kết quả tốt. Phần lớn các em rất hứng thú, gây được sự chú ý và tìm hiểu trong quá trình học lập trình. KIẾN NGHỊ - Để tiết kiệm thời gian và các giờ học đạt kết quả cao, giáo viên cần chuẩn bị sẵn các chương trình vào máy. Học sinh có thể chạy chương trình và thử với các bộ test dữ liệu khác nhau. (Giáo viên nên sử dụng máy chiếu để giới thiệu, giúp các em dễ quan sát nôi dung bài giảng).- Đề tài này mới chí là một phần ứng dụng vào dạy chương III: "Tổ chức rẽ nhánh và lặp tin học lớp 11". Tôi mong được sự góp ý của đồng nghiệp để đề tài ngày một hoàn thiện hơn. 20
- Xem thêm -

Tài liệu liên quan