11/13/2018
1
Chào mừng cô cùng tất cả các bạn đến với tiết học hôm nay!!
Nhóm 3
11/13/2018
Trường THPT Phan Đình Phùng Năm học:2018-2019


Bài toán là gì?
Bài toán là một công việc mà con người muốn máy tính thực hiện.
 Thuật toán là gì?
Thuật 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 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ó phải máy tính thông minh và làm được mọi công việc kể cả việc giải toán?
Máy tính làm một công việc hay giải một bài toán là do con người đã đưa vào trong máy các cách thức làm việc để hướng dẫn cho máy thực hiện công việc.
Việc giải toán trên máy tính được thực hiện như thế nào?
Để giải bài toán trên máy tính ta thường tiến hành theo 5 bước.
§ 6 GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Việc giải bài toán trên máy tính thường có 5 bước :
Bước 1: Xác định bài toán
Bước 2 : Lựa chọn hoặc thiết kế thuật toán
Bước 3 : Viết chương trình
Bước 4 : Hiệu chỉnh
Bước 5: Viết tài liệu.
3. Viết chương trình
Ngôn ngữ lập trình + Thuật toán = Chương trình
- Việc viết chương trình là tổng hợp giữa việc lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán.
- Lưu ý:
+ Khi viết chương trình cần lựa chọn những ngôn ngữ lập trình thích hợp
+ Viết chương trình trong ngôn ngữ nào thì phải tuân theo quy định ngữ pháp của ngôn ngữ đó.
Program TimUCLN;
Var M, N, R:integer;
Begin
Write(‘Nhap vao M,N’); Read(M,N);
While N<> 0 do
Begin
R:=M mod N;
M:=N; N:=R;
end;
Write(‘ uoc chung lon nhat la:’, M);
End.
Program TimUCLN;
Var M, N, R:integer;
Begin
Write(‘Nhap vao M,N’);
Read(M,N);
While M<>N do
IF M>N THEN
M:=M-N
ELSE
N:=N-M;
Write(‘ uoc chung lon nhat la:’, M);
End.
4/ Hiệu chỉnh :
?Khi ta giải một bài toán có phải lúc nào kết quả cũng đúng không? Tại sao cần phải có bước hiệu chỉnh? Thế nào là hiệu chỉnh?

Khái niệm: Chương trình được kiểm tra bằng cách cho chạy thử trên những bộ Input mà người ta đã biết trước Output. Các bộ Input-Output này gọi là các Test. Nếu có sai sót người lập trình phải sửa chương trình rồi thử lại. Quá trình này được gọi là hiệu chỉnh.
Ví dụ 2: Để kiểm chứng tính đúng đắn của chương trình giải pt bậc hai ax2 +bx +c =0, ta sử dụng vài bộ số Input để thấy rõ bước hiệu chỉnh của bài toán.
Bài toán này có Input là gì?
Input là bộ ba số a,b,c.
a=1,b= -3,c=2 ; ∆ =1>0(chương trình đưa ra hai nghiệm).
a=1,b= -4,c=4; ∆ =0 (chương trình đưa ra một nghiệm).
a=1,b=3,c=4; ∆= -7 <0 (chương trình thông báo pt vô nghiệm).

Bước hiệu chỉnh giúp cho người lập trình thấy những sai sót để sửa sai, giúp cho kiểm tra tính đúng đắn của chương trình để có được một chương trình hoàn chỉnh.
5/ Viết tài liệu :
Mô tả chi tiết toàn bộ bài toán, thuật toán, thiết kế chương trình, kết quả thử nghiệm và hướng dẫn sử dụng.
Ví dụ 3:
Bài toán: viết thuật toán giải pt bậc nhất ax+b=0 và sử dụng vài bộ Input để kiểm chứng tính đúng đắn của chương trình.
Xác định bài toán :
- Input : các hệ số a,b
- Output : các kết luận về nghiệm của pt.
Ý tưởng : nghiệm của bài toán phụ thuộc vào các số a và b như sau:
-Nếu a=0 :
+Nếu b=0 :kết luận pt có vô số nghiệm;
+Nếu b≠ 0 : kết luận pt vô nghiệm;
-Nếu a ≠ 0 : kết luận pt có một nghiệm x = -b/a.




S
Đ
Thuật toán :

- Sơ đồ khối
Nhập a và b
a=0?
b=0?
Pt vn rồi
kết thúc
Pt vsn rồi
kết thúc
Đ
S
nghiệm x=-b/a
rồi kết thúc
Giải pt: 8x+96=0
Pt có nghiệm :x=-12



Câu 1: Các bước cần phải có khi giải bài toán trên máy tính là
a. Xác định bài toán,lựa chọn hoặc thiết kế thuật toán,diễn tả thuật toán,hiệu chỉnh, viết tài liệu.
b. Xác định bài toán,lựa chọn hoặc thiết kế thuật toán,viết chương trình, viết tài liệu.
c. Xác định bài toán,lựa chọn hoặc thiết kế thuật toán, viết chương trình, hiệu chỉnh, viết tài liệu.
d. Xác định bài toán, viết thuật chọn, viết chương trình, viết tài liệu.

CÂU HỎI TRẮC NGHIỆM


Câu 2: Mục đích của việc hiệu chỉnh là :
a. Xác định lại Input và Output của bài toán.
b. Phát hiện và sửa sai sót.
c. Mô tả chi tiết bài toán.
d. Để tạo ra một chương trình mới.
Câu 3. Thuật toán tốt là?
a) Sử dụng ít thời gian, ít bộ nhớ.. .
b) Sử dụng ít thời gian, nhiều bộ nhớ, ít phép toán.. .
c) Sử dụng nhiều thời gian, nhiều bộ nhớ, ít phép toán.. .
d) Sử dụng ít thời gian, ít bộ nhớ, ít phép toán.. .


nguon VI OLET