Bài 6. Giải bài toán trên máy tính

9 246 0
Bài 6. Giải bài toán trên máy tính

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

Thông tin tài liệu

Bµi 6. Gi¶i bµi to¸n trªn m¸y tÝnh BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH Bài toán: Tìm ước số chung lớn nhất (ƯCLN) của 2 số nguyên dương M và N. Với các giá trị: M = 122877; N = 455544  ƯCLN = M = 25; N = 10  ƯCLN = ? ? 5 BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH Các bước giải bài toán trên máy tính 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 Để giải bài toán trên máy tính cần tiến hành theo các bước như thế nào? BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 1. Xác định bài toán - Xác định rõ hai thành phần: Input và output - Ví dụ: với bài toán tìm ƯCLN Input: Output: 2 số nguyên dương M, N ƯCLN(M,N) ? ? BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 2. Lựa chọn hoặc thiết kế thuật toán a. Lựa chọn thuật toán - Thời gian thực hiện thuật toán - Độ phức tạp của thuật toán - Số lượng ô nhớ liên quan * Ví dụ: với bài toán tìm ƯCLN - Nếu M=N thì ƯCLN là M (hoặc N); - Nếu M>N thì ƯCLN(M, N)= ƯCLN(M-N,N); - Nếu M<N thì ƯCLN(M, N)= ƯCLN(M,N-M); Quá trình này lặp đi lặp lại cho đến khi M=N BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 2. Lựa chọn hoặc thiết kế thuật toán b. Diễn tả thuật toán * Liệt kê: B1: Nhập M, N; B2: Nếu M=N thì lấy ƯCLN(M,N)=M rồi đến B5; B3: Nếu M>N thì MM-N rồi quay lại B2; B4: NN-M rồi quay lại B2; Để diễn tả thuật toán có mấy cách? - 2 cách: + Liệt kê các bước + Vẽ sơ đồ khối B5: Đưa ra kết quả ƯCLN rồi kết thúc; * Sơ đồ khối: Đ Đ S S 5101010 551525 321 L­ît NhËp M ,N M =N ? M > N ? N ←N - M M ←M - N Đ­a ra M ; KÕt thóc M= 25, N = 10 25 = 10 ? 25 >10 M ←25 - 10 15 = 10 ? 15 >10 M ←15 - 10 5 = 10 ? 5 > 10 ? N ← 10 - 5 5 = 5 ? ¦CLN (25,10) = 5 M N BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 3. Viết chương trình - Là tổng hợp giữa việc: + Lựa chọn cách tổ chức dữ liệu. + Sử dụng ngôn ngữ lập trình diễn đạt đúng thuật toán. BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 4. Hiệu chỉnh - Sau khi viết xong chương trình cần phải thử chương trình bằng 1 số Input tiêu biểu (test). - Trong quá trình thử này nếu phát hiện sai sót thì phải sửa lại chương trình. - Ví dụ: với bài toán tìm ƯCLN M = 13; N = 17  ƯCLN = 1 M = 25; N = 10  ƯCLN = 5 M = 25; N = 25  ƯCLN = 25 BÀI 6. GIẢI BÀI TOÁN TRÊN MÁY TÍ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 cách sử dụng. [...]... bước giải bài toán trên máy tính 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 DẶN DÒ - Ôn lại bài học hôm nay, trả lời các câu hỏi sgk-tr51 - Làm Các bước giải toán máy tính gồm: Bước Xác định toán: Bước 2: Lựa chọn 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 Xác định toán  Nội dung Xác định toán Xác định toán xác định Input, Output mối quan hệ Input Output Ví dụ: Bài toán tính diện tích hình chữ nhật với chiều dài a, chiều rộng b Input: a, b Output: S Lựa chọn thiết kế thuật toán  Nội dung Xác định toán Lựa chọn thiết kế thuật toán a Lựa chọn thuật toán - Một thuật toán để giải cho toán toán có nhiều thuật toán để giải, phải lựa chọn thuật toán - Tiêu chí lựa chọn thuật toán: + Thời gian thực nhanh + Ít tốn nhớ + Dễ hiểu, phức tạp  Nội dung Xác định toán Lựa chọn thiết kế thuật toán b Diễn tả thuật toán Cho toán: Tìm ước chung lớn số nguyên dương m, n * Xác định toán: -Input: m, n nguyên dương - Output: UCLN(m, n) * Ví dụ: cho m = 25, n = 15 m= 36 n=24 m>n m m - n m= 12 n=24 m n UCLN(m, n) = UCLN(m – n, n) Xác định toán - Nếu n < m UCLN (m, n) = UCLN(m, n – m) Lựa chọn thiết kế thuật toán * Thuật toán Cách 1: Liệt kê Bước 1: Nhập m, n nguyên dương; Bước 2: Nếu m = n thông báo UCLN m n m kết thúc; Bước 3: Nếu m > n m  m – n quay lại bước 2; Bước 4: n  n – m quay lại bước * Thuật toán  Nội dung Cách 1: Liệt kê Xác định toán Bước 1: Nhập m, n nguyên dương; Lựa chọn thiết kế thuật toán Bước 2: Nếu m = n thông báo UCLN m n m kết thúc; Bước 3: Nếu m > n m  m – n quay lại bước 2; Bước 4: n  n – m quay lại bước 2; Cách 2: Sơ đồ khối  Nội dung Xác định toán Lựa chọn thiết kế thuật toán  Nội dung Xác định toán Lựa chọn thiết kế thuật toán  Nội dung Xác định toán Lựa chọn thiết kế thuật toán GIÁO ÁN CHI TIẾT I ----o0o---- Người soạn: Nguyễn Thị Tú Lớp : Tin 4A Tên bài giảng: Bài 6: Giải bài toán trên máy tính I. Mục đích-yêu cầu. * Về kiến thức: - Nắm kĩ các khái niệm: Bài toán, thuật toán, chương trình - Hiểu biết được nhiều loại ngôn ngữ lập trình. - Hiểu các bước cơ bản khi tiến hành giải bài toán trên máy * Về kĩ năng: - Giải được các bài toán đơn giản trên máy tính. II. Phương pháp, phương tiện. - Vấn đáp, thuyết trình, mô phỏng. - Máy tính, máy chiếu, bảng đen, SGK. III. Ổn định lớp. - Kiểm tra sĩ số, ổn định trật tự. - Kiểm tra bài cũ: Câu hỏi 1: Tại sao viết chương trình bằng ngôn ngữ bậc cao cần phải có chương trình dịch? Trả lời: Mỗi loại máy tính đều có ngôn ngữ máy của nó, đó là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực hiện được. Vì vậy, mỗi chương trình viết bằng ngôn ngữ khác muốn thực hiện được trên máy tính đều phải được dịch ra ngôn ngữ máy bằng một chương trình dịch. Câu hỏi 2: Ngôn ngữ bậc cao hình thành các câu lệnh có ưu điểm gì so với ngôn ngữ hợp ngữ? Trả lời: Ngôn ngữ bậc cao có các câu lệnh được viết gần với ngôn ngữ tự nhiên hơn, có tính độc lập cao hơn ít phụ thuộc vào các loại máy cụ thể. Do đó người sử dụng dễ nhớ hơn,dễ thao tác hơn và thông dụng hơn. IV. Nội dung bài mới. Nội dung ghi bảng Hoạt động của thầy Hoạt động của trò Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH *Các bước giải bài toán: - Xác định bài toán. -Lựa chọn và xây dựng thuật toán. -Viết chương trình. -Hiệu chỉnh. -Viết tài liệu. 1.Xác định bài toán. Xác định phần INPUT, OUTPUT của bài toán và mối quan hệ giữa chúng. Từ đó xác định ngôn ngữ và cấu trúc dữ liệu một cách thích hợp. Ví dụ: Bài toán tìm UCLN của hai số nguyên dương a,b. -Input: 2 số nguyên dương a,b. -Output: UCLN của 2 số a,b. 2. Lựa chọn và xây dựng thuật toán. a. Lựa chọn thuật toán. -Mỗi thuật toán chỉ giải 1 bài toán song một bài toán có thể có nhiều thuật toán để giải. Vậy ta phải chọn thuật toán tối ưu nhất trong nhữngthuật toán tối ưu nhất trong nhữngthuật toán tối ưu nhất trong những thuật toán đã đưa ra. thuật toán đã đưa ra. Đặt vấn đề: Biết rằng máy tính là công cụ hỗ trợ con người rất nhiều trong cuộc sống, con người muốn máy thực hiện bài toán thì phải đưa lời giải bài toán đó vào máy tính dưới dạng các lệnh. Vậy các bước để xây dựng một bài toán là gì? -Ta đi tìm hiểu từng bước. Bước 1: Xác định bài toán. -Xác định bài toán tức cần phải xác định những gì? - Sau khi xác định được Input và Output của bài toán ta phải xác định gì nữa? -Tìm hiểu Input , Output và mối quan hệ giữa chúng để làm gì? -Đúng vậy, trước mỗi bài toán ta cần §6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH §6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH KIỂM TRA BÀI CŨ KIỂM TRA BÀI CŨ NNLT là gì? Nêu NNLT là gì? Nêu các loại NNLT mà em các loại NNLT mà em đã học? Trong các đã học? Trong các NNLT đó thì ngôn ngữ NNLT đó thì ngôn ngữ nào được phát triển nào được phát triển mạnh nhất? Vì sao? mạnh nhất? Vì sao? ? ?  Ngôn ngữ lập trình: là ngôn ngữ dùng để viết chương trình  Các loại: NN máy, Hợp ngữ, NNLT bậc cao.  NNLT được phát triển mạnh nhất: Là NNLT bậc cao. Vì đây là ngôn ngữ gần gũi với tự nhiên hơn, tạo môi trường làm việc dễ dàng hơn cho con người. §6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH Khi giải bài Khi giải bài toán bằng tay chúng ta toán bằng tay chúng ta cần thực hiện theo cần thực hiện theo những bước nào? những bước nào? ? ? Giải bài toán trên máy tính thông qua 5 bước sau: Bước 1: Xác định bài toán. Bước 2: Lựa chọn và 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 B1: Tìm hiểu đề B2: Xác định dạng bài toán và chọn cách giải B3: Giải bài toán B4: Kiểm tra lại kết quả B5:Trình bày lời giải cho bài toán §6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 1. 1. Xác định bài toán Xác định bài toán Xác định bài Xác định bài toán là cần phải xác toán là cần phải xác định cái gì? định cái gì? Và xác Và xác định nhằm mục đích định nhằm mục đích gì? gì? ? Xác định rõ 2 thành phần: - INPUT - OUTPUT Từ đó, xác định NNLT và lựa chọn thuật toán thích hợp VD: Giải phương trình bậc hai: ax 2 + bx + c = 0 (a# 0) Hãy xác định Input và Output của bài toán? +Input: Nhập hệ số a, b, c (a#0) +Output: Kết luận nghiệm của phương trình -Pt VN -Pt có nghiệm kép -Pt có 2 nghiệm phân biệt x1 và x2 Cho a=1, b=-3, c=2 thì ta có pt x 2 – 3x+2 = 0. Theo em, pt này có mấy cách giải? ? ? §6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH 1. Xác định bài toán 2. Lựa chọn và thiết kế thuật toán: Xác định rõ 2 thành phần: INPUT và OUTPUT - Là bước quan trọng nhất để giải một bài toán. - Mỗi thuật toán chỉ giải 1 bài toán, nhưng một bài toán có thể có nhiều thuật toán để giải.  Chọn tt tối ưu nhất. Cho a=1, b=-3, c=2 thì ta có pt x 2 – 3x+2 = 0. ? ? - Thuật toán tối ưu là thuật toán có các tiêu chí sau: * Dễ hiểu * Trình bày ngắn gọn * Thời gian thực hiện * Tốn ít bộ nhớ a. Lựa chọn thuật toán: b. Diễn tả thuật toán: VD: Giải phương trình bậc hai: ax ax 2 2 + bx + c = 0 (a# 0) + bx + c = 0 (a# 0) * * Xác định bài toán: Xác định bài toán: * * Ý tưởng: Ý tưởng: - Tính Delta (D) - Tính Delta (D) - Nếu D<0 - Nếu D<0   pt VN pt VN - Nếu D=0 - Nếu D=0   pt có pt có nghiệm kép x=-b/2a nghiệm kép x=-b/2a - Nếu D>0 - Nếu D>0   pt có 2 pt có 2 nghiệm phân biệt x1 và x2 nghiệm phân biệt x1 và x2 * * Thuật toán: Thuật toán: Chọn tt tối ưu nhất C1: Tính Delta và C1: Tính Delta và áp dụng công thức áp dụng công thức nghiệm nghiệm C2: Nhẩm nghiệm: C2: Nhẩm nghiệm: Lấy giá trị bất kỳ đưa Lấy giá trị bất kỳ đưa vào pt xem có phải là vào pt xem có phải là nghiệm hay không? nghiệm hay không? §6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH b. Diễn tả thuật toán: 2. Lựa chọn và thiết kế thuật toán: B1: Nhập a, b, c (a#0) B2: D b 2 – 4ac B3: Nếu D<0 thì pt VN rồi kết thúc. (ngược lại sang b4) B4: Nếu D=0 thì pt có nghiệm kép rồi Bài 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 tiến hành qua các bước sau: • 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. Bài toán: • Tìm ước số chung lớn nhất của 2 số nguyên dương M và N. M = 25; N = 5. M = 88; N = 121. Bước 1: Xác định bài toán. • Xác định rõ 2 thành phần Input, Output và mối quan hệ giữa 2 thành phần này. • Các thông tin này cần được nghiên cứu cẩn thận để có thể lựa chọn thuật toán, cách thể hiện các đại lượng đã cho. • VD: Input: 2 số nguyên dương M và N Output: UCLN (M,N) Bước 2: Lựa chọn hoặc thiết kế thuật toán a. Lựa chọn thuật toán Là bước quan trọng nhất để giải một bài toán Các yếu tố cần quan tâm khi lựa chọn hoặc thiết kế thuật toán:  Thời gian thực hiện.  Số lượng ô nhớ.  Độ phức tạp của thuật toán và chương trình. Bước 2: Lựa chọn hoặc thiết kế thuật toán b. Diễn tả thuật toán. • VD: Tìm ước số chung lớn nhất của 2 số nguyên dương M và N. • Ý tưởng:  M=N thì UCLN (M,N)=M=N.  M<N thì UCLN (M,N)= UCLN (M,N-M).  M>N thì UCLN (M,N)= UCLN (M,M-N). • Sơ đồ khối: Bước 2: Lựa chọn hoặc thiết kế thuật toán § § S S 5101010 551525 321 Lượt Nhập M, N M =N ? M > N ? N ←N - M M ←M - N Đưa ra M, Kết thúc M=25, N=10 25 = 10 ? 25 >10 M ←25 - 10 15 = 10 ? 15 >10 M ←15 - 10 5 = 10 ? 5 > 10 ? N = 10 - 5 5 = 5 ? UCLN (25,10)=5 M N Bước 3: Viết chương trình • Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để diển tả thuật toán. • Ta cần lựa chọn ngôn ngữ lập trình thích hợp. Bước 4: Hiệu chỉnh. • Sau khi viết chương trình xong ta cần phải thử lại. • Thử chương trình với một số bộ Input tiêu biểu (căn cứ vào Output). • Nếu có sai sót ta phải sửa chương trình rồi thử lại. • Nếu kết quả hiệu chỉnh cho thấy ngôn ngữ lập trình hay thuật toán không phù hợp, ta có thể quay lại lựa chọn hay thiết kế thuật toán. [...]...Bước 5: Viết tài liệu • Mô tả 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 • 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 Các bước này có thể lậpGIẢI BÀI TOÁN TRÊN MÁY TÍNH 1 Con người đã phải làm gì để máy nh có thể giải quyết những công việc của con người? §6.GIẢI BÀI TOÁN TRÊN MÁY TÍNH (1,0,0) GIẢI BÀI TOÁN TRÊN MÁY TÍNH 2 5 bước 1. Xác định bài toán 2. Lựa chọn và thiết kế thuật toán 3. Viết chương trình 4. Hiệu chỉnh 5. Viết tài liệu GIẢI BÀI TOÁN TRÊN MÁY TÍNH 3 1. Xác định bài toán GIẢI BÀI TOÁN TRÊN MÁY TÍNH 4 INPUT Mối liên hệ: INPUT, OUTPUT OUTPUT Xác định Ví dụ: Tìm UCLN (M,N) (M,N>0) Bước 1: Xác định bài toán GIẢI BÀI TOÁN TRÊN MÁY TÍNH 5 INPUT: M, N OUTPUT: UCLN(M,N) Mối liên hệ: M % UCLN(M,N) = 0 N % UCLN(M,N) = 0 2. Lựa chọn hoặc thiết kế thuật toán GIẢI BÀI TOÁN TRÊN MÁY TÍNH 6 Để giải một bài toán có thể có nhiều cách giải Tiêu chuẩn chọn thuật toán tối ưu:  Lựa chọn cách giải tối ưu nhất Thời gian thực hiện nhanh. Ít tốn bộ nhớ. Trình bày dễ hiểu, dễ nh ìn. Bước 2: Lựa chọn hoặc thiết kế thuật toán GIẢI BÀI TOÁN TRÊN MÁY TÍNH 7 Ví dụ: Tìm UCLN (M,N) (M,N>0) Cách 1: B1: Nhập M,N B2: nếu M = N  UCLN(M,N) = M  B5 B3: Nếu M > N  M = M- N  B2 B4: Nếu M < N  N = N – M  B2 B5: Xuất UCLN(M,N)  Kết thúc GIẢI BÀI TOÁN TRÊN MÁY TÍNH 8 Ví dụ: Tìm UCLN (M,N) (M,N>0) M,N N=N-M M=N UCLN(M,N)=M M>N M=M-N Đ S S Đ GIẢI BÀI TOÁN TRÊN MÁY TÍNH 9 Ví dụ: Tìm UCLN (M,N) (M,N>0) Cách 2: B1: Nhập M,N B2: nếu M % N = 0  UCLN(M,N) = N  B6 B3: nếu N % M = 0  UCLN(M,N) = M  B6 B4: Nếu M > N  M = M % N  B2 B5: Nếu M < N  N = N % M  B2 B6: Xuất UCLN(M,N)  Kết thúc M,N UCLN=N M%N=0 N%M=0 M>N M=M%N N=N%M UCLN=M UCLN Đ S Đ S S Đ Tìm UCLN (49, 14) GIẢI BÀI TOÁN TRÊN MÁY TÍNH 10 Ví dụ: Tìm UCLN (M,N) (M,N>0) Cách 1: B1: Nhập M,N B2: nếu M = N  UCLN(M,N) = M  B5 B3: Nếu M > N  M = M- N  B2 B4: Nếu M < N  N = N – M  B2 B5: Xuất UCLN(M,N)  Kết thúc Lần M N 0 49 14 1 35 14 2 21 14 3 7 14 4 7 7  UCLN (49, 14) = 7 [...]... trình đã làm việc tốt và hiệu quả GIẢI BÀI TOÁN TRÊN MÁY TÍNH 17 Lợi ích: - Hỗ trợ người dùng sử dụng phần mềm Nâng cấp, hoàn thiện phần mềm dễ dàng hơn GIẢI BÀI TOÁN TRÊN MÁY TÍNH 18 Giải bài toán Hoán vị 2 số A,B A B B A GIẢI BÀI TOÁN TRÊN MÁY TÍNH 19 Bước 1: Xác định bài toán INPUT: A,B OUTPUT: B, A GIẢI BÀI TOÁN TRÊN MÁY TÍNH 20 Bước 2: Lựa chọn hoặc thiết kế thuật toán A, B Cách 1: B1: Nhập A,B B2:... B=C B, A GIẢI BÀI TOÁN TRÊN MÁY TÍNH 21 A, B Cách 2: B1: Nhập A,B B2: A = A + B B3: B = A - B B4: A = A - B B5: kết thúc Bước A B 1 a b 2 a+b b 3 a+b a 4 b a A=A+B B=A-B A=A-B B, A GIẢI BÀI TOÁN TRÊN MÁY TÍNH 22 Bước 3: Viết chương trình Bước 4: Hiệu chỉnh a=b? ... thiết kế thuật toán  Nội dung Xác định toán Lựa chọn thiết kế thuật toán a Lựa chọn thuật toán - Một thuật toán để giải cho toán toán có nhiều thuật toán để giải, phải lựa chọn thuật toán - Tiêu...1 Xác định toán  Nội dung Xác định toán Xác định toán xác định Input, Output mối quan hệ Input Output Ví dụ: Bài toán tính diện tích hình chữ nhật với chiều dài... đồ khối  Nội dung Xác định toán Lựa chọn thiết kế thuật toán  Nội dung Xác định toán Lựa chọn thiết kế thuật toán  Nội dung Xác định toán Lựa chọn thiết kế thuật toán

Ngày đăng: 21/09/2017, 10:24

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

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

Tài liệu liên quan