Tải bản đầy đủ (.ppt) (41 trang)

BÀI 4: BÀI TOÁN VÀ THUẬT TOÁN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 41 trang )

Ví dụ 1: Quản lí điểm trong một kì thi bằng máy tính.
SBD

Họ và tên

Văn Toán



Anh Tổng

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 Thuỷ

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


Kết
quả

53

Đỗ

42.5

Đỗ

41

Đỗ

33.5

Đỗ

22

Input:
Yêu
cầu :SBD, Họ và tên, Văn, Toán, Lí, Anh.
Hãy xác
định
thông
đa thi
vàocủa
(Input)

Output:
Tổng
điểm,
Kếttin
quả
học sinh.
và thông tin cần lấy ra (Output)


Ví dụ 2: Giải phơng trình bậc nhất ax + b = 0.
Yêu cầu :
Input: Các hệ số a, b.
Hãy xác định thông tin đa vào (Input)
Output:
và thông
Nghiệm
tin cần
của lấy
phơng
ra (Output)
trình.

Với a = 1, b = -5
Phơng trình có nghiệm x = 5


Bài 4. Bài toán và thuật Toán
1. Khái niệm bài toán
Là việc nào đó ta muốn máy thực hiện để từ thông tin
đa vào (INPUT) tìm đợc thông tin ra (OUTPUT).

Ví dụ 3: Tìm ớc số chung lớn nhất của hai số nguyên dơng.
INPUT: Hai số nguyên dơng M và N.
OUTPUT: ước số chung lớn nhất của M và N.
Ví dụ 4: Bài toán xếp loại học tập của một lớp.
INPUT: Bảng điểm của học sinh trong lớp.
OUTPUT: Bảng xếp loại học lực của học sinh.


2. Khái niệm thuật toán
Các em cần tìm ra
cách giải của bài
toán.

Từ INPUT làm
thế nào để tìm
ra OUTPUT ?


Xét ví dụ 2: Giải phơng trình bậc nht ax + b = 0.
B1: Xác định hệ số a, b;
B2: Nếu a=0 và b=0 => Phơng trình vô số nghiệm =>B5;
B3: Nếu a=0 và b0 => Phơng trình vô nghiệm =>B5;
B4: Nếu a0 => Phơng trình có nghiệm x=-b/a =>B5;
B5: Kết thúc.


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 ấy, từ
Input của bài toán, ta nhận đợc Output cần tìm.


Có hai cách thể hiện một thuật toán:
Cách 1: Liệt kê các bớc.
Cách 2: Vẽ sơ đồ khối.


3. Một số ví dụ về thuật toán
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
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;
B7: Kết thúc.


Cách 2: Vẽ sơ đồ khối
Quy ớc các khối trong sơ đồ thuật toán
Bắt đầu thuật toán.



Dùng để nhập và xuất dữ liệu.
Dùng để gán giá trị và tính toán.


đ

Xét điều kiện rẽ nhánh theo một
trong hai điều kiện đúng, sai.

ĐK
S

Kết thúc thuật toán.
KT


Sơ đồ thuật toán giải phơng trình bậc hai
BD

B1

Nhập vào a, b, c

B2

=b

2

-

B3

4ac

đ

<0

B4

PT vô nghiệm

s
đ

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

=0
s

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

KT

B5

B7
B6


M« pháng thuËt to¸n gi¶i ph¬ng tr×nh bËc hai
Bé TEST 1:


BD

nhËp
a,b,c=
vµo
13
a,b,c
5

a

b

c



1

3

5

-11


∆ == b*b
3∗3 −− 4*a*c
4∗5 = − 11


−11
∆ < <0 0

§

PT v« nghiÖm

S
∆=0
S

PT cã nghiÖm x = -b/2a
PT cã 2 nghiÖm
x1, x2 = (-b ±√∆ )/2a

KT


M« pháng thuËt to¸n gi¶i ph¬ng tr×nh bËc hai
Bé TEST 2:

BD

a,b,c=
12
1
nhËp
vµo
a,b,c


a

b

c



1

2

1

0


∆ == b*b
2∗2 −− 4*a*c
4∗1∗1 = 0

∆ < 0
S

PT v« nghiÖm

§
∆ = 0

S


§

PTcã
cãnghiÖm
nghiÖmx=-b/2a
kÐp x=-1
PT
PT cã 2 nghiÖm
x1, x2 = (-b ±√∆ )/2a

KT


M« pháng thuËt to¸n gi¶i ph¬ng tr×nh bËc hai
Bé TEST 3:

BD

a,b,c=
1 -5
6
nhËp
vµo
a,b,c

a

b


c



1

-5

6

1


∆ == b*b
25 −− 24
4*a*c
= 1

∆ < 0
S

PT v« nghiÖm

§
∆ = 0

S

§


PT cã nghiÖm x=-b/2a
2 nghiÖm
PT cã nghiÖm
x1 = 3
x1,
x22= (-b ±√∆ )/2a
x2 =

KT


Thuật toán tìm max

3

Ngời ta đặt 5 quả bóng có kích thớc khác nhau trong
hộp đã đợc đậy nắp nh hình bên. Chỉ dùng tay hãy tìm
ra quả bóng có kích thớc lớn nhất .


Cùng tìm thuật toán

Quả này
lớn nhất

MAX

Quả này
mới lớn
nhất


ồ!Tìm
Quảra
này
quảlớn
lớn
nhất
hơn rồi!


Thuật toán tìm số lớn nhất trong
một dãy số nguyên

Xác định bài toán:
INPUT: Số nguyên dơng N và dãy N số
nguyên a1, a2, , aN (ai với i: 1N).
OUTPUT: Số lớn nhất (Max) của dãy số.


ý tởng:
- Đặt giá trị Max = a1.
- Lần lợt cho i chạy từ 2 đến N, so sánh
giá trị ai với giá trị Max, nếu ai > Max thì
Max nhận giá trị mới là ai.


Cách 1: Liệt kê các bớc
B1: Nhập N và dãy a1, , aN;
B2: Max a1; i 2;
B3: Nếu i > N thì đa ra giá trị Max rồi kết thúc;

B4:

Bớc 4.1: Nếu ai > Max thì Max ai;
Bớc 4.2: i i+1 rồi quay lại B3.


Cách 2: Sơ đồ khối
Nhập N và dãy a1,,aN

B1: Nhập N và dãy a1, ,aN;

B2: Max a1; i 2;

Max a1 ; i 2

Đ
i>N?

S

Đa ra Max rồi kết thúc

S
ai > Max ?

Đ
Max ai

B3: Nếu i > N thì đa ra giá trị
Max rồi kết thúc;

B4 :
4.1: Nếu ai > Max thì Max ai;
4.2: i i + 1 rồi quay lại B3.

i i+1


4
Víi i = 5
2
3
NhËp
N=5 ;NAvµ
[ 5d·y
1 4 a1,…,aN
76]

Max
← 22
Max←
← a1
5 ;;ii←

I >> N
5
2
3
4
6
5?


§

A
i

5

Max

5

1
2
5

4
3
5

§a lín

ra Max
nhÊtråi
cña
kÕtd·y
thóclµ 7

S
S


1>>Max
ai7>
4>
55
7 ???

§
Max ←a
←7i

ii ←

←5+1
←3+1
2+1
i+1
←4+1

7
4
7

M« pháng
thuËt to¸n

6
5
7



NhËp
N=5 ;NAvµ
[ 5d·y
1 4 a1,…,aN
76]

Max
← 22
Max←
← a1
5 ;;ii←

I >> N
5
2
3
4
6
5?

S
S

1>>Max
ai7>
4>
55
7 ???


§
Max ←a
←7i

ii ←

←5+1
←3+1
2+1
i+1
←4+1

§

A
i

5

Max

5

1
2
5

4
3
5


7
4
7

§a lín

ra Max
nhÊtråi
cña
kÕtd·y
thóclµ 7

6
5
7


Thuật toán kiểm tra tính nguyên tố của một
số nguyên dơng

Xác định bài toán:
INPUT: N là một số nguyên dơng.
OUTPUT: Trả lời câu hỏi N có là số
nguyên tố không?


Các em hãy nêu
định nghĩa số
nguyên tố.


ý tởng: Xét các trờng hợp
- Nếu N = 1 thì N không là số nguyên tố.
- Nếu 1< N <4 thì N là số nguyên tố.
- Nếu N 4 và không có ớc số trong phạm vi từ 2 đến
phần nguyên căn bậc hai của N thì N là số nguyên tố.


M« pháng thuËt to¸n kiÓm tra tÝnh nguyªn tè
Trêng hîp 1: N = 45 ([√ 45 ] = 6)
i

2

3

N/i

45/2

45/3

Chia hÕt
kh«ng?

Kh«ng

Chia hÕt

45 kh«ng lµ sè

nguyªn tè.

Trêng hîp 2: N = 29 ([√ 29 ] = 5)

29 lµ sè
nguyªn tè.

i

2

3

4

5

N/i

29/2

29/3

29/4

29/5

Chia hÕt
kh«ng?


Kh«ng

Kh«ng

Kh«ng

Kh«ng


C¸ch 1: LiÖt kª c¸c bíc
B1: NhËp sè nguyªn d¬ng N;
B2: NÕu N = 1 th«ng b¸o N kh«ng nguyªn tè, kÕt thóc;
B3: NÕu N < 4 th«ng b¸o N lµ nguyªn tè råi kÕt thóc;
B4: i ← 2;
B5: NÕu i > [√ N ] th× th«ng b¸o N lµ nguyªn tè, kÕt thóc;
B6: NÕu N chia hÕt cho i th× th«ng b¸o N kh«ng nguyªn
tè råi kÕt thóc;
B7: i ← i +1 råi quay l¹i B5.


Nhập N

Đ

Cách 2
Vẽ sơ đồ khối

N
=1 ?


S

N<
4?

Đ

S

i2

Đ
i>[N ]
?

S
i i +1

Thông báo N
không là số
nguyên tố rồi kết
thúc.

S

N có chia
hết cho
i?

Đ


Thông báo N là số
nguyên tố rồi kết
thúc.


×