§6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH
§6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH
KIỂM TRA BÀI CŨ
KIỂM TRA BÀI CŨ
NNLT là gì? Nêu
NNLT là gì? Nêu
các loại NNLT mà em
các loại NNLT mà em
đã học? Trong các
đã học? Trong các
NNLT đó thì ngôn ngữ
NNLT đó thì ngôn ngữ
nào được phát triển
nào được phát triển
mạnh nhất? Vì sao?
mạnh nhất? Vì sao??
?
Ngôn ngữ lập trình: là ngôn
ngữ dùng để viết chương trình
Các loại: NN máy, Hợp ngữ,
NNLT bậc cao.
NNLT được phát triển mạnh
nhất: Là NNLT bậc cao. Vì đây
là ngôn ngữ gần gũi với tự
quả
B5:Trình bày lời giải
cho bài toán
§6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH
1.
1.Xác định bài toán
Xác định bài toán
Xác định bài
Xác định bài
toán là cần phải xác
toán là cần phải xác
định cái gì?
định cái gì?Và xác
Và xác
định nhằm mục đích
định nhằm mục đích
gì?
gì?
?
Xác định rõ 2 thành phần:
- INPUT
- OUTPUT
Từ đó, xác định NNLT và lựa
- Mỗi thuật toán chỉ giải 1 bài toán,
nhưng một bài toán có thể có nhiều
thuật toán để giải. Chọn tt tối ưu
nhất.
Cho a=1, b=-3, c=2
thì ta có pt x
2
– 3x+2 = 0.
?
?
- Thuật toán tối ưu là thuật toán có
các tiêu chí sau:
* Dễ hiểu
* Trình bày ngắn gọn
* Thời gian thực hiện
* Tốn ít bộ nhớ
a. Lựa chọn thuật toán:
b. Diễn tả thuật toán:
VD: Giải phương trình
bậc hai:
ax
ax
2
2
+ bx + c = 0 (a# 0)
+ bx + c = 0 (a# 0)
*
*
Xác định bài toán:
Xác định bài toán:
Thuật toán:
Thuật toán:
Chọn tt tối ưu nhất
C1: Tính Delta và
C1: Tính Delta và
áp dụng công thức
áp dụng công thức
nghiệm
nghiệm
C2: Nhẩm nghiệm:
C2: Nhẩm nghiệm:
Lấy giá trị bất kỳ đưa
Lấy giá trị bất kỳ đưa
vào pt xem có phải là
vào pt xem có phải là
nghiệm hay không?
nghiệm hay không?
§6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH
b. Diễn tả thuật toán:
2. Lựa chọn và thiết kế thuật toán:
B1: Nhập a, b, c (a#0)
B2: D b
2
– 4ac
B3: Nếu D<0 thì pt VN rồi kết thúc. (ngược lại sang b4)
B4: Nếu D=0 thì pt có nghiệm kép rồi kết thúc
B5: Nếu D>0 thì pt có 2 nghiệm phân biệt x1, x2 rồi kết thúc.
Liệt Kê