














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