13
Trƣờng Đại Học Sƣ Phạm Hồ Chí Minh 12/22/2013 1 Khoa Công nghệ Thông tin 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

Embed Size (px)

Citation preview

Trƣờng Đại Học Sƣ Phạm Hồ Chí Minh

12/22/20131

Khoa Công nghệ Thông tin

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

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.

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

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

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

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Ả

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

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

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

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

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Đ

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

Phiếu họ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

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

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