Tải bản đầy đủ (.ppt) (65 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.14 MB, 65 trang )

Chương I

Một số khái niệm cơ bản
của tin học

Tiết 10

1



1.
2.
3.
4.
5.

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 TOÁN HỌC

Trong TIN HỌC


xem là bài toán

đều được xem là bài toán

Trong các yêu cầu trên, yêu cầu
nào 1được
xem nhưTất
là một
bàiyêu
toán?
Yêu cầu
và 4 được
cả các
cầu trên
2


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

Trong phạm vi tin học, Bài toán là
việc nào đó ta muốn máy tính thực hiện.

3


Các yếu tố cần quan tâm
khi giải một bài toán
TOÁN HỌC


TIN HỌC

Giả thiết

Đưa vào máy
thông tin gì

-

THUẬT NGỮ

TOÁN
HỌC?
- Kết luận
Cần lấy ra
thông tin gì

Input
Output

 Trong Tin học, để phát biểu một bài toán, ta cần
trình bày rõ Input và Output của bài toán đó.
4


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ố.

5


CÁC VÍ DỤ
(tt)
VD3 : Tìm ước chung lớn nhất của hai
số nguyên dương a và b.
 Input : ?
Hai số nguyên dương a và b.
 Output : ?
ƯCLN của a và b.
VD4 : Xếp loại học tập các học sinh
trong lớp.
 Input
Bảng điểm của học sinh.
:?
 Output : ?
Bảng xếp loại học tập.

6


Nêu một bài toán và
chỉ rõ Input, Output
của bài toán đó?
Xem thêm các ví dụ trong SGK/32

7


TÓM LẠI
Một bài toán được cấu tạo bởi 2 thành phần cơ
bản :



Input (Các thông tin đã có)
Output (Các thông tin cần tìm từ Input)

8


2. Thuật toán
Bài toán
Input

Bằng cách nào?

Giải bài toán


Output

Thuật toán

Hướng dẫn các thao tác cho máy
thực hiện để tìm ra lời giải
9


BÀI TOÁN
Input

THUẬT TOÁN
(Thao tác 1Thao tác 2...Thao tác n)

Output

a. Thuật toán là gì ?

Thuật toán để giải một bài toán là :

Thuật toán để giải một bài toán là một dãy
hữu• Một
hạndãy
cáchữu
thao
sắp xếp theo
hạntác
cácđược

thao tác.
một• trình tự xác định sao cho sau khi thực
Các thao tác được sắp xếp theo một
hiện dãy thao tác đó, từ Input của bài toán
trình tự xác định.
này, ta nhận được Output cần tìm.
Sau khi thực hiện dãy thao tác đó, từ
Input ta tìm được Output của bài toán.


10


LIỆT KÊ
Tìm nghiệm phương trình bậc nhất tổng quát
ax + b = 0 ()
Giải toán thông thường:

Nếu a = 0 thì () không
phải là pt bậc nhất.
+ Neáu b = 0 thì ()
voâ số nghieäm.
+ Neáu b ≠ 0 thì ()
voâ nghieäm.
 Nếu a ≠ 0 thì () có
nghiệm x = -b/a.

LIỆT KÊ :






Bước 1 : Nhập a, b.

Bước 2 : Nếu a = 0 thì
quay lại bước 1, ngược lại
thì qua bước 3.


Bước 3 : Gán cho x giá
trị -b/a, rồi qua bước 4.




Bước 4 : Đưa ra kết quả
11


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 thao tác nhập, xuất
dữ liệu
: Thể hiện các phép toán
: Thể hiện các thao tác so sánh
: Quy định trình tự thực hiện các

thao tác
12


VD: Tỡm nghim phng trỡnh bc nht tng quỏt : ax + b = 0

LIT Kấ


Bc 1 : Nhp a, b.

Bc 2 : Nu a = 0 thỡ
quay li bc 1, ngc
li thỡ qua bc 3.


Bc 3 : Gỏn cho x
giỏ tr -b/a, ri qua bc
4.




Bc 4 : a ra kt

S KHI
Nhaọp
a, b
a=
0


ẹuự
ng

Sai

x=
-b/a
ẹửa ra x vaứ
keỏt thuực

13


c
.
T
í
Tính
Tính chất
n chất
h

Tính dừng

Tính xác
định
TÍnh đúng
đắn


c
h

Thuật toán phải kết thúc sau một số hữu
hạn bước.

Sau một thao tác thì hoặc kết thúc hoặc
có đúng một thao tác để thực hiện tiếp
theo.
Thuật toán kết thúc phải nhận được
output

14


Chương I

Một số khái niệm cơ bản
của tin học

Tiết 11, 12

15


NỘI DUNG BÀI HỌC
1.Khái
1.Khái niệm
niệm bài
bài toán

toán
2.Khái
2.Khái niệm
niệm thuật
thuật toán
toán
3.Một
3.Mộtsố
sốvívídụ
dụvề
vềthuật
thuậttoán
toán

a. VD 1 : Kiểm tra tính nguyên tố của một số nguyên
dương

16


KIỂM TRA TÍNH NGUYÊN TỐ CỦA 1
SỐ NGUYÊN DƯƠNG N.
Bước 1

Bước 2

Bước 3

Biểu diễn thuật toán
Xác định

bài toán

Ý tưởng

theo 2 cách :
Liệt kê
Sơ đồ khối
17


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


Nhắc lại :
*INPUT và OUTPUT là gì?

+ Input: là các thông tin đã có (giả thiết)
+ Output: là các thông tin cần tìm dựa vào
các thông tin có từ Input (kết luận)

18


XÁC ĐỊNH BÀI TOÁN
BÀI TOÁN

:

Kiểm tra tính nguyên tố của một số nguyên
dương N.

+Input:

?

Nhập số nguyên dương N.

+Output: ? “N là một số nguyên tố” hoặc “ N
không phải là một số nguyên tố”.
19


XÁC ĐỊNH BÀI TOÁN
Nhắc về số nguyên tố:
Một số nguyên dương N là số nguyên tố
nếu nó
khác nhau
có đúng hai ước số
là 1 và chính nó
Ví dụ : Trong hai số này số nào là số nguyên tố : 7, 9.


7 có 2 ước là 1, 7



9 có 3 ước là 1, 3, 9

7 là số nguyên tố.
9 không phải là số nguyên tố.
20



XÁC ĐỊNH BÀI TOÁN
Quay lại bài toán :
Input : Nhập số nguyên dương N.
Output : “N là số nguyên tố” hoặc “N không là số
nguyên tố.”



Nội dung bài toán :


Nhập số nguyên dương N.



Xuất ra câu thông báo “N là số nguyên tố ” hoặc “N
không là số nguyên tố ”

Ví dụ : Nhập N= 5. Xuất ra “5 là số nguyên tố ”

21


Ý TƯỞNG






Nhận xét :
Số 1 có phải là số nguyên tố không ?
Số 1 chỉ có 1 ước là chính nó.

1Các
không
là sốlànguyên
tố.tố không ?
số 2, phải
3 có phải
số nguyên




Số 2 chỉ có 2 ước là : 1 và 2.
Số 3 chỉ có 2 ước là : 1 và 3.

2, 3 là các số nguyên tố.
Nghĩa là các số nguyên N trong
khoảng 1< N < 4 là các số nguyên tố.

22


Ý TƯỞNG
•Vậy

còn với các số nguyên N ≥ 4

thì sao ?
Thông thường:
Người ta xét xem N có ước từ 2
N
đến [ ] hay không ? (xét lần lượt từ
trái sang phải ).
Nếu có thì N không là số nguyên
tố và ngược lại.

23


Ý TƯỞNG
TÓM LẠI Ý TƯỞNG CỦA BÀI TOÁN
 Nhập số nguyên dương N nếu :
 N = 1 thì N không là số nguyên tố.
 N thuộc khoảng 1< N <4 thì N là số nguyên tố.
 N ≥ 4 và N không có ước trong đoạn từ 2 đến
phần nguyên căn bậc hai của N ( ký hiệu là
[ N] ) thì N là số nguyên tố.

24


Thuật toán:
a) Cách liệt kê:

b) Sơ đồ khối

Bước 1: Nhập số nguyên

dương N.

Nhập N

Bước 2: Nếu N =1 thì
thông báo N không
nguyên tố rồi kết thúc

Đúng

N=1?
Sai

Bước 3: Nếu N <4 thì
thông báo N là nguyên tồ
rồi kết thúc.

N<4 ?

Đúng

Sai
i

2

Bước 4: i=2.
Bước 5: Nếu i> [ VN ] thì
thông báo N là nguyên tố
rồi kết thúc.

Bước 6: 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.

i >[ N ] ?
Sai
i

i+1

Sai

Đúng Thông báo N là số

nguyên tố
rồi kết thúc

N chia
hết

cho i Đúng
?
Thông báo N
không

là số nguyên

25



×