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

Tin học 10 bài 4

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 (676.41 KB, 41 trang )


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ụ 1: 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ụ 1: 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.
Bài 4. Bài toán và thuật Toán
Bài 4. Bài toán và thuật Toán

SBD
SBD
Họ và tên
Họ và tên
Văn
Văn
Toán
Toán


Anh
Anh
Tổng
Tổng
Kết
Kết
quả
quả


105
105
Lê Thị Thu
Lê Thị Thu
8.5
8.5
10.0
10.0
7.0
7.0
9.0
9.0
102
102
Vũ Ngọc Sơn
Vũ Ngọc Sơn
6.0
6.0
8.5
8.5
8.5
8.5
5.0
5.0
215
215
Trần Thuỷ
Trần Thuỷ
7.0
7.0

7.0
7.0
6.5
6.5
6.5
6.5
211
211
Nguyễn Anh
Nguyễn Anh
4.5
4.5
5.0
5.0
7.0
7.0
7.5
7.5
245
245
Phan Vân
Phan Vân
5.0
5.0
2.0
2.0
3.5
3.5
4.5
4.5

Ví dụ 3: 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

Ví dụ 4: Giải ph ơng trình bậc nhất ax + b = 0.
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: Các hệ số a, b.
Output: Nghiệm của ph ơng trình.

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

2. Khái niệm thuật toán
Từ INPUT làm
thế nào để tìm
ra OUTPUT ?

Các em cần tìm ra
cách giải của bài
toán.

Xét ví dụ 4: Giải ph ơng trình bậc nh t ax + b = 0.
B1: Xác định hệ số a, b;
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;
B2: Nếu a=0 và b=0 => Ph ơng trình vô số nghiệm =>B5;
B3: Nếu a
B3: Nếu a
=
=
0 và b
0 và b


0 => Ph ơng trình vô nghiệm =>B5;
0 => Ph ơng trình vô nghiệm =>B5;
B4: Nếu a
B4: Nếu a


0 => Ph ơng trình có nghiệm x=-b/a =>B5;
0 => Ph ơng trình có nghiệm x=-b/a =>B5;
B5: Kết thúc.
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.

B7: Kết thúc.
B7: Kết thúc.

B1: Bắt đầu;
B1: Bắt đầu;

B2: Nhập a, b, c;
B2: Nhập a, b, c;

B3: Tính
B3: Tính


= b
= b
2
2
4ac;
4ac;

B4: Nếu
B4: Nếu



< 0 => PT vô nghiệm => B7;
< 0 => PT vô nghiệm => B7;

B5: Nếu
B5: Nếu


= 0
= 0
=> PT có nghiệm kép x = -b/2a => B7;
=> PT có nghiệm kép x = -b/2a => B7;

B6: Nếu
B6: Nếu


> 0
> 0
=> PT có hai nghiệm x1, x2 = (-b
=> PT có hai nghiệm x1, x2 = (-b






)/2a
)/2a

=> B7;
=> B7;
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

Quy ớc các khối trong sơ đồ thuật toán
Quy ớc các khối trong sơ đồ thuật toán
Bắt đầu thuật toán.
Bắt đầu thuật toán.
Dùng để nhập và xuất dữ liệu.
Dùng để nhập và xuất dữ liệu.
Dùng để gán giá trị và tính toán.
Dùng để gán giá trị và tính toán.
Xét điều kiện rẽ nhánh theo một
Xét điều kiện rẽ nhánh theo một
trong hai điều kiện đúng, sai.
trong hai điều kiện đúng, sai.
Kết thúc thuật toán.
Kết thúc thuật toán.

ĐK
đ
S
KT
Cách 2: Vẽ sơ đồ khối

Nhập vào a, b, c

= b

-
4ac

< 0
PT vô nghiệm

= 0
PT có nghiệm x= -
b/2a
KT
BD
đ
s
Sơ đồ thuật toán giải ph ơng trình bậc hai
Sơ đồ thuật toán giải ph ơng trình bậc hai
2

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

)/2a
B1
B2
B3
B4
B5
B6
s

đ
B7

a,b,c= 1 3 5
∆ = 3∗3 − 4∗5 = − 11
−11 < 0
PT v« nghiÖm

= 0
PT cã nghiÖm x = -b/2a
KT
BD
-11
-11


5
5
3
3
1
1
c
c


b
b



a
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
M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai
Bé TEST 1:
Bé TEST 1:

a,b,c= 1 2 1
∆ = 2∗2 − 4∗1∗1 = 0
PT v« nghiÖm
PT cã nghiÖm x=-b/2a
KT
BD
0
0


1
1
2
2
1

1
c
c


b
b


a
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
M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai
Bé TEST 2:
Bé TEST 2:
§
∆ = 0
PT cã nghiÖm kÐp x=-1

a,b,c= 1 -5 6
∆ = 25 − 24 = 1
PT v« nghiÖm

PT cã nghiÖm x=-b/2a
KT
BD
1
1


6
6
-5
-5
1
1
c
c


b
b


a
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
M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai
Bé TEST 3:
Bé TEST 3:
§
∆ = 0
PT cã nghiÖm x1 = 3
x2 = 2

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 .

Quả này
lớn nhất
Quả này
mới lớn
nhất
ồ! Quả
này lớn
hơn
Tìm ra
quả lớn
nhất rồi!
Cùng tìm thuật toán
MAX


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
a
1
, a
2
, , a
N
(a
i
với i: 1N).
OUTPUT: Số lớn nhất (Max) của dãy số.

ý t ởng:
- Đặt giá trị Max = a
1
.

- Lần l ợt cho i chạy từ 2 đến N, so sánh
giá trị a
i
với giá trị Max, nếu a
i
> Max thì
Max nhận giá trị mới là a
i
.


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

B1: Nhập N và dãy a
B1: Nhập N và dãy a
1
1
,, a
,, a
N
N
;
;

B2: Max
B2: Max


a
a
1
1
; i
; i


2;
2;

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

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

B4:
B4:
B ớc 4.1: Nếu a
B ớc 4.1: Nếu a
i
i
> Max thì Max
> Max thì Max


a
a
i
i
;
;
B ớc 4.2: i
B ớc 4.2: i


i+1 rồi quay lại B3.
i+1 rồi quay lại B3.

Đ
S
Đ
S
Nhập N và dãy a1,,aN

Max a1 ; i 2
i > N ?
a
i
> Max ?
Max a
i
i i + 1
Đ a ra Max rồi kết thúc
B1: Nhập N và dãy a
1
,,a
N
;
B2: Max a
1
; i 2;
B3: Nếu i > N thì đ a ra giá trị
Max rồi kết thúc;
B4 :
4.1: Nếu a
i
> Max thì Max a
i
;
4.2: i i + 1 rồi quay lại B3.
Cách 2: Sơ đồ khối
Cách 2: Sơ đồ khối

§

S
§
S
NhËp N vµ d·y a1,…,aN
Max ← a1 ; i ← 2
I > N ?
a
i
> Max ?
Max ←a
i
i ← i+1
§ a ra Max råi kÕt thóc
Max
Max
i
i
A
A
7
7
7
7
5
5
5
5
5
5
5

5
4
4
3
3
2
2
6
6
7
7
4
4
1
1
5
5
N=5 ; A [ 5 1 4 7 6 ]
Max ← 5 ; i ← 2
2 > 5 ?
1> 5 ?
i ← 2+1
3 > 5 ?
4> 5 ?
i ←3+1
4 > 5 ?
7 > 5 ?
Max ←7
4
4

i ←4+1
5 > 5 ?
7 > 7 ?
i ←5+1
6 > 5 ?
Sè lín nhÊt cña d·y lµ 7
M« pháng
thuËt to¸n
Víi i = 2Víi i = 3
Víi i = 4
Víi i = 5

§
S
§
S
NhËp N vµ d·y a1,…,aN
Max ← a1 ; i ← 2
I > N ?
a
i
> Max ?
Max ←a
i
i ← i+1
§ a ra Max råi kÕt thóc
Max
Max
i
i

A
A
7
7
7
7
5
5
5
5
5
5
5
5
4
4
3
3
2
2
6
6
7
7
4
4
1
1
5
5

N=5 ; A [ 5 1 4 7 6 ]
Max ← 5 ; i ← 2
2 > 5 ?
1> 5 ?
i ← 2+1
3 > 5 ?
4> 5 ?
i ←3+1
4 > 5 ?
7 > 5 ?
Max ←7
4
4
i ←4+1
5 > 5 ?
7 > 7 ?
i ←5+1
6 > 5 ?
Sè lín nhÊt cña d·y lµ 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?


ý t ởng: Xét các tr ờng hợp
Các em hãy nêu
định nghĩa 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ố.
- 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ố.

i
i
2
2
3
3
4
4
5
5
N/i
N/i
29/2
29/2
29/3
29/3
29/4
29/4
29/5
29/5
Chia hÕt

Chia hÕt
kh«ng?
kh«ng?
Kh«ng
Kh«ng
Kh«ng
Kh«ng
Kh«ng
Kh«ng
Kh«ng
Kh«ng
Chia hÕt
Chia hÕt
Kh«ng
Kh«ng
Chia hÕt
Chia hÕt
kh«ng?
kh«ng?
45/3
45/3
45/2
45/2
N/i
N/i
3
3
2
2
i

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

C¸ch 1: LiÖt kª c¸c b íc
C¸ch 1: LiÖt kª c¸c b íc
B1: NhËp sè nguyªn d ¬ng N;
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;
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;
B3: NÕu N < 4 th«ng b¸o N lµ nguyªn tè råi kÕt thóc;
B4: i
B4: i


2;
2;
B5: NÕu i > [
B5: NÕu i > [


N ] th× th«ng b¸o N lµ nguyªn tè, kÕt thóc;
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
B6: NÕu N chia hÕt cho i th× th«ng b¸o N kh«ng nguyªn


råi kÕt thóc;
råi kÕt thóc;
B7: i
B7: i


i +1 råi quay l¹i B5.
i +1 råi quay l¹i B5.

Nhập N
N
=1 ?
N <
4 ?
i 2
i>[N ]
?
N có chia
hết cho
i ?
i i +1
Thông báo N là số
nguyên tố rồi kết
thúc.
Thông báo N
không là số

nguyên tố rồi kết
thúc.
Đ
S
S
Đ
S
S
Đ
Đ
Cách 2
Vẽ sơ đồ khối

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×