xem
video trên youtube, nơi chứa rất nhiều rất nhiều các bài giảng của các
trường đại học lớn trên thế giới như MIT, Stanford...
ví dụ như bạn nào không phải dân cs mà muốn học về cs thì mình nghĩ nên thử xem qua cái chương trình http://see.stanford.edu/default.aspx.
nó có dạy miễn phí 3 khóa (rất hay!) giới thiệu về cs, xoay quanh các
kỹ năng lập trình, phát triển phần mềm, cấu trúc dữ liệu và giải
thuật...
ngoài ra nó còn có 3 khóa về trí tuệ nhân tạo, dành cho
bạn nào muốn tìm hiểu về robot, xử lý ngôn ngữ tự nhiên và học máy. tất
cả đều là những ngành học rất thú vị, có nhiều ứng dụng trong thực tế.
thậm chí là nếu không có ứng dụng gì cho công việc, thì mình nghĩ cũng
nên học cho bớt http://vnhacker.blogspot.com/2008/05/i-am-that-stupid.html :-p.
mình
đang theo học một cái khóa ở đây, thấy cách làm của chương trình này
hay hơn OpenCourseWare của MIT, bởi nó có chiếu video, làm cho mình có
cảm giác giống như đang ở trong lớp học đàng hoàng, rất là tương tác.
(cập nhật: mình mới phát hiện ra là MIT cũng cung cấp http://www.youtube.com/profile?user=MIT&view=playlists)
ngoài
mấy cái khóa trên, Stanford còn có cung cấp các khóa về vật lý hiện đại
(mình rất thích học cái này), hóa học và cơ khí...xem danh sách đầy đủ
các video ở http://www.youtube.com/profile?user=stanforduniversity&view=playlists.
mình
nghĩ học kiểu này là hiệu quả nhất trong các kiểu tự học. lợi ích lớn
nhất là chương trình học nó giúp mình định hướng và tập trung vào việc
học, không bị sa đà vào những cái không cần thiết hay lang mang quá
nhiều thứ cùng một lúc, điều mà mình thường gặp phải khi tự học một đề
tài mới nào đó.
vả lại còn gì sướng bằng khi được mấy ông giáo
sư của mấy trường lớn thế này giảng cho nghe. rồi còn có bài tập về nhà,
sách cần phải đọc hay những khuyến cáo về việc nên học gì tiếp
theo...quá đủ để mà học cho tốt, chỉ yêu cầu duy nhất là phải thực sự
tập trung.
mà giờ mình mới biết, mấy ông giáo sư Mỹ giảng bài
cực kỳ hài hước, ngồi nghe mà cứ 5'-10' là cười rần rần y như coi hài
kịch :-p. chỉ có điều mấy ổng nói hơi nhanh nên gặp ông nào nói khó nghe
là coi như điếc luôn. nhưng cũng may là có transcript, nghe không kịp
thì đọc transcript vậy. hơ hơ nghe kiểu này hoài thì còn được cái
side-effect là mai mốt coi film trên cable tv khỏe re, khỏi cần phụ đề
:-p.
khi viết cái bài này, mình mới chợt nhớ đến cái blog http://freescienceonline.blogspot.com/ chuyên
sưu tầm các video hay về các đề tài khoa học. bạn nào hứng thú thì nên
xem qua. mình nghĩ đây là cách sử dụng máy tính và Internet hiệu quả
nhất, thay vì tốn hàng giờ ngồi chat chit linh tinh
Tim kiếm
Giáo trình Môn Visual Basic
Download giáo trình
Link dự phòng
Giáo trình Visual Basic này gốm các nội dung sau:
Các bạn có thể tải tài liệu môn học Visual Basic tại đây.
Download giáo trình
Link dự phòng
Bạn nào có thắc mắc gì hãy để lại dòng nhắn tại mục nhận xét nhé. Chúc các bạn học tốt môn này.
Link dự phòng
Giáo trình Visual Basic này gốm các nội dung sau:
1 Mục
lục
2 Làm quen với
visual basic
2.1.1 Viết ứng dụng
ban đầu
2.1.2 Xây dựng tính
năng Calendar
2.1.3 Thêm tính năng
Clock
2.2 Các tính năng
mới trong Visual basic
2.1 Khái quát vắn
tắt về Visual basic 6.0
2.2.2 Khai thác thế
mạnh của các điều khiển mở rộng
2.3 Làm việc với
môi trường lập trình trong Visual basic
2.3.1 Tìm hiểu các
phần của IDE
2.3.2 Thêm và xoá
các thanh công cụ trong IDE của Visual basic
2.3.3 Thêm các điều
khiển vào hộp công cụ
2.3.4 Định hướng
thông qua cửa sổ form và code
2.3.5 Quản lý ứng
dụng với project explorer
2.3.6 Cửa sổ
properties
2.3.7 Hiển thị IDE
2.3.8 Trợ giúp
3 Tìm hiểu
Visual basic 6
3.1 Thuộc tính
phương thức và sự kiện
3.1.1 Đối tượng
3.1.2 Thuộc tính
3.1.3 Phương thức
3.1.4 Sự kiện
3.1.5 Mối quan hệ
giữa phương thức, thuộc tính và sự kiện
3.1.6 Cửa sổ
Properties
3.1.7 Viết chương
trình sử dụng thuộc tính, phương thức và sự kiện
3.2 Làm việc với
một đề án
3.2.1 Định nghĩa
3.2.2 Cửa sổ Project
Explorer
3.2.3 Tạo đề án
3.2.4 Đổi thuộc tính
đề án
3.2.5 Lưu và đặt tên
đề án
3.2.6 Mở đề án có sẵn
3.2.7 Thêm xoá và
lưu tập tin trong đề án
3.2.8 Thêm điều
khiển vào đề án
3.2.9 Tạo tệp tin
EXE
3.2.10 Sửa đổi thuộc
tính đề án
3.3 Làm việc với
nhiều đề án
3.3.1 Sử dụng
Project Group
3.3.2 Thêm đề án vào
nhóm đề án
3.3.3 Xoá đề án
trong nhóm đề án
4 Làm việc với
các điều khiển
4.1 Các loại điều
khiển
4.1.1 Thao tác với
điều khiển
4.2 Các điều
khiển nội tại
4.2.1 Nút lệnh
4.2.2 Hộp văn bản
4.2.3 Điều khiển
thanh cuộn
4.2.4 Điều khiển
Timer
4.2.5 Điều khiển
nhãn
4.2.6 Checkbox:
4.2.7 Một số thuộc
tinh thông dụng:
4.2.8 4.2.9 Hộp danh
sách (Listbox).
4.3 Các điều
khiển M ới
5 Nhập môn lập
trình
5.1 Chuẩn lập
trình (Coding convention)
5.1.1 Coding
conventions
5.1.2 Form design
standard
5.1.3 Report design
standard (for Crystal Report)
5.1.4 Database
design standards
5.2 Thiết kế
trước khi viết chương trình
5.3 Các thao tác
thông dụng trong cửa sổ Code
5.3.1 Soạn thảo Code
5.3.2 Một số chức
năng tự động
5.4 Biến hằng và
các kiểu dữ liệu
5.4.1 Khai báo biến
5.4.2 Khai báo ngầm
5.4.3 Khai báo tường
minh
5.4.4 Khai báo biến
Static
5.4.5 Hằng
5.5 Hàm và thủ
tục
5.6 Cấu trúc điều
khiển
5.6.1 Cấu trúc chọn
5.6.2 Cấu trúc lặp
5.6.3 Làm việc với cấu
trúc
5.7 Gỡ rối chương
trình
5.7.1 Một số giải
pháp giảm lỗi
5.7.2 Gỡ rối
5.8 Bẫy lỗi
5.8.1 Lệnh On Error
5.8.2 Kết thúc bẫy
lỗi
6 Lập trình xử
lý giao diện
6.1 Menu
6.1.1 Dùng trình
soạn thảo menu để tạo menu
6.1.2 Viết chương
trình điều khiển menu
6.2 Hộp thoại
6.2.1 Thông
điệp(Message box)
6.2.2 Hộp nhập(Input
box)
6.2.3 Các hộp thoại
thông dụng(Common dialog)
6.2.4 Hộp thoại hiệu
chỉnh
6.3 Thanh công
cụ(ToolBar)
6.3.1 Trong ứng dụng
đơn giản
6.3.2 Nhúng đối
tượng
6.4 Thanh trạng
thái
6.5 Xử lý chuột
và bàn phím
6.5.1 sự kiện chuột
6.5.2 Hiệu chỉnh con
trỏ chuột
6.5.3 Sự kiện bàn
phím
7 Xử lý tập
tin
7.1 Mô hình
FSO(File System Object model)
7.2 Xử lý các tập
tin với các dòng lệnh và hàm I/O cổ điển
7.2.1 Các kiểu truy
cập tập tin
7.3 Các điều khiển
trên hệ thống tập tin
7.3.1 Hộp danh sách
ổ đĩa
7.3.2 Hộp danh sách
thư mục
7.3.3 Hộp danh sách
tập tin
7.4 Điều khiển
richtextbox
7.4.1 Phương thức
loadfile
7.4.2 Phương thức
savefile
8 Sử dụng DLL
và Windows API
8.1 DLL và cấu
trúc của Windows
8.1.1 Các hộp thoại
thông dụng
8.2 WIN API
8.3 Sử dụng API
8.3.1 Tìm kiếm API
8.3.2 Các DLL của
Windows
8.3.3 Gọi API
8.4 Dùng API khai
thác khả năng Multimedia
8.4.1 Lớp multimedia
9 Thêm trợ
giúp vào ứng dụng
9.1 Thêm hỗ trợ
cho Help
9.1.1 Thuộc tính
HelpFile
9.1.2 Thuộc tính
HelpContextID
9.2 Thêm hỗ trợ
cho WHAT’S THIS HELP
9.2.1 Kích hoạt
What’s This Help cho biểu mẫu
9.3 Cung cấp help
cùng với ứng dụng
9.3.1 Cung cấp WinHelp
9.3.2 Cung cấp HTML
Help
10 Lập trình
hướng đối tượng
10.1 Giới thiệu về
đối tượng
10.1.1 Đối tượng trong
VB
10.1.2 Modul Lớp
10.1.3 Tham số tuỳ
chọn
10.1.4 Sự kiện của lớp
10.1.5 Huỷ đối tượng
10.2 Biến đối tượng
10.2.1 Tạo điều khiển
lúc thi hành
10.2.2 Sự kiện của
mảng điều khiển
10.2.3 Quản lý điều
khiển như biến đối tượng
10.2.4 Khai báo biến
đối tượng
10.3 Tập hợp
10.3.1 Thuộc tính
Controls
10.3.2 Xác định điều
khiển trên biểu mẫu
10.4 Biểu mẫu MDI
10.4.1 Biểu mẫu con
(Child Form)
10.4.2 Tạo Instance
của biểu mẫu
10.4.3 Xác định biểu
mẫu
10.4.4 Tạo danh sách
cửa sổ
11 Công cụ trong
VB6
11.1 ADD-INS
11.2 Các công cụ
trong ADD-INS
11.2.1 Trình cài đặt
ứng dụng
11.2.2 Trình đối tượng
dữ liệu tự động
11.2.3 Trình xây dựng
dữ liệu tự động
11.2.4 Trình thiết kế
Add-ins tự động
11.2.5 Trình thiết kế
tự động
11.2.6 Tiện ích xây
dựng lớp
11.2.7 Trình tạo thanh
công cụ tự động
11.3 Trình đóng gói
và triển khai ứng dụng
11.3.1 Phát hành ứng
dụng
11.3.2 Trình đóng gói và
triển khai ứng dụng
11.3.3 Mở trình đóng
gói và triển khai trong VB
11.3.4 Mở trình đóng
gói và triển khai như một ứng dụng độc lập.
11.3.5 Thi hành Wizard
dưới chế độ silent
11.3.6 Setup toolkit
11.4 Bài tập
12 Những khái
niệm cơ bản về CSDL
12.1 Cơ sở dữ liệu
là gì?
12.1.1 Bộ máy (Engine)
cơ sở dữ liệu là gì?
12.1.2 Bản và trường
12.1.3 Recordset là gì
?
12.1.4 Các kiểu cơ sở
dữ liệu
12.1.5 Tạo lược đồ cơ
sở dữ liệu
12.1.6 Dùng Visual
Basic để tạo một cơ sở dữ liệu
12.1.7 Các mối quan hệ
12.1.8 Chuẩn hoá
12.2 Sử dụng cửa sổ
xem dữ liệu
12.3 Tạo trình
thiết kế môi trường dữ liệu
12.3.1 Tạo một giao
diện người sử dụng với thiết kế DATAENVIRONMENT
12.4 Sử dụng điều
khiển dữ liệu để tạo giao diện người sử dụng
12.4.1 Kết nối với một
cơ sở dữ liệu và làm việc với các mẩu tin
12.4.2 Tạo một giao
diện người sử dụng cơ bản
12.4.3 Thao tác trên
các mẩu tin thông qua điều khiển ADO Data
12.4.4 Các thuộc tính
quan trọng khác của điều khiển ADO DATA
12.5 Tổng kết
12.6 Hỏi và Đáp
13 Các đối tượng
truy cập dữ liệu
13.1 Sử dụng mô
hình đối tượng DAO
13.1.1 Lập trình với
đối tượng
13.1.2 Sử dụng điều
khiển DAO Data
13.1.3 Sử dụng thuộc
tính Connect của điều khiển DAO Data để truy cập nguồn dữ liệu bên ngoài
13.2 Sử dụng DAO để
làm việc với dữ liệu
13.2.1 Dùng đối tượng
DataBase để kết nối với một CSDL
13.2.2 Sử dụng đối
tượng Recordset
13.2.3 Chỉ ra các tuỳ
chọn cho Recordset
13.3 Sử dụng đối
tượng Field để thao tác với các trường
13.4 Sửdụng các
phương thức duyệt với đối tượng Recorset
13.4.1 Sử dụng BOF và
EOF để duyệt qua Recordset
13.4.2 Dùng BOF và EOF
để xác định một Recordset có rỗng hay không
13.4.3 Dùng thuộc tính
RecordCout để xác định số mẩu tin trong một recordset
13.4.4 Dùng phương
thức Edit để sửa đổi giá trị trong một mẩu tin
13.4.5 Sử dụng phương
thức AddNew và Update để tạo mẩu tin mới
13.4.6 Sử dụng
AppendChunk để nối dữ liệu vào một trường nhị phân
13.4.7 Sử dụng phương
thức Close để đóng Recordset
13.5 Tìm kiếm dữ
liệu trong Recordset và bảng
13.5.1 Sử dụng phương
thức Find để định vị mẩu tin trong một recordset
13.5.2 Sử dụng phương
thức Seek để thi hành tìm kiếm theo chỉ mục
13.5.3 Lặp qua suốt
tập hợp Indexes của TableDef
13.5.4 Sử dụng thuộc
tính Bookmark để ghi nhớ vị trí trong một Recordset
13.5.5 sử dụng tập hợp
Errors và đối tượng Error để xử lý lỗi
13.6 Tạo đối tượng
để thao tác trên cấu trúc của một CSDL
13.6.1 Tạo một CSDL
13.6.2 Sử dụng đối
tượng TableDef để thao tác với bảng
13.7 Làm việc với
tài liệu và nơi chứa CSDL
13.8 Tạo và sử dụng
các thuộc tính hiệu chỉnh của đối tượng DataBase
13.9 Tổng kết
13.10 Hỏi và đáp
14 Thiết lập báo
cáo và Xuất thông tin
14.1 Sử dụng thiết
kế DataReport
14.1.1 Thiết kế với
DataReport
14.1.2 Xem và xuất
DataReport
14.2 Sử dụng Microsoft
Access để làm báo cáo
14.2.1 Thi hành báo
cáo của Access từ Visual Basic
14.3 Sử dụng
Crystal report để lập báo cáo
14.3.1 Cài đặt Crystal
Reports
14.3.2 Dùng Crystal
Reports tạo báo cáo
14.3.3 Thi hành báo
cáo trong ứng dụng với điều khiển ActiveX
của Crystal Reports
14.3.4 Sử dụng bản mới
hơn của Crystal Reports
15 ODBC và các
đối tượng dữ liệu từ xa
15.1 Định cấu hình
và sử dụng ODBC
15.1.1 Kiến trúc của
ODBC
15.1.2 Tạo nguồn dữ
liệu
15.1.3 Truy cập nguồn
dữ liệu với điều khiển DAO DATA và ODBCDIRECT
15.2 Truy cập dữ
liệu dùng điều khiển dữ liệu từ xa
15.2.1 Sử dụng RDC
15.3 Sử dụng RDO
trong chương trình
15.3.1 Quy định thuộc
tính bộ máy cơ sở dữ liệu dùng đối tượng RDOENGINE.
15.3.2 Truy cập môi trường
đối tượng rdoEnvironment
15.3.3 Thiết lập kết nối
dùng đối tượng rdoConnection
15.3.4 Đáp ứng sự kiện
trong RDO
15.4 Tạo kết nốI với
trình thiết kế uerconnecttion
15.5 Truy cập truy
vấn với trìng thiết kế UserConnection
15.5.1 Gọi thủ tục
chứa sẵn trong một trình thiết kế UserConnection
15.5.2 Dùng Microsotf
Query để xây dựng chuỗi SQL trong trình thiết kế UserConnection.
15.6 Sử dụng dữ liệu
với đối tượng rdorerultset
15.7 Thi hành truy
vấn với đối tượng rdoQuery
16 Truy cập cơ
sở dữ liệu với lớp
16.1 Làm việc với
lớp và đối tượng
16.1.1 Tạo cây phân
nhánh lớp với tiện ích xây dựng lớp
16.1.2 Sử dụng biểu
mẫu như lớp
16.2 Tạo Intance
bội cho biểu mẫu
16.2.1 Sử dụng lớp và
đối tượng trong truy cập cơ sở dữ liệu
16.3 Tạo các lớp
cần sử dụng dữ liệu
16.3.1 Tạo lớp xuất dữ
liệu
16.3.2 Triển khai lớp
thành Active Server
16.4 Tổng kết
17 Truy cập dữ
liệu từ xa
17.1 Client /
Server và các thành phần
17.1.1 Cấu trúc
Cilent/Server Three- Tier
18 Đối tượng dữ
liệu ActiveX
18.1 Xây dựng ứng
dụng Visual basic với ADO
18.1.1 Tìm hiểu cấu
trúc OLE DB / ADO
18.1.2 Cài đặt và
thiết lập tham chiếu đến ADO trong ứng dụng Visual basic
18.1.3 Sử dụng ADO với
các thư viện đối tượng truy cập dữ liệu khác
18.1.4 Dùng đối tượng
connection của ADO để kết nối với nguồn dữ liệu
18.1.5 Làm việc với
con trỏ
18.1.6 Khoá bản ghi
trong ADO
18.1.7 Sử dụng đối
tượng Recordset của ADO để thao tác với dữ liệu
18.1.8 Tạo Recordset
ngắt kết nối
18.2 Sử dụng dịch
vụ dữ liệu từ xa của ADO
Download giáo trình
Link dự phòng
Bạn nào có thắc mắc gì hãy để lại dòng nhắn tại mục nhận xét nhé. Chúc các bạn học tốt môn này.
Đề cương ôn tâp môn Pascal
1.Viết chương trình tìm các số nguyên tố nhỏ hơn n cho trước, với n nhập từ bàn phím
2. Viết chương trình tính tổng
S= 1+ x/1!+x^2/2!+x^3/3!+...+x^n/n! : x>0,n nhập từ bàn phím
3. Nhập ma trận cấp MxN. In ma trận đó ra màn hình và tính tổng của mỗi hàng, mỗi cột của ma trận
4. Nhập mảng MxN. In ra màn hình và tìm phần tử lớn nhất của mảng. cho biết chỉ số dòng và cột của phần tử đó
5. Nhập ma trận A cấp MxN. In ra ma trận A, tìm và đưa ra ma trận chuyển vị của ma trận A
6. Nhập vào 1 xâu kí tự. Kiểm tra tính đối xứng của xâu và đưa ra thông báo
7.Nhập vào xâu kí tự. Đếm số từ trong xâu và đưa kết quả ra màn hình(Giữa các từ cách nhau bởi 1 ký tự trống)
8.Nhập vào họ và tên 1 người với các ký tự viết thường. Đưa ra màn hình tên người đó với các kí tự đầu từ đã được viết hoa
9. Viết chương trình thực hiện các phép toán cộng, trừ, nhân, chia 2 phân số ( sử dụng cấu trúc Record)
10. Viết chương trình nhập vào danh sách 7 sinh viên với các thông tin sau: Họ tên, quê quán, giới tính, năm sinh, điểm 3 môn thi. Sắp xếp cà in ra màn hình theo thứ tự giảm dần của tổng điểm. Đưa ra màn hình danh sách các sinh viên có tổng điểm >20.
2. Viết chương trình tính tổng
S= 1+ x/1!+x^2/2!+x^3/3!+...+x^n/n! : x>0,n nhập từ bàn phím
3. Nhập ma trận cấp MxN. In ma trận đó ra màn hình và tính tổng của mỗi hàng, mỗi cột của ma trận
4. Nhập mảng MxN. In ra màn hình và tìm phần tử lớn nhất của mảng. cho biết chỉ số dòng và cột của phần tử đó
5. Nhập ma trận A cấp MxN. In ra ma trận A, tìm và đưa ra ma trận chuyển vị của ma trận A
6. Nhập vào 1 xâu kí tự. Kiểm tra tính đối xứng của xâu và đưa ra thông báo
7.Nhập vào xâu kí tự. Đếm số từ trong xâu và đưa kết quả ra màn hình(Giữa các từ cách nhau bởi 1 ký tự trống)
8.Nhập vào họ và tên 1 người với các ký tự viết thường. Đưa ra màn hình tên người đó với các kí tự đầu từ đã được viết hoa
9. Viết chương trình thực hiện các phép toán cộng, trừ, nhân, chia 2 phân số ( sử dụng cấu trúc Record)
10. Viết chương trình nhập vào danh sách 7 sinh viên với các thông tin sau: Họ tên, quê quán, giới tính, năm sinh, điểm 3 môn thi. Sắp xếp cà in ra màn hình theo thứ tự giảm dần của tổng điểm. Đưa ra màn hình danh sách các sinh viên có tổng điểm >20.
Giáo trình Nhận dạng và xử lý ảnh
Một số giáo trình tham khảo khác.
Khoa học nhận dạng và xử lý ảnh là một trong
những lĩnh vực có nhiều ứng dụng trong thực tiễn. Ngày nay có rất nhiều ứng dụng
cần đến thông tin hình ảnh như hệ thông tin văn phòng, các hệ bản đồ, hệ thông tin
địa lý, trong quân sự, y học... Việc xử lý dữ liệu ảnh bằng đồ họa đề cập đến các
ảnh nhân tạo. Mục đích chính đặt ra cho xử lý ảnh bao gồm:
Phần 1: Từ ảnh của đối tượng trong tự nhiên
thu lại thành ảnh số, sau đó qua các bước biến đổi để nâng cao chất lượng của ảnh
thu được nhiều thông tin hơn, có thể quan sát bằng mắt. Quá trình này là biến đổi
ảnh (Image transformation) hay làm đẹp ảnh (Image Enhancement).
Phần 2: Tự động nhận biết hoặc đánh giá nội dung
các ảnh. Quá trình nhận dạng ảnh (Patten Recognition) hay đoán nhận ảnh (Image Understanding).Các bạn có thể tham khảo tài liệu môn xử lý ảnh trong phần này:
Download tại đây.
Một số giáo trình tham khảo khác.
Giáo trình nhận dạng và xử lý ảnh - ĐH Hàng Hải
Nội dung tài liệu gồm các mục sau:
Chương 1 - TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ
1.1. Giới thiệu về xử lý ảnh
1.1.1. Xử lý ảnh số là gì
1.1.2. Lịch sử của xử lý ảnh
1.2. Các ứng dụng của xử lý ảnh
1.2.1. Ảnh gamma
1.2.2. Ảnh X quang
1.2.3. Ảnh trong dải nhìn thấy được và ảnh hồng ngoại
1.2.4. Ảnh trong dải sóng radio
1.3. Các bước cơ bản của xử lý ảnh
1.4. Một số khái niệm cơ bản về xử lý ảnh
1.4.1. Ảnh số là gì?
1.4.2. Phần tử ảnh
1.4.3. Mức xám
1.4.4. Độ phân giải của ảnh
1.4.5. Biểu diễn ảnh
1.4.6. Tăng cường, nâng cao chất lượng ảnh
1.4.7. Khôi phục ảnh
1.4.8. Biến đổi ảnh
1.4.9. Phân tích ảnh
1.4.10. Nhận dạng ảnh
1.4.11. Tra cứu ảnh
1.4.12. Nén ảnh
1.5. Một số quan hệ cơ bản giữa các điểm ảnh
1.5.1. Lân cận của điểm ảnh
1.5.2. Tính liền kề, tính liên thông, vùng và biên
1.5.3. Thuật toán tìm các thành phần liên thông
1.5.4. Độ đo khoản cách giữa các điểm
Câu hỏi ôn tập
Chương 2- THU NHẬN, SỐ HÓA, BIỂU DIỄN, LỮU TRỮ ẢNH
2.1. Cấu trúc mắt người
2.2. Sự hình thành ảnh trong mắt người
2.3. Ánh sáng và phổ điện từ của ảnh sáng
2.4. Cảm biến và thu nhận ảnh
2.4.1. Thu nhận ảnh sử dụng thiết bị cảm biến
2.4.2. Mô hình tạo ảnh đơn giản
2.5. Lấy mẫu và lượng hóa
2.5.1. Các khái niệm cơ bản trong lấy mẫu và lượng hóa
2.5.2. Biểu diễn ảnh số
2.5.3. Độ phân giải không gian và độ phân giải cấp xám
2.6. Các không gian màu thông dụng
2.6.1. Màu sắc
2.6.2. Tổng hợp màu
2.6.3. Không gian biểu diễn màu và hệ tọa độ màu
2.6.4. Một số kỹ thuật hiển thị màu
2.7. Một số mô hình và phương pháp biểu diễn ảnh
2.7.1. Mô hình Raster
2.7.2. Mô hình Vector
2.7.3. Một số phương pháp biểu diễn ảnh
2.8. Các loại định dạng tập tin cơ bản
2.8.1. Khái niệm chung
2.8.2. Quá trình đọc một tệp ảnh
Câu hỏi ôn tập
Chương 3 - NÂNG CAO CHẤT LƯỢNG ẢNH
3.1. Kiến thức cơ sở
3.2. Các toán tử xử lý điểm ảnh
3.2.1. Phép biến đổi âm bản
3.2.2. Phép biến đổi Log
3.2.3. Phép biến đổi lũy thừa
3.2.4. Các hàm biến đổi tuyến tính từng phần
3.3. Xử lý lược đồ mức xám
3.3.1. Cân bằng lược đồ mức xám
3.3.2. Biến đổi độ tương phản dựa trên biến đổi lược đồ mức xám
3.4. Lọc tuyến tính
3.5. Các bộ lọc không gian làm trơn
3.5.1. Lọc tuyến tính làm trơn
3.5.2. Lọc thống kê thứ tự
3.6. Các bộ lọc không gian tăng cường độ nét
3.6.1. Khái niệm bộ lọc dựa trên đạo hàm
3.6.2. Toán tử đạo hàm bậc nhất
3.6.3. Toán tử đạo hàm bậc hai
3.7. Cải thiện nâng cao chất lượng ảnh
3.6.1. Tăng cường ảnh sử dụng toán tử số học và logic
3.6.1.1. Phép trừ ảnh
3.6.1.2. Phép trung bình ảnh
3.6.2. Tăng cường biên ảnh
Bài tập
Chương 4 - KHÔI PHỤC ẢNH
4.1. Giới thiệu
4.2. Một số phương pháp khôi phục ảnh
4.2.1. Ước lượng sự xuống cấp
4.2.2. Làm giảm nhiễu cộng ngẫu nhiên
4.2.2.1. Bộ lọc Wiener
4.2.2.2. Các biến thể của bộ lọc Wiener
4.2.2.3. Xử lý ảnh thích nghi
4.2.2.4. Bộ lọc Wiener thích nghi
4.2.2.5. Phục hồi ảnh thích nghi dựa vào hàm rõ nhiễu
4.2.2.6. Phục hồi ảnh thích nghi nhậy biên
4.2.3. Giảm nhòe ảnh
Chương 5 - PHÂN TÍCH ẢNH
5.1. Trích chọn dấu hiệu đặc trưng của ảnh
5.1.1. Đặc trưng Topo
5.1.1.1. Lược đồ phân bố mức xám
5.1.1.2. Các vùng thuần nhất
5.1.2. Đặc trưng về hình dạng
5.1.2.1. Đặc trưng hình học
5.1.2.2. Đặc trưng độ lệch cơ sở
5.2. Xương và các kỹ thuật tìm xương
5.2.1. Giới thiệu
5.2.2. Tìm xương dựa trên làm mảnh
5.2.2.1. Sơ lược về thuật toán làm mảnh
5.2.2.2. Một số thuật toán làm mảnh
5.2.3. Tìm xương không dựa trên làm mảnh
5.2.3.1. Khái quát về lược đồ Voronoi
5.2.3.2. Trục trung vị Voronoi rời rạc
5.2.3.3. Xương Voronoi rời rạc
5.2.3.4. Thuật toán tìm xương
5.3. Phát hiện và trích chọn biên ảnh
5.3.1. Giới thiệu
5.3.2. Các phương pháp phát hiện biên trực tiếp
5.3.2.1. Kỹ thuật phát hiện biên Gradient
5.3.2.1.1. Kỹ thuật Prewitt
5.3.2.1.2. Kỹ thuật Sobel
5.3.2.1.3. Kỹ thuật la bàn
5.3.2.2. Kỹ thuật phát hiện biên Laplace
5.3.2.3. Kỹ thuật Canny
5.3.3. Các phương pháp phát hiện biên gián tiếp
5.3.3.1. Một số khái niệm cơ bản
5.3.3.2. Chu tuyến của một đối tượng
5.3.3.3. Thuật toán dò biên tổng quát
5.3.4. Phương pháp phát hiện biên dựa vào trung bình cục bộ
5.3.4.1. Biên và độ biến đổi về mức xám
5.3.4.2. Phát hiện biên dựa vào trung bình cục bộ
5.3.5. Phát hiện biên dựa vào các phép toán hình thái
5.3.5.1. Xấp xỉ trên và xấp xỉ dưới đối tượng ảnh
5.4. Phân vùng ảnh
5.4.1. Khái quát chung
5.4.2. Thuộc tính điểm ảnh, vùng ảnh
5.4.3. Phân vùng ảnh theo ngưỡng biên độ
5.4.4. Phân vùng ảnh theo miền đồng nhất
5.4.5. Phân vùng ảnh dựa vào phát triển vùng cục bộ
5.4.6. Phân vùng ảnh dựa trên hợp và tách vùng
5.4.7. Phân vùng ảnh dựa trên phân tích kết cấu
5.4.8. Phân vùng ảnh dựa trên sự phân lớp điểm ảnh
5.4.9. Phân vùng ảnh dựa vào lý thuyết đồ thị
5.4.10. Phân vùng ảnh dựa trên xử lý đa phân giải
Câu hỏi ôn tập
Chương 6 - NÉN ẢNH
6.1. Tổng quan về nén dữ liệu
6.1.1. Khái niệm về nén ảnh
6.1.2. Phân loại dư thừa dữ liệu
6.1.3. Phân loại phương pháp nén
6.1.4. Sơ đồ của quá trình nén ảnh dựa trên phép biến đổi ảnh
6.1.5. Ví dụ về phương pháp nén ảnh theo chuẩn JPEG
6.2. Phương pháp nén ảnh mã độ dài thay đổi
6.3. Phương pháp nén ảnh Huffman
6.3.1. Ý tưởng
6.3.2. Xây dựng cây mã Huffman
6.3.3. Sử dụng cây mã Huffman
6.3. Phương pháp nén ảnh LZW
6.3.1. Giới thiệu
6.3.2. Phương pháp
Chúc các bạn học tốt môn này.Một số giáo trình tham khảo khác.
Giáo trình nhận dạng và xử lý ảnh - ĐH Hàng Hải
Giáo trình ngôn ngữ hình thức và ôtômát
Có hai giáo trình các bạn có thể tham khảo cho môn ngôn ngữ hình thức và ôtômát
Download tại đây.
Chúc các bạn học tốt môn này.
Download tại đây.
Chúc các bạn học tốt môn này.
Giáo trình AutoCad
Các bạn có thể dùng tài liệu tham khảo môn AutoCad qua đường link này ( Click vào chữ Link này đểể tải tài liệu về máy )
Mọi liên hệ xin nhấp vào mục nhận xét.
Mọi liên hệ xin nhấp vào mục nhận xét.
Tài liệu môn truyền số liệu
Để tải tài liệu học môn Truyền số liệu các bạn có thể tải về từ các đường link dưới đây. Phần bài tập và câu hỏi ôn tập các bạn sẽ tải về sau.
Download1
Tài liệu 2
Có thắc mắc gì về môn học các bạn Click chuột vào mục nhận xét.
Chúc các bạn học tốt.
Download1
Tài liệu 2
Có thắc mắc gì về môn học các bạn Click chuột vào mục nhận xét.
Chúc các bạn học tốt.
Đề cương ôn tập
Đề cương ôn tập môn Pascal tập trung vào các nội dung sau:
- Cấu trúc rẽ nhánh. If ... then... else
- Cấu trúc lặp FOR .. TO .. DO, WHILE .. DO , REPEAT .. UNTIL
- Lệnh CASE .. OF
- Kiểu dữ liệu bản ghi.
- Hàm, thủ tục
- Ghi dữ liệu ra file.
Một bài kiểm tra sẽ giải quyết hai công việc. Mỗi công việc được viết trên một thủ tục. Công việc này sẽ được thực hiên khi người dùng chọn.
Đầu mỗi bài kiểm tra phải có ghi chú về tên sinh viên, lớp, đề thi số
Ví dụ:
Đề số 05
Viết một chương trình giải quyết các công việc sau:
1. Tính biểu thức: S = ax+ by
2. giải phương trình bậc 2 ax2 + bx +c = 0
Bài làm
{ Họ và Tên: Chương Thúy Quỳnh
Lớp : 37 CDTH
Đề Thi số: 05 }
Program de05;
{Uses CRT;}
var S,a,b :real;
Cv:byte;
{Lam cong viec 1: Tinh gia tri bieu thuc}
Procedure bieuthuc;
var x,y:integer;
Begin
Write('Nhap gia tri a: ');
Readln(a);
Write('Nhap gia tri x: ');
readln(x);
Write('Nhap gia tri b: ');
Readln(b);
Write('Nhap gia tri y: ');
readln(y);
S:= a*x+b*y;
Writeln('Gia tri bieu thuc la: ', s:15:3);
End;
{Lam cong viec 2: Giai phuong trinh bac 2}
Procedure GiaiPT;
Var Delta,c,x1,x2:real;
Begin
Write('Nhap gia tri a: ');
Readln(a);
Write('Nhap gia tri b: ');
Readln(b);
Write('Nhap gia tri c: ');
Readln(c);
If a <> 0 then
Begin
delta := sqr(b) - 4*a*c;
if delta < delta =" 0" x2=" ',X2:7:2);" b =" 0)">0) then Writeln('Phuong trinh vo nghiem')
else if (b=0) and (c=0) then Writeln('Phuong trinh vo so nghiem')
else Writeln('Phuong trinh co nghiem = ', -c/b:7:2);
End;
{Tao Menu}
Procedure Menu;
Begin
WriteLn;
Writeln;
Writeln('Ban chon cong viec');
Writeln('1 : Tinh bieu thuc S= ax +by ');
Writeln('2 : Giai phuong trinh bac hai ');
Writeln('3 : Thoat');
End;
Begin
{Clrscr;}
cv:=0;
While cv<>3 do {Lap den khi chon thoat}
Begin
menu; { Goi menu}
readln(cv);
Case cv of
1: bieuthuc;
2:giaiPt;
end;
end
end.
Click vao day de tai vidu
- Cấu trúc rẽ nhánh. If ... then... else
- Cấu trúc lặp FOR .. TO .. DO, WHILE .. DO , REPEAT .. UNTIL
- Lệnh CASE .. OF
- Kiểu dữ liệu bản ghi.
- Hàm, thủ tục
- Ghi dữ liệu ra file.
Một bài kiểm tra sẽ giải quyết hai công việc. Mỗi công việc được viết trên một thủ tục. Công việc này sẽ được thực hiên khi người dùng chọn.
Đầu mỗi bài kiểm tra phải có ghi chú về tên sinh viên, lớp, đề thi số
Ví dụ:
Đề số 05
Viết một chương trình giải quyết các công việc sau:
1. Tính biểu thức: S = ax+ by
2. giải phương trình bậc 2 ax2 + bx +c = 0
Bài làm
{ Họ và Tên: Chương Thúy Quỳnh
Lớp : 37 CDTH
Đề Thi số: 05 }
Program de05;
{Uses CRT;}
var S,a,b :real;
Cv:byte;
{Lam cong viec 1: Tinh gia tri bieu thuc}
Procedure bieuthuc;
var x,y:integer;
Begin
Write('Nhap gia tri a: ');
Readln(a);
Write('Nhap gia tri x: ');
readln(x);
Write('Nhap gia tri b: ');
Readln(b);
Write('Nhap gia tri y: ');
readln(y);
S:= a*x+b*y;
Writeln('Gia tri bieu thuc la: ', s:15:3);
End;
{Lam cong viec 2: Giai phuong trinh bac 2}
Procedure GiaiPT;
Var Delta,c,x1,x2:real;
Begin
Write('Nhap gia tri a: ');
Readln(a);
Write('Nhap gia tri b: ');
Readln(b);
Write('Nhap gia tri c: ');
Readln(c);
If a <> 0 then
Begin
delta := sqr(b) - 4*a*c;
if delta < delta =" 0" x2=" ',X2:7:2);" b =" 0)">0) then Writeln('Phuong trinh vo nghiem')
else if (b=0) and (c=0) then Writeln('Phuong trinh vo so nghiem')
else Writeln('Phuong trinh co nghiem = ', -c/b:7:2);
End;
{Tao Menu}
Procedure Menu;
Begin
WriteLn;
Writeln;
Writeln('Ban chon cong viec');
Writeln('1 : Tinh bieu thuc S= ax +by ');
Writeln('2 : Giai phuong trinh bac hai ');
Writeln('3 : Thoat');
End;
Begin
{Clrscr;}
cv:=0;
While cv<>3 do {Lap den khi chon thoat}
Begin
menu; { Goi menu}
readln(cv);
Case cv of
1: bieuthuc;
2:giaiPt;
end;
end
end.
Click vao day de tai vidu
Tài liệu Môn Pascal
Môn Pascal chúng ta đã học gần hết phần lý thuyết. Để thuận lợi cho việc ôn tập, cũng như làm bài tập nhóm. Tôi up tài liệu phần lý thuyết, và một số bài tập để chúng ta tham khảo, ôn tập.
Tài liệu về bài giảng chúng ta có thể tải tại Đường link
Hoặc chúng ta có thể tham khảo giáo trình này
Tài liệu lý thuyết và bài tập ta tải tại đây
Các bạn có thắc mắc gì hoặc muốn đề suất vấn đề gì xin Click vào từ Đăng một nhận xét Sau đó gõ vào nhận xét của mình.
Thân mến.
Tài liệu về bài giảng chúng ta có thể tải tại Đường link
Hoặc chúng ta có thể tham khảo giáo trình này
Tài liệu lý thuyết và bài tập ta tải tại đây
Các bạn có thắc mắc gì hoặc muốn đề suất vấn đề gì xin Click vào từ Đăng một nhận xét Sau đó gõ vào nhận xét của mình.
Thân mến.
Xác đinh mớn nước của tàu tại cảng tàu đến
I/ Yêu cầu:
Sử dụng bảng tính EXCEL để xây dựng chương trình giải bài toán xác định mớn nước của tàu tại cảng đến sau:
Dữ liệu nhập vào
- Mớn nước của tàu (da, df, d) trước khi xếp hàng.
- Tỷ trọng nước của vùng nước tàu đến.
- Hoàng độ trọng tâm tàu (XG).
- Chiều dài tính toán của tàu LBP
- Trích một phần bảng thủy tĩnh.
Yêu cầu cần kết quả:
Tính toán mớn nước mà tàu sẽ quan sát được tại nơi tàu đến.
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 38: Một tàu Chạy từ biển (SSW) có mớn nước df=12.35; da=12.75;d=12.55 vào vùng nước cảng có tỉ trọng 1.010 t/m3. Hãy tính toán mớn nước mà tàu sẽ quan sát được khi tàu vào cảng. Biết tàu có XG=-5.01m;LBP=210. Tham khảo bảng thuỷ tĩnh sau:
III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Đây là một dạng của bài toán tính toán mớn nước tàu sẽ thay đổi tuỳ thuộc vào tỷ trọng vùng nước của tàu đang đỗ.
Ý nghĩa của bài toán này là tính toán hàng xếp xuống tàu từ cảng xếp, đến cảng dỡ sao cho mớn nước của tàu tại cảng xếp và cảng dỡ không vượt quá mớn nước cho phép.
Để viết chương trình ta cần sử dụng các công thức sau:
- Công thức tính sự thay đổi mớn nước của tàu tại các vùng nước khác nhau:
Δd =
Trong đó:
D:là lượng dãn nước của tàu tại vùng nước ta đang đọc đươc mớn nước
TPC:số tấn làm thay đổi 1cm chiều chìm của tàu tại nơi ứng với D
g : tỷ trọng nước tại nơi tàu sẽ tới va ta muốn biết mớn nước của tàu
Chúng ta cũng có thể tham khảo công thức tính Displ của tàu tại vùng nước có tỷ trọng là g :
- Công thức tính hiệu số mớn nước:
- Công thức tính mớn nước tàu:
df = dtương đương -
da = df +Trim
dÅ =(da +df)/2
Trước khi thiết kế chương trình, ta phải nhập bảng thủy tĩnh vào một Sheet của File vào đặt tên Sheet đó là “Hydrostatic Table”
Có thể thiết kế chương trình như sau:

Các ô dành cho người dùng nhập dữ liệu là:
C4, E4, G4, C6, E6 và G6
Các ô xuất kết quả là: C12, E12 và G12
Sau đây là chương trình chính của bài toán:
C7 =(C4+E4+6*G4)/8 ‘ Tính mớn nước tương đương tại vùng biển
‘Tính Displ của tàu tương ứng với mớn nuớc tương đương
D7=VLOOKUP(C7,'Hydrostatic Table'!A1:I8,2)
‘ Tính TPC của tàu ứng với mớn nước tương đương đọc tại biển
E7=VLOOKUP(C7,'Hydrostatic Table'!A1:I8,6)
F7=(D7/(100*E7))*(1.025/C6-1) ‘ Tính lượng thay đổi mớn nước
‘Tính mớn nước tương đương mới của tàu tại vùng có tỷ trọng nước g
G7=F7+C7
‘Tính Displ của tàu tại vùng nước (cảng) có tỷ trọng nước g
C8=VLOOKUP(G7,'Hydrostatic Table'!A1:I22,2,1)
‘Tính XB của tàu tại vùng nước (cảng) có tỷ trọng nước g
D8=VLOOKUP(G7,'Hydrostatic Table'!A9:I22,3,1)
‘Tính XF của tàu tại vùng nước (cảng) có tỷ trọng nước g
E8=VLOOKUP(G7,'Hydrostatic Table'!A1:I22,4,1)
‘Tính Trim của tàu tại vùng nước có tỷ trong nước=C8*(ABS(E8)-ABS(D8))/(100*VLOOKUP(G7,'Hydrostatic Table'!A1:I22,5,1))
F8=C8*(ABS(E8)-ABS(D8))/(100*VLOOKUP(G7,'Hydrostatic Table'!A1:I22,5,1))
Kết quả tính toán
E12=G7-(((E6/2+E8)*F8)/E6) ‘Mớn nước df
C12=E12+F8 ‘Mớn nước da
G12=(C12+E12)/2 ‘Mớn nước dÅ
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.
Sử dụng bảng tính EXCEL để xây dựng chương trình giải bài toán xác định mớn nước của tàu tại cảng đến sau:
Dữ liệu nhập vào
- Mớn nước của tàu (da, df, d) trước khi xếp hàng.
- Tỷ trọng nước của vùng nước tàu đến.
- Hoàng độ trọng tâm tàu (XG).
- Chiều dài tính toán của tàu LBP
- Trích một phần bảng thủy tĩnh.
Yêu cầu cần kết quả:
Tính toán mớn nước mà tàu sẽ quan sát được tại nơi tàu đến.
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 38: Một tàu Chạy từ biển (SSW) có mớn nước df=12.35; da=12.75;d=12.55 vào vùng nước cảng có tỉ trọng 1.010 t/m3. Hãy tính toán mớn nước mà tàu sẽ quan sát được khi tàu vào cảng. Biết tàu có XG=-5.01m;LBP=210. Tham khảo bảng thuỷ tĩnh sau:
III/ XÂY DỰNG CHƯƠNG TRÌNHTạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Đây là một dạng của bài toán tính toán mớn nước tàu sẽ thay đổi tuỳ thuộc vào tỷ trọng vùng nước của tàu đang đỗ.
Ý nghĩa của bài toán này là tính toán hàng xếp xuống tàu từ cảng xếp, đến cảng dỡ sao cho mớn nước của tàu tại cảng xếp và cảng dỡ không vượt quá mớn nước cho phép.
Để viết chương trình ta cần sử dụng các công thức sau:
- Công thức tính sự thay đổi mớn nước của tàu tại các vùng nước khác nhau:
Δd =
Trong đó:
D:là lượng dãn nước của tàu tại vùng nước ta đang đọc đươc mớn nước
TPC:số tấn làm thay đổi 1cm chiều chìm của tàu tại nơi ứng với D
g : tỷ trọng nước tại nơi tàu sẽ tới va ta muốn biết mớn nước của tàu
Chúng ta cũng có thể tham khảo công thức tính Displ của tàu tại vùng nước có tỷ trọng là g :
- Công thức tính hiệu số mớn nước:
- Công thức tính mớn nước tàu:
df = dtương đương -
da = df +Trim
dÅ =(da +df)/2
Trước khi thiết kế chương trình, ta phải nhập bảng thủy tĩnh vào một Sheet của File vào đặt tên Sheet đó là “Hydrostatic Table”
Có thể thiết kế chương trình như sau:

Các ô dành cho người dùng nhập dữ liệu là:
C4, E4, G4, C6, E6 và G6
Các ô xuất kết quả là: C12, E12 và G12
Sau đây là chương trình chính của bài toán:
C7 =(C4+E4+6*G4)/8 ‘ Tính mớn nước tương đương tại vùng biển
‘Tính Displ của tàu tương ứng với mớn nuớc tương đương
D7=VLOOKUP(C7,'Hydrostatic Table'!A1:I8,2)
‘ Tính TPC của tàu ứng với mớn nước tương đương đọc tại biển
E7=VLOOKUP(C7,'Hydrostatic Table'!A1:I8,6)
F7=(D7/(100*E7))*(1.025/C6-1) ‘ Tính lượng thay đổi mớn nước
‘Tính mớn nước tương đương mới của tàu tại vùng có tỷ trọng nước g
G7=F7+C7
‘Tính Displ của tàu tại vùng nước (cảng) có tỷ trọng nước g
C8=VLOOKUP(G7,'Hydrostatic Table'!A1:I22,2,1)
‘Tính XB của tàu tại vùng nước (cảng) có tỷ trọng nước g
D8=VLOOKUP(G7,'Hydrostatic Table'!A9:I22,3,1)
‘Tính XF của tàu tại vùng nước (cảng) có tỷ trọng nước g
E8=VLOOKUP(G7,'Hydrostatic Table'!A1:I22,4,1)
‘Tính Trim của tàu tại vùng nước có tỷ trong nước=C8*(ABS(E8)-ABS(D8))/(100*VLOOKUP(G7,'Hydrostatic Table'!A1:I22,5,1))
F8=C8*(ABS(E8)-ABS(D8))/(100*VLOOKUP(G7,'Hydrostatic Table'!A1:I22,5,1))
Kết quả tính toán
E12=G7-(((E6/2+E8)*F8)/E6) ‘Mớn nước df
C12=E12+F8 ‘Mớn nước da
G12=(C12+E12)/2 ‘Mớn nước dÅ
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.

Một số bài khác
BÀI TOÁN TỔNG HỢP
VỀ TÍNH TOÁN CHO CHUYẾN ĐI
I/ Dữ liệu cho để nhập vào gồm:
- Tàu đang ở cảng nào, hoặc đang ở đâu, sẽ nhận được kế hoạch thực hiện chuyến hành trình tiến theo số:
- Yêu cầu tàu hành trình đến cảng nào đó ( nơi nào đó ) để xếp hàng.
o Cho biết tên hàng
o Cho biết khối lượng hàng cần xếp xuống tàu (±ΔÔ%)
o Cho biết hệ số chất xếp của hàng.
o Cho biết định mức xếp hàng tại cảng xếp (MT/giờ).
o Mớn nước cho phép ở cảng xếp
- Yêu cầu tàu hành trình từ cảng xếp hàng đến cảng dỡ hàng.
o Cho biết tên cảng dỡ hàng
o Cho biết định mức dỡ hàng tại cảng dỡ.
o Cho biết mớn nước cho phép tại cảng dỡ.
- Cho biết một số định mức như sau:
o Định mức tiêu thụ trên biển: Dầu FO, DO, Nước ngọt.
o Có thể có một số tàu có thiết bị chương cất nước biển thành nước ngọt (nếu có sẽ cho biết công suất bao nhiêu MT/ngày).
o Định mức tiêu thụ trong cảng: Dầu FO, DO, Nước ngọt.
- Tất nhiên chúng ta tính toán được quãng đường tàu chạy từ cảng xếp hàng đến cảng dỡ hàng.
- Tốc độ trung bình của tàu.
- Cho biết, hay chúng ta tính toán được tàu ở cảng xếp hàng trước khi xếp hàng xuống tàu, các thông số về:
o Khối lượng và thể tích hàng hóa ở tàu (nếu có)
o Lượng nước ngọt
o Lượng dầu DO, FO, có loại tàu còn có thêm cả Lub.Oil
o Ballast
Tất nhiên bảng thủy tĩnh của tàu chúng ta cần phải nhập vào một Sheet nào đó.
II/ Yêu cầu:
1. Tính toán lượng nước ngọt đã tiêu thụ tại thời điểm các cảng với các điều kiện đến và đi của tàu
2. Tính toán lượng dầu FO, DO đã tiêu thụ tại thời điểm các cảng với các điều kiện đến và đi của tàu
3. Trình bày phân bổ nước Ballast của tàu với các thời điểm đến và đi tại mỗi cảng
4. Phương án phân bố hàng xuống tàu tại thời điểm xếp hàng đảm bảo các yêu cầu của chuyến đi
5. Trình bày cách thức tính toán mớn nước tàu tại các thời điểm đến và đi của mỗi cảng (Lấy tỷ trọng nước tại các cảng mà tàu đến trong GUIDE TO PORT ENTRY)
6. Tính toán ổn định và vẽ đường cong ổn định tĩnh, đánh giá ổn định theo tiêu chuẩn A.167
7. Nhập thông số tính toán vào bảng MEMO COND
8. Lập sơ đồ chất xếp hàng theo mẫu đã được hướng dẫn
Bài toán này có thể chia thành những bài toán nhỏ:
- Tính toán mớn nước của tàu, tính Trim
- Tính toán ổn định và vẽ đường cong ổn định tĩnh
Bài toán này có thể phát triển thêm số cảng nhận hàng, loại hàng nhận tại các cảng, dỡ tại nhiều cảng.
NHỮNG BÀI TOÁN VỀ THIÊN VĂN
Chúng ta có thể chia các bài toán thiên văn thành những dạng bài toán như đã trình bày ở chương 1. Nếu ta biết các công thức để giải một bài toán thiên văn cụ thể nào đó thì chúng ta sẽ chuyển được về lập trình bằng bảng tính EXCEL để giải tự động các loại bài toán dạng đó.
Ví dụ: BÀI TOÁN GẦN ĐÚNG VỀ MẶT TRỜI
- Tính gần đúng a , d ngày 1/5 hàng năm ?
- vào ngày này người quan sát đứng ở vĩ độ j =2007N thì độ cao qua kinh tuyến thượng của mặt trời (H ) là bao nhiêu ?
- Ở vị độ này vào ngày nào trong năm mặt trời ( ) đi qua thiên đỉnh ?
Bài giải
a, Tính a , d
- chọn mốc . ngày 21/3 thì (a = o , d = o )
- tính D d , D a d N
- số ngày từ 21/3 ¸ 1/5 là 41 ngày
vậy ta có D a = 41 x 10= 410 27023'
D d =( 31x004 ) + (10x003) =1504
- vậy d 1/5 =d mốc + D d = 00 + 1504 = 1504
- µ 1/5=a mốc+ D a =00 + 410 = 410
Þ d 1/5=1504 27023'
a 1/5=410
b , tính H d S
- H = 900 - a N + d N
thay số H = 900 - 2007 + 1504 = 8407
Þ H =8407
c , Tính ngày mặt trời qua thiên đỉnh
- điều kiện qua thiên đỉnh j =d và cùng tên
Þ d =2007
- chọn mốc 22/6 ( d = 2305 N )
- tính D d
- D d = d mốc-d tính =2305 - 2007 =208
- tính số ngày D T để D d = 208
D T = 208 : 001 = 28 ngày
- vậy gày mặt trời qua thiên đỉnh là
22/6 - 28ngày = 25/5
22/6 + 28ngày = 20/7
Ví dụ: BÀI TOÁN VỀ THỜI GIAN.(Chuyển đổi giờ với kinh tuyến khác nhau)
Tính giờ địa phương TL tại kinh độ ở = 112052'W biết giờ tàu tại ở=97042'W là 21h15m20S ngày hôm nay (29/12) .
- Tại lúc này giờ địa phương và giờ múi ở kinh độ ấy (ở=112052'W)
Bài giải :
- Tính giờ thế giới TG .
TG = TL + nW (n =97042'/15 = 7)
= 21h15m20S + 7 = 29h15m20S = 5h15m20S (ngày hôm sau tức là 30/12)
-Tính TL tại kinh độ ở = 115052'W
ta có TL = TG ± ởW
= 4h15m20s - 7h31m28s = 20h43m52s ( ngày 29/12)
- Tính D T = TL - TN (ở kinh độ ở = 115052'W)
TL = TG - nw = 4h15m20S - 8 = 20h15m20S ( ngày 29/12 )
* Vậy D T = 20h43m52s - 20h15m20S = 28h32m00s
BÀI 16
BÀI TOÁN VỀ THỦY TRIỀU
Đối với các bài toán thủy triều thường được giải như sau: Tra bảng (có nội suy), sau đó dùng phương pháp đồ thị để xác định các thông số. Tuy nhiên với những cảng có hiệu số giữa giờ nước lớn và giờ nước ròng (gNL – gNR >7 giờ) lớn hơn 7 hay những cảng nào độ chênh lệch về thời gian NL, NR được thay thế bằng chữ “p” thì có nghĩa là không có cảng chính tương ứng với nó và dự đoán thuỷ triều cho các cảng như vậy chỉ có thể thực hiện theo phương pháp hằng số điều hoà (NP 159).
Việc áp dụng máy tính vào các bài toán thủy triều được khuyến cáo nên dùng cho phương pháp hằng số điều hoà (NP 159). Phương pháp này được hướng dẫn chi tiết tại trang xviii, xix và trang xx gồm 34 bước trong các cuốn “Lịch thủy triều Anh”.
Để xây dựng chương trình tính toán thủy triều theo phương pháp hằng số điều hòa, chúng ta dựa vào bảng mẫu và các bước tính toán đó để tự mình có thể thiết kế được một chương trình.
VỀ TÍNH TOÁN CHO CHUYẾN ĐI
I/ Dữ liệu cho để nhập vào gồm:
- Tàu đang ở cảng nào, hoặc đang ở đâu, sẽ nhận được kế hoạch thực hiện chuyến hành trình tiến theo số:
- Yêu cầu tàu hành trình đến cảng nào đó ( nơi nào đó ) để xếp hàng.
o Cho biết tên hàng
o Cho biết khối lượng hàng cần xếp xuống tàu (±ΔÔ%)
o Cho biết hệ số chất xếp của hàng.
o Cho biết định mức xếp hàng tại cảng xếp (MT/giờ).
o Mớn nước cho phép ở cảng xếp
- Yêu cầu tàu hành trình từ cảng xếp hàng đến cảng dỡ hàng.
o Cho biết tên cảng dỡ hàng
o Cho biết định mức dỡ hàng tại cảng dỡ.
o Cho biết mớn nước cho phép tại cảng dỡ.
- Cho biết một số định mức như sau:
o Định mức tiêu thụ trên biển: Dầu FO, DO, Nước ngọt.
o Có thể có một số tàu có thiết bị chương cất nước biển thành nước ngọt (nếu có sẽ cho biết công suất bao nhiêu MT/ngày).
o Định mức tiêu thụ trong cảng: Dầu FO, DO, Nước ngọt.
- Tất nhiên chúng ta tính toán được quãng đường tàu chạy từ cảng xếp hàng đến cảng dỡ hàng.
- Tốc độ trung bình của tàu.
- Cho biết, hay chúng ta tính toán được tàu ở cảng xếp hàng trước khi xếp hàng xuống tàu, các thông số về:
o Khối lượng và thể tích hàng hóa ở tàu (nếu có)
o Lượng nước ngọt
o Lượng dầu DO, FO, có loại tàu còn có thêm cả Lub.Oil
o Ballast
Tất nhiên bảng thủy tĩnh của tàu chúng ta cần phải nhập vào một Sheet nào đó.
II/ Yêu cầu:
1. Tính toán lượng nước ngọt đã tiêu thụ tại thời điểm các cảng với các điều kiện đến và đi của tàu
2. Tính toán lượng dầu FO, DO đã tiêu thụ tại thời điểm các cảng với các điều kiện đến và đi của tàu
3. Trình bày phân bổ nước Ballast của tàu với các thời điểm đến và đi tại mỗi cảng
4. Phương án phân bố hàng xuống tàu tại thời điểm xếp hàng đảm bảo các yêu cầu của chuyến đi
5. Trình bày cách thức tính toán mớn nước tàu tại các thời điểm đến và đi của mỗi cảng (Lấy tỷ trọng nước tại các cảng mà tàu đến trong GUIDE TO PORT ENTRY)
6. Tính toán ổn định và vẽ đường cong ổn định tĩnh, đánh giá ổn định theo tiêu chuẩn A.167
7. Nhập thông số tính toán vào bảng MEMO COND
8. Lập sơ đồ chất xếp hàng theo mẫu đã được hướng dẫn
Bài toán này có thể chia thành những bài toán nhỏ:
- Tính toán mớn nước của tàu, tính Trim
- Tính toán ổn định và vẽ đường cong ổn định tĩnh
Bài toán này có thể phát triển thêm số cảng nhận hàng, loại hàng nhận tại các cảng, dỡ tại nhiều cảng.
NHỮNG BÀI TOÁN VỀ THIÊN VĂN
Chúng ta có thể chia các bài toán thiên văn thành những dạng bài toán như đã trình bày ở chương 1. Nếu ta biết các công thức để giải một bài toán thiên văn cụ thể nào đó thì chúng ta sẽ chuyển được về lập trình bằng bảng tính EXCEL để giải tự động các loại bài toán dạng đó.
Ví dụ: BÀI TOÁN GẦN ĐÚNG VỀ MẶT TRỜI
- Tính gần đúng a , d ngày 1/5 hàng năm ?
- vào ngày này người quan sát đứng ở vĩ độ j =2007N thì độ cao qua kinh tuyến thượng của mặt trời (H ) là bao nhiêu ?
- Ở vị độ này vào ngày nào trong năm mặt trời ( ) đi qua thiên đỉnh ?
Bài giải
a, Tính a , d
- chọn mốc . ngày 21/3 thì (a = o , d = o )
- tính D d , D a d N
- số ngày từ 21/3 ¸ 1/5 là 41 ngày
vậy ta có D a = 41 x 10= 410 27023'
D d =( 31x004 ) + (10x003) =1504
- vậy d 1/5 =d mốc + D d = 00 + 1504 = 1504
- µ 1/5=a mốc+ D a =00 + 410 = 410
Þ d 1/5=1504 27023'
a 1/5=410
b , tính H d S
- H = 900 - a N + d N
thay số H = 900 - 2007 + 1504 = 8407
Þ H =8407
c , Tính ngày mặt trời qua thiên đỉnh
- điều kiện qua thiên đỉnh j =d và cùng tên
Þ d =2007
- chọn mốc 22/6 ( d = 2305 N )
- tính D d
- D d = d mốc-d tính =2305 - 2007 =208
- tính số ngày D T để D d = 208
D T = 208 : 001 = 28 ngày
- vậy gày mặt trời qua thiên đỉnh là
22/6 - 28ngày = 25/5
22/6 + 28ngày = 20/7
Ví dụ: BÀI TOÁN VỀ THỜI GIAN.(Chuyển đổi giờ với kinh tuyến khác nhau)
Tính giờ địa phương TL tại kinh độ ở = 112052'W biết giờ tàu tại ở=97042'W là 21h15m20S ngày hôm nay (29/12) .
- Tại lúc này giờ địa phương và giờ múi ở kinh độ ấy (ở=112052'W)
Bài giải :
- Tính giờ thế giới TG .
TG = TL + nW (n =97042'/15 = 7)
= 21h15m20S + 7 = 29h15m20S = 5h15m20S (ngày hôm sau tức là 30/12)
-Tính TL tại kinh độ ở = 115052'W
ta có TL = TG ± ởW
= 4h15m20s - 7h31m28s = 20h43m52s ( ngày 29/12)
- Tính D T = TL - TN (ở kinh độ ở = 115052'W)
TL = TG - nw = 4h15m20S - 8 = 20h15m20S ( ngày 29/12 )
* Vậy D T = 20h43m52s - 20h15m20S = 28h32m00s
BÀI 16
BÀI TOÁN VỀ THỦY TRIỀU
Đối với các bài toán thủy triều thường được giải như sau: Tra bảng (có nội suy), sau đó dùng phương pháp đồ thị để xác định các thông số. Tuy nhiên với những cảng có hiệu số giữa giờ nước lớn và giờ nước ròng (gNL – gNR >7 giờ) lớn hơn 7 hay những cảng nào độ chênh lệch về thời gian NL, NR được thay thế bằng chữ “p” thì có nghĩa là không có cảng chính tương ứng với nó và dự đoán thuỷ triều cho các cảng như vậy chỉ có thể thực hiện theo phương pháp hằng số điều hoà (NP 159).
Việc áp dụng máy tính vào các bài toán thủy triều được khuyến cáo nên dùng cho phương pháp hằng số điều hoà (NP 159). Phương pháp này được hướng dẫn chi tiết tại trang xviii, xix và trang xx gồm 34 bước trong các cuốn “Lịch thủy triều Anh”.
Để xây dựng chương trình tính toán thủy triều theo phương pháp hằng số điều hòa, chúng ta dựa vào bảng mẫu và các bước tính toán đó để tự mình có thể thiết kế được một chương trình.
Vẽ đồ thị cánh tay đòn ổn định tĩnh
I/ Yêu cầu:
Sử dụng bảng tính EXCEL để xây dựng chương trình vẽ đồ thị cánh tay đòn ổn định tĩnh GZ:
Dữ liệu nhập vào
Trọng lượng tàu không D0.
Tổng trọng lượng.
Cao độ trọng tâm tàu không.
Cao độ tâm nghiêng ngang
Mô men
Trích một phần bảng thủy tĩnh.
Yêu cầu cần kết quả:
Tính toán và vẽ đồ thị cánh tay đòn ổn định tĩnh.
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 27: Một tàu dự kiến xếp hàng có tổng trọng lượng 52090MT sẽ gây ra một mômen thẳng đứng đối với keel là 574400 MT-m; Trọng lượng tàu không Do=1520MT,KGo=11.1m; Tổng trọng lượng các thành phần còn lại là 1200MT gây ra một mômen thẳng đứng là 10040MT-m;TKM=13.47m. Hãy vẽ đường cong cánh tay đòn ổn định tĩnh. Tham khảo bảng sau(KG giả định=10m).
Góc nghiêng
Giá trị hàm sin

III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Để viết chương trình ta cần sử dụng các bước sau:
Bước 1: Tính độ cao trọng tâm tàu KG
Tra các giá trị KN với đối số là Displ của tàu ở bảng CROSS CURVE
tại các góc nghiêng 10, 15, 20, 25 ... 90.
Bước 2: Lập bảng tính toán
Bước 3: Vẽ đồ thị.
Có thể thiết kế chương trình như sau:
Sử dụng bảng tính EXCEL để xây dựng chương trình vẽ đồ thị cánh tay đòn ổn định tĩnh GZ:
Dữ liệu nhập vào
Trọng lượng tàu không D0.
Tổng trọng lượng.
Cao độ trọng tâm tàu không.
Cao độ tâm nghiêng ngang
Mô men
Trích một phần bảng thủy tĩnh.
Yêu cầu cần kết quả:
Tính toán và vẽ đồ thị cánh tay đòn ổn định tĩnh.
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 27: Một tàu dự kiến xếp hàng có tổng trọng lượng 52090MT sẽ gây ra một mômen thẳng đứng đối với keel là 574400 MT-m; Trọng lượng tàu không Do=1520MT,KGo=11.1m; Tổng trọng lượng các thành phần còn lại là 1200MT gây ra một mômen thẳng đứng là 10040MT-m;TKM=13.47m. Hãy vẽ đường cong cánh tay đòn ổn định tĩnh. Tham khảo bảng sau(KG giả định=10m).
Góc nghiêng
Giá trị hàm sin

III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Để viết chương trình ta cần sử dụng các bước sau:
Bước 1: Tính độ cao trọng tâm tàu KG
Tra các giá trị KN với đối số là Displ của tàu ở bảng CROSS CURVE
tại các góc nghiêng 10, 15, 20, 25 ... 90.
Bước 2: Lập bảng tính toán
Bước 3: Vẽ đồ thị.
Có thể thiết kế chương trình như sau:

Các ô dành cho người dùng nhập dữ liệu là:
C4, E4, G4, I4, K4, C6, E6 và G6
Các ô xuất kết quả là: E12 và G12
Sau đây là chương trình chính của bài toán:
Trước hết ta nhập bảng Cross Curve vào một Sheet nào đó của File và đổi tên Sheet đó thành Cross Curve
C7=C4+E4+G4+I4+K4 ‘Tính Displ của tàu
C12=I8+K8+M8 ‘Tính tổng Mômen thành phần
E7=(C4*C6+C12)/C7 ‘Tính cao độ trọng tâm KG
K10=M4-E10 ‘Tính chiều cao thế vững GM
Nhập vào ô E12 giá trị góc là 5
Nhập vào ô E13 giá trị góc là 10.
Đánh dấu khối hai ô này sau đó thực hiện thao tác điền đầy dữ liệu đến hết ô E29.
G12=SIN(RADIANS(E12)) ‘Tính sin(góc)
sau đó điền đầy dữ liệu vào khối G12:G29
Tương tự như vậy ta tính giá trị KG*sin(góc) tại ô K12=$E$10*G12, sau đó tiến hành điền đầy dữ liệu đến hết ôK29
I12=vlookup(C7,’Cross Curve’!A1:T10,2) ‘Tính KN
làm tương tự như vậy cho đến hết khối I12:I29
M12=I12-K12 ‘Tính GZ
thao tác điền đầy dữ liệu để tính GZ hết khối M12:M29
Kết quả tính toán được tính ở khối E11:M29
Sau đó ta tiến hành Copy dữ liệu của khối E11:M29 sang một Sheet khác được đổi tên là “Do thi” theo cách Copy Special, rồi cho ẩn các hàng trung gian chỉ còn hai hàng là “Góc” và “GZ”. Tiến hành vẽ đồ thị với khối dữ liệu này theo dạng đồ thị “xy”.
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.

Độ cao trọng tâm, góc nghiêng ngang lớn nhất
Sử dụng bảng tính EXCEL để xây dựng chương trình giải bài toán xác định cao độ trọng tâm tàu và góc nghiêng ngang lớn nhất có thể khi dịch chuyển hàng:
Dữ liệu nhập vào
- Lượng dãn nước của tàu (Dispt).
- Cao độ tâm nghiêng ngang (KM).
- Cao độ trọng tâm tàu (KG)
- Khối lượng hàng chuyển dịch, cao độ trọng tâm mã hàng.
- Khoảng cách của khối hàng, khoảng cách của cần cẩu tàu (sử dụng cẩu tàu) so với đáy tàu (keel tàu).
- Khoảng cách dịch chuyển của khối hàng
Yêu cầu cần kết quả:
Tính toán cao độ trọng tâm của tàu khi nâng mã hàng.
Góc nghiêng lớn nhất khi mã hàng này dịch chuyển
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 23: Một tàu có lượng giãn nước D=10000MT; KM=25ft với chiều cao trọng tâm KG=20ft. Một mã hàng nặng ở hầm số 1 có trọng lượng 40MT với cao độ trọng tâm là KG1=10ft. Xác định cao độ trọng tâm của tàu khi mã hàng được nâng rời sàn hầm 3ft bởi cần cẩu đại của tàu mà cẩu này có đỉnh cần là 60 ft so với keel tàu. Hãy tính góc nghiêng lớn nhất khi dịch chuyển khối hàng này sang mạn có khoảng cách từ đỉnh cần tới mặt phẳng trục dọc là 50ft.
III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Đây là một dạng của bài toán tính toán góc nghiêng lớn nhất của tàu khi dịch chuyển một khối hàng từ vị trí này sang vị trí khác.
Để viết chương trình ta cần sử dụng các công thức sau:
- Công thức tính Mômen nghiêng ngang khi dịch chuyển một khối hàng
M= Phàng*d
Trong đó:
Phàng:Khối lượng mã hàng dịch chuyển
d: khoảng cách mà mã hàng sẽ dịch chuyển theo mặt phẳng
trục dọc tàu.
Có thể thiết kế chương trình như sau:
Các ô dành cho người dùng nhập dữ liệu là:
C5, E5, G5, I5, K5, C7 và E7
Các ô xuất kết quả là: E12 và H12
Sau đây là chương trình chính của bài toán:
‘Tính khoảng dịch chuyển trọng tâm tàu khi nâng mã hàng
C8 =I5*(C7-K5)/C5
D8=G5+C8 ‘ Tính cao độ trọng tâm tàu khi dịch chuyển mã hàng
E8=E5-D8 ‘ Tính chiều cao thế vững mới của tàu.
F8=I5*E7 ‘ Tính Mômen nghiêng ngang
G8=F8/(E8*C5) ‘ Tính Tag của góc nghiêng ngang
H8=ATAN(G8) ‘Tính Radians của góc nghiêng ngang
I8=DEGREES(H8) ‘Tính góc nghiêng ngang
E12=Trunc(I8) ‘Tính phần độ của góc nghiêng
H12=Round((I8-E12)*60,0) ‘Tính phần phút của góc nghiêng
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.
Dữ liệu nhập vào
- Lượng dãn nước của tàu (Dispt).
- Cao độ tâm nghiêng ngang (KM).
- Cao độ trọng tâm tàu (KG)
- Khối lượng hàng chuyển dịch, cao độ trọng tâm mã hàng.
- Khoảng cách của khối hàng, khoảng cách của cần cẩu tàu (sử dụng cẩu tàu) so với đáy tàu (keel tàu).
- Khoảng cách dịch chuyển của khối hàng
Yêu cầu cần kết quả:
Tính toán cao độ trọng tâm của tàu khi nâng mã hàng.
Góc nghiêng lớn nhất khi mã hàng này dịch chuyển
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 23: Một tàu có lượng giãn nước D=10000MT; KM=25ft với chiều cao trọng tâm KG=20ft. Một mã hàng nặng ở hầm số 1 có trọng lượng 40MT với cao độ trọng tâm là KG1=10ft. Xác định cao độ trọng tâm của tàu khi mã hàng được nâng rời sàn hầm 3ft bởi cần cẩu đại của tàu mà cẩu này có đỉnh cần là 60 ft so với keel tàu. Hãy tính góc nghiêng lớn nhất khi dịch chuyển khối hàng này sang mạn có khoảng cách từ đỉnh cần tới mặt phẳng trục dọc là 50ft.
III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Đây là một dạng của bài toán tính toán góc nghiêng lớn nhất của tàu khi dịch chuyển một khối hàng từ vị trí này sang vị trí khác.
Để viết chương trình ta cần sử dụng các công thức sau:
- Công thức tính Mômen nghiêng ngang khi dịch chuyển một khối hàng
M= Phàng*d
Trong đó:
Phàng:Khối lượng mã hàng dịch chuyển
d: khoảng cách mà mã hàng sẽ dịch chuyển theo mặt phẳng
trục dọc tàu.
Có thể thiết kế chương trình như sau:
Các ô dành cho người dùng nhập dữ liệu là:
C5, E5, G5, I5, K5, C7 và E7
Các ô xuất kết quả là: E12 và H12
Sau đây là chương trình chính của bài toán:
‘Tính khoảng dịch chuyển trọng tâm tàu khi nâng mã hàng
C8 =I5*(C7-K5)/C5
D8=G5+C8 ‘ Tính cao độ trọng tâm tàu khi dịch chuyển mã hàng
E8=E5-D8 ‘ Tính chiều cao thế vững mới của tàu.
F8=I5*E7 ‘ Tính Mômen nghiêng ngang
G8=F8/(E8*C5) ‘ Tính Tag của góc nghiêng ngang
H8=ATAN(G8) ‘Tính Radians của góc nghiêng ngang
I8=DEGREES(H8) ‘Tính góc nghiêng ngang
E12=Trunc(I8) ‘Tính phần độ của góc nghiêng
H12=Round((I8-E12)*60,0) ‘Tính phần phút của góc nghiêng
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.

Bài trắc nghiệm ôn tập DKTB ( Bổ sung)
1/. Ghi file hiện thời vào đĩa
a. File \ Open b. File \ Save
c. File \ Save as d. Edit \ Save
2/. Ghi file hiện thời vào đĩa với tên khác
a. File \ Open b. File \ Save
c. File \ Save as d. Edit \ Save as
3/. Tìm kiếm dữ liệu trong bảng tính
a. Edit \ Find c. Edit \ Replace
b. File \ Find d. Edit \ Go to
4/. Sắp xếp dữ liệu cho cho bảng tính
a. Data \ Sort … c. Data \ Filter
b. Data \ Form… d. Data \ Table…
5/. Chèn một biểu đồ vào bảng tính
a. Insert \ chart wizard c. Insert \ Picture
b. Insert \ Object… d. Insert \ Symbol…
6/. Hàm Trunc(9.569) có gía trị bằng
a. a. 9 b. 9.5
b. c. 9.56 d. 10
7/. Hàm Trunc(4.27,1) có gía trị
a. a. 4.27 b. 4
b. c. 4.2 d. 4.0
8/. Hàm Radians(X)
a. Chuyển X từ đơn vị độ sang radian
b. Chuyển X từ Radian sang độ
c. Logarit cơ số 10 của X
9/. Hàm Degrees(X)
a. Chuyển X từ đơn vị độ sang radian
b. Chuyển X từ Radian sang độ
c. Lấy gía trị căn bậc hai của X
10/. QUOTIENT(X,Y) có giá trị
a. X / Y c. Phần nguyên của X / Y
b. Y / X d. Phần dư của X / Y
11/. Đếm số lượng giá trị số trong dãy
a. COUNTA(miền)
b. COUNTIF(miền, điều kiện)
c. COUNT(X1, X2, X3,….., XN)
12/. G8 chứa độ lệch địa từ năm hàng hải tính ra phút. Hàm Trunc(G8 / 60)
a. Tính phần độ của năm hàng hải
b. Tính phần phút của năm hàng hải
c. Giá trị độ lệch địa từ hàng hải
d. Giá trị độ biến thiên hàng năm
13/. D8 độ cao trọng tâm tàu khi dịch chuyển mã hàng, E5 là KM. E8 = E5 – D8
a. Mômen nghiêng ngang
b. Chiều cao thế vững mới của tàu
c. Góc nghiêng ngang
d. Phần phút của góc nghiêng
14/. I5 là P hàng, E7 là khoảng cách dịch chuyển: F8 = I5*E7
a. Mômen nghiêng ngang
b. Chiều cao thế vững mới của tàu
c. Góc nghiêng ngang
d. Tag của góc nghiêng ngang
15/. I8 là Tag của góc nghiêng ngang H8 = ATAN(I8) là
a. Tính phần độ của góc nghiêng
b. Tính phần phút của góc nghiêng
c. Tính Radians của góc nghiêng ngang
d. Tính góc nghiêng ngang
16/. A5 là Radians của góc nghiêng ngang. I8 = DEGREES(A5)
a. Tính góc nghiêng ngang
b. Tính phần độ của góc nghiêng
c. Tính phần phút ccủa góc nghiêng
d. Tính mômen nghiêng ngang
17/. C7 là mớn nước trung bình trước khi xếp hàng, D7 Mớn nước trung bình sau khi xếp hàng. E7 = (D7 – C7 )*12 tính
a. Lượng chìm thêm của tàu
b. Lượng hàng tối đa có thể xếp xuống
c. Độ lệch Trim trước và sau khi xếp hàng
18/. C7 là mớn nước tương đương tại vùng biển, F7 là lượng thay đổi mớn nước G7 = F7 + C7 là
a. Displ của tàu tại vùng nước có tỷ trong y
b. Mớn nước tương đương mới của tàu tại vùng biển có tỷ trong y
c. Lượng thay đổi mớn nước
d. Mơn nước tương đương tại vùng biển
a. File \ Open b. File \ Save
c. File \ Save as d. Edit \ Save
2/. Ghi file hiện thời vào đĩa với tên khác
a. File \ Open b. File \ Save
c. File \ Save as d. Edit \ Save as
3/. Tìm kiếm dữ liệu trong bảng tính
a. Edit \ Find c. Edit \ Replace
b. File \ Find d. Edit \ Go to
4/. Sắp xếp dữ liệu cho cho bảng tính
a. Data \ Sort … c. Data \ Filter
b. Data \ Form… d. Data \ Table…
5/. Chèn một biểu đồ vào bảng tính
a. Insert \ chart wizard c. Insert \ Picture
b. Insert \ Object… d. Insert \ Symbol…
6/. Hàm Trunc(9.569) có gía trị bằng
a. a. 9 b. 9.5
b. c. 9.56 d. 10
7/. Hàm Trunc(4.27,1) có gía trị
a. a. 4.27 b. 4
b. c. 4.2 d. 4.0
8/. Hàm Radians(X)
a. Chuyển X từ đơn vị độ sang radian
b. Chuyển X từ Radian sang độ
c. Logarit cơ số 10 của X
9/. Hàm Degrees(X)
a. Chuyển X từ đơn vị độ sang radian
b. Chuyển X từ Radian sang độ
c. Lấy gía trị căn bậc hai của X
10/. QUOTIENT(X,Y) có giá trị
a. X / Y c. Phần nguyên của X / Y
b. Y / X d. Phần dư của X / Y
11/. Đếm số lượng giá trị số trong dãy
a. COUNTA(miền)
b. COUNTIF(miền, điều kiện)
c. COUNT(X1, X2, X3,….., XN)
12/. G8 chứa độ lệch địa từ năm hàng hải tính ra phút. Hàm Trunc(G8 / 60)
a. Tính phần độ của năm hàng hải
b. Tính phần phút của năm hàng hải
c. Giá trị độ lệch địa từ hàng hải
d. Giá trị độ biến thiên hàng năm
13/. D8 độ cao trọng tâm tàu khi dịch chuyển mã hàng, E5 là KM. E8 = E5 – D8
a. Mômen nghiêng ngang
b. Chiều cao thế vững mới của tàu
c. Góc nghiêng ngang
d. Phần phút của góc nghiêng
14/. I5 là P hàng, E7 là khoảng cách dịch chuyển: F8 = I5*E7
a. Mômen nghiêng ngang
b. Chiều cao thế vững mới của tàu
c. Góc nghiêng ngang
d. Tag của góc nghiêng ngang
15/. I8 là Tag của góc nghiêng ngang H8 = ATAN(I8) là
a. Tính phần độ của góc nghiêng
b. Tính phần phút của góc nghiêng
c. Tính Radians của góc nghiêng ngang
d. Tính góc nghiêng ngang
16/. A5 là Radians của góc nghiêng ngang. I8 = DEGREES(A5)
a. Tính góc nghiêng ngang
b. Tính phần độ của góc nghiêng
c. Tính phần phút ccủa góc nghiêng
d. Tính mômen nghiêng ngang
17/. C7 là mớn nước trung bình trước khi xếp hàng, D7 Mớn nước trung bình sau khi xếp hàng. E7 = (D7 – C7 )*12 tính
a. Lượng chìm thêm của tàu
b. Lượng hàng tối đa có thể xếp xuống
c. Độ lệch Trim trước và sau khi xếp hàng
18/. C7 là mớn nước tương đương tại vùng biển, F7 là lượng thay đổi mớn nước G7 = F7 + C7 là
a. Displ của tàu tại vùng nước có tỷ trong y
b. Mớn nước tương đương mới của tàu tại vùng biển có tỷ trong y
c. Lượng thay đổi mớn nước
d. Mơn nước tương đương tại vùng biển
Bài trắc nghiệm ôn tập DKTB
1/ Để khởi động MS Excel ta chọn lệnh:
a Start Programs Microsoft Word
b Start Programs Microsoft Excel
c Start Programs Microsoft Fontpage
d Start Programs Microsoft PowerPoint
2/ Tài liệu của MS Excel được lưu trên đĩa với phần mở rộng:
a .DOC
b .XLS
c .JPG
d .BMP
3/ Trong Excel hàm DAY(A5) [Trong do A5 = 18/05/2008] trả về:
a Số năm của biến ngày tháng A5 là 2008
b Số tháng trong năm của biến ngày tháng A5 là 05
c Số ngày trong tháng của biến ngày tháng A5 là 18
d Ngày tháng hiện tại của hệ thống
4/ Hàm DAY("22/10/2007") cho kết quả:
a 2007
b Tất cả đều sai
c 10
d 22
5/ Trong Excel hàm MONTH(date) trả về:
a Số tháng trong năm của biến ngày tháng date
b Ngày tháng hiện tại của hệ thống
c Số năm của biến ngày tháng date
d Số ngày trong tháng của biến ngày tháng date
6/ Hàm MONTH("09-Jan-2008") cho kết quả:
a 1
b 09
c 10
d 2008
7/ Trong Excel hàm YEAR(date) trả về:
a Ngày tháng hiện tại của hệ thống
b Số ngày trong tháng của biến ngày tháng date
c Số năm của biến ngày tháng date
d Số tháng trong năm của biến ngày tháng date
8/ Hàm YEAR("19-08-2008") cho kết quả:
a 2008
b Tất cả đều sai
c 19
d 08
9/ Trong Excel hàm TODAY() trả về:
a Số ngày trong tháng của biến ngày tháng date
b Số năm của biến ngày tháng date
c Số tháng trong năm của biến ngày tháng date
d Ngày tháng hiện tại của hệ thống
10/ Hàm LEFT("Microsoft Windows XP", 9) cho kết quả
a "Windows X"
b "Microsoft Windows"
c "Windows"
d "Microsoft"
11/ Hàm LEN("Microsoft Excel 5.0") cho kết quả
a 19
b 17
c 15
d 25
12/ Hàm RIGHT("Microsoft Excel 2003", 3) cho kết quả
a "Microsoft Excel 2003"
b "Microsoft"
c "Excel 2003"
d "003"
13/ Hàm TRIM(" Microsoft Excel 2003 ")
a "Micro soft"
b "Microsoft Excel"
c " Excel 2003"
d "Microsoft Excel 2003"
14/ Hàm MID(“Microsoft Excel 2003”,10,5)
a “ Microsoft”
b “Excel”
c “2003”
d “Excel 2003”
15/ Trong MS Excel hàm ABS(A7) { A5 = -5} dùng để:
a Tính giá trị tuyệt đối của số A7 = 5
b Tính tổng của số A7
c Tính căn bậc hai của số A7
d Tất cả đều sai
16/ Trong MS Excel hàm SQRT(A9) dùng để:
a Tính tổng của số A9
b Tất cả đều sai
c Tính căn bậc hai của số A9
d Tính giá trị tuyệt đối của số A9
17/ Hàm SUM(-12, -5, 7, 100) cho kết quả:
a 100
b 9
c -90
d 90
18/ Hàm MAX(8, 29, -11, 33, -51) cho kết quả
a -51
b 8
c 33
d 29
19/ Hàm MIN(-52, 20, -11, 23, -15) cho kết quả:
a 20
b 23
c -52
d -15
20/ Hàm AVERAGE(9, 21, -10, 24, -14) cho kết quả:
a 30
b -14
c 6
d 7
21/ Hàm AND(5>4, 8>-8, 9<-50, 11<59)>4, 8<-8, 9>-30, 11>51) cho kết quả:
a FALSE
b TRUE
23/ Để thay đổi kích thước của cột trong Excel ta chọn lệnh:
a FORMAT ROWS HIDE
b FORMAT ROW HEIGHT
c FORMAT COLUMN WIDTH
d INSERT COLUMN
24/ Để thay đổi kích thước của hàng trong Excel ta chọn lệnh:
a FORMAT COLUMN WIDTH
b FORMAT ROW HEIGHT
c INSERT ROWS
d FORMAT COLUMN HIDE
25/ Đâu là cách khai báo địa chỉ tương đối trong Excel
a $A$49
b $A49
c AE$49
d AE49
26/ Đâu là cách khai báo địa chỉ tuyệt đối trong Excel
a F$25
b $F$25
c A25
d $D25
27/ Đâu là cách khai báo địa chỉ hỗn hợp trong Excel
a AD8
b $AD8
c Tất cả đều đúng
d $AD$8
28/ Chọn cách khai báo địa chỉ vùng trong Excel
a Tất cả đều sai
b $A$1
c $B$3
d $A$1:$B$3
29/ Để nhập công thức trong Excel ta có thể
a Nhập trực tiếp trong ô
b Nhập trên thanh công thức
c Tất cả đều đúng
30/ Địa chỉ D5 = E, F8 = 250.
Hàm if(D5 = “E”, if(F8>0,”E”,”W”),if(D5=”W”,if(F8<0,”w”,”e”), h7 =" D5*60" e13="ATAN(D13/C13)" g7 =" F7" t33 =" X28/K33" t31 =" Int(T30/24)" ab30 =" int(Mod(K30," g5 =" Mod(F8,60)" href="http://hocgao.blogspot.com/2008/09/p-n-cu-hi-trc-nghim.html">lời giải
a Start Programs Microsoft Word
b Start Programs Microsoft Excel
c Start Programs Microsoft Fontpage
d Start Programs Microsoft PowerPoint
2/ Tài liệu của MS Excel được lưu trên đĩa với phần mở rộng:
a .DOC
b .XLS
c .JPG
d .BMP
3/ Trong Excel hàm DAY(A5) [Trong do A5 = 18/05/2008] trả về:
a Số năm của biến ngày tháng A5 là 2008
b Số tháng trong năm của biến ngày tháng A5 là 05
c Số ngày trong tháng của biến ngày tháng A5 là 18
d Ngày tháng hiện tại của hệ thống
4/ Hàm DAY("22/10/2007") cho kết quả:
a 2007
b Tất cả đều sai
c 10
d 22
5/ Trong Excel hàm MONTH(date) trả về:
a Số tháng trong năm của biến ngày tháng date
b Ngày tháng hiện tại của hệ thống
c Số năm của biến ngày tháng date
d Số ngày trong tháng của biến ngày tháng date
6/ Hàm MONTH("09-Jan-2008") cho kết quả:
a 1
b 09
c 10
d 2008
7/ Trong Excel hàm YEAR(date) trả về:
a Ngày tháng hiện tại của hệ thống
b Số ngày trong tháng của biến ngày tháng date
c Số năm của biến ngày tháng date
d Số tháng trong năm của biến ngày tháng date
8/ Hàm YEAR("19-08-2008") cho kết quả:
a 2008
b Tất cả đều sai
c 19
d 08
9/ Trong Excel hàm TODAY() trả về:
a Số ngày trong tháng của biến ngày tháng date
b Số năm của biến ngày tháng date
c Số tháng trong năm của biến ngày tháng date
d Ngày tháng hiện tại của hệ thống
10/ Hàm LEFT("Microsoft Windows XP", 9) cho kết quả
a "Windows X"
b "Microsoft Windows"
c "Windows"
d "Microsoft"
11/ Hàm LEN("Microsoft Excel 5.0") cho kết quả
a 19
b 17
c 15
d 25
12/ Hàm RIGHT("Microsoft Excel 2003", 3) cho kết quả
a "Microsoft Excel 2003"
b "Microsoft"
c "Excel 2003"
d "003"
13/ Hàm TRIM(" Microsoft Excel 2003 ")
a "Micro soft"
b "Microsoft Excel"
c " Excel 2003"
d "Microsoft Excel 2003"
14/ Hàm MID(“Microsoft Excel 2003”,10,5)
a “ Microsoft”
b “Excel”
c “2003”
d “Excel 2003”
15/ Trong MS Excel hàm ABS(A7) { A5 = -5} dùng để:
a Tính giá trị tuyệt đối của số A7 = 5
b Tính tổng của số A7
c Tính căn bậc hai của số A7
d Tất cả đều sai
16/ Trong MS Excel hàm SQRT(A9) dùng để:
a Tính tổng của số A9
b Tất cả đều sai
c Tính căn bậc hai của số A9
d Tính giá trị tuyệt đối của số A9
17/ Hàm SUM(-12, -5, 7, 100) cho kết quả:
a 100
b 9
c -90
d 90
18/ Hàm MAX(8, 29, -11, 33, -51) cho kết quả
a -51
b 8
c 33
d 29
19/ Hàm MIN(-52, 20, -11, 23, -15) cho kết quả:
a 20
b 23
c -52
d -15
20/ Hàm AVERAGE(9, 21, -10, 24, -14) cho kết quả:
a 30
b -14
c 6
d 7
21/ Hàm AND(5>4, 8>-8, 9<-50, 11<59)>4, 8<-8, 9>-30, 11>51) cho kết quả:
a FALSE
b TRUE
23/ Để thay đổi kích thước của cột trong Excel ta chọn lệnh:
a FORMAT ROWS HIDE
b FORMAT ROW HEIGHT
c FORMAT COLUMN WIDTH
d INSERT COLUMN
24/ Để thay đổi kích thước của hàng trong Excel ta chọn lệnh:
a FORMAT COLUMN WIDTH
b FORMAT ROW HEIGHT
c INSERT ROWS
d FORMAT COLUMN HIDE
25/ Đâu là cách khai báo địa chỉ tương đối trong Excel
a $A$49
b $A49
c AE$49
d AE49
26/ Đâu là cách khai báo địa chỉ tuyệt đối trong Excel
a F$25
b $F$25
c A25
d $D25
27/ Đâu là cách khai báo địa chỉ hỗn hợp trong Excel
a AD8
b $AD8
c Tất cả đều đúng
d $AD$8
28/ Chọn cách khai báo địa chỉ vùng trong Excel
a Tất cả đều sai
b $A$1
c $B$3
d $A$1:$B$3
29/ Để nhập công thức trong Excel ta có thể
a Nhập trực tiếp trong ô
b Nhập trên thanh công thức
c Tất cả đều đúng
30/ Địa chỉ D5 = E, F8 = 250.
Hàm if(D5 = “E”, if(F8>0,”E”,”W”),if(D5=”W”,if(F8<0,”w”,”e”), h7 =" D5*60" e13="ATAN(D13/C13)" g7 =" F7" t33 =" X28/K33" t31 =" Int(T30/24)" ab30 =" int(Mod(K30," g5 =" Mod(F8,60)" href="http://hocgao.blogspot.com/2008/09/p-n-cu-hi-trc-nghim.html">lời giải
Chương trình giải bài toán nhận hàng
Sử dụng bảng tính EXCEL để xây dựng chương trình giải bài toán nhận hàng sau:
Dữ liệu nhập vào
- Mớn nước của tàu (da, df) trước khi xếp hàng.
- TPC, MTC.
- Hoàng độ tâm mặt phẳng đường nước (XF).
- Chiều dài tính toán của tàu LBP
- Mớn nước của tàu sau khi xếp hàng.
Yêu cầu cần kết quả:
Tính toán khối lượng hàng lớn nhất mà tàu có thể xếp xuống tàu
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 31: Một tàu có mớn nước df=25.4Ft; da=24.6Ft; TPC=58.01LT/Inch; MTC=1617.66Ft-LT/Inch;XF =-1,37ft. Hãy tính lượng hàng tối đa có thể xếp và vị trí lô hàng đó biết LBP=440ft để tàu sau khi hoàn thành việc xếp hàng có mớn nước df=26.2ft ;da=27.2ft
III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Đây là một dạng của bài toán tính toán khối lượng hàng lớn nhất có thể xếp xuống tàu thoả mãn mớn nước nào đó.
Để viết chương trình ta cần sử dụng các công thức sau:
- Công thức tính khối lượng hàng có thể xếp tối đa:
Pmax = ΔÔd*TPC
với ΔÔd là lượng thay đổi chiều chìm của tàu
- Công thức tính vị trí khối hàng
l = TPC*ΔÔt/Pmax
với l: khoảng cách từ lô hàng đến điểm F (tâm mặt phẳng đường nước)
ΔÔt:độ chênh lệch mớn nước trước và sau khi xếp hàng
Có thể thiết kế chương trình như sau:

Các ô dành cho người dùng nhập dữ liệu là:
C4, E4, G4, I4, C6, E6, G6 và I6
Các ô xuất kết quả là: E12 và G12
Sau đây là chương trình chính của bài toán:
C7=(C4+E4)/2 Tính mớn nước trung bình trước khi xếp hàng
D7=(G4+I4)/2 Tính mớn nước trung bình sau khi xếp hàng
E7=(D7-C7)*12 Tính lượng chìm thêm của tàu
F7=E7*C6 Tính lượng hàng tối đa mà có thể xếp xuống tàu
G7=(C4-E4)-(G4-I4))*12 Tính dộ lệch Trim trước và sau khi xếp hàng
H7=E6*G7/F7 Tính khoảng cách lô hàng so với điểm F
Kết quả tính toán
E12=F7
G12=H7+I6 Khoảng cách lô hàng so với mặt phẳng sườn giữa
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.
Dữ liệu nhập vào
- Mớn nước của tàu (da, df) trước khi xếp hàng.
- TPC, MTC.
- Hoàng độ tâm mặt phẳng đường nước (XF).
- Chiều dài tính toán của tàu LBP
- Mớn nước của tàu sau khi xếp hàng.
Yêu cầu cần kết quả:
Tính toán khối lượng hàng lớn nhất mà tàu có thể xếp xuống tàu
II/ Kiểm tra chương trình
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Bài 31: Một tàu có mớn nước df=25.4Ft; da=24.6Ft; TPC=58.01LT/Inch; MTC=1617.66Ft-LT/Inch;XF =-1,37ft. Hãy tính lượng hàng tối đa có thể xếp và vị trí lô hàng đó biết LBP=440ft để tàu sau khi hoàn thành việc xếp hàng có mớn nước df=26.2ft ;da=27.2ft
III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
Đây là một dạng của bài toán tính toán khối lượng hàng lớn nhất có thể xếp xuống tàu thoả mãn mớn nước nào đó.
Để viết chương trình ta cần sử dụng các công thức sau:
- Công thức tính khối lượng hàng có thể xếp tối đa:
Pmax = ΔÔd*TPC
với ΔÔd là lượng thay đổi chiều chìm của tàu
- Công thức tính vị trí khối hàng
l = TPC*ΔÔt/Pmax
với l: khoảng cách từ lô hàng đến điểm F (tâm mặt phẳng đường nước)
ΔÔt:độ chênh lệch mớn nước trước và sau khi xếp hàng
Có thể thiết kế chương trình như sau:

Các ô dành cho người dùng nhập dữ liệu là:
C4, E4, G4, I4, C6, E6, G6 và I6
Các ô xuất kết quả là: E12 và G12
Sau đây là chương trình chính của bài toán:
C7=(C4+E4)/2 Tính mớn nước trung bình trước khi xếp hàng
D7=(G4+I4)/2 Tính mớn nước trung bình sau khi xếp hàng
E7=(D7-C7)*12 Tính lượng chìm thêm của tàu
F7=E7*C6 Tính lượng hàng tối đa mà có thể xếp xuống tàu
G7=(C4-E4)-(G4-I4))*12 Tính dộ lệch Trim trước và sau khi xếp hàng
H7=E6*G7/F7 Tính khoảng cách lô hàng so với điểm F
Kết quả tính toán
E12=F7
G12=H7+I6 Khoảng cách lô hàng so với mặt phẳng sườn giữa
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.
Chương trình tính toán mớn nước của tàu
I/ YÊU CẦU:
Sử dụng bảng tính điện tử EXCEL hãy xây dựng chương trình tính toán mớn nước của tàu như sau:
Dữ liệu nhập vào
- Trọng lượng tàu không (Light Ship – D0)
- Chiều dài tính toán của tàu (LBP).
- Lượng giãn nước dự tính sau khi xếp hàng (Displacement – D)
- Hoành độ trọng tâm tàu không XG0
- Tổng các Momen thành phần Pi XGi
- Trích một phần của bảng thủy tĩnh tàu.
Yêu cầu: Chương trình tự động tính toán được mớn nước của tàu.
II/ KIỂM TRA CHƯƠNG TRÌNH
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Một tàu có Do=2687 MT;XGo=5.34m; LBP=106m, dự kiến xếp hàng tại cảng tới sao cho có lượng giãn nước dự kiến DDự kiến=9219MT; Pi XGi=-41200 MT-m. Tham khảo bảng thuỷ tĩnh sau
Dispt Draft MID.B MID.F MTC TPC KB TKM LKM
9095 4.73 -2.749 -1.501 155.67 20.67 2.430 8.88 212.8
9116 4.74 -2.746 -1.488 155.76 20.67 2.436 8.87 212.4
9136 4.75 -2.743 -1.476 155.85 20.67 2.441 8.86 212.1
9157 4.76 -2.740 -1.463 155.94 20.68 2.446 8.86 211.7
9178 4.77 -2.737 -1.450 156.03 20.68 2.451 8.85 211.4
9198 4.78 -2.734 -1.437 156.12 20.69 2.456 8.84 211.0
9219 4.79 -2.731 -1.424 156.21 20.69 2.461 8.83 210.7
9140 4.80 -2.728 -1.411 156.30 20.70 2.467 8.83 210.4
III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
- Sử dụng các công thức để tính XG
Có thể thiết kế chương trình như sau:

- Sử dụng công thức tính mô men hiệu số mớn nước: D(xB-xG)
- Sử dụng công thức tính Trim
- Để tính mớn nước mũi, lái và sườn giữa ta sử dụng các công thức sau:
df = dtương đương
da = df + Trim
dm = (df +da )/2
Trong đó dtương đương, MTC, XF dùng hàm Vlookup lấy từ bảng thủy tĩnh với giá trị tìm là Displ
Các ô dành cho người dùng nhập dữ liệu là:
B5, D5, F5, H5 và J5
Các ô xuất kết quả là:
- Trim: D11
- df: F11
- da: H11
- dm:J11
Sau đây là chương trình chính của bài toán:
Trước hết nhập bảng trích của bảng thủy tĩnh vào một Sheet của File và đổi tên Sheet đó thành “BangTT”.
Cũng như các bài khác ta cần phải sử dụng các ô trung gian.
B7=(B5*D5+H5)/J5 Tính XG
D7==ABS(B7)-ABS(VLOOKUP(J5,'Bang TT'!A1:I9,3,1)) Tính BG
F7=J5*D7 Tính Mômen hiệu số mớn nước
H7=(((F5/2)+VLOOKUP(J5,'Bang TT'!A1:I9,4,1))*D11)/F5 Tính ΔÄdf
Tính Trim
D11=IF(D7>=0,ABS((F7)/(VLOOKUP('Chuongtrinh'!J5,'BangTT'!A1:I9,5,
1)*100)),F7/(VLOOKUP('Chuong trinh'!J5,'Bang TT'!A1:I9,5,1)*100))
F11=VLOOKUP(J5,'Bang TT'!A1:I9,2,1)-H7 Tính df
H11=F11+D11 Tính da
H11=(F11+H11)/2 Tính dm
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu. Lưu ý bảo vệ cả bảng tính nhập “Bảng thủy tĩnh”
Sử dụng bảng tính điện tử EXCEL hãy xây dựng chương trình tính toán mớn nước của tàu như sau:
Dữ liệu nhập vào
- Trọng lượng tàu không (Light Ship – D0)
- Chiều dài tính toán của tàu (LBP).
- Lượng giãn nước dự tính sau khi xếp hàng (Displacement – D)
- Hoành độ trọng tâm tàu không XG0
- Tổng các Momen thành phần Pi XGi
- Trích một phần của bảng thủy tĩnh tàu.
Yêu cầu: Chương trình tự động tính toán được mớn nước của tàu.
II/ KIỂM TRA CHƯƠNG TRÌNH
Hãy kiểm tra chương trình bằng một bài cụ thể như sau:
Một tàu có Do=2687 MT;XGo=5.34m; LBP=106m, dự kiến xếp hàng tại cảng tới sao cho có lượng giãn nước dự kiến DDự kiến=9219MT; Pi XGi=-41200 MT-m. Tham khảo bảng thuỷ tĩnh sau
Dispt Draft MID.B MID.F MTC TPC KB TKM LKM
9095 4.73 -2.749 -1.501 155.67 20.67 2.430 8.88 212.8
9116 4.74 -2.746 -1.488 155.76 20.67 2.436 8.87 212.4
9136 4.75 -2.743 -1.476 155.85 20.67 2.441 8.86 212.1
9157 4.76 -2.740 -1.463 155.94 20.68 2.446 8.86 211.7
9178 4.77 -2.737 -1.450 156.03 20.68 2.451 8.85 211.4
9198 4.78 -2.734 -1.437 156.12 20.69 2.456 8.84 211.0
9219 4.79 -2.731 -1.424 156.21 20.69 2.461 8.83 210.7
9140 4.80 -2.728 -1.411 156.30 20.70 2.467 8.83 210.4
III/ XÂY DỰNG CHƯƠNG TRÌNH
Tạo thư mục, lưu chương trình giống như những bài tập trên
3.1 Viết chương trình
- Sử dụng các công thức để tính XG
Có thể thiết kế chương trình như sau:

- Sử dụng công thức tính mô men hiệu số mớn nước: D(xB-xG)
- Sử dụng công thức tính Trim
- Để tính mớn nước mũi, lái và sườn giữa ta sử dụng các công thức sau:
df = dtương đương
da = df + Trim
dm = (df +da )/2
Trong đó dtương đương, MTC, XF dùng hàm Vlookup lấy từ bảng thủy tĩnh với giá trị tìm là Displ
Các ô dành cho người dùng nhập dữ liệu là:
B5, D5, F5, H5 và J5
Các ô xuất kết quả là:
- Trim: D11
- df: F11
- da: H11
- dm:J11
Sau đây là chương trình chính của bài toán:
Trước hết nhập bảng trích của bảng thủy tĩnh vào một Sheet của File và đổi tên Sheet đó thành “BangTT”.
Cũng như các bài khác ta cần phải sử dụng các ô trung gian.
B7=(B5*D5+H5)/J5 Tính XG
D7==ABS(B7)-ABS(VLOOKUP(J5,'Bang TT'!A1:I9,3,1)) Tính BG
F7=J5*D7 Tính Mômen hiệu số mớn nước
H7=(((F5/2)+VLOOKUP(J5,'Bang TT'!A1:I9,4,1))*D11)/F5 Tính ΔÄdf
Tính Trim
D11=IF(D7>=0,ABS((F7)/(VLOOKUP('Chuongtrinh'!J5,'BangTT'!A1:I9,5,
1)*100)),F7/(VLOOKUP('Chuong trinh'!J5,'Bang TT'!A1:I9,5,1)*100))
F11=VLOOKUP(J5,'Bang TT'!A1:I9,2,1)-H7 Tính df
H11=F11+D11 Tính da
H11=(F11+H11)/2 Tính dm
3.2 Hoàn chỉnh giao diện và bảo vệ dữ liệu.

Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu. Lưu ý bảo vệ cả bảng tính nhập “Bảng thủy tĩnh”
BÀI TOÁN TỔNG HỢP CHUYẾN ĐI
Khi chúng ta đã biết cách tính khoảng cách và hướng đi Locxo giữ hai điểm, thì ta có thể tính và lập thành bảng của một chuyến hành trình từ cảng này tới cảng khác bằng cách tính tổng khoảng cách trên các đoạn Locxo của tuyến hành trình, cũng như khoảng cách và hướng chạy trên mỗi đoạn, quãng đường còn lại khi chạy hết mỗi đoạn, đồng thời ta có thể tính toán được ETA ...
I/ YÊU CẦU:
Đây là bài toán nhằm nâng cao kỹ năng viết chương trình bằng phần mềm EXCEL. Yêu cầu sinh viên tự nghiên cứu và viết ở nhà.
- Viết chương trình tổng hợp một chuyến đi từ cảng A đến cảng B.
o Sau khi người sĩ quan hàng hải tính toán được tọa độ của các điểm trung gian chuyển hướng, người sử dụng sẽ tiến hành nhập tọa độ các điểm đó
o Chương trình sẽ tự động tính được khoảng cách và hướng đi Locxo trên từng đoạn, tính được tổng quãng đường từ cảng A đến cảng B
o Nếu người sử dụng nhập vận tốc trung bình của tàu thì chương trình sẽ tính được ETA
II/ XÂY DỰNG CHƯƠNG TRÌNH TÍNH ĐỘ LỆNH ĐỊA TỪ
2.1 Tạo thư mục làm việc
Như bài tập 1. Chúng ta cũng nên lưu chung các File chương trình vào cùng một thư mục D:\DKTB
2.2 Viết chươngtrình
2.2.1 Lưu chương trình
- Khởi động phần mềm EXCEL, sau đó mở File mới.
- Nhắp chuột vào Menu File -> chọn mục Save. Khi đó trên màn hình xuất hiện một khung hội thoại Save As.
Trong mục Save in: Chọn thư mục cần lưu File (DKTB)
Trong mục File Name: Tổng hợp chuyến hành trình.
Có thể thiết kế chương trình như sau:

2.2.2 Viết chương trình
Ta sử dụng các ô dành cho người dùng nhập dữ liệu là:
- Nhập giá trị tọa độ các điểm vào khối E7:O25
- Nhập giá trị vận tốc trung bình của tàu vào:K33
- Kết quả sẽ được cho bởi khối T7:AA25 và khối V33:AA33
Sau đây là chương trình chính của bài toán:
F7=(E7*60+G7) Tính vĩ độ điểm thứ nhất ra phút
Tương tự như vậy ta chỉ cần Copy ô F7 lần lượt dán vào các ô từ F9, F11, F13 đến F25 để đổi vĩ độ các điểm còn lại ra phút
Tính hiệu vĩ độ giữa hai điểm liên tiếp
F10=IF(I9=I7,ABS(F9-F7),ABS(F9+F7))
Tương tự như vậy ta Copy ô F10 dán vào các ô F12, F14, F16 đến F24
Tính vĩ độ tiến của điểm thứ nhất
H7=7915.7045*LOG(TAN(RADIANS((E7+G7/60)/2+45)))
Ta tiến hành Copy ô H7 lần lượt dán vào các ô H9, H11, H13 đến H25 để tính vĩ độ tiến các điểm.
Tính hiệu vĩ độ tiến giữa hai điểm thứ nhất và thứ hai
H10=IF(I9=I7,ABS(F9-F7),ABS(F9+F7))
Copy ô H10, sau đó lần lượt dán vào các ô H12, H14, H16 đến H26 để tính hiệu vĩ độ tiến giữa hai điểm liên tiếp
L7=K7*60+M7 Đổi kinh độ điểm thứ nhất ra phút
Tương tự Copy ô L7 lần lượt dán vào các ô L9, L11, L13 đến L25
Tính hiệu kinh độ giữa điểm thứ hai với điểm thứ nhất
L10=IF(O9=O7,ABS(L9-L7),ABS(L9+L7))
Copy ô L10, sau đó lần lượt dán vào các ô L12, L14, L16 đến L26
Kết quả tính toán
S9=C7&C9 Ghi các đoạn Locxo giữa hai điểm
Copy ô S9, sau đó lần lượt dán vào các ô S11, S13, S15 đến S25
T9=H10 Cho hiệu vĩ độ tiến giữa điểm thứ hai và điểm thứ nhất
Copy ô T9, lần lượt dán vào các ô T11, T13, T15 đến T25 để tính hiệu vĩ độ tiến giữa hai điểm liên tiếp nhau.
V8=ATAN(L10/T9) Tính ra Radians của hướng đi đoạn thứ nhất
Copy ô V8 sau đó lần lượt dán vào các ô V10, V12, V14 đến V24
V9=TRUNC(DEGREES(V8)) Tính số độ của hướng đi đoạn thứ nhất
Copy ô V9, lần lượt dán vào các ô V11, V13, V15 đến V25
Tính số phút của hướng đi đoạn thứ nhất
W9=ROUND(((DEGREES(V8))-V9)*60,0)
Copy ô W9, lần lượt dán vào các ô W11, W13, W15 đến W25
Y8=COS(V8) Tính Cos của hướng đi
Copy ô Y8 lần lượt dán vào các ô Y10, Y12, Y14 đến Y24
Tính khoảng cách Locxo đoạn 1 từ điểm thứ nhất đến điểm thứ hai
Y9=F10/Y8
Copy ô Y9, lần lượt dán vào các ô Y11, Y13, Y15 đến Y25 để tính khoảng cách giữa hai điểm liên tiếp khác.
Tính tổng khoảng cách của cả chuyến đi
X28=Y9+Y11+Y13+Y15+Y17+Y19+Y21+Y23+Y25
AA7=X28
AA9=AA7-Y9
Copy ô AA9, lần lượt dán vào các ô AA11, AA13, đến AA23
Tính ETA
T30=X28/K33 Tính khoảng thời gian tàu hành trình từ cảng A đến B
T31=T30/24 Tính khoảng thời gian tàu hành trình ra ngày
V33 =TRUNC(T31)
Tính khoảng thời gian là giờ
AB30=(T31-V33)*24
Y33=TRUNC(AB30)
Tính khoảng thời gian là phút
AB31 =(AB30-Y33)*60
AA33 =ROUND(AB31,0)
2.3 Chạy thử chương trình và sửa lỗi.
Khi chạy thử chương trình ta sẽ nhận thấy một số sai sót như:
- Thứ nhất: Nếu người sử dụng nhập đủ cả 10 điểm thì chương trình sẽ chạy đúng, còn nếu chỉ nhập từ 2 đến 9 điểm thì phần kết quả tính toán sẽ mắc lỗi. Trong thực tế có thể người sử dụng chỉ nhập tọa độ của 2 điểm, hoặc một số điểm nhỏ hơn 10. Chính vì vậy để chỉnh sửa lại chương trình để đảm bảo hoàn thiện hơn. Cụ thể như sau:
F7 =IF(AND(E7="",AND(G7="",I7="")),"",E7*60+G7)
F9 =IF(AND(E9="",AND(G9="",I9="")),"",E9*60+G9)
F10 =IF(OR(F7="",F9=""),"",IF(I9=I7,ABS(F9-F7),ABS(F9+F7)))
H7=IF(AND(E7="",AND(G7="",I7="")),"",7915.7045*LOG(TAN(RADIANS((E7+G7/60)/2+45))))
H9=IF(AND(E9="",AND(G9="",I9="")),"",7915.7045*LOG(TAN(RADIANS((E9+G9/60)/2+45))))
L7=IF(AND(K7="",AND(M7="",O7="")),"",K7*60+M7)
L9=IF(AND(K9="",AND(M9="",O9="")),"",K9*60+M9)
L10=IF(OR(L7="",L9=""),"",IF(O9=O7,ABS(L9-L7),ABS(L9+L7)))
H10=IF(OR(H7="",H9=""),"",IF(I9=I7,ABS(H9-H7),ABS(H9+H7)))
T9=IF(H10="","",H10)
V8=IF(OR(L10="",T9=""),"",ATAN(L10/T9))
V9=IF(V8="","",TRUNC(DEGREES(V8)))
W9=IF(V8="","",ROUND(((DEGREES(V8))-V9)*60,0))
Y8=IF(V8="","",COS(V8))
Y9=IF(OR(F10="",Y8=""),"",F10/Y8)
AA9=IF(OR(AA7="",Y9=""),"",AA7-Y9)
F12=IF(AND(E11="",G11=""),"",IF(I11=I9,ABS(F11-F9),ABS(F11+F9)))
sau đó Copy ô F12, lần lượt dán vào các ô F14, F16, F18 đến F26
H12=IF(AND(E11="",G11=""),"",IF(I11=I9,ABS(H11-H9),ABS(H11+H9)))
Copy ô H12 sau đó lần lượt dán vào các ô H14, H16, H18 đến H26.
L12=IF(AND(K11="",M11=""),"",IF(O11=O9,ABS(L11-L9),ABS(L11+L9)))
Copy ô L12 rồi lần lượt dán vào các ô L14, L16, L18 đến L26
S11=IF(C11="","",C9&C11)
Copy ô S11 rồi lần lượt dán vào các ô S13, S15, S17 đến S25
T11=IF(H12="","",H12)
Copy ô T11, rồi lần lượt dán vào các ô T13, T15, T17 đến T25
V10=IF(OR(L12="",T11=""),"",ATAN(L12/T11))
Copy ô V10 sau đó lần lượt dán vào các ô V12, V14, V16 đến V26
V11=IF(V10="","",TRUNC(DEGREES(V10)))
Copy ô V11 sau đó lần lượt dán vào các ô V13, V15, V17 đến V25
W11 =IF(V10="","",ROUND(((DEGREES(V10))-V11)*60,0))
Copy ô W11 sau đó lần lượt dán vào các ô W13, W15, W17 đến W25
Y10 =IF(V10="","",COS(V10))
Copy ô Y10 sau đó lần lượt dán vào các ô Y12, Y14, Y16 đến Y24
Y11 =IF(OR(F12="",Y10=""),"",F12/Y10)
Copy ô Y10 sau đó lần lượt dán vào các ô Y13, Y15, Y17 đến Y25
X28=IF(Y11="",Y9,IF(Y13="",Y9+Y11,IF(Y15="",Y9+Y11+Y13,IF(Y17="",Y9+Y11+Y13+Y15,IF(Y19="",Y9+Y11+Y13+Y15+Y17,IF(Y21="",Y9+Y11+Y13+Y15+Y17+Y19,IF(Y23="",Y9+Y11+Y13+Y15+Y17+Y19+Y21,IF(Y25="",Y9+Y11+Y13+Y15+Y17+Y19+Y21+Y23,Y9+Y11+Y13+Y15+Y17+Y19+Y21+Y23+Y25))))))))
T30=IF(X28="","",X28/K33)
T31=IF(T30="","",T30/24)
V33=IF(T31="","",TRUNC(T31))
AB30=IF(OR(T31="",V33=""),"",(T31-V33)*24)
Y33=IF(AB30="","",TRUNC(AB30))
AB31=IF(OR(AB30="",Y33=""),"",(AB30-Y33)*60)
AA33=IF(AB31="","",ROUND(AB31,0))
- Thứ hai: Chương trình hạn chế ở chỗ nếu số điểm được nhập lớn hơn 10 thì chương trình không mở rộng được. Để khắc phục nhược điểm này có hai cách.
o Cách 1: Chia số lần nhập thành 10 điểm một
o Cách 2: Viết chương trình mở rộng tương tự như chương trình này với số điểm nhập nhiều lên.
2.4 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Cuối cùng là phải tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.
I/ YÊU CẦU:
Đây là bài toán nhằm nâng cao kỹ năng viết chương trình bằng phần mềm EXCEL. Yêu cầu sinh viên tự nghiên cứu và viết ở nhà.
- Viết chương trình tổng hợp một chuyến đi từ cảng A đến cảng B.
o Sau khi người sĩ quan hàng hải tính toán được tọa độ của các điểm trung gian chuyển hướng, người sử dụng sẽ tiến hành nhập tọa độ các điểm đó
o Chương trình sẽ tự động tính được khoảng cách và hướng đi Locxo trên từng đoạn, tính được tổng quãng đường từ cảng A đến cảng B
o Nếu người sử dụng nhập vận tốc trung bình của tàu thì chương trình sẽ tính được ETA
II/ XÂY DỰNG CHƯƠNG TRÌNH TÍNH ĐỘ LỆNH ĐỊA TỪ
2.1 Tạo thư mục làm việc
Như bài tập 1. Chúng ta cũng nên lưu chung các File chương trình vào cùng một thư mục D:\DKTB
2.2 Viết chươngtrình
2.2.1 Lưu chương trình
- Khởi động phần mềm EXCEL, sau đó mở File mới.
- Nhắp chuột vào Menu File -> chọn mục Save. Khi đó trên màn hình xuất hiện một khung hội thoại Save As.
Trong mục Save in: Chọn thư mục cần lưu File (DKTB)
Trong mục File Name: Tổng hợp chuyến hành trình.
Có thể thiết kế chương trình như sau:

2.2.2 Viết chương trình
Ta sử dụng các ô dành cho người dùng nhập dữ liệu là:
- Nhập giá trị tọa độ các điểm vào khối E7:O25
- Nhập giá trị vận tốc trung bình của tàu vào:K33
- Kết quả sẽ được cho bởi khối T7:AA25 và khối V33:AA33
Sau đây là chương trình chính của bài toán:
F7=(E7*60+G7) Tính vĩ độ điểm thứ nhất ra phút
Tương tự như vậy ta chỉ cần Copy ô F7 lần lượt dán vào các ô từ F9, F11, F13 đến F25 để đổi vĩ độ các điểm còn lại ra phút
Tính hiệu vĩ độ giữa hai điểm liên tiếp
F10=IF(I9=I7,ABS(F9-F7),ABS(F9+F7))
Tương tự như vậy ta Copy ô F10 dán vào các ô F12, F14, F16 đến F24
Tính vĩ độ tiến của điểm thứ nhất
H7=7915.7045*LOG(TAN(RADIANS((E7+G7/60)/2+45)))
Ta tiến hành Copy ô H7 lần lượt dán vào các ô H9, H11, H13 đến H25 để tính vĩ độ tiến các điểm.
Tính hiệu vĩ độ tiến giữa hai điểm thứ nhất và thứ hai
H10=IF(I9=I7,ABS(F9-F7),ABS(F9+F7))
Copy ô H10, sau đó lần lượt dán vào các ô H12, H14, H16 đến H26 để tính hiệu vĩ độ tiến giữa hai điểm liên tiếp
L7=K7*60+M7 Đổi kinh độ điểm thứ nhất ra phút
Tương tự Copy ô L7 lần lượt dán vào các ô L9, L11, L13 đến L25
Tính hiệu kinh độ giữa điểm thứ hai với điểm thứ nhất
L10=IF(O9=O7,ABS(L9-L7),ABS(L9+L7))
Copy ô L10, sau đó lần lượt dán vào các ô L12, L14, L16 đến L26
Kết quả tính toán
S9=C7&C9 Ghi các đoạn Locxo giữa hai điểm
Copy ô S9, sau đó lần lượt dán vào các ô S11, S13, S15 đến S25
T9=H10 Cho hiệu vĩ độ tiến giữa điểm thứ hai và điểm thứ nhất
Copy ô T9, lần lượt dán vào các ô T11, T13, T15 đến T25 để tính hiệu vĩ độ tiến giữa hai điểm liên tiếp nhau.
V8=ATAN(L10/T9) Tính ra Radians của hướng đi đoạn thứ nhất
Copy ô V8 sau đó lần lượt dán vào các ô V10, V12, V14 đến V24
V9=TRUNC(DEGREES(V8)) Tính số độ của hướng đi đoạn thứ nhất
Copy ô V9, lần lượt dán vào các ô V11, V13, V15 đến V25
Tính số phút của hướng đi đoạn thứ nhất
W9=ROUND(((DEGREES(V8))-V9)*60,0)
Copy ô W9, lần lượt dán vào các ô W11, W13, W15 đến W25
Y8=COS(V8) Tính Cos của hướng đi
Copy ô Y8 lần lượt dán vào các ô Y10, Y12, Y14 đến Y24
Tính khoảng cách Locxo đoạn 1 từ điểm thứ nhất đến điểm thứ hai
Y9=F10/Y8
Copy ô Y9, lần lượt dán vào các ô Y11, Y13, Y15 đến Y25 để tính khoảng cách giữa hai điểm liên tiếp khác.
Tính tổng khoảng cách của cả chuyến đi
X28=Y9+Y11+Y13+Y15+Y17+Y19+Y21+Y23+Y25
AA7=X28
AA9=AA7-Y9
Copy ô AA9, lần lượt dán vào các ô AA11, AA13, đến AA23
Tính ETA
T30=X28/K33 Tính khoảng thời gian tàu hành trình từ cảng A đến B
T31=T30/24 Tính khoảng thời gian tàu hành trình ra ngày
V33 =TRUNC(T31)
Tính khoảng thời gian là giờ
AB30=(T31-V33)*24
Y33=TRUNC(AB30)
Tính khoảng thời gian là phút
AB31 =(AB30-Y33)*60
AA33 =ROUND(AB31,0)
2.3 Chạy thử chương trình và sửa lỗi.
Khi chạy thử chương trình ta sẽ nhận thấy một số sai sót như:
- Thứ nhất: Nếu người sử dụng nhập đủ cả 10 điểm thì chương trình sẽ chạy đúng, còn nếu chỉ nhập từ 2 đến 9 điểm thì phần kết quả tính toán sẽ mắc lỗi. Trong thực tế có thể người sử dụng chỉ nhập tọa độ của 2 điểm, hoặc một số điểm nhỏ hơn 10. Chính vì vậy để chỉnh sửa lại chương trình để đảm bảo hoàn thiện hơn. Cụ thể như sau:
F7 =IF(AND(E7="",AND(G7="",I7="")),"",E7*60+G7)
F9 =IF(AND(E9="",AND(G9="",I9="")),"",E9*60+G9)
F10 =IF(OR(F7="",F9=""),"",IF(I9=I7,ABS(F9-F7),ABS(F9+F7)))
H7=IF(AND(E7="",AND(G7="",I7="")),"",7915.7045*LOG(TAN(RADIANS((E7+G7/60)/2+45))))
H9=IF(AND(E9="",AND(G9="",I9="")),"",7915.7045*LOG(TAN(RADIANS((E9+G9/60)/2+45))))
L7=IF(AND(K7="",AND(M7="",O7="")),"",K7*60+M7)
L9=IF(AND(K9="",AND(M9="",O9="")),"",K9*60+M9)
L10=IF(OR(L7="",L9=""),"",IF(O9=O7,ABS(L9-L7),ABS(L9+L7)))
H10=IF(OR(H7="",H9=""),"",IF(I9=I7,ABS(H9-H7),ABS(H9+H7)))
T9=IF(H10="","",H10)
V8=IF(OR(L10="",T9=""),"",ATAN(L10/T9))
V9=IF(V8="","",TRUNC(DEGREES(V8)))
W9=IF(V8="","",ROUND(((DEGREES(V8))-V9)*60,0))
Y8=IF(V8="","",COS(V8))
Y9=IF(OR(F10="",Y8=""),"",F10/Y8)
AA9=IF(OR(AA7="",Y9=""),"",AA7-Y9)
F12=IF(AND(E11="",G11=""),"",IF(I11=I9,ABS(F11-F9),ABS(F11+F9)))
sau đó Copy ô F12, lần lượt dán vào các ô F14, F16, F18 đến F26
H12=IF(AND(E11="",G11=""),"",IF(I11=I9,ABS(H11-H9),ABS(H11+H9)))
Copy ô H12 sau đó lần lượt dán vào các ô H14, H16, H18 đến H26.
L12=IF(AND(K11="",M11=""),"",IF(O11=O9,ABS(L11-L9),ABS(L11+L9)))
Copy ô L12 rồi lần lượt dán vào các ô L14, L16, L18 đến L26
S11=IF(C11="","",C9&C11)
Copy ô S11 rồi lần lượt dán vào các ô S13, S15, S17 đến S25
T11=IF(H12="","",H12)
Copy ô T11, rồi lần lượt dán vào các ô T13, T15, T17 đến T25
V10=IF(OR(L12="",T11=""),"",ATAN(L12/T11))
Copy ô V10 sau đó lần lượt dán vào các ô V12, V14, V16 đến V26
V11=IF(V10="","",TRUNC(DEGREES(V10)))
Copy ô V11 sau đó lần lượt dán vào các ô V13, V15, V17 đến V25
W11 =IF(V10="","",ROUND(((DEGREES(V10))-V11)*60,0))
Copy ô W11 sau đó lần lượt dán vào các ô W13, W15, W17 đến W25
Y10 =IF(V10="","",COS(V10))
Copy ô Y10 sau đó lần lượt dán vào các ô Y12, Y14, Y16 đến Y24
Y11 =IF(OR(F12="",Y10=""),"",F12/Y10)
Copy ô Y10 sau đó lần lượt dán vào các ô Y13, Y15, Y17 đến Y25
X28=IF(Y11="",Y9,IF(Y13="",Y9+Y11,IF(Y15="",Y9+Y11+Y13,IF(Y17="",Y9+Y11+Y13+Y15,IF(Y19="",Y9+Y11+Y13+Y15+Y17,IF(Y21="",Y9+Y11+Y13+Y15+Y17+Y19,IF(Y23="",Y9+Y11+Y13+Y15+Y17+Y19+Y21,IF(Y25="",Y9+Y11+Y13+Y15+Y17+Y19+Y21+Y23,Y9+Y11+Y13+Y15+Y17+Y19+Y21+Y23+Y25))))))))
T30=IF(X28="","",X28/K33)
T31=IF(T30="","",T30/24)
V33=IF(T31="","",TRUNC(T31))
AB30=IF(OR(T31="",V33=""),"",(T31-V33)*24)
Y33=IF(AB30="","",TRUNC(AB30))
AB31=IF(OR(AB30="",Y33=""),"",(AB30-Y33)*60)
AA33=IF(AB31="","",ROUND(AB31,0))
- Thứ hai: Chương trình hạn chế ở chỗ nếu số điểm được nhập lớn hơn 10 thì chương trình không mở rộng được. Để khắc phục nhược điểm này có hai cách.
o Cách 1: Chia số lần nhập thành 10 điểm một
o Cách 2: Viết chương trình mở rộng tương tự như chương trình này với số điểm nhập nhiều lên.
2.4 Hoàn chỉnh giao diện và bảo vệ dữ liệu.
Sau khi hoàn thành việc viết chương trình, ta sẽ định dạng và thiết kế lại giao diện sao cho đẹp mắt. Để cho người sử dụng không thể nhìn thấy công thức trong các ô trung gian, ta chọn màu chữ cùng với màu nền tại các ô đó. Cuối cùng là phải tiến hành bảo vệ tất cả các ô trừ những ô dùng để nhập dữ liệu.
Đăng ký:
Bài đăng (Atom)
Quảng cáo
Câu hỏi trắc nghiệm tin học căn bản và đáp án
1). Lệnh nào sau đây dùng để xóa màn hình ? A). CLS B). CD C). TYPE D). RD 2). Để bôi đen toàn bộ trang văn bản sử dụng lệnh nào sau đâ...
-
1/ Để khởi động MS Excel ta chọn lệnh: a Start Programs Microsoft Word b Start Programs Microsoft Excel c Start Programs Microsoft Fontpage...
-
I/ Yêu cầu: Sử dụng bảng tính EXCEL để xây dựng chương trình giải bài toán xác định mớn nước của tàu tại cảng đến sau: Dữ liệu nhập vào - Mớ...
-
I/ YÊU CẦU: Sử dụng bảng tính điện tử EXCEL hãy xây dựng chương trình tính toán mớn nước của tàu như sau: Dữ liệu nhập vào - Trọng lượng t...
Học, học nữa, học mãi.
Kiến thức là vô tận không ai có thể nắm bắt được hết kho kiến thức của nhân lọai. Tôi với khả năng có hạn, cũng còn nhiều thứ tôi chưa biết. Nhưng với những gì đã biết, cũng xin chia sẻ với các bạn. Có thể với bạn là cũ và cũng có thể là mới, cùng với tinh thần cùng nhau học hỏi, cùng nhau phát triển. Tôi hy vọng đây là nơi chúng ta cùng học tập, chia sẻ, và cùng nhau phát triển.
Kiến thức là vô tận không ai có thể nắm bắt được hết kho kiến thức của nhân lọai. Tôi với khả năng có hạn, cũng còn nhiều thứ tôi chưa biết. Nhưng với những gì đã biết, cũng xin chia sẻ với các bạn. Có thể với bạn là cũ và cũng có thể là mới, cùng với tinh thần cùng nhau học hỏi, cùng nhau phát triển. Tôi hy vọng đây là nơi chúng ta cùng học tập, chia sẻ, và cùng nhau phát triển.
