Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 1
TRÌNH BÀY BN V THUT TOÁN
1. Các thông tin chung
- Tài liu này nhm h tr sinh vn ngành K thuật Cơ điện t t chc và trình bày thut
toán dưi dng lưu đồ gii thut.
- Bn v thut toán nhằm trình bày thut toán lập trình đưc”, không v chung vi
quy trình vn hànhcủa ngưi công nhân, mc dù th s dng các hiu ging
nhau.
- Bn v “quy trình vận hành” vẽ thành mt bn v riêng. Trưng hp v chung đ tiết
kim không gian (không khuyến khích), cn nêu trong Tên bn vẽ: Bn v quy
tnh vn hành h thng xxx và thut toán x lý xxx”.
2. Khung bn v t chc bn v
- S dng khung bn v theo tiêu chun bn v k thuật thông tng, giống như các bản
v cơ khí, đin.
- Font ch: theo font ch bn v ký thut (TCVN 7284).
- Dạng mũi tên, kích tc đưng nét: S dng ging bn v khí. Các nét s dng
đồng nhất 1 kích tc (nét mnh).
- Khi tnh bày bn vẽ, chú ý để các thut toán có th đọc đưc d dàng t trên xung.
- Trưng hp trình bày bn v A0:
o Không cn tọa độ tham chiếu tn khung bn v
o Các phn trình bày thut toán th tách nhau ra bằng các đường nét đt, kèm
tên mi thut toán.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 2
3. Bn v lưu đ gii thut theo tu chun ISO-5087:1985
- Tiêu chun ISO-5087:1985 mô t cách v các dạng lưu đồ: u đồ lung d liu (Data
flowchart), u đồ chương tnh (Program flowchart), Lưu đồ h thng (System
flowchart), đồ mng (Program Network Chart), đồ tài nguyên h thng (System
Resources Chart).
- Khi thc hiện đồ án, ch yếu vc bn v th hin chương tnh hoặc h thng.
Ký hiu
Ý nghĩa
- Xut nhp d liu (nói chung, không mô t v phương thức c
th)
- D liệu được lưu trữ (tng quát, nói chung).
- Nhp, xut d liệu lưu trữ b nh trong.
- D liu có th truy xut trc tiếp đưc.
- Nhp d liu bng tay
- Tài liệu (con ngưi có th đọc được, VD: bn in, ch OCR,…).
- Hin th thông tin, d liu (ra màn hình HMI, máy tính,..)
- Tác v, quá trình nói chung
- Hàm, chương trình con.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 3
- Tác v thc hin th công (bi công nhân, ngưi vn hành)
- Thao tác chun b cho 1 thao tác khác
- Điu kin, r nhánh
- Các tác v thc hin song song. Ví d: 3 tác v i đây thực
hiện đồng thi:
- Terminator: Bắt đầu / Kết thúc chương tnh chính, vào chương
tnh con, thoát khỏi chương tnh con.
- Kết ni vi phn khác
- u ý, chú thích, bổ sung thông tin
- B qua 1 đoạn chương tnh
- Bắt đầu và kết thúc vòng lp
Ô bằng nét đứt
- Bao quanh một vùng đang ghi chú.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 4
4. Mt s lưu ý trình bày lưu đồ gii thut
a. Th hiện đưng nét, chiều chương trình.
o Chương tnh đưc th hin c) theo chiu t trên xung, t trái sang phi.
o Khi theo đúng flow, không cần dùng mũi tên. Mũi tên đưc s dng khi mun ch
chiu vào-ra hoc có chiều đi khác với flow trên.
o Ti mỗi điểm giao phi ch rõ ra chiu di chuyn bằng mũi tên.
o Các đưng không liên quan đến nhau t không v giao nhau.
b. S dng connector khi không đủ trang bn v
Ch bên trong ô tròn dùng để đánh dấu tương ng phn ca trang này vi trang kia.
c. S dng khối điu kin vi nhiều điu kin khác nhau
If then
Điu kin lng
Kiểm tra switch…case
d. Biu din vòng lp vô tn (while (1))
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 5
Chú ý: Mt s li tng gp khi th hin vòng lp vô tn.
1. Chương tnh chỉ chy 1 ln
2. Khi đặt kim tra điều kin kết thúc, trong chương trình phi có tác v liên quan ti điu kin
kết thúc.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 6
e. Biu din vòng lp s dng thuần sơ đồ khi
Khi đó, ta thể dùng khối này không đ cập điều kin dng cho vòng lp tn (main
loop).
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 7
f. Biu din ngt (interrupt)
Trưng hp nếu tnh phc v ngt phc tp, có th viết thành chương tnh con. Sau đó
khai trin khối cơng tnh con riêng.
Nếu s dng ngt, event, phi mô t IRQ (request, điều kin xy ra ngt).
g. Biu diễn chương trình con
Không dùng Kết thúc (End) cho chương trình con, sử dng Tr v (Return)
hoặc thoát chương trình con (Exit).
Không dùng khi chương trình con bắt đầu chương trình con.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 8
h. Biu diễn đoạn chương tnh song song
Không s dng các đưng đơn chia nhánh để biu diễn chương trình song song.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 9
i. Chương trình gồm nhiu b điu khiển khác nhau (điều khin phân tán, ngang hàng)
j. Đnh danh và mô t
Ti mi khi, có th định danh hoc mô t sơ về khối đó bằng ch. Ch nên để in nghiêng.
+ Đnh danh: Ch góc tn, bên trái.
+ Mô t: Ch bên phi
k. Layout bn v và ni dung
o Không khuyến kích xoay, ltc khi. Các khối như thế nào gi nguyên hình dng,
chiu. Ch thay đổi mũi tên để làm rõ lưu đồ.
o Ch viết mô t trong khi: Ti thiu hóa. Không nên nêu quá chi tiết quá trình tr
các trường hp cn thiết để mô t thut toán. Viết càng d hiu, d theo dõi càng tt.
Các chi tiết nên đặt trong thuyết minh hoc mã gi (pseudocode).
o Không viết đồ khi thành mã code, không gán biến, khai báo biến …. Sơ đ khi
ch dùng để th hiện logic, phương pháp lập tnh h thng. Code, mã gi, mô t chi
tiết thut toán th hin thuyết minh.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 10
o Kích thước các khi va đủ ch viết bên trong. Chiều dài i tên vừa phi, to
khong cách hp lý gia các khi.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 11
5. Mt s ví d đơn gin
Ví d 1: Chương tnh lưu tr d liu sau khi tính toán t y tính sang thiết b lưu trữ (Trích:
ph lc tu chun ISO-5807:1985)
Chú ý: 1 chương trình có th có nhiều đim bắt đầu, kết thúc khác nhau.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 12
Ví d 2: Chương tnh chp tt LED sau mi 500 giây.
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 13
Ví d 3: Chương tnh thay đổi trng thái LED khi s dng ngt ngoài chân B0, s dng vi
điu khin PIC16F
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 14
Ví d 4: Đền chp tt sau mi 500ms, sau khi nhn nút t chương tnh kết thúc.
6. Mt s tu chun khác
Ngoài lưu đồ gii thuật, các phương pháp sau có th đưc s dụng đ mô t h thng, thut
toán.
a. Máy trng thái (state-machine)
Tiêu chun: UML (ISO/IEC 19505) cho h thng và ISO/IEC 15288 cho mô hình
hóa h thống, đặc bit là h thng nhúng.
Máy trng thái có th được s dng cho các thut toán mô t việc thay đổi theo s
kin (event)
Tài liệu lưu hành nội b
Trình bày bn v thut toán Trang 15
b. đồ Grafcet/ SFC
Tiêu chun: IEC 61131-3
đồ Grafcet/ SFC tng đưc s dng cho chương tnh điều khin tun tự, điều
khin bng PLC.
7. Phn mm
Không gii hn phn mm s dng. Khuyến khích s dng MS Visio hoặc Draw.io đ v
lưu đ gii thut.
Tài liu tham kho
[1] Tiêu chun ISO5087:1985.
[2] Jonathan W. Valvano, Introduction to Embedded Systems, CreateSpace Independent
Publishing Platform, 2016.

Preview text:


Tài liệu lưu hành nội bộ
TRÌNH BÀY BẢN VẼ THUẬT TOÁN
1. Các thông tin chung
- Tài liệu này nhằm hỗ trợ sinh viên ngành Kỹ thuật Cơ điện tử tổ chức và trình bày thuật
toán dưới dạng lưu đồ giải thuật.
- Bản vẽ thuật toán nhằm trình bày “thuật toán lập trình được”, không vẽ chung với
quy trình vận hành” của người công nhân, mặc dù có thể sử dụng các ký hiệu giống nhau.
- Bản vẽ “quy trình vận hành” vẽ thành một bản vẽ riêng. Trường hợp vẽ chung để tiết
kiệm không gian (không khuyến khích), cần nêu rõ trong Tên bản vẽ: “Bản vẽ quy
trình vận hành hệ thống xxx và thuật toán xử lý xxx”.
2. Khung bản vẽ và tổ chức bản vẽ
- Sử dụng khung bản vẽ theo tiêu chuẩn bản vẽ kỹ thuật thông thường, giống như các bản vẽ cơ khí, điện.
- Font chữ: theo font chữ bản vẽ ký thuật (TCVN 7284).
- Dạng mũi tên, kích thước đường nét: Sử dụng giống bản vẽ cơ khí. Các nét sử dụng
đồng nhất 1 kích thước (nét mảnh).
- Khi trình bày bản vẽ, chú ý để các thuật toán có thể đọc được dễ dàng từ trên xuống.
- Trường hợp trình bày bản vẽ A0:
o Không cần tọa độ tham chiếu trên khung bản vẽ
o Các phần trình bày thuật toán có thể tách nhau ra bằng các đường nét đứt, kèm tên mỗi thuật toán.
Trình bày bản vẽ thuật toán Trang 1
Tài liệu lưu hành nội bộ
3. Bản vẽ lưu đồ giải thuật theo tiêu chuẩn ISO-5087:1985
- Tiêu chuẩn ISO-5087:1985 mô tả cách vẽ các dạng lưu đồ: Lưu đồ luồng dữ liệu (Data
flowchart), Lưu đồ chương trình (Program flowchart), Lưu đồ hệ thống (System
flowchart), Sơ đồ mạng (Program Network Chart), Sơ đồ tài nguyên hệ thống (System Resources Chart).
- Khi thực hiện đồ án, chủ yếu vẽ các bản vẽ thể hiện chương trình hoặc hệ thống. Ký hiệu Ý nghĩa
- Xuất nhập dữ liệu (nói chung, không mô tả về phương thức cụ thể)
- Dữ liệu được lưu trữ (tổng quát, nói chung).
- Nhập, xuất dữ liệu lưu trữ ở bộ nhớ trong.
- Dữ liệu có thể truy xuất trực tiếp được.
- Nhập dữ liệu bằng tay
- Tài liệu (con người có thể đọc được, VD: bản in, chữ OCR,…).
- Hiển thị thông tin, dữ liệu (ra màn hình HMI, máy tính,..)
- Tác vụ, quá trình nói chung - Hàm, chương trình con.
Trình bày bản vẽ thuật toán Trang 2
Tài liệu lưu hành nội bộ
- Tác vụ thực hiện thủ công (bởi công nhân, người vận hành)
- Thao tác chuẩn bị cho 1 thao tác khác - Điều kiện, rẽ nhánh
- Các tác vụ thực hiện song song. Ví dụ: 3 tác vụ dưới đây thực hiện đồng thời:
- Terminator: Bắt đầu / Kết thúc chương trình chính, vào chương
trình con, thoát khỏi chương trình con.
- Kết nối với phần khác
- Lưu ý, chú thích, bổ sung thông tin
- Bỏ qua 1 đoạn chương trình
- Bắt đầu và kết thúc vòng lặp Ô bằng nét đứt
- Bao quanh một vùng đang ghi chú.
Trình bày bản vẽ thuật toán Trang 3
Tài liệu lưu hành nội bộ
4. Một số lưu ý trình bày lưu đồ giải thuật
a. Thể hiện đường nét, chiều chương trình.
o Chương trình được thể hiện (đọc) theo chiều từ trên xuống, từ trái sang phải.
o Khi theo đúng flow, không cần dùng mũi tên. Mũi tên được sử dụng khi muốn chỉ rõ
chiều vào-ra hoặc có chiều đi khác với flow trên.
o Tại mỗi điểm giao phải chỉ rõ ra chiều di chuyển bằng mũi tên.
o Các đường không liên quan đến nhau thì không vẽ giao nhau.
b. Sử dụng connector khi không đủ trang bản vẽ
Chữ bên trong ô tròn dùng để đánh dấu tương ứng phần của trang này với trang kia.
c. Sử dụng khối điều kiện với nhiều điều kiện khác nhau If … then… Điều kiện lồng
Kiểm tra switch…case
d. Biểu diễn vòng lặp vô tận (while (1))
Trình bày bản vẽ thuật toán Trang 4
Tài liệu lưu hành nội bộ
Chú ý: Một số lỗi thường gặp khi thể hiện vòng lặp vô tận.
1. Chương trình chỉ chạy 1 lần
2. Khi đặt kiểm tra điều kiện kết thúc, trong chương trình phải có tác vụ liên quan tới điều kiện kết thúc.
Trình bày bản vẽ thuật toán Trang 5
Tài liệu lưu hành nội bộ
e. Biểu diễn vòng lặp sử dụng thuần sơ đồ khối
Khi đó, ta có thể dùng khối này mà không đề cập điều kiện dừng cho vòng lặp vô tận (main loop).
Trình bày bản vẽ thuật toán Trang 6
Tài liệu lưu hành nội bộ
f. Biểu diễn ngắt (interrupt)
Trường hợp nếu trình phục vụ ngắt phức tạp, có thể viết thành chương trình con. Sau đó
khai triển khối chương trình con riêng.
Nếu sử dụng ngắt, event, phải mô tả IRQ (request, điều kiện xảy ra ngắt).
g. Biểu diễn chương trình con
Không dùng Kết thúc (End) cho chương trình con, mà sử dụng Trở về (Return)
hoặc thoát chương trình con (Exit).
Không dùng khối chương trình con bắt đầu chương trình con.
Trình bày bản vẽ thuật toán Trang 7
Tài liệu lưu hành nội bộ
h. Biểu diễn đoạn chương trình song song
Không sử dụng các đường đơn chia nhánh để biểu diễn chương trình song song.
Trình bày bản vẽ thuật toán Trang 8
Tài liệu lưu hành nội bộ
i. Chương trình gồm nhiều bộ điều khiển khác nhau (điều khiển phân tán, ngang hàng)
j. Định danh và mô tả
Tại mỗi khối, có thể định danh hoặc mô tả sơ về khối đó bằng chữ. Chữ nên để in nghiêng.
+ Định danh: Chữ góc trên, bên trái. + Mô tả: Chữ bên phải
k. Layout bản vẽ và nội dung
o Không khuyến kích xoay, lật các khối. Các khối như thế nào giữ nguyên hình dạng,
chiều. Chỉ thay đổi mũi tên để làm rõ lưu đồ.
o Chữ viết mô tả trong khối: Tối thiểu hóa. Không nên nêu quá chi tiết quá trình trừ
các trường hợp cần thiết để mô tả thuật toán. Viết càng dễ hiểu, dễ theo dõi càng tốt.
Các chi tiết nên đặt trong thuyết minh hoặc mã giả (pseudocode).
o Không viết sơ đồ khối thành mã code, không gán biến, khai báo biến …. Sơ đồ khối
chỉ dùng để thể hiện logic, phương pháp lập trình hệ thống. Code, mã giả, mô tả chi
tiết thuật toán thể hiện ở thuyết minh.
Trình bày bản vẽ thuật toán Trang 9
Tài liệu lưu hành nội bộ
o Kích thước các khối vừa đủ chữ viết bên trong. Chiều dài mũi tên vừa phải, tạo
khoảng cách hợp lý giữa các khối.
Trình bày bản vẽ thuật toán Trang 10
Tài liệu lưu hành nội bộ
5. Một số ví dụ đơn giản
Ví dụ 1: Chương trình lưu trữ dữ liệu sau khi tính toán từ máy tính sang thiết bị lưu trữ (Trích:
phụ lục tiêu chuẩn ISO-5807:1985)
Chú ý: 1 chương trình có thể có nhiều điểm bắt đầu, kết thúc khác nhau.
Trình bày bản vẽ thuật toán Trang 11
Tài liệu lưu hành nội bộ
Ví dụ 2: Chương trình chớp tắt LED sau mỗi 500 giây.
Trình bày bản vẽ thuật toán Trang 12
Tài liệu lưu hành nội bộ
Ví dụ 3: Chương trình thay đổi trạng thái LED khi sử dụng ngắt ngoài chân B0, sử dụng vi điều khiển PIC16F
Trình bày bản vẽ thuật toán Trang 13
Tài liệu lưu hành nội bộ
Ví dụ 4: Đền chớp tắt sau mỗi 500ms, sau khi nhấn nút thì chương trình kết thúc.
6. Một số tiêu chuẩn khác
Ngoài lưu đồ giải thuật, các phương pháp sau có thể được sử dụng để mô tả hệ thống, thuật toán.
a. Máy trạng thái (state-machine)
Tiêu chuẩn: UML (ISO/IEC 19505) cho hệ thống và ISO/IEC 15288 cho mô hình
hóa hệ thống, đặc biệt là hệ thống nhúng.
Máy trạng thái có thể được sử dụng cho các thuật toán mô tả việc thay đổi theo sự kiện (event)
Trình bày bản vẽ thuật toán Trang 14
Tài liệu lưu hành nội bộ
b. Sơ đồ Grafcet/ SFC
Tiêu chuẩn: IEC 61131-3
Sơ đồ Grafcet/ SFC thường được sử dụng cho chương trình điều khiển tuần tự, điều khiển bằng PLC. 7. Phần mềm
Không giới hạn phần mềm sử dụng. Khuyến khích sử dụng MS Visio hoặc Draw.io để vẽ lưu đồ giải thuật.
Tài liệu tham khảo
[1] Tiêu chuẩn ISO5087:1985.
[2] Jonathan W. Valvano, Introduction to Embedded Systems, CreateSpace Independent Publishing Platform, 2016.
Trình bày bản vẽ thuật toán Trang 15