1. Trang chủ
  2. » Giáo án - Bài giảng

Đổ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

23 265 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 23
Dung lượng 336,5 KB

Nội dung

Việc xây dựng các chương trìnhcho 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

Trang 1

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 tinhọ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ộngrã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ôngcuộ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 conngườ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ĩnhvự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áytí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 rakế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ìnhcho 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êngia 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ểncủ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àingườ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ìnhthà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

Trang 2

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áiniệ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ỚIPHƯƠ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.

- 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 11B3, 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ủahọ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

Trang 3

- 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, địnhhướ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ậplinh 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ộtcông cụ nghiên cứu, học tập cho bản thân

Trang 4

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ầnphả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ạolậ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ìmhiể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ễnbà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àychẳ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ệnbà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ànhxâ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

Trang 5

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 địnhbà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ôngriê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ánnà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 i<n thì quay lại B3

 Bước 5: In ra màn hình giá trị nhỏ nhất: Min

1.3 Các thao tác trong thuật giải

- Thao tác tuần tự: Một công việc đã được xác định rõ ràng, thực hiệnxong thì chuyển sang công việc khác

- Thao tác kiểm tra điều kiện: Kiểm tra điều kiện đưa ra có thoả mãn haykhông để quyết định thao tác tiếp theo

- Thao tác lặp: Quay trở lại bước nào đó trong dãy thao tác

- Một thao tác có thể được lặp đi lặp lại nhiều lần tới khi một điều kiệnnào đó được thoả mãn

- Ví dụ:

Giải thuật nấu cơm (đề phòng trường hợp có thêm khách)

 Bước 0: Ước lượng số gạo cần thiết

 Bước 1: Vo gạo

 Bước 2: Cho gạo và nước thích hợp vào nồi cơm điện(NCĐ)

 Bước 3: Cắm điện, chuyển chế độ “cook”

 Bước 4: Chờ đến khi NCĐ chuyển sang chế độ “warm”

 Bước 5: Chờ thêm 10 phút nữa

 Bước 6: Cơm chín Nếu không có thêm khách thì sang bước 8

 Bước 7: Quay lại bước 0

 Bước 8: Kết thúc

Trang 6

Nhận xét:

Bước 6 là thao tác kiểm tra điều kiện và bước 7 là thao tác lặp

1.4 Định nghĩa

Giải thuật là một dãy các câu lệnh chặt chẽ và rõ ràng xác định một trình

tự thao tác trên một đối tượng nào đó sao cho sau một số bước hữu hạn thựchiện, ta thu được kết quả mong muốn

 Câu lệnh: đơn vị thao tác, tính toán, xử lý

 Trình tự rõ ràng: thực hiện xong bước này mới chuyển sang bước khác,không nhập nhằng

 Đối tượng: các dữ kiện của bài toán, dữ liệu trung gian, kết quả,…

 Kết quả: Thông tin, lời giải cho bài toán,…

1.5 Từ giải thuật đến chương trình

- Giải thuật chỉ là phương pháp để giải quyết bài toán

- Sử dụng giải thuật để giải quyết bài toán cần:

 Có máy tính

 Lập trình: Cài đặt giải thuật lên máy tính theo một ngôn ngữ lập trình nào đó chẳng hạn như: Turbo Pascal, Turbo C, Visual Basic,…

- Biểu diễn đối tượng xử lý bởi dữ liệu trong chương trình (có nhiều kiểu

dữ liệu với cấu trúc khác nhau như: Integer, Char,….)

- Như vậy một chương trình được tạo nệ từ: Thuật giải và cấu trúc dữ liệu

2 Các phương pháp biểu diễn:

2.1 Các phương pháp biểu diễn giải thuật

2.1.1 Phương pháp biểu diễn từng bước

- Các thao tác của giải thuật được liệt kê từng bước

- Tại mỗi bước, sử dụng ngôn ngữ tự nhiên để diễn tả công việc phải làm

- Bước đứng trước (có số thứ tự nhỏ hơn) được thực hiện trước

- Ưu nhược điểm

 Dễ hiểu, dễ làm

 Phụ thuộc vào “cách hành văn” của người diễn đạt

 Với những giải thuật phức tạp, cách diễn đạt này trở nên rườm rà

 …

ALGORITHM

Trang 7

 Nếu a=s thì ghi nhận vị trí của phần tử s (p)

 Nếu a≠s và s chưa phải phần tử cuối cùng trong dãy thì gán s bằngphần tử tiếp theo và lặp lại bước 4

 Nếu a≠s và s là phần tử cuối cùng của dãy thì gán p = 0

 Bước 5: Nếu p ≠ 0 thì đưa ra vị trí cần tìm là p, ngược lại thông báokhông tìm thấy Kết thúc

2.1.2 Diễn đạt giải thuật bằng sơ đồ khối

- 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

 Khối kết thúc

 Khối thao tác cụ thể

 Khối kiểm tra điều kiện

 Khối vào/ra dữ liệu

 Khối gọi chương trình con

Các ký pháp trong phương pháp biểu diễn này:

Khối bắt đầu và kết thúc

Thực hiện công việc A

Gọi chương trình con A

Kiểm tra điều kiện: Tùy thuộc điều kiện(Đúng hay Sai) mà rẽ nhánh thích hợp

Điều kiện

Đúng

Sai

A

Trang 8

Từ các khối ở trên có một số cấu trúc như sau:

Một số ví dụ:

Ví dụ 1: Tính chu vi, diện tích hình chữ nhật

Phương pháp liệt kê

repeat… until…

Trang 9

Ví dụ 2: Vẽ lưu đồ thuật giải tính tổng n số tự nhiên đầu tiên

Cách 1 Cách 2

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)

Trang 10

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.

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

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

- 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

Trang 11

Ví dụ: Bài toán giải phương trình bậc 2

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

Trang 12

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ínhcủ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

- Đặc điểm

 Thể hiện rõ ý tưởng thiết kế từ trên xuống

 Gắn liền việc thiết kế giải thuật với việc 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 đơngiả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ánchấp nhận được

Trang 13

- 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

Trang 14

*) Khối vào/ra dữ liệu

*) Khối gọi chương trình con

- Các cấu trúc thường gặp:

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)

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ậttoá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

Trang 15

- Xây dựng phần mềm sinh mã chương trình nguồn pascal từ sơ đồ thuậttoá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áckhố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ànhxâ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:

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:

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

START

END

Trang 16

2.3 Khối thao tác cụ thể (Process)

Ký pháp:

Các thuộc tính:

- Id: Mã đối tượng

- 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

- 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:

A

Điều kiện

Đúng

Sai

Ngày đăng: 16/08/2017, 14:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Tác giả: Hồ Sĩ Đàm - Hồ Cẩm Hà - Nguyễn Đức Nghĩa - Nguyễn Thanh Tùng - Ngô Ánh Tuyết (sách tin học 11) Khác
2. Tác giả: Lê Khắc Thành - Hồ Cẩm Hà - Nguyễn Vũ Quốc Hưng: Tài liệu bồi dưỡng thường xuyên VG THPT chu kỳ III (2004-2007) Khác
3. Tác giả: Quách Tuấn Ngọc - Ngôn ngữ lập trình PASCAL (Lý thuyết và Bài tập) Khác
4. Giáo trình lập trình TURBO 7.0: Tác giả GS-TS Bùi Thế Tâm Khác
5. Giáo trình lập trình TURBO 7.0 Nâng Cao: tác giả GS Phạm Văn Ất Khác
6. Lập trình CSDL Visual Basic 6.0: Tác giả Nguyễn Thị Ngọc Mai Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w