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

Giáo trình Tin học căn bản-Chương 3

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 (788.29 KB, 42 trang )

1
CH NG III
GIAI QUYET BAỉI TOAN BAẩNG
MAY TNH
2
CH NG III ƯƠ
GIẢI QUYẾT BÀI TOÁN BẰNG MÁY
TÍNH
3.1 Kỹ thuật lập trình
3.2 Thuật toán và Thuật giải
3.3 Biểu diễn thuật toán
3.4 Các bước giải quyết bài toán trên
máy
3
3.1 Kyõ thuaät laäp trình
4
Khái quát

Kỹ thuật xây dựng phần mềm chính là kỹ thuật
lập trình. Lập trình vừa là một kỹ thuật vừa là
một nghệ thuật.

Lập trình (Programming) thực chất là điều
khiển - bằng một ngôn ngữ lập trình cụ thể -
cách xử lý thông tin trên máy theo yêu cầu của
bài toán đặt ra.

Để lập trình, phải biết cách tổ chức dữ liệu
(nguyên liệu để máy xử lý) và cách thức xử lí dữ
liệu (thuật giải) để cho ra kết quả mong muốn.
5


PROGRAMMING
=
ALGORITHMS
+
DATA STRUCTURE
6

PHẢI TỔ CHỨC DỮ LIỆU THEO CÁCH
TỐT NHẤT :
Dữ liệu trong tin học phải được phân loại,
xác đònh một cách rạch ròi theo những
quy đònh chặt chẽ, chính xác để máy có
thể phân biệt, nhận biết, lưu trữ và xử lý

PHẢI TÌM ĐƯC THUẬT TOÁN TỐT
NHẤT, TỐI ƯU NHẤT

7

4 TIÊU CHUẨN ĐÁNH GIÁ MỘT
CHƯƠNG TRÌNH :
 Tính tin cậy
 Tính uyển chuyển
 Tính trong sáng
 Tính hữu hiệu
8
LẬP TRÌNH CẤU TRÚC
 Cấu trúc về mặt dữ liệu
 Từ những lệnh đơn giản đã có hoặc những lệnh
đã có cấu trúc, có thể xây dựng những lệnh có cấu

trúc phức tạp hơn
 Cấu trúc về mặt chương trình :
Một chương trình lớn có thể chia thành nhiều
modun chương trình con độc lập

Mỗi chương trình con lại có thể phân chia thành
các chương trình con khác.
PASCAL là một trong các ngôn ngữ tiêu biểu về
có cấu trúc
9
3.2 Thuaọt toaựn
vaứ
Giaỷi thuaọt
10
KHAI NIEM THUAT TOAN
Là khái niệm cơ sở của Toán học và
Tin học
Thuật toán (Algorithm) là một hệ
thống chặt chẽ và rõ ràng các quy tắc
nhằm xác định một dãy các thao tác trên
nh ng đối t ợng, sao cho sau một số h u
hạn b ớc thực hiện các thao tác ta đạt đ ợc
mục tiêu định tr ớc.
11
Ng ời hoặc máy thực hiện
một thuật toán đ ợc gọi là một
bộ xử lý.
Nh vậy một bộ xử lý của
một thuật toán T nào đó là một
cơ chế có kh n ng thực hiện

các thao tác trên các đối t ợng
theo một trỡnh tự do T quy định.
12
Cùng một bài toán có thể có
nhiều thuật toán khác nhau.
Thuật toán đơn giaỷn, dễ
hiểu, có độ chính xác cao, đ ợc
baỷo đaỷm về mặt toán học, dễ
triển khai trên máy, thời gian
thao tác ngắn, đ ợc gọi là thuật
toán tối u.
13
Nghiên cứu thuật toán là một trong
nhửừng vấn đề quan trọng nhất của Tin học.
Lý thuyết về thuật toán phaỷi giaỷi
quyết các vấn đề sau :
-Nhửừng bài toán nào giaỷi đ ợc bằng
thuật toán; bài toán nào không giaỷi đ ợc
bằng thuật toán
-Tỡm thuật toán tốt nhất, tối u của
một bài toán
-Triển khai thuật toán trên máy tính
14
Vaứi vớ duù
Thuật toán giaỷi ph ơng trỡnh bậc hai :
A X
2
+ BX + C = 0 (A 0)
O -B ớc 1 : Tính DELTA = B*B-4*A*C
-B ớc 2 : So sánh DELTA với số 0

-B ớc 3 : Rẽ làm 3 tr ờng hợp :
DELTA
DELTA
-Tr ờng hợp DELTA < 0 :
thông báo ph ơng trỡnh vô nghiệm ; kết thúc thuật toán.
-Tr ờng hợp DELTA = 0 : tính nghiệm kép :
X1 = X2
thông báo nghiệm kép; kết thúc thuật toán.
-Tr ờng hợp DELTA > 0 :tính hai nghiệm phân biệt:
X1, X2
O thông báo nghiệm ; kết thúc thuật toán.
15
DELTA
DELTA
Thuật toán Hoocne tính giá trị của đa thức :
Cho P
n
(X)=A
n
X
n
+ A
n-1
X
n-1
+ +A
1
X
1
+A

0
Tính P
n
(c) ?

P
n
(c)=( ((A
n
.c +A
n-1
).c + A
n-2
) ).c + A
0
O
- B ớc 1 : Cho i = n ; Q = A
n
- B ớc 2 : Cho i nhận giá trị cũ của i trừ 1 : i = i - 1
So sánh i với 0.
- B ớc 3 : Rẽ làm 2 tr ờng hợp :
1-Tr ờng hợp i >= 0 :
tính Q bằng giá trị cũ của Q nhân với c cộng với A
i
;
Quay trở lại b ớc 2.
2-Tr ờng hợp i < 0 :
thông báo kết quaỷ Q; Kết thúc thuật toán.

16

DELTA
DELTA
ý nghĩa của thuật toán hoocne
Cho P
n
(X)=A
n
X
n
+ A
n-1
X
n-1
+ +A
1
X
1
+A
0
Viết đa thức d ới dạng :
P
n
(c)=( ((A
n
.c +A
n-1
).c + A
n-2
) ).c + A
0

Chỉ bao gồm các phép nhân, cộng liên tiếp

P
2
(c)=(A
2
.c +A
1
).c + A
0
P
3
(c)=((A
3
.c +A
2
).c + A
1
).c + A
0
17
6 TNH CHAT
CUA THUAT TOAN
1-tính dừng - kết thúc
2-tính xác định
3-tính hàng loạt
4-tính KH THI
5-tính đầy đủ-vét cạn
6-tính đúng đắn
18

TNH DệỉNG
Thuật toán phaỷi kết thúc sau một số hửừu
haùn b ớc.
Ví dụ : Thuật toán không dừng
1) Xoá bng
2) Viết số 9
3) Thực hiện b ớc 1
Ví dụ 7 : Thuật toán không dừng
ọc các số tự nhiên liên tiếp, bắt đầu từ 1
19
Các thao tác ở mỗi b ớc phi hết sức rõ
ràng và chỉ đ ợc hiểu theo một nghĩa duy nhất.
Trong cùng một điều kiện, hai bộ xử lý
khác nhau hoặc hai lần thao tác khác nhau
phi cho cùng một kết qu khi thực hiện cùng
một thuật toán.
Các ng ời khác nhau cùng sử dụng một
thuật toán, sẽ hành động giống nhau cho dù
họ không hiểu gỡ về bn chất và ý nghĩa của
vấn đề.
TNH XAC ẹềNH
20
Thuật toán có hiệu lực nh nhau đối với các
bài toán cùng loại, có cùng miền áp dụng thuật
toán.
Thuật toán Hooc-ne có tính hàng loạt trên
tập s thc R v bất k ỡ đa thức đại số bậc nào.
Thuật toán Gi i ph ng trỡnh bc 2 khụng
có tính hàng loạt nếu số liệu gán cho a, b,c nhập
từ bàn phím.

Chẳng hạn khi nhập a=0 hoặc a không
phi là số .
TNH HAỉNG LOAẽT
21
Thuật toán phi bao gồm nhng thao
tác mà máy có thể thực hiện đ ợc.
Mỏy tớnh chỉ có thể thực hiện đ ợc
nhng phép toán số học, các phép so sánh,
các phép logic, các phép nhập xuất thông tin
tiêu chuẩn.
Thuật toán Hooc-ne có tính kh thi.
Thuật toán Gi i ph ng trỡnh bc 2
không có tính kh thi trong tr ờng hợp DELTA
> 0 vỡ máy không thể thực hiện phép tính khai
cn DELTA.
TNH KHA THI
22
Thuật toán phi vét đ ợc hết các
tỡnh huống, các kh nng có thể x y
ra, không bỏ sót bất k một tr ờng hợp
nào trong miền áp dụng.
Thuật toán Hooc-ne v Gi i
ph ng trỡnh bc 2 không có tính đầy
đủ nếu d liệu nhập từ bàn phím

TNH ẹAY ẹU-VET CAẽN
23
TNH ẹUNG ẹAẫN
Thuật toán phi cho kết qu đúng của bài toán
nghĩa là phi đ ợc chứng minh về mặt toán học .

Thuật toán tỡm bội số chung nhỏ nhất của
hai số nguyên d ơng a,b ký hiệu c=BSCNN(a,b) :
-B1 : Nếu a = 1 thỡ c = b , dừng
Nếu b = 1 thỡ c = a , dừng
-B2 : Nếu a >1 và b >1 thỡ c = a*b , dừng
Có thể kiểm tra 100 tr ờng hợp của a, b đều cho
kết qa đúng, nh ng với a = 4, b = 2 thỡ sai.
Thuật toán ny không có tính đúng đắn trên N
24
MỘT THUẬT TOÁN PHẢI
THOẢ MÃN ĐỒNG THỜI
CÁC TÍNH CHẤT TRÊN
25
CẤU TRÚC CƠ BẢN CỦA
THUẬT TOÁN
O

×