Bài giảng Tin học 10 bài 6: Giải bài toán trên máy tính
lượt xem 145
download
Trong bộ sưu tập bài giảng này, các em sẽ được tìm hiểu về Giải bài toán trên máy tính, đây là những bài giảng hay giúp các em HS dễ dàng nắm vững kiến thức. Qua đó, các em sẽ có điều kiện để nắm bắt các cách giải bài toán trên máy tính theo chương trình Tin học lớp 10. Bên cạnh đó biết các bước cơ bản khi tiến hành giải toán trên máy tính, cách trình bày bài toán. Mời các bạn tham khảo bộ sưu tập để có thêm tư liệu xây dựng tiết học tốt hơn và đạt được hiệu quả cao nhất.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học 10 bài 6: Giải bài toán trên máy tính
- BÀI GIẢNG ĐIỆN TỬ MÔN: TIN HỌC 10 03/06/14 1
- Bài toán là gì? Bài toán là một công việc mà con người muốn máy tính thực hiện. Thuật toán là gì? Thuật toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho khi thực hiện dãy thao tác ấy, từ Input của bài toán, ta nhận được Output cần tìm.
- Máy tính làm một công việc Có phải máy tính hay giải một bài toán là do con thông minh và làm người đã đưa vào trong máy được mọi công việc các cách thức làm việc để kể cả việc giải hướng dẫn cho máy thực hiện toán? công việc. Việc giải toán trên máy Để giải bài toán trên tính được máy tính ta thường thực hiện tiến hành theo 5 bước. như thế nào?
- § 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH Việc giải bài toán trên máy tính thường có 5 bước : Bước 1: Xác định bài toán Bước 2 : Lựa chọn hoặc thiết kế thuật toán Bước 3 : Viết chương trình Bước 4 : Hiệu chỉnh Bước 5: Viết tài liệu.
- 1/ Xác định bài toán : ?Vớ ịnh toán là xác ịnh Input và Output Xác iđmột bài toán thì trướcđtiên cần phải xác định hai của u tố toán. ết, đó là hai yếu tố nào? yếbài cần thi • Input: Những dữ kiện, giảcủa ết, toán ệu đã có. Phải xác định input và output thi bài số li • Output: Kết quả cần tìm, kết luận cần chỉ ra.
- Ví dụ1 : Xét bài toán sau Tìm ước chung lớn nhất (ƯCLN) của hai số nguyên dương M và N ? Hãy xác định Input và Output của bài toán trên? Input : Hai số nguyên dương M và N; Output: ƯCLN(M, N). Khi đã xác định được input và output ta sẽ lựa chọn hoặc thiết kế thuật toán cho bài toán.
- Có thể Cách 1 có nhiều BÀI TOÁN KẾT QUẢ cách giải Cách 2 (thuật toán) Cách 3 ...
- 2/ Lựa chọn hoặc thiết kế thuật toán a/ Lựa chọn thuật toán : Một bài toán có thể có nhiều thuật tóan để giải nhưng mỗi thuật toán chỉ giải được cho một bài toán. Vì vậy ta phải chọn thuật toán tối ưu trong các thuật toán đã có. Một thuật toán tối ưu phải có các tiêu chuẩn sau : Thời gian thực hiện nhanh. Ít tốn bộ nhớ. Trình bày dễ hiểu, dễ nhìn. b/ Diễn tả thuật toán : Có 2 cách diễn tả một thuật toán Diễn tả bằng cách liệt kê. Diễn tả bằng sơ đồ khối.
- Ví dụ 1:Tìm ước chung lớn nhất của hai số nguyên dương M, N. Ý tưởng: ta có 2 ý tưởng sau: • Nếu M=N thì giá trị chung • Chia M cho N lấy dư là là UCLN R • Nếu M>N thì • Nếu R=0 thì UCLN(M,N)=UCLN(M-N,N) UCLN(M,N)=N • Nếu M
- Thuật toán : * Diễn tả thuật toán bằng cách liệt kê : B1:Nhập M,N B1: Nhập M, N B2: Nếu M=N thì giá trị B2: Chia M cho N lấy chung là UCLN rồi kết thúc dư là R B3:Nếu M>N thì B3: Nếu R=0 thì M M-N, chuyển sang B2 UCLN(M,N)=N rồi kết thúc B4: N N-M, chuyển sang B2 B4: M N , N R, chuyển sang B2
- * Diễn tả thuật toán bằng sơ đồ khối: Nhập M,N Nhập M,N Chia M cho N Đ Đưa ra M và lấy dư R M=N KT S Đ Đưa ra N và Đ R=0 KT M>N M M-N S S M N N N-M N R 1 2 Nên lựa chọn cách giải (thuật toán) nào để viết chương trình?
- Lần M N Với M=3, N=100 1 3 100 2 3 97 Nhập M,N 3 3 94 Đ M=N Đưa ra M và … … … KT S Đ 34 3 1 M>N M M-N S 35 2 1 N N-M 36 1 1 KQ UCLN(3,100)=1
- Với M=3, N=100 Nhập M,N Chia M cho N Lần M N R lấy dư R Đ 1 3 100 3 Đưa ra N và R=0 KT 2 100 3 1 S M N 3 3 1 0 N R KQ UCLN(3,100)=1
- Số lần Thuật toán 1 và giá Thuật toán 2 và giá trị thực trị tương ứng của tương ứng của (M,N) hiện (M,N) 1 3,100 3,100 2 3,97 100,3 3 3,94 3,1 4 3,91 Kết luận: ƯCLN = 1 … … 34 3,1 35 2,1 36 1,1 37 Kết luận: ƯCLN = 1
- 3/ Viết chương trình : Là lựa chọn cách tổ chức dữ liệu và lựa chọn ngôn ngữ lập trình (NNLT) phù hợp với thuật toán. Có nhiều loại NNLT, vì vậy khi viết chương trình trong ngôn ngữ nào thì phải tuân theo những quy định đó.
- Program TimUCLN; Program TimUCLN; Var M, N, R:integer; Var M, N, R:integer; Begin Begin Write(‘Nhap vao M,N’); Write(‘Nhap vao M,N’); Read(M,N); Read(M,N); While N 0 do While MN do Begin IF M>N THEN R:=M mod N; M:=M-N M:=N; N:=R; ELSE end; N:=N-M; Write(‘ uoc chung lon nhat la:’, M); Write(‘ uoc chung lon nhat End. la:’, M); End.
- 4/ Hiệu chỉnh : ?Khi ta giải một bài toán có phải lúc nào kết quả Khái niđúngChương Tại sao cầnkiểmi tra bằng hiệu cũng ệm: không? trình được phả có ước cáchỉnh? Thạy thử trên nhchng bộ Input mà người ch cho chế nào là hiệu ữ ỉnh? ta đã biết trước Output. Các bộ Input-Output này gọi là các Test. Nếu có sai sót người lập trình phải sửa chương trình rồi thử lại. Quá trình này được gọi là hiệu chỉnh.
- Ví dụ 2: Để kiểm chứng tính đúng đắn của chương trình giải pt bậc hai ax2 +bx +c =0, ta sử dụng vài bộ số Input để thấy rõ bước hiệu chỉnh của bài toán. Bài toán này có Input là gì? Input là bộ ba số a,b,c. a=1,b= -3,c=2 ; ∆ =1>0(chương trình đưa ra hai nghiệm). a=1,b= -4,c=4; ∆ =0 (chương trình đưa ra một nghiệm). a=1,b=3,c=4; ∆= -7
- Bước hiệu chỉnh giúp cho người lập trình thấy những sai sót để sửa sai, giúp cho kiểm tra tính đúng đắn của chương trình để có được một chương trình hoàn chỉnh. 5/ Viết tài liệu : Mô tả chi tiết toàn bộ bài toán, thuật toán, thiết kế chương trình, kết quả thử nghiệm và hướng dẫn sử dụng.
- Ví dụ 3: Bài toán: viết thuật toán giải pt bậc nhất ax+b=0 và sử dụng vài bộ Input để kiểm chứng tính đúng đắn của chương trình. Xác định bài toán : - Input : các hệ số a,b - Output : các kết luận về nghiệm của pt. Ý tưởng : nghiệm của bài toán phụ thuộc vào các số a và b như sau: -Nếu a=0 : +Nếu b=0 :kết luận pt có vô số nghiệm; +Nếu b≠ 0 : kết luận pt vô nghiệm; -Nếu a ≠ 0 : kết luận pt có một nghiệm x = -b/a.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Tin học 10 bài 9: Tin học và xã hội
31 p | 1293 | 276
-
Bài giảng Tin học 10 bài 8: Những ứng dụng của tin học
46 p | 1836 | 259
-
Bài giảng Tin học 10 bài 22: Một số dịch vụ cơ bản của Internet
31 p | 1184 | 212
-
Bài giảng Tin học 10 bài 11: Tệp và quản lý tệp
25 p | 999 | 207
-
Bài giảng Tin học 10 bài 7: Phần mềm máy tính
17 p | 1263 | 175
-
Bài giảng Tin học 10 bài 15: Làm quen với Microsolf word
35 p | 1095 | 170
-
Bài giảng Tin học 10 bài 21: Mạng thông tin toàn cầu Internet
27 p | 1102 | 167
-
Bài giảng Tin học 10 bài 10: Khái niệm về hệ điều hành
32 p | 607 | 154
-
Bài giảng Tin học 10 bài 12: Giao tiếp với hệ điều hành
18 p | 578 | 119
-
Bài giảng Tin học 10 bài 5: Ngôn ngữ lập trình
25 p | 636 | 101
-
Bài giảng Tin học 10 bài 13: Một số hệ điều hành thông dụng
21 p | 699 | 97
-
Bài giảng Tin học 10 bài 16: Định dạng văn bản
26 p | 586 | 89
-
Bài giảng Tin học 10 bài 14: Khái niệm về soạn thảo văn bản
22 p | 683 | 89
-
Bài giảng Tin học 10 bài 3: Giới thiệu về máy tính
19 p | 835 | 75
-
Bài giảng Tin học 10 bài 4: Thuật toán và bài toán
18 p | 466 | 68
-
Bài giảng Tin học 10 bài 2: Thông tin và dữ liệu
22 p | 425 | 63
-
Bài giảng Tin học 10 bài 1: Tin học là một ngành khoa học
21 p | 354 | 55
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn