Chương 18
MÃ HOÁ CHƯƠNG TRÌNH
I. CƠ SỞ CHỌN NGÔN NGỮ, PHƯƠNG THỨC LẬP TRÌNH
V
ới yêu cầu bài toán đặt ra ở trên và phương hướng giải
quyết bài toán cũng như cách phân tích thiết kế chương trình đã
nêu, ch
ọn ngôn ngữ lập trình Visual Basic 6.0 (VB6.0) .
Dùng VB6 là cách nhanh và t
ốt nhất để lập trình cho
Microsoft Windows. Cho dù b
ạn là chuyên nghiệp hay mới mẻ đối
với chương trình Windows, VB6 sẽ cung cấp cho bạn một bộ công
cụ hoàn chỉnh để đơn giản hóa việc triển khai lập trình ứng dụng
cho MSWindows.
Trong khi các ngôn ng
ữ lập trình khác như Visual C++ và
Visual J++ là ngôn ngữ lập trình hướng đối tượng thì VB6.0 là
ngôn ng
ữ lập trình có cấu trúc. Với ngôn ngữ VB6.0 ta sẽ dễ dàng
pháp tri
ển ứng dụng quản lý, hầu hết các giao diện đều trực quan,
dễ thiết kế, chúng cho phép thiết kế các Form hay các Control một
các tiện lợi, xuất và đọc tệp văn bản một cách dễ dàng. Ngoài ra,
VB6.0 được Microsoft hỗ trợ mạnh trong các sản phẩm của họ như
Micrsoft Excel, Microsoft Access…Thêm vào đó, phải kể đến sự
hỗ trợ đồ hoạ cực mạnh của VB6.0 thông qua đối tượng hiển thị đồ
hoạ VDRAW. Đây là một đối tượng hỗ trợ đồ hoạ với các phương
thức và thuộc tính đơn giản, dễ hiểu … Đặc biệt hơn, nó quản lý
đối tượng đồ hoạ như trong phần mềm AutoCAD của hãng
Autodesk giúp cho nh
ững lập trình viên khoa công nghệ thông tin
trường đại học Xây Dựng c
àng cảm thấy dễ dàng hơn trong việc sử
dụng nó. Và cũng phải kể đến tính năng xuất sang AutoCAD của
đối tượng này, đây là ưu điểm giúp cho những đối tượng đồ hoạ
trong chương tr
ình có thể được kết xuất sang môi trường
AutoCAD, phục vụ người kỹ sư kết cấu những công việc khác mà
chương trình chưa làm được , chẳng hạn như chèn ảnh, in ấn, chèn
thư viện mẫu…
Mặt khác, giao diện của bất kỳ một ứng dụng nào đều là một
yếu tố rất quan trọng đòi hỏi người thiết kế chương trình phải có sự
thiết kế hợp lý, bố cục vừa mắt và thân thiện với người sử dụng.
VB 6.0 cho phép người thiết kế chương tr
ình có thể tích hợp vào
trong d
ự án của mình những bộ công cụ khác nhau thông qua việc
khai báo các thành phần OCX, giúp cho việc thiết kế giao diện
chương tr
ình đơn giản hơn mà mang lại hiệu quả cao hơn.
Một yếu tố nữa khiến VB 6.0 được lựa chọn là ngôn ngữ viết
chương tr
ình vì trong quá trình thiết kế, người dùng có thể sử dụng
font (phông chữ) của hệ thống hoặc của các công cụ trong VB 6.0
để hiển thị ngôn ngữ, và do đó, ngôn ngữ tiếng Việt của chúng ta
cũng sẽ được áp dụng trong việc thiết kế các ứng dụng trên nền VB
6.0.
Cuối cùng, ngôn ngữ VB 6.0 được lựa chọn bởi đây là ngôn
ng
ữ dễ đọc và dễ hiểu với các từ khoá tiếng Anh thông dụng, giúp
cho quá trình tiếp thu phương thức lập trình cũng đơn giản hơn,
thuận lợi hơn.
Các lý do trên, tựu chung lại làm nên lý do chọn ngôn ngữ
VB 6.0 làm ngôn ngữ lập trình xây dựng nên chương trình đã được
định trước.
II. CƠ SỞ
DỮ LIỆU CỦA CHƯƠNG TRÌNH
1. Dữ liệu vào
a. Vật liệu:
Móng băng mà ta đang xét là móng bêtông cốt thép cho nên
d
ữ liệu nhập vào là nhóm thép và mác bêtông. Ứng với mỗi giá trị
nhóm thép và mác bêtông ta có các cường độ của vật liệu. Do vậy,
các biến lưu giữ vật liệu trong chương trình được mô tả bởi một
biến bản ghi như sau:
Type Kieu_thep
nhom As String ‘ Tên cường độ cốt
thép
Ra As Single ‘ Cường độ chịu kéo
Rac As Single ‘ Cường độ chịu nén
End Type
Type Kieu_be_tong
Mac As String ‘ Tên mác bê tông
Rbn As Single ‘ Cường độ chịu nén
bêtông
Rbk As Single ‘ Cường độ chịu kéo
của bêtông
Eb As Single ‘ Module đàn hồi của
bêtông
End Type
Để chương trình có một thư viện về vật liệu như đã trình bày
ở trên thì ta phải tạo một cơ sở dữ liệu lưu các giá trị đó.
- Khai báo :
Public bThep(0 To 5) As Kieu_thep
Public bBetong(0 To 5) As Kieu_be_tong
Public Sub Vatlieu() ‘ Dùng để nạp thư
viện vật liệu
With bBetong(0)
.Mac = "200"
.Rbn = 900
.Rbk = 75
.Eb = 240000
End With
With bBetong(1)
.Mac = "250"
.Rbn = 1100
.Rbk = 88
.Eb = 265000
End With
With bBetong(2)
.Mac = "300"
.Rbn = 1300
.Rbk = 100
.Eb = 290000
End With
With bBetong(3)
.Mac = "400"
.Rbn = 1700
.Rbk = 120
.Eb = 330000
End With
With bBetong(4)
.Mac = "500"
.Rbn = 2150
.Rbk = 134
.Eb = 360000
End With
With bBetong(5)
.Mac = "600"
.Rbn = 2500
.Rbk = 145
.Eb = 380000
End With
With bThep(0)
.nhom = "AI"
.Ra = 23000
.Rac = 18000
End With
With bThep(1)
.nhom = "AII"
.Ra = 28000
.Rac = 22000
End With
With bThep(2)
.nhom = "AIII"
.Ra = 36000
.Rac = 28000
End With
With bThep(3)
.nhom = "CI"
.Ra = 20000
.Rac = 16000
End With
With bThep(4)
.nhom = "CII"
.Ra = 26000
.Rac = 21000
End With
With bThep(5)
.nhom = "CIII"
.Ra = 34000
.Rac = 27000
End With
End Sub
b. Đất nền:
Vì chương trình tính toán trong nền nhiều lớp nên với bất kỳ
một loại đất nào mà người dùng khai báo đều chứa các thông tin
giống nhau về tên và tính chất cơ lý của đất. Do đó, khai báo một
kiểu bản ghi như sau :
Public Type So_lieu_dat ‘ Dữ liệu đất
nền
s_Ten_lop As String
si_Chieuday As Single ‘ Chiều dày mỗi
lớp đất
si_DosauTB As Single ‘ Độ sâu trung
bình
si_Htren As Single ‘ Độ sâu cận
trên
si_Hduoi As Single ‘ Độ sâu cận
dưới
b_Loaidat As ‘ Loại đất
s_tdat As String ‘ Tên đất
s_Trangthai As String ‘ Trạng thái
của đất
si_Dosetdat As Single ‘ Độ sệt của
si_Dungtrongdat As Single ‘ Dung
trọng tự nhiên
si_Dungtrongriengdat As Single‘ Dung
trọng riêng
si_doam As Single ‘ Độ ẩm
si_gocmasat As Single ‘ Góc ma sát
trong
si_Xtinh As Single ‘ Kết quả xuyên
tĩnh
si_Xtchuan As Single ‘ Kết quả xuyên
tiêu chuẩn
si_LucdinhC As Single ‘ L
ực dính
E As Single ‘ Môđun đàn h
ồi
si_hesonohong As Single ‘ Hệ số nở
hông
si_beta As Single ‘ Hệ số điều
chỉnh
eo As Single ‘ Hệ số rỗng ở
trạng thái tự nhiên
ei(1 To 4) As Single ‘ Giá trị hệ số
rỗng
Pe(1 To 4) As Single
si_gamadaynoi As Single ‘ Dung
trọng đẩy nổi
si_doanngapnc As Single ‘ Đoạn ngập
nước
Gamatt As Single ‘ Dung trọng tính
toán
Ti As Single ‘ Lực ma sát đơn
vị
Ri As Single ‘ Lực chống đơng
vị
Rtc As Single ‘ Cường độ tiêu
chuẩn của đất nền
si_xichmaMax As Single ‘ Các giá trị
ứng suất
si_xichmaMin As Single
si_xichmaTB As Single
si_xichmaBT As Single
si_xichmaGL As Single
End Type
Và các biên các lớp đất trong nền công trình được khai báo là
m
ột mảng một chiều:
Lopdat(1 To 100) As So_lieu_dat