13
1 Bài 6: Giải Bài Toán Trên Máy Tính 12/17/2014 1

Bai6 c1-tin10

Embed Size (px)

Citation preview

Page 1: Bai6 c1-tin10

1

Bài 6: Giải Bài Toán TrênMáy Tính

12/17/2014 1

Page 2: Bai6 c1-tin10

Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

KIỂM TRA BÀI CŨ

1. Em hãy so

sánh ngôn

ngữ máy và

ngôn ngữ lập

trình bậc cao?

2. Chương trình

dịch dùng để

làm gì?

Hướng dẫn trả lời

Ngôn ngữ máy Ngôn ngữ bậc cao

-Viết bằng mã nhị

phân.

-Máy tình hiểu ngay.

-Mỗi loại máy có một

ngôn ngữ riêng.

-Viết bằng ngôn ngữ

gần với ngôn ngữ tự

nhiên.

-Muốn máy hiểu

được phải chuyển

sang ngôn ngữ máy.

-Không phụ thuộc

vào loại máy.

Chương trình dịch dùng để dịch từ chương

trình viết bằng ngôn ngữ khác sang ngôn

ngữ máy.

12/17/2014 2

Page 3: Bai6 c1-tin10

MỤC ĐÍCH

YÊU CẦU

-Giới thiệu cách dùng máy tính để giải bài toán.

-Củng cố rõ hơn về khái niệm về bài toán, thuật toán,

dữ liệu, lệnh, ngôn ngữ lập trình và chương trình.

-Nắm được nội dung cụ thể các bước cần thực hiện

khi giải một 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

12/17/2014 3

Page 4: Bai6 c1-tin10

B1. Xác định

bài toán

B2. Lựa chọn

hoặc thiết kế

thuật toán

B3. Viết chương

trình

B4. Hiệu chỉnhB5. Viết tài liệu

NỘI DUNG

Bài 6:: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 4

Page 5: Bai6 c1-tin10

NỘI DUNG

1. XÁC ĐịNH

BÀI TOÁN

1. XÁC ĐỊNH BÀI TOÁN

Ví dụ: Cho bài toán tìm ước chung lớn nhất của hai

số M và N là 2 số nguyên dương.

Việc xác định bài toán là xác định rõ hai thành

phần:

Input Output

Input cho M,N

Output tìm UCLN(M,N)

Hãy xác định bài toán trên?

Bài 6:: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 5

Page 6: Bai6 c1-tin10

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

a. Lựa chọn thuật toán

Có thể

có nhiều

cách giải

(thuật toán)

BÀI TOÁN

Cách 1

Cách 2

Cách 3

. . .

Cần phải chọn cách giải (Thuật toán) sao cho :

Thuật toán cần ít thời gian thực hiện, chiếm ít ô

nhớ, thực hiện ít phép toán. . .

Thuật toán ít phức tạp

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

- Lựa chọn thuật toán và tổ chức dữ liệu.

Bài 6:: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

KẾT QUẢ

12/17/2014 6

Page 7: Bai6 c1-tin10

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

b. Diễn tả thuật toán

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

b. Diễn tả

thuật toán

Tìm ước chung lớn nhất của hai số nguyên dương

M,N.

Nếu M=N thì giá trị chung là UCLN

Nếu M>N thì UCLN(M,N)=UCLN(M-N,N)

Nếu M<N thì UCLN(M,N)=UCLN(M,N-M)

Trình bày ý tưởng một cách giải

Xác định bài toán

Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 7

Page 8: Bai6 c1-tin10

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

b. Diễn tả thuật toán

? Thuật toán liệt kê

B1:Nhập M,N

B2: Nếu M=N thì giá trị

chung là UCLN rồi kết

thúc

B3:Nếu M>N thì M M-N

chuyển sang B2

B4: N N-M chuyển sang B2

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

b. Diễn tả

thuật toán

Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 8

Page 9: Bai6 c1-tin10

2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN

b. Diễn tả thuật toán

Thuật toán bằng sơ đồ khối

Nhập M,N

N N-M

M=N Đưa KQ

KT

M>N

S

Đ

S

M M-NĐ

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

b. Diễn tả thuật

toán

Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 9

Page 10: Bai6 c1-tin10

3. VIẾT CHƯƠNG TRÌNH

Thuật toán+ Ngôn ngữ lập trình=chương trình

Program Tin UCLN;

Var M, N, R:integer;

Begin

Write(‘Nhap vao M,N);

Read(M,N);

While M<>N do

IF M>N THEN

M:=M-N;

ELSE

N:=N-M;

Write(‘ uoc chung lon nhat la:’, M);

End.

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

b. Diễn tả thuật

toán

3. VIẾT

CHƯƠNG

TRÌNH

Bài 6:: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 10

Page 11: Bai6 c1-tin10

4. HIỆU CHỈNH

M=9,N=15;

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

b. Diễn tả thuật

toán

3. VIẾT

CHƯƠNG

TRÌNH

4. HIỆU CHỈNH

3

3

6

6

15

N

UCLN(M,N)

34

33

92

91

MLẦN

? Chạy thử chương trình với các bộ Input tiêu biểu

để tìm ra Output:

Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

Nhập M,N

N N-M

M=N Đưa KQ

KT

M>N

S

Đ

S

M M-NĐ

12/17/2014 11

Page 12: Bai6 c1-tin10

Nhập M,N

N N-M

M=N Đưa KQ

KT

M>N

S

Đ

S

M M-NĐ

4. HIỆU CHỈNH

? Chạy thuật toán trên theo từng bước và điền vào phiếu học tập với bộ

Input(M, N): M=6, N=1 để có được Output

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

b. Diễn tả

thuật toán

3. VIẾT

CHƯƠN

G TRÌNH

4. HIỆU

CHỈNH

Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 12

Page 13: Bai6 c1-tin10

5. VIẾT TÀI LIỆU

Tài liệu phải 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,

Tài liệu giúp cho việc sử dụng chương trình và đề

xuất những khả năng hoàn thiện thêm.

Các bước trên có thể lặp đi lặp lại nhiều lần cho

đến khi ta cho rằng chương trình đã làm việc đúng

đắn và hiệu quả.

NỘI DUNG

1. XÁC ĐỊNH

BÀI TOÁN

2. LỰA CHỌN

HOẶC

THIẾT KẾ

THUẬT

TOÁN

a. Lựa chọn

thuật toán

b. Diễn tả thuật

toán

3. VIẾT

CHƯƠNG

TRÌNH

4. HIỆU CHỈNH

5. VIẾT TÀI

LIỆU

Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH

12/17/2014 13