GIẢI BÀI TOÁN TRÊN MÁY TÍNH I.MỤC ĐÍCH YÊU CẦU:

Một phần của tài liệu giao an tin 10(kh1) (Trang 40 - 44)

I.MỤC ĐÍCH YÊU CẦU:

Kiến thức:Giới thiệu cách dùng máy tính để gải bài toán, cách tổ chức giải bài toán

trên máy tính.HS sẽ có được ý niệm rõ hơn về các khái niệm bài toán, thuật toán, dữ liệu, lệnh, chương trình và NNLT.

Mức độ cần đạt được:Biết các bước cơ bản khi tiến hành giải bài toán trên máy tính:

Xác định bài toán, xây dựng thuật toán, lựa chọn CTDL, viết chương trình, hiệu chỉnh, đưa ra kết quả và hướng dẫn sử dụng.

II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:1. Đồ dùng dạy học: Máy tính điện tử 1. Đồ dùng dạy học: Máy tính điện tử

2.Phương pháp dạy học: Giải quyết vấn đề

3.Sự chuẩn bị ở nhà: Các kiến thức về MTĐT, thuật toán và NNLT III.TIẾN HÀNH BÀI DẠY:

1. Ổn định lớp:(2’) Vắng: Trể:

2.Kiểm tra bài củ: (3 - 6’)

1.Ngôn ngữ lạp trình là gì? Chương trình dịch có chức năng gì?

2.Nêu các ưu và nhược điểm của các loại NNLT?

3.Dạy bài mới:(30 - 37’)

Kiến thức cơ bản Hoạt động của Thầy và Trò I.XÁC ĐỊNH BÀI TOÁN:

-Việc xác định bài toán chính là xác định rõ 2

thành phần Input và Output.

-Các thông tin này cần được nghiên cứu một cách cẩn thận để có thể lựa chọn câu trúc dữ liệu, thuật toán và NNLT thích hợp.

II.LỰA CHỌN VÀ XÂY DỰNG THUẬT TOÁN:1.Lựa chọn thuật toán: Cần căn cứ vào những 1.Lựa chọn thuật toán: Cần căn cứ vào những

tiêu chí sau:

-Phải thoả mãn tất cảc các tính chất của thuật toán: Tình dừng, tính xác định, tính đúng đắn.

-Phải lựa chọn một thuật toán tối ưu: Thuật toán ít tốn kém về tài nguyên của máy tính nhất ( bộ nhớ, bộ xử lý, thời gian...).Trong đó thời gian là quan trọng nhất vì thời gian là tài nguyên không tái tạo

Ví dụ: Xét bài toán tìm nghiệm của phương trình ax + b = 0. Qua các bươc giải bài toán trên máy tính. Bước 1: Xác đinh bài toán

Câu hỏi: Em hãy nêu dữ liệu vào và ra

của bài toán.

Trả lời:

Input: a,b

Output: Nghiệm của phương trình

GV: Qua bước này ta cần nắm rõ:

+a,b là các số bất kỳ, kiểu dữ liệu của a, b là số thực.

+Nghiệm của phương trình có thể là: Vô nghiệm, vô số nghiệm hoặc một nghiệm x (với x là kiểu số thực)

Bước 2: Lựa chọn và xây dựng thuật toán. (adsbygoogle = window.adsbygoogle || []).push({});

Câu hỏi: Em hãy diển tả thuật toán của bài toán trên bằng phương pháp liệt kê? Trả lời:

Bước 1: Nhập a b là 2 số thực

Bước 2: Nếu a<>0 thì x = -b/a --> Bước 4

lại được.

-Cần thiết kế hoặc lựa chọn thuật toán sao cho việc viết chương trình cho thuật toán đó ít phức tạp -Cần căn cứ vào lượng tài nguyên mà thuật toán đòi hỏicũng như lượng tài nguyên thật tế cho phép.

2.Diễn tả thuật toán: Có hai cách

-Liệt kê

-Dùng sơ đồ khối.

III.VIẾT CHƯƠNG TRÌNH:

-Là một quá trình tổng hợp giữa việc lựa chọn cấu trúc dữ liệu và NNLT để diễn tả đúng thuật toán. -Khi viết chương trình ta cần lựa chọn một NNLT bậc cao, hợp ngữ, NN máy hoặc một phần mềm chuyên dụng thích hợp cho thuật toán đã lựa chọn. -Viết chương trình bằng NNLT nào, ta cần phải tuân thủ theo đúng quy định ngữ pháp cảu NNLT đó.

IV.HIỆU CHỈNH:

-Thử chương trình bằng cách thực hiện nó với các bộ Input tiêu biểu

-Các bộ Input này được gọi là các TEST.

-Nếu có sai sót ta phải thử chương trình rồi thử lại. -Trong quá trình hiệu chỉnh ta có thể thay đổi NNLT hoặc thuật toán.

-Tuỳ theo độ tiện dụng của NNLt và chương trình dịch mà ta có được sự trợ giúp khác nhau để phát hiện và sữa các sai sot.

-Máy tính chỉ phát hiện những lỗi sai cú pháp(Lỗi do người lập trình viết sai).

V.VIẾT TÀI LIỆU:

-Mô tả chi tiết toàn bộ bài toán, thuật toán, chương trình, kết quả thí nghiệm, hướng dẫn sử dụng. -Tài liệu này rất có ích cho người sử dụng chương trình và đề xuất những khả năng hoàn thiện thêm.

phương trình vô nghiệm

-Nếu b=0 thì thông báo phương trình vô số nghiệm.

Bước 4: In x ra màn hình.

GV: gọi một HS lên bảng vẽ sơ đồ khối. HS: Vẽ sơ đồ khối

Bước 3: Viết chương trình

Với máy tính điện tử, GV dung NNLT Pascal để thể hiện thuật toán trên.

Không cần giả thích các câu lệnh cho HS biết. Chỉ cần giới thiệu đây là chương trình của bài toán trân khi tiến hành bước 3.

Khi viết chương trình nên có một vài lỗi để sau đó giới thiệu cho HS biết bước thứ 4

Bước 4: hiệu chỉnh

Chạy chương trình với a, b là các bộ Input tiêu biểu.

Với a= 5, b=6 Với a=0, b=0 Với a=0, b=4

Cho HS thấy kết quả khi chậy chương trình với các bộ dữ liệu như trên. (adsbygoogle = window.adsbygoogle || []).push({});

-Viết thêm một tài liệu hướng dẫn sử dụng, thuật toán, kết quả thử nghiệm....

4.Hoạt động củng cố:(1-3’) Nhắc lại các bước giả bài toán trên máy tính 5.Hướng dẫn học sinh về nhà:(2-3’)

Học các nội dung: Xác định bài toán, các tiêu chuẩn lựa chọn thuật toán, viết chương

trình, hiệu chỉnh, viết tài liệu

Bài tập: 1.53,1.54,1.55,1.56,1.57,1.58/SBT

Chuẩn bị bài mới: Thế nào goị là một phần mềm máy tính? Có bao nhiêu laọi phần

Tiết 17

BÀI TẬPI.MỤC ĐÍCH YÊU CẦU: I.MỤC ĐÍCH YÊU CẦU:

Kiến thức: Củng cố kiến thức cho HS sau khi học lý thuyết chương I, đặt biệt là các

kiến thức liên quan đến bài Bài toán và thuật toán.

Kỹ năng: Học sinh vận dụng các kiến thức đã học để giải các bài toán liên quan đến

bài Bài toán và thuật toán.

II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:1. Đồ dùng dạy học: Máy tính điện tử 1. Đồ dùng dạy học: Máy tính điện tử

2.Phương pháp dạy học: Giải quyết vấn đề.

3.Sự chuẩn bị ở nhà: Các kiến thức đã học trong chương I đặt biệt là bài: Bài toán và thuật

toán.

III.TIẾN HÀNH BÀI DẠY:

1. Ổn định lớp:(2’) Vắng: Trể:

2.Kiểm tra bài củ: (3 - 6’)

1. Nêu ảnh hưởng của Tin học đối với sự phát triển xã hội?

2. Như thế nào được gọi là một XH Tin học hoá? Em sẽ làm gì khi sống trong XH Tin học hoá?

3.Dạy bài mới:(30 - 37’)

Kiến thức cơ bản Hoạt động của Thầy và Trò Bài 1:Viết thuật toán cho bài toán rút gọn phân

số? HD

-Input: Phân số (Trong đó có tử số (a), mẫu số (b) là hai số nguyên)

-Output: Phân số sau khi đã rút gọn. Bước 1: Nhập tử số a và mẫu số b Bước 2: Nếu a= b thì UCLN = a;

Bước 3: Nếu a> b thì a = a - b rồi quay lại bước 2. Bước 4: b = b - a rồi quay lại bước 2.

Bước 5: a = a/UCLN Bước 6: b = b/UCLN

Bước 7: Đưa ra a, b rồi kết thúc.

Câu hỏi:Hãy thực hiện các bước giải (adsbygoogle = window.adsbygoogle || []).push({});

bài toán trên?

GV: Gọi từng em HS lên thực hiện các bước giả bài toán

Bước 1: Xác định bài toán

-Input: Phân số (tử số là a, nẫu số là b là hai số nguyên)

-Output: Phân số sau khi đã rút gọn.

Bước 2: Thuật toán

*Chú ý:có thể tham khảo thuật toán tìm UCLN của hai số M và N trong SGK

Cách 1: Liệt kê

Bước 1: Nhập tử số a và mẫu số b Bước 2: Nếu a= b thì UCLN = a; Bước 3: Nếu a> b thì a = a - b rồi quay lại bước 2.

Bước 4: b = b - a rồi quay lại bước 2. Bước 5: a = a/UCLN

Bước 6: b = b/UCLN

Bước 7: Đưa ra a, b rồi kết thúc.

Cách 2: Sơ đồ khối.

HS tự vẽ sơ đồ khối.

Bài 2: Viết thuật toán tính tổng:

S = 1 + 1/2 + 1/3 +... + 1/n với n là số nguyêndương. dương.

HD:

-Input: n là số nguyên dương -Output: Tổng S

Bước 1: Nhập n là số nguyên dương Bước 2: i = 1, S = 0

Bước 3: Nếu i>n thì đưa ra S rồi kết thúc Bước 4: S = S + 1/i

I = i + 1

Bước 5: quay lại bước 3.

Với máy tính điện tử, GV viết chương trình này trong NNLT Turbo Pascal để HS hình dung.

Bước 4: Hiệu chỉnh

Câu hỏi: Theo em. Những bộ Input nào

là tiêu biểu cho bài toán này?

Trả lời: HS trả lời, GV chạy chương

trình TP và thử các bộ Input tiêu biểu để xem kết quả.

Bước 5: Viết tài liệu.

HS xem đây như một BT về nhà viết. (adsbygoogle = window.adsbygoogle || []).push({});

Câu hỏi: en hãy xác định dữ liệu vào

và ra của bài toán?

Trả lời:

-Input: n là số nguyên dương -Output: Tổng S

Câu hỏi: Em hãy viết thuật toán cho

bài toán trên?

Trả lời: GV gọi HS lên bảng viết.

Bước 1: Nhập n là số nguyên dương Bước 2: i = 1, S = 0

Bước 3: Nếu i>n thì đưa ra S rồi kết thúc

Bước 4: S = S + 1/i I = i + 1

Bước 5: quay lại bước 3.

Với MTĐT giáo viên lập trình sãnmột chương trình trong TP và cho HS tiến hành hiệu chỉnh.

4.Hoạt động củng cố:(1-3’) Nhắc lại các kiến thức hS đã học trong các bài ở chương I 5.Hướng dẫn học sinh về nhà:(2-3’)

Học các nội dung: Bài toán và thuật toán

Bài tập: Viết thuật toán tính tích P = 1. 1/2 . 1/3....1/n với n là số nguyên dương

Chuẩn bị bài mới: Hệ điều hành có những chức năng nào? Có bao nhiêu loại Hệ điuề

Tiết 18

Một phần của tài liệu giao an tin 10(kh1) (Trang 40 - 44)