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

6 187 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 tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩ...

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ánmấ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 Ngày soạn: 11/10/2012 Tiết 18: Tuần học: GV: Võ Sơn Trí GIẢI BÀI TOÁN TRÊN MÁY TÍNH I Mục tiêu Kiến thức - Biết bước tiến hành giải toán máy tính: + Xác định toán; + Lựa chọn hoặc thiết kế thuật; + Viết chương trình; + Hiệu chỉnh; + Viết tài liệu Kỹ - Nắm nội dung cụ thể bước cần thực giải toán máy tính - Xác định Test cho toán - Xác định thuật toán đã có phù hợp với từng toán cụ thể Thái độ - Rèn luyện tính khoa học làm việc đó - Rèn luyện tính xác, tính cẩn thận giải tập - Thấy vai trò bước giải toán máy tính II Phương pháp, phương tiện giảng dạy Giáo viên - Giáo án, phiếu học tập, phòng máy chiếu - Vấn đáp, thuyết trình, sử dụng sơ đồ tư - Tổ chức hoạt động giáo dục lớp Học sinh - Nghiên cứu trước học nhà - Sách giáo khoa, ghi chép - Tích cực tham gia phát biểu xây dựng học - Thực hoạt động giáo dục của giáo viện III Nội dung Ổn định lớp: Kiểm tra sĩ số lớp Kiểm tra cũ: (4 phút) Câu hỏi: Nêu ưu điểm của ngôn ngữ bậc cao? Kể tên ngôn ngữ bậc cao? Trả lời: Ngôn ngữ bậc cao có câu lệnh viết gần với ngôn ngữ tự nhiên, có tính độc lập cao, phụ thuộc vào loại máy cụ thể, đó ngôn ngữ bậc cao có ưu điểm như: - Dễ viết chương trình - Dễ đọc hiểu chương trình - Dễ nâng cấp chương trình - Thực thi chương trình nhiều loại máy Với ưu điểm vậy, nên ngôn ngữ bậc cao đông đảo nhà lập trình sử dụng, chẳng hạn ngôn ngữ lập trình Pascal; C/C++; Delphi; Java; Visual Basic, … Khối 10 Ngày soạn: 11/10/2012 Tuần học: Nội dung TG Nội dung Xác định toán 3’ - Xác định hai yếu tố Input Output của toán mối quan hệ giữa chúng Từ đó xác định ngôn ngữ lập trình cấu trúc dữ liệu cách thích hợp - Ví dụ: Tìm ƯCLN của hai số nguyên dương M N Xác định bài toán: + Input : M > 0, N > 0; + Output: ƯCLN(M, N) Lựa chọn hoặc thiết kế thuật toán 14’ a) Lựa chọn thuật toán - Mỗi thuật toán giải toán, song toán có thể có nhiều thuật toán để giải Vậy ta phải chọn thuật toán phù hợp nhất những thuật toán đưa GV: Võ Sơn Trí Hoạt động Thầy - Tro - GV: Xác định toán gì? - HS1: Trả lời - HS2: Nhận xét bổ sung (nếu có) - GV: Nhận xét bổ sung (nếu có) - GV: Nêu ví dụ - HS1: Xác định Input, Ouput của ví dụ - HS2: Nhận xét bổ sung (nếu có) - GV: Nhận xét bổ sung (nếu có) - GV: Chia lớp thành nhóm cho nhóm thảo luận “lựa chọn thuật toán”, khoảng phút - N1: Trình bày - N2, N3, N4: Nhận xét bổ sung (nếu có) GV: Nhận xét bổ sung (nếu có) - Cần quan tâm đến tài nguyên số lượng ô nhớ, thời gian thực thi chương trình nhất thời gian thực thi (tài nguyên tái tạo lại được) - Tài nguyên thuật toán yêu cầu tài nguyên thực tế đáp ứng - Viết chương trình cho phức tạp GV: Tại lựa chọn hoặc thiết kế thuật toán cần quan tâm đến thời gian thực thi chương trình? - HS1: Trả lời - HS2: Nhậ xét bổ sung (nếu có) - GV: Nhận xét bổ sung (nếu có) b) Diễn tả thuật toán - Có hai cách + Liệt kê bước + Bằng sơ đồ khối - GV: Có cách diễn đạt thuật toán? - HS1: Trả lời - HS2: Nhận xét bổ sung (nếu có) - GV: Nhận xét bổ sung (nếu có) - Ví dụ: Tìm ƯCLN của hai số nguyên dương M - GV: Hãy nêu cách tìm ƯCLN(M, N) N mà em đã làm quen Toán học? - HS1: Trả lời - HS2: Nhận xét bổ sung (nếu có) - GV: Nhận xét bổ sung (nếu có) - Liệt kê các bước: B1: Nhập M, N; B2: Nếu M = N ƯCLN = M; chuyển đến B5; B3: Nếu M > N M = M – N, quay lại B2 B4: Nếu M N ⇒ M ← M – N = 8; quay lại B2; Lượt 2: B2 M = ≠ N = 16; B3 M > N; B4 N ← N – M = 8; quay lại B2; B2 M = N = ⇒ ƯCLN; chuyển đến B5; B5 ƯCLN(M, N) = 8, kết thúc; GV: Võ Sơn Trí - GV : Chia lớp thành nhóm cho nhóm tiến hành xác định ƯCLN(24, 16) bảng phụ dựa vào thuật toán tìm ƯCLN(M, N) dạng liệt kê sgk, khoảng phút - N1, N2, N3, N4: Tìm ƯCLN(24, 16) viết bước giải dạng liệt kê bảng phụ, sau đó đem treo lên bảng đen lớp - N1 nhận xét làm của N2; N2 nhận xét làm của N3; N3 nhận xét làm của N4; N4 nhận xét làm của N1 - GV: Nhận xét bổ sung (nếu có) - GV: So sánh tìm ƯCLN(M, N) thuật toán học với cách tìm ƯCLN(M, N) cách phân tích thành thừa số nguyên tố? - HS1: So sánh - HS2: Nhận xét bổ sung (nếu có) - GV: Nhận xét bổ sung (nếu có) 5’ Viết chương trình - Viết chương trình tổng hợp 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 - Khi viết chương trình cần chọn ngôn ngữ thích hợp với thuật toán Viết chương trình ngôn ngữ phải tuân theo qui định cú pháp của ngôn ngữ đó - GV: Chia lớp thành nhóm thảo luận “Viết chương trình”, khoảng phút - N1: Trình bày - N2, N3, N4: Nhận xét bổ sung (nếu có) - GV: Nhận xét bổ sung (nếu có) - GV: Minh họa cách viết chương trình ngôn ngữ lập trình Pascal để tìm ƯCLN(M, 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 14’ a) Lựa chọn thuật toán - Mỗi thuật toán giải toán, song toán có thể có nhiều thuật toán để giải Vậy ta phải chọn thuật toán phù hợp nhất những thuật toán đưa GV:... Trí IV Củng cô (5 phút) Hệ thông hóa kiến thức Các bước giải toán máy tính: Bước Xác định toán; Bước Lựa chọn hoặc thiết kế thuật toán; Bước Viết chương trình; Bước Hiệu chỉnh; Bước Viết... tự bước giải toán máy tính là: A Xác định bài toán C Xác định toán Lựa chọn hoặc thiết kế thuật toán Viết chương trình Viết chương trình Lựa chọn hoặc thiết kế thuật toán Hiệu

Ngày đăng: 30/09/2017, 03:03

Từ khóa liên quan

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

Tài liệu liên quan