Bài giảng Nhập môn tin học - Chương 11: Lập kế hoạch viết chương trình trên máy tính cung cấp cho người học các kiến thức: Mục đích của việc lập kế hoạch chương trình, thuật giải, lưu đồ, bảng quyết định, mã giả. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 11
LẬP KẾ HOẠCH VIẾT CHƯƠNG
TRÌNH TRÊN MÁY TÍNH
Chương 11
Trang 22
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ả
Trang 33
Mục đích của việc lập kế hoạch
chương trình
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
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
Trang 44
được để đạt được kết quả mong muốn
chọn
(pseudo code)
Thuật giải là gì?
Trang 5phải thu được kết quả mong đợi
Trang 66
Các mẫu của thuật giải
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
Trang 77
Chất lượng của giải thuật
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
Trang 88
Mô tả của giải thuật
Trang 99
Lưu đồ - Flowcharts
toán
cách đi từ điểm bắt đầu đến điểm kết
thúc
Bắt đầu
Đọc dữ liệu đầu vào
Cộng điểm các môn thành Tổng cộng
Phần trăm= Tổng cộng / 10
Viết dữ liệu xuất
Dừng
Trang 1010
Tại sao phải sử dụng lưu đồ?
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
dễ dàng trong một chương trình
luận lý và chỉ quan tâm đến viết mã lệnh cho những thao tác theo lưu đồ
giảm bớt số lỗi và những sơ sót trong chương trình
Trang 1111
Các kí hiệu cơ bản của lưu đồ
Trang 1212
Các kí hiệu cơ bản của lưu đồ
Trang 1313
Các kí hiệu cơ bản của lưu đồ
Trang 1414
Các kí hiệu cơ bản của lưu đồ
Trang 1515
Các kí hiệu cơ bản của lưu đồ
Trang 16Đọc dữ liệu đầu vào
Cộng tất cả điểm của những môn học cho tổng số
Phần trăm = tổng
số / 10
Viết dữ liệu đầu ra Cộng 1 vào Count
Có phải Count
= 50 ? Dừng lại
Cộng tất cả điểm của những môn học cho tổng số
Phần trăm = tổng số / 10
Viết dữ liệu đầu ra
Dừng lại
No
Có phải Rollno =
0000000 ?
Yes
Hình minh họa 11.7 Tạo biểu đồ trình tự thao tác cho lời giải của ví dụ 11.4, sử dụng khái niệm trailer record Vòng lặp được ngắt bởi việc nhận ra một bản ghi không phải là dữ liệu đặc biêt.
Trang 1717
Các kí hiệu bổ sung của lưu đồ
Trang 1818
Các kí hiệu bổ sung của lưu đồ
Trang 1919
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
Trang 2020
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
obtained against 30
Trang 2121
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ôn học
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
hoặc nhiều điểm hơn)
Sinh viên vẽ
Trang 2222
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
thực hiện các công việc sau:
Tạo danh sách chỉ chứa những Sv nữ thi đậu (đạt từ 40% số điểm trở lên)
Tạo danh sách chỉ chứa những Sv nữ thi đậu trong lần chia thứ hai (đạt được 45% hoặc hơn nhưng nhỏ hơn 60% số điểm)
In ra tổng số của những sinh viên theo yêu cầu trên
Sinh viên vẽ
Trang 2323
Count = 0
Read input data
Percentage = Total / 10
Is percentage => 45 ?
Is percentage < 60 ?
Write output data
Figure 11.10 Flowchart of example 11.9 Redraw
to illustrate the use of connectors
Trang 2424
Các luật của biểu đồ
một đồ thị biểu diễn từng bước một của một chương trình
thông dụng và dễ hiểu
biểu đồ
Trang 2525
Các luật của biểu đồ
xây dựng biểu đồ
nhau
tách tại một điểm nhập vào và điểm xuất ra
phần của biểu đồ trên các trang khác nhau
Trang 2626
Thuận lợi và hạn chế của biểu đồ
Thuận lợi:
liệu và các hoạt động của chương trình
Trang 27phải vẽ một biểu đồ hoàn toàn mới
hay thay đổi
Trang 2828
BẢNG QUYẾT ĐỊNH
hiện
hoặc nếu có một số lượng lớn những nhánh khác nhau
ích
Table Heading Decision Rules
Condition Stub Condition entries
Action stub Action Entries
Một dạng của bảng quyết định
Trang 2929
BẢNG QUYẾT ĐỊNH
Các bước xây dựng một bảng quyết định là:
toán
tương ứng
Trang 3030
Mẫu bảng quyết định
Trang 3131
Ưu điểm của Bảng quyết định
với biểu đồ vì những lý do sau:
Chúng cung cấp các mô tả cốt lõi của các trường hợp phức tạp một cách logic
Dễ dàng hơn trong việc vẽ và thay đổi so với biểu đồ
Một bảng nhỏ có thể thay thế một vài trang biểu đồ tiến trình
Dễ dàng theo dõi
Trang 3232
Hạn chế của Bảng quyết định
điều chỉnh
cần giải quyết tốt hơn
đối với những người mới học và các nhà lập trình
viên
Trang 3333
MÃ GIẢ
Trang 3535
Mã giả cho các cấu trúc điều khiển cơ bản
Có ba cấu trúc điều khiển logic sau đây :
1 Logic trình tự,
2 Logic lựa chọn,
3 Logic lặp (hay vòng lặp)
Trang 3636
Logic tuần tự (Sequence Logic)
Logic tuần tự dùng để thực hiện lần lượt các lệnh theo trình tự nào đó
Trang 3737
Logic lựa chọn
Còn gọi là logic quyết định, được dùng để đưa ra quyết định
Trang 3838
Logic lựa chọn
Trang 3939
Logic lựa chọn
Trang 4040
Logic lặp lại (hay vòng lặp)
Trang 4141
Logic lặp lại (hay vòng lặp)
Trang 4242
Ví Dụ Về Mẫu mã giả
Trang 4343
Ví Dụ Về Mẫu mã giả
Trang 4545
Ưu điểm và Nhược diểm của mã giả
Nhược điểm
• Mã giả không có sự biểu diễn đồ họa của chương trình
• Khi dùng mã giả thì không có luật chuẩn nào để làm theo Các lập trình viên sử dụng phong cách của mình để viết mã giả nên khó khăn trong vấn đề truyền đạt nội dung vì thiếu sự tiêu chuẩn hoá
• Khó cho người mới học
Trang 4646
Câu hỏi và bài tập
Giáo trình trang 361 Bài tập trang 40