Xem mẫu
- Chương 6
LẬP KẾ HOẠCH VIẾT CHƯƠNG
TRÌNH TRÊN MÁY TÍNH
1
- Nội dung
11.1. Mục đích của việc lập kế hoạch chương
trình
11.2 Thuật giải
11.3. Lưu đồ
11.4. Bảng quyết định
11.5. Mã giả
2
- Mục đích của việc lập kế hoạch
chương trình
Mục đích: để tạo một chương trình hiệu quả. Kế hoạch
của một chương trình bao gồm định nghĩa các bước
thực hiện của chương trình.
Các bước thực hiện:
Thu thập thông tin: xác định dữ liệu nhập và xuất
Xây dựng cấu trúc dữ liệu: xác định các kiểu dữ liệu, cách tổ
chức và cài đặt dữ liệu
Xây dựng thuật giải: xác định các công việc cần phải giải quyết
3
- Thuật giải là gì?
Còn gọi là thuật toán là tập các bước có thể tính toán
được để đạt được kết quả mong muốn.
Được xây dựng trên cơ sở của cấu trúc dữ liệu đã được
chọn.
Có thể được minh họa bằng ngôn ngữ tự nhiên (natural
language), bằng sơ đồ (flow chart) hoặc bằng mã giả
(pseudo code).
4
- Thuật giải là gì?
Chất lượng của một thuật giải phải có những đặc điểm
sau:
Mỗi lệnh phải rõ ràng và chính xác.
Mỗi lệnh nên thực hiện trong thời gian giới hạn.
Một hay nhiều lệnh không nên lặp lại vô hạn.
Sau khi thực hiện các chỉ thị, thuật giải kết thúc thì
phải thu được kết quả mong đợi.
5
- Các mẫu của thuật giải
Ví dụ: Xây dựng các thuật giải sau:
Tính tổng, hiệu, tích, thương của hai số nguyên.
Nhập điểm toán, lý, hóa. Tính điểm trung bình
Viết chương trình giải phương trình bậc nhất
Tính lương cho nhân viên biết Luong = LCB + Thuong
Thảo luận
6
- Chất lượng của giải thuật
Các yếu tố chính thường dùng để đánh giá chất lượng
của một thuật toán là:
Yêu cầu thời gian: là thời gian yêu cầu để thực thi một
chương trình trên hệ thống máy tính. Nếu thời gian yêu
cầu ít thì đó là một thuật toán tốt.
Yêu cầu bộ nhớ: là vùng nhớ trống yêu cầu để thực thi
một chương trình trên hệ thống máy tính. Nếu yêu cầu
bộ nhớ ít thì đó là một thuật toán tốt.
Độ chính xác
Tính tổng quát: có thể xử lý hàng loạt các dữ liệu đầu
vào.
7
- Mô tả của giải thuật
Các cách mô tả một thuật toán:
Bằng chương trình (ngôn ngữ tự nhiên) - As programs
Bằng lưu đồ - As flowcharts
Bằng mã giả - As pseudocodes
Bằng bảng quyết định - As decision tables
8
- Lưu đồ - Flowcharts
Lưu đồ là một bản vẽ mô tả một thuật
toán.
Lưu đồ hoạt động như một lộ trình
cho lập trình viên và hướng dẫn họ
cách đi từ điểm bắt đầu đến điểm kết
thúc.
9
- Tại sao phải sử dụng lưu đồ?
Khi vẽ một lưu đồ, lập trình viên không quan tâm đến
yếu tố ngôn ngữ lập trình. Họ quan tâm hoàn toàn đến
tính luận lý của thủ tục.
Bất kỳ lỗi logic nào của thủ tục có thể bị bỏ qua một cách
dễ dàng trong một chương trình.
Khi một lưu đồ đã có, lập trình viên có thể bỏ qua tính
luận lý và chỉ quan tâm đến viết mã lệnh cho những thao
tác theo lưu đồ.
Thường dùng cho những người mới bắt đầu lập trình để
giảm bớt số lỗi và những sơ sót trong chương trình.
10
- Các kí hiệu cơ bản của lưu đồ
11
- Các kí hiệu cơ bản của lưu đồ
12
- Các kí hiệu cơ bản của lưu đồ
13
- Các kí hiệu cơ bản của lưu đồ
14
- Các kí hiệu cơ bản của lưu đồ
15
- 16
- Các kí hiệu bổ sung của lưu đồ
17
- Các kí hiệu bổ sung của lưu đồ
18
- Các kí hiệu của lưu đồ
Ví dụ: Một sinh viên có mặt trong một kì thi
với tổng cộng 10 môn học, mỗi môn học có
điểm tối đa là 100 điểm.
Mỗi sinh viên gồm: Mã số của sinh viên, tên
điểm các môn học.
Vẽ một lưu đồ cho giải thuật để tính và in ra
tỷ lệ phần trăm điểm của mỗi sinh viên trong
kì thi này và sau đó in ra theo mã sinh viên
và tên sinh viên.
19
- Các kí hiệu của lưu đồ
Example 1: Make a list of only students who
have passed (obtained 30% marks) in the
examination. And print out the total number of
such as students.
+ Assume: input data is terminated by sentinel
value is 9999999
Solution: There are two decision symbols.
The first one checks for a trailer record by
comparing Rollno against the value 9999999 to
determine if the processing is complete.
The second one checks whether student has
passed or failed by comparing percentage marks 20
obtained against 30.
nguon tai.lieu . vn