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

Bài 6. Giải bài toán trên máy tính

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 (871.82 KB, 16 trang )

KIỂM TRA BÀI CŨ
Câu 1: Ngôn ngữ lập trình là gì? Nêu các loại ngôn ngữ lập
trình?
Trả lời: - Là ngôn ngữ dùng để biểu diễn thuật toán thành
chương trình trên máy tính.
- Một số loại ngôn ngữ lập trình: Ngôn ngữ máy, Hợp
ngữ, Ngôn ngữ bậc cao(pascal, C…)
Câu 2: Chương trình dịch là gì?
Trả lời: Chương trình dịch là chương trình dịch các chương
trình được viết bằng ngôn ngữ lập trình bậc cao, hợp ngữ
thành ngôn ngữ máy


TIẾT: 18


CÁC BƯỚC GiẢI BÀI TOÁN TRÊN MÁY TÍNH

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.


1. Xác định bài toán
Mỗi bài toán được đặc tả bởi hai yếu tố: Input & Output
==> Xác định bài toán là công việc xác định chính xác Input, Output ,
mối quan hệ giữa chúng và xác định các thông số liên quan khác.
VD1: Xác định bài toán: Giải phương trình bậc nhất:ax + b=0 (1)
+ Input: các số thực a,b;


+ Output: giá trị x thỏa mãn phương trình (1);
VD2: Xác định bài toán: Tính điểm trung bình cả năm của một lớp học:
+ Input: Danh sách học sinh, điểm của 13 môn học;
+ Output: Danh sách học sinh điểm trung bình cả năm của 13 môn học và điểm
trung bình chung cả năm.

==> Như vậy việc xác định bài toán chính xác quyết định đến việc
giải bải toán đó thành công hoặc không thành công.


2. Lựa chọn hoặc thiết kế thuật toán
a. Lựa chọn thuật toán

- Mỗi bài toán có nhiều thuật toán khác nhau ngược lại mỗi thuật toán chỉ để giải quyết cho
một bài toán.
- Cần phải thiết kế, lựa chọn thuật toán sao cho phù hợp nhất với từng yêu cầu của mỗi bài
toán cụ thể.

VD: Bài toán sắp xếp.
Thiết kế hoặc lựa chọn thuật toán
sao
tiêu
đềtâm
lại
gọi là:
lựa
+ Một số điểm lưu ý khi thiết kếTại
hoặc
chọn
thuật

toán.
cầnlựa
quan
đến
vấn
đềchọn
gì?
- Yêu cầu về tài nguyên(thời gian thực hiện, bộ nhớ...)
- Độ phức tạp của thuật toán.
== > Tiêu chí quan trọng nhất của lựa chọn, thiết kế thuật toán là tính hiệu quả.

hoặc thiết kế thuật toán?

VD: Bài toán sắp xếp, bài toán tìm kiếm.


2. Lựa chọn hoặc thiết kế thuật toán
a. Lựa chọn thuật toán

b. Diễn tả thuật toán

- Cần chọn những cách diễn tả thuật toán phù hợp và đáp ứng được số
đông người lập trình.
+ Biểu diễn thuật toán bằng liệt kê các bước:
+ Biểu diễn thuật toán bằng sơ đồ khối:

Có những
cách
Mục
đích của

diễntảtảthuật
thuậttoán
toán
diễn
lànào?
gì?

== > Để mô phỏng cách chạy của bài toán, để chạy thử trước khi viết
chương trình, để cung cấp tài liệu cho người lập trình, người học.


2. Lựa chọn hoặc thiết kế thuật toán
a. Lựa chọn thuật toán
b. Diễn tả thuật toán

VD: Bài toán giải phương trình bậc nhất: ax+b=0
Cách liệt kê:
Bước 1: Nhập giá trị a, b;
Bước 2: Nếu a=0, b≠0 thì thông báo vô nghiệm, rồi kết thúc;
Bước 3: Nếu a=0 và b=0 thì thông báo phương trình nghiệm đúng
với mọi giá trị rồi kết thúc;
Bước 4: Nếu a ≠0 thì x-b/a, thông báo phương trình có nghiệm
duy nhất là x rồi kết thúc.


2. Lựa chọn hoặc thiết kế thuật toán
a. Lựa chọn thuật toán
b. Diễn tả thuật toán
Nhập a, b


a = 0?
S
x -b/a

Đ

b = 0?
S
Phương trình
vô nghiệm

Đ

PT nghiệm
đúng với mộ giá trị

A=0, B=0
A=0, B=2
A=2, B=1

PT có nghiệm duy
nhất là x


3. 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.
 Sử dụng ngôn ngữ lập trình để diễn đạt
đúng thuật toán.



4. Hiệu chỉnh(sửa chữa chương trình)
Sau khi viết chương trình có thể gặp một số lỗi sau:
- Lỗi về mặt cú pháp
- Lỗi về mặt logic(thuật toán chưa chính xác, chưa
quét hết các trường hợp đặc biệt…)
Tại sao cần phải hiệu chỉnh
chương trình?

==> Do vậy cần kiểm tra lại và test các bộ test đặc biệt của bài toán
==> Quá trình test và sửa lỗi bài toán được gọi là hiệu chỉnh
(Maintenance).
VD:


5. Viết tài liệu
Tài liệu môt tả bài toán.
Tài liệu mô tả thuật toán.
Tài liệu thiết kế chương trình.
Các kết quả thử nghiệm.

Viết tài liệu là làm
Mục đích
liệu là gì?
những
côngviết
việctàigì?

Tài liệu hướng dẫn sử dụng hướng

dẫn sử dụng.

==>Thể hiện tính chuyên nghiệp của sản phẩm.


BÀI TẬP VẬN DỤNG

Bài 1: Tiêu chuẩn lựa chọn thuật toán là gì ?
a. Thuật toán phải phù hợp với bài toán đã cho.
b. Thời gian thực hiện nhanh, ít tốn bộ nhớ.
c. Khi viết chương trình ít phức tạp nhất.
d.
d

Cả 3 ý trên đều đúng.


BÀI TẬP VẬN DỤNG

Bài 2: Nội dung và mục đích của bước hiệu chỉnh?
a. Kiểm tra lỗi về thuật toán.
b. Kiểm tra lỗi cú pháp của ngôn ngữ lập trình dùng
viết chương trình.
c. Dùng các bộ Test khác nhau để kiểm tra.
d
d.

Cả 3 ý trên đều đúng.



CỦNG CỐ

Bước 1: Xác định bài toán.
Bước
Bước 2:
2: Lựa
Lựa chọn
chọn hoặc
hoặc thiết
thiết kế
kế thuật
thuật toán.
toán.
Giải bài toán trên máy tính
Trong
năm
bước
trên
gồm
bao
nhiêu
bước?
Bước 3: Viết chương trình. bước nào là bước
Chi tiết các bước?
quan trọng nhất

Bước 4: Hiệu chỉnh.

Bước 5: Viết tài liệu.



BÀI TẬP VỀ NHÀ

Hãy viết thuật toán giải phương trình bậc
hai ax2 + bx +c = 0 và đề xuất các bộ Test
tiêu biểu?




×