bai4_baitoanvathuattoan

18
BÀI 4: BÀI TOÁN và THUẬT TOÁN

Upload: linhhuynhk37sptin

Post on 16-Jul-2015

61 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Bai4_Baitoanvathuattoan

BÀI 4: BÀI TOÁN và THUẬT TOÁN

Page 2: Bai4_Baitoanvathuattoan

1. Khái niệm bài toán:Xét các yêu cầu sau : Giải phương trình bậc hai ax2 + bx + c = 0. Viết một dòng chữ ra màn hình máy tính. Quản lý các cán bộ trong một cơ quan. Tìm ước chung lớn nhất của hai số nguyên dương a

và b. Xếp loại học tập các học sinh trong lớp.

Trong TIN HỌCTrong TOÁN HỌC

Yêu cầu 1 và 4 được xem là bài toán

Tất cả các yêu cầu trên đều được xem là bài toán

Trong các yêu cầu trên, yêu cầu nào được xem như là một bài toán?

Page 3: Bai4_Baitoanvathuattoan

Khái niệm bài toán trong Tin học?

Bài toán là việc nào đó ta muốn máy tính thực hiện.

Khi máy tính giải bài toán cần quan tâm đến 2 yếu tố:

INPUT

Các thông tin đã có

OUTPUT

Các thông tin cần tìm từ

Input

Page 4: Bai4_Baitoanvathuattoan

CÁC VÍ DỤVD1 : Giải phương trình bậc hai

ax2 + bx + c = 0 (a ≠ 0).• Input : Các số thực a,b,c (a ≠ 0)• Output : Số thực x thỏa : ax2+bx+ c = 0

VD2 : Tìm giá trị nhỏ nhất của các số trong một dãy số.• Input : Các số trong dãy số.• Output : Giá trị nhỏ nhất trong dãy số.

VD3 : Tìm ước chung lớn nhất của hai số nguyên dương a và b.• Input : • Output:

VD4 : Xếp loại học tập các học sinh trong lớp. • Input :• Output :

ƯCLN của a và b.Hai số nguyên dương a và b.??

??Bảng điểm của học sinh.Bảng xếp loại học tập.

Page 5: Bai4_Baitoanvathuattoan

SBD Họ và tên Văn Toán Lý Anh TổngKết quả

105 Lê Thị Thu 8.5 10.0 7.0 9.0

102 Võ Ngọc Sơn 6.0 8.5 8.5 5.0

215 Trần Thủy 7.0 7.0 6.5 6.5

211 Nguyễn Anh 4.5 5.0 7.0 7.5

245 Phan Vân 5.0 2.0 3.5 4.5

VD5: Quản lí điểm trong một kì thi bằng máy tính.

Yêu cầu : Hãy xác định thông tin đưa vào (Input) và thông tin cần lấy ra (Output) Input: SBD, Họ và tên, Văn, Toán, Lí, Anh.

Output: Tổng điểm, Kết quả thi của học sinh.

53 Đỗ

42.5 Đỗ

41 Đỗ

33.5 Đỗ

22

Page 6: Bai4_Baitoanvathuattoan

TÓM LẠI

Khi dùng máy tính giải bài toán, ta cần quan tâm đến 2 yếu tố cơ bản:

• Input: Các thông tin đã có.• Output: Các thông tin cần tìm từ Input.

Page 7: Bai4_Baitoanvathuattoan

2. Khái niệm thuật toán:

Chương trình

Input OutputMuốn máy tính đưa ra Output từ Input

Thuật toán

BÀI TOÁN

Muốn viết chương trình ?

Thuật toán để giải một bài 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 sau khi thực hiện dãy thao tác đó, từ Input của bài toán này, ta nhận được Output cần tìm.

Page 8: Bai4_Baitoanvathuattoan

MÔ TẢ CÁC THAO TÁC TRONG THUẬT TOÁN

Có 2 cách mô tảLiệt kê

Dùng sơ đồ khối

Nêu ra tuần tự các thao tác cần tiến hành

Dùng một số biểu tượng thể hiện các thao tác

Page 9: Bai4_Baitoanvathuattoan

B7: Kết thúc.

B1: Bắt đầu;

B2: Nhập a, b, c;

B3: Tính ∆ = b2 – 4ac;

B4: Nếu ∆ < 0 => PT vô nghiệm => B7;

B5: Nếu ∆ = 0 => PT có nghiệm kép x = -b/2a => B7;

B6: Nếu ∆ > 0 => PT có hai nghiệm x1, x2 = (-b ± √∆)/2a => B7;

VD2: Thuật toán giải phương trình bậc hai (a ≠ 0).

Cách 1: Liệt kê các bước

Page 10: Bai4_Baitoanvathuattoan

: Thể hiện các thao tác so sánh.

b. Dùng sơ đồ khối

Trong sơ đồ khối, người ta dùng một số biểu tượng thể hiện các thao tác như:

: Thể hiện các phép tính toán.

: Quy định trình tự thực hiện các thao tác.

: Thể hiện các thao tác nhập, xuất dữ liệu.

Page 11: Bai4_Baitoanvathuattoan

Nhập vào a, b, c

D = b - 4ac

D < 0 PT vô nghiệm

D = 0 PT có nghiệm x= - b/2a KT

BD

đ

s

Cách 2: Sơ đồ thuật toán giải phương trình bậc hai

2

PT có 2 nghiệm

x1,x2 = ( -b ±ÖD )/2a

B1

B2

B3

B4

B5

B6

s

đ

B7

Page 12: Bai4_Baitoanvathuattoan

a,b,c= 1 3 5

D = 3*3 - 4*5 = - 11

-11 < 0 PT vô nghiệm

D = 0 PT có nghiệm x = -b/2a KT

BD

-11

531

c b a

S

PT có 2 nghiệm x1, x2 = (-b ±√∆ )/2a

Đ

S

∆ = b*b - 4*a*c

nhập vào a,b,c

∆ < 0

Mô phỏng thuật toán giải phương trình bậc hai

Bộ TEST 1:

Page 13: Bai4_Baitoanvathuattoan

a,b,c= 1 2 1

D = 2*2 - 4*1*1 = 0

PT vô nghiệm

PT có nghiệm x=-b/2a KT

BD

0

121

c b a

S

PT có 2 nghiệm x1, x2 = (-b ±√∆ )/2a

Đ

S

∆ = b*b - 4*a*c

nhập vào a,b,c

∆ < 0

Mô phỏng thuật toán giải phương trình bậc hai

Bộ TEST 2:

Đ

∆ = 0 PT có nghiệm kép x=-1

Page 14: Bai4_Baitoanvathuattoan

KT

BD

1

6-51

c b a

S

Đ

S

∆ < 0

Mô phỏng thuật toán giải phương trình bậc hai

Bộ TEST 3:

Đ

∆ = 0

PT có 2 nghiệm x1, x2 = (-b ±√∆ )/2aPT có nghiệm x1 = 3 x2 = 2

PT có nghiệm x=-b/2a

PT vô nghiệm

D = 25 - 24 = 1 ∆ = b*b - 4*a*c

a,b,c= 1 -5 6 nhập vào a,b,c

Page 15: Bai4_Baitoanvathuattoan

Thuật toán có các tính chất:

- Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác.

- Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo.

- Tính đúng đắn: Sau khi thuật toán kết thúc, ta phải nhận được Output cần tìm.

Page 16: Bai4_Baitoanvathuattoan

CỦNG CỐ

Các nội dung chính của bài:

Khái niệm Thuật toán.

(Xác định Input, Output)

(Biết xây dựng thuật toán bằng hai cách liệt kê tùng bước và lưu đồ)

Khài niệm bài toán trong tin học

Page 17: Bai4_Baitoanvathuattoan

BÀI TẬP VỀ NHÀBài 1: Tìm nghiệm của phương trình bậc nhất:

ax + b = 0Bài 2: Tìm ƯCLN của 2 số M và N.

Đọc và nghiên cứu trước ví dụ:“ Tìm giá trị lớn nhất của một dãy số nguyên”

Page 18: Bai4_Baitoanvathuattoan