Tải bản đầy đủ

mô phỏng hoạt động hệ thống thang máy cho tòa nhà 5 tầng

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────

BÀI TẬP LỚN
MÔN: KỸ THUẬT LẬP TRÌNH

PF14

Sinh viên thực hiện : Phùng Đức Thuận
Vũ Minh Thành
Tống Minh Quý
Phạm Văn Quyền

Lớp

: CKHK-CLC – K54

Giáo viên hướng dẫn : TS. Vũ Thị Hương Giang

Hà Nội, tháng 5 năm 2012



Kỹ thuật lập trình 2012

MỤC LỤC

LỜI NÓI ĐẦU
Hiện nay , cùng với việc phát triển mạnh mẽ của kinh tế xã hội , cơ sở hạ tầng ngày được
nâng cao, đồng nghĩa với việc các tòa cao ốc, khu nhà cao tầng , chung cư lớn được xây dựng
rộng khắp. Vì thế , nhu cầu về thang máy là hết sức cần thiết. Từ đó , thang máy trở thành bài
toán và đề tài hấp dẫn. Được sự hướng dẫn của cô giáo Vũ Thị Hương Giang – Viện Công nghệ
thông tin và truyền thông- Trường Đại học Bách khoa Hà Nội, chúng tôi đã xây dựng bài toán về
thang máy cho tòa nhà 5 tầng. Nội dung công việc :
-

Nghiên cứu hoạt động của thang máy Thư viện Ta Quang Bửu.
Tìm hiểu thành phần cấu tạo cơ bản của thang máy.
Xây dựng thuật toán điều khiển thang máy.
Xây dựng chương trình điều khiển với ngôn ngữ C và C++.

Tuy có nhiều hạn chế về thời gian , lượng kiến thức về lập trình nhưng nhóm cũng đã cố gắng
hoàn thàn công việc, mặc dù vậy cũng không thể tránh khỏi thiết sót và hạn chế, chúng tôi rất
mong nhận được sự đóg góp ý kiến của thầy cô và các bạn.
Xin chân thành cảm ơn.

Nhóm PE14.

2

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
PHÂN CÔNG THÀNH VIÊN TRONG NHÓM
Tổ chức họp nhóm: xác định các quy trình làm việc để đạt được kết quả tối ưu.
Nhóm chia ra thành các công việc chính:
Nghiên cứu hoạt động của thang máy Thư viện Ta Quang Bửu: Tìm hiểu hoạt động và
giao diện người dùng của thang máy.
Tìm hiểu thành phần cấu tạo cơ bản của thang máy qua các tài liệu thu thập được.
Thiết kế các chức năng và thuật toán cũng như viết sơ đồ luồng cho từng chức năng:

cả nhóm thực hiện(thời gian 10 ngày).
Viết code và đồ họa: Thành , Quyền, Quý , Thuận.
Viết báo cáo bằng bản word: Quý , Thuận.
-

3

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ GIẢI PHÁP
1.1.

Mô tả yêu cầu bài toán

“Mô phỏng hệ thống điều khiển thang máy nhà D6 5 tầng”.
Qua các quan sát thực tế và những lần thảo luận nhóm, nhóm đã đi đến việc thống nhất
cấu trúc của thang máy để có thể lập trình một cách thuận tiện. Cùng
với việc tham khảo trên mạng nhóm đã thống nhất về quá trình chạy của thang, sự kết hợp giữa
hai thang sao cho đạt được hiệu quả tối ưu nhất.
Bài toán là mô phỏng quá trình hoạt động của thang đôi cho tòa nhà D6, hệ thống thang
máy bao gồm 2 thang. Mỗi thang vừa có thể hoạt động độc lập một cách chính xác, vừa có thể
kết hợp với nhau để có thể phục vụ hành khách một cách tối ưu nhất.
Những điểm cần lưu ý:
-

Chương trình dễ hiểu,dễ xây dựng.
Hoạt động ổn định.
Hiệu năng cao.
Tốc độ quét,xử lí thông tin của chương trình phải rất nhanh.
Có khả năng kiểm tra tiếp nhận các tín hiệu ngõ vào là gần như liên tục.
Đạt được mục tiêu là tối thiểu thời gian chờ đợi của khách hàng và tối thiểu được
quãng đường cần đi của thang máy

.

4

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012

1.2.

Biểu đồ IPO

1.2.1. Chức năng: Nhập dữ liệu bên ngoài
INPUT

PROCESS

Nút lên

Bấm

Nút xuống

Bấm

OUTPUT
Số( tầng cần tới)
Số( tầng cần tới)

1.2.2. 1.2.2 Chức năng: chọn thang.
INPUT

PROCESS

OUTPUT

Chọn thang

Thang mở

1.2.3. 1.2.3 Chức năng: Chọn đường thang đến
INPUT

PROCESS

OUTPUT

Chọn

Thang mở

Chọn

Thang mở

1.2.4.
1.2.5.
1.2.6. 1.2.4 Chức năng: mở cửa
INPUT

PROCESS

OUTPUT

Thang 1

Mở

Cửa mở

Thang 2

Mở

Cửa mở

5

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
1.2.7. 1.2.5 Chức năng:: nhập dữ liệu bên trong
INPUT

PROCESS

OUTPUT

Cửa đóng

Chọn

Số (tầng cần đến)

1.2.8. 1.2.6 Chức năng: đóng cửa thang máy.
INPUT

PROCESS

OUTPUT

Cửa mở( thang 1)
Cửa mở (Thang 2)

Đóng
Đóng

Cửa đóng hoặc mở
Cửa đóng hoặc mở

1.2.9. 1.2.6 Chức năng: tính tải trọng
INPUT
Tải trọng

PROCESS
Kiểm tra

OUTPUT
Thông báo

1.2.10. 1.2.7 Chức năng Tình huống khẩn cấp
INPUT
Phím bấm khẩn cấp

PROCESS
Bấm

OUTPUT
Đèn báo hiệu

6

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012

1.3.

Thiết kế chương trình
Hàm main

Hàm Dichchuyen()

1.4.

Hàm xử lý
XuLyDC()

Hàm Ve_TM()

Các hàm floor1()
floor2() floor3()
floor4() floor5()

Thiết kế dữ liệu

Nội dung

Kiểu

Kích thước

Mã thang máy
Mã tầng
Số người dùng
Vị trí thang máy

Int
Int
Int
Int

2 byte
2 byte
2 byte
2 byte

Các giá trị có
nghĩa
1 và 2
1; 2; 3; 4 và 5
<=5
1; 2; 3; 4;5

Ghi chú

7

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
1.5.

Thiết kế giải thuật

CÀI ĐẶT CHƯƠNG TRÌNH
1.6.

Các kỹ thuật lập trình đã áp dụng

STT

Các kỹ thuật làm
việc với biến

Các kỹ thuật viết
mã chương trình
hiệu quả

Các kỹ thuật thiết

Mô tả kỹ thuật / quy tắc

Mô tả đối tượng áp dụng (hàm,
biến, biểu thức, câu lệnh) và
phạm vi áp dụng

1.

Đặt tên biến: chữ cái đầu tiên
trong tên biến viết thường,
ngắn gọn, có tính chất gợi nhớ

Các biến chỉ trạng thái của thang
máy (biến chỉ số tầng, biến lưu
giá trị nút bấm,…) trong cấu trúc
dữ liệu của thang máy.và trong
các hàm xử lý công việc của
thang máy (hàm xác định hướng
di chuyển của thang, hàm dịch
chuyển vị trí thang máy,…)

2.

Sử dụng các kiểu dữ liệu hợp
lý: chọn các kiểu dữ liệu sao
cho chương trình trở nên đơn
giản, khai bào hạn chế các giá
trị cùng kiểu, cho giá trị khởi
tạo.

Áp dụng cho các biến chạy (biến
đếm) trong các hàm con.

1.

Gióng hàng, đặt dấu đóng mở
ngoặc theo quy tắc thống nhất.

Áp dụng với tất cả các hàm con
và hàm chính trong chương trình.

2.

Sử dụng else if cho cấu trúc đa
lựa chọn

Áp dụng với các câu lệnh rẽ
nhánh trong chương trình chính
và các hàm con.

3.

Trình bày chương trình dễ đọc,
dễ hiểu, chú thích rõ ràng

Chú thích trước mỗi hàm con,
trước các lệnh phức tạp, các biến

1.

Modul hóa chương trình

Chia chương trình ra thành các
hàm con (hàm xác định hướng,

Áp dụng cho các giá trị tối đa
(khởi tạo mặc định số tầng tối đa,
số bước di chuyển cho 1 tầng)

8

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
kế chương trình

hàm di chuyển,…)

Các kỹ thuật xây
dựng hàm/thủ tục

Các kỹ thuật bẫy
lỗi và lập trình
phòng ngừa

Phong cách lập
trình

1.7.
Chức
năng
(đánh
số
theo
menu

2.

Đơn giản hóa chương trình, lựa
chọn những cấu trúc dữ liệu
sao cho việc thiết kế giải thuật
là đơn giản nhất

Sử dụng kiểu int với các biến
đếm, các biến thể hiện lựa chọn.

1.

Cách đặt tên các hàm, chương
trình con nhất quán, ngắn gọn
và có tính chất gợi nhớ

Các chương trình con luôn được
đặt tên để có thể phản ánh rõ nhất
vai trò của chương trình con đó.

2.

Mỗi chương trình con đều có
một nhiệm vụ rõ ràng

Mỗi chương trình con thực hiện 1
nhiệm vụ riêng biệt.

1.

Bẫy lỗi, kiểm tra việc nhập dữ
liệu của người dung

Ở các lệnh để cho người dùng
nhập giá trị có thêm các lệnh để
kiểm tra đầu vào.

2.

Tạo giao diện rõ ràng

Khai báo các hàm con trước khi
sử dụng, phần khai báo biến tách
biệt với phần xử lý.

3.

Viết và kiểm thử từng thành
phần chương trình, mối quan
hệ của các thành phần

Kiểm thử từng chương trình con
sau khi viết.

1.

Phong cách lập trình nhất quán

Cách bố trí các hàm, sử dụng biến
nhất quán trong toàn chương
trình.

Kết quả chương trình

Chữ ký (Khai báo chức năng)

Tình trạng khi nộp bài
( 0 : chưa làm
1 : chưa chạy
2 : chạy thông và chưa bắt

Người thực hiện : ai
làm gì
(X: cài đặt
Y: kiểm thử)
9

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
từ 114)

hết ngoại lệ
3: chạy thông và có bắt hết
ngoại lệ)

1

Nhận yêu cầu ngoài thang

3

Thành: cài đặt
Thuận: kiểm thử

2

Nhận yêu cầu trong thang

3

Quý: cài đặt
Quyền: kiểm thử

3

Lựa chọn thang hợp lý

3

Quý: cài đặt
Thuận:Kiểm thử

4

Di chuyển thang

3

Thành: cài đặt
Thuận:Kiểm thử

5

Đóng mở cửa

3

Thành: cài đặt
Quyền: kiểm thử

6

Cảnh báo khi quá tải

3

Quý: cài đặt
Thuận: kiểm thử

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Ưu điểm:
-

Mô tả được cấu trúc ngoài thang trong thang.
Chạy khá giống với thang máy thật.
10

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
Nhược điểm:
-

Chưa liên kết tốt 2 thang máy với nhau.
Thang máy làm việc chưa tối ưu.
Viết code còn nhiều hạn chế và gặp nhiều sai sót.

Hướng phát triển:
Phương hướng ban đầu là khắc phục những nhược điểm trên. Một số việc cần làm để khắc phục:
-

Nâng cao kĩ thuật lập trình để có được một phong cách lập trình chuyên nghiệp.
Tìm hiểu và nêu ra phương hướng để giải quyết các mô phỏng thiếu sót.

TÀI LIỆU THAM KHẢO
[1]

Slide môn Kỹ thuật lập trình của cô Vũ Thị Hương Giang.

[2]

Giáo trình Tin học đại cương của thầy Tô Văn Nam.

[3]

Giáo trình Câú trúc dữ liệu và giải thuật của thầy Nguyễn Đức Nghĩa

[4]

Các tài liệu tham khảo trên mạng

11

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012

12

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54


Kỹ thuật lập trình 2012
.

13

Nhóm PE14 - Lớp Cơ Khí Hàng Không-CLC- K54



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×