Tải bản đầy đủ (.pptx) (59 trang)

Slide lập kế hoạch cho chương trình 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 (810.99 KB, 59 trang )

Planning the Computer Program
(Lập kế hoạch cho chương trình máy tính)


Nội dung
 Mục đích của việc lập kế hoạch chương trình
 Thuật giải
 Lưu đồ
 Mã giả
 Bảng quyết định


Mục đích của việc lập kế hoạch chương
trình
Mục đích:
– Để viết một chương trình đúng và hiệu quả.

– Logic của một chương trình là rất phức tạp, để viết một chương
trình đúng, người lập trình cần lập kế hoạch trước.
Do đó, trước khi chúng ta tìm hiểu làm thế nào để viết một chương
(chương kế) thì đầu tiên chúng ta sẽ tìm hiểu làm thế nào để lập một kế
hoạch cho một chương trình trên máy tính

Cách thực hiện:
– Thu thập thông tin: xác định dữ liệu nhập và xuất
– Xác định các kiểu dữ liệu, cách tổ chức và cài đặt dữ liệu
– Xác định các công việc cần phải giải quyết


Thuật giải -Algorithm
 Thuật toán:


– Liên quan đến tính logic của một chương trình.
– là tập các bước có thể tính toán được (là một tập
hợp các hàm, thủ tục, cấu trúc điều khiển được
sắp xếp theo trình tự) nhằm thực hiện một bài
toán nhất định để đạ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.


Thuật giải -Algorithm
 Ví dụ: thuật toán để giải phương trình bậc nhất
ax + b = 0
Nếu a = 0
Nếu b = 0 thì phương trình có vô số nghiệm
Nếu b ≠ 0 thì phương trình vô nghiệm
Nếu a ≠ 0
Phương trình có duy nhất một nghiệm x = -b/a


Thuật giải -Algorithm
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.


Thuật giải -Algorithm
 Có 2 loại Giải thuật:

– Xác định: Là những giải thuật được áp dụng cho những
bài toán mà lời giải của nó có thể biểu diễn dưới dạng
toán học. Trong loại giải thuật này các bước giải bài
toán, vòng lặp sử dụng,...được xác định từ trước và ít khi
sử
dụng
cấu
trúc
rẽ
nhánh
Ví dụ: Tính tổng của các số từ 1 tới 100.
– Không xác định: Là giải thuật áp dụng cho những bài
toán mà lời giải của nó chưa có sẵn mà có được ở 1 bước
nhất
định
nào
đó.
Ví dụ: Nhập 1 số nguyên dương ngẫu nhiên, tính tổng các
số từ 1 tới số đó.


Thuật giải -Algorithm
 Ví dụ: Tìm số lớn nhất trong 3 số A, B, C.
Giải:
-Bắt đầu
-B1: Nhập 3 số A, B, C.
-B2: Tìm số lớn nhất giữa 2 số A và B, lưu vào biến
Max_AB.
-B3: Tìm số lớn nhất giữa 2 số Max_AB và C.
-Xuất giá trị Max.

-Kết thúc


Thuật giải -Algorithm
Ví dụ: Xây dựng các thuật giải sau:
– Nhập 2 số nguyên. 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
– Tính trung bình của N số nguyên đầu tiên.
– Viết chương trình giải phương trình bậc hai: ax2+
bx+c=0( với a# 0).
– Tính lương cho nhân viên biết:
Luong = LCB + Thuong

Thảo luận


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 : độ chính xác của cách giải quyết cho một vấn đề.
Tính tổng quát: có thể xử lý hàng loạt các dữ liệu đầu vào.



Biểu diễn thuật giải
 Các cách biểu diễn một thuật giải:
– Bằng chương trình - As programs
– Bằng lưu đồ - As flowcharts
– Bằng mã giả - As pseudocodes
– Bằng bảng quyết định – As decision tables
 Khi thuật toán được biểu diễn bằng một ngôn ngữ
lập trình thì nó trở thành một chương trình.


Lưu đồ - Flowcharts
 Lưu đồ: là một hình ảnh, 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.
 Lưu đồ như một công cụ kế hoạch của một
chương trình để tổ chức một dãy các bước
cần thiết nhằm giải quyết một vấn đề bằng
máy tính.


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.


Các kí hiệu cơ bản của lưu đồ
 Các ký hiệu trong lưu đồ:


Các kí hiệu cơ bản của lưu đồ

(a) Cấu trúc
tuần tự

(b) Cấu trúc lựa chọn (IF - THEN - ELSE)


Các kí hiệu cơ bản của lưu đồ
 Ví dụ: lưu đồ rẽ nhánh

(a) Một quyết định có hai nhánh
lựa chọn

(b) Một quyết định có ba nhánh lựa
chọn


Các kí hiệu cơ bản của lưu đồ
 Ví dụ: lưu đồ có nhiều lựa chọn


(c) Một quyết định có nhiều nhánh lựa chọn


Ví dụ: Biểu thức 1.. n: số nguyên
Biểu thức

True

Biểu thức
==n1?

Các câu lệnh1

False
True

Biểu thức
==nk?

Các câu lệnh n

False
True

default:
Kết
thúc

Các câu lệnh



Các kí hiệu cơ bản của lưu đồ

Cấu trúc lặp


Cấu trúc lặp

Dãy biểu thức 1
false

Điều kiện
true

Khối lệnh lặp

Dãy biểu thức 2

exit

20


Cấu trúc lặp

false
Điều kiện

true
Khối lệnh lặp


Thoát
21


Cấu trúc lặp

Khối lệnh lặp

true

Điều kiện
false

Thoát
22


Các kí hiệu cơ bản của lưu đồ
Ví dụ: Vẽ lưu đồ thuật toán nhập vào 1 số và cho biết số đó nhỏ hơn, lớn hơn 10.

Lưu đồ minh họa cấu trúc lựa chọn.


Các kí hiệu cơ bản của lưu đồ
 Ví dụ1: vẽ lưu đồ thuật toán tính
điểm trung bình của sinh viên, với
số môn học là 10.



Các kí hiệu cơ bản của lưu đồ
Bài tập 1:
1. Vẽ lưu đồ cho thuật toán nhập vào 2 số a,b. Tính và
xuất tổng, tích, hiệu, thương của 2 số.
2. Vẽ lưu đồ thuật toán giải phương trình bậc nhất :
ax+b=0.
3. Vẽ lưu đồ thuật toán tính điểm trung bình của sinh
viên, với số môn học là 10 cho 50 sv

Thảo luận tại lớp


×