Tim kiếm

TÍNH KHOẢNG CÁCH VÀ HƯỚNG ĐI ĐƯỜNG LOCXO

 I/ YÊU CẦU: 
- Thiết kế giao diện như hình vẽ.
- Viết chương trình tính khoảng cách và hướng đi Locxo
o Người sử dụng nhập dữ liệu: Tọa độ điểm đầu A ()
 Tọa độ điểm cuối B()
o Chương trình sẽ tự động tính được khoảng cách và hướng đi Locxo giữa hai điểm AB 

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ính hướng đi và khoảng cách Locxo.
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 độ điểm đầu: C6, E6, G6, C9, E9, G9
- Nhập giá trị tọa độ điểm cuối:K6, M6, O6, K9, M9, O9
Các ô xuất kết quả là: C17, E17, K17 và N17
Sau đây là chương trình chính của bài toán:
Cũng như bài số 1 ta cần phải sử dụng các ô trung gian.
C11= C6 + E6/60 Đổi vĩ độ điểm đầu ra độ
D11= C9*60 + E9 Đổi kinh độ điểm đầu ra phút
K11= K6 + M6/60 Đổi vĩ độ điểm cuối ra độ
L11= K9*60 + M9 Đổi kinh độ điểm cuối ra phút
C12=7915.7045*Log(Tan(Radians(45+C11/2))) Tính vĩ độ tiến
K12=7915.7045*Log(Tan(Radians(45+K11/2))) Tính vĩ độ tiến
C13=K12- C12 Tính hiệu vĩ độ tiến
D13= L11 - D11 Tính hiệu kinh độ
E13=ATAN(D13/C13) Tính ra Radians của hướng đi
F13=DEGREES(E13) Tính hướng đi ra độ
G13=(K11-C11)*60 Tính hiệu vĩ độ ra phút

Kết quảtính toán:
C17=Trunc(F13) Lấy phần độ của hướng đi
E17=(F13 – C17)*60 Lấy phần phút của hướng đi
K17=G13/COS(E13) Tính khoảng cách ra hải lý
N17= K17*1.852 Tính khoảng cách ra Km

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 hai điểm đầu và điểm cuối có vĩ độ khác tên, ta sẽ nhận thấy kết quả tính toán sai. Chỉ khi hai điểm đầu và cuối cùng ở một bên của bán cầu thì mới tính hiệu vĩ độ, nếu ở khác bán cầu phải tính tổng. Cụ thể như sau:
C13=IF(G6=O6,K12-C12, K12+C12)
G13=IF(G6=O6,(K11-C11)*60,K11+ C11)*60)
- Thứ hai: Tương tự như trên nếu hai điểm có kinh độ khác tên thì việc tính toán cho kết quả sẽ không dúng. Như vậy nếu hai điểm có kinh độ ở cùng phía đông hoặc tây thì mới lấy hiệu kinh độ, nếu ở khác phía ta phải lấy tổng hai kinh độ. Để sửa chữa phần này nên làm như sau:
D13=IF(G9=O9, L11 - D11, L11-D11)
- Ngoài ra nếu người sử dụng gõ nhầm tên của các kinh độ cũng như vĩ độ thì chúng ta cần phải làm một số ô thông báo điều đó. Vĩ độ chỉ được phép nhận tên N hoặc S, kinh độ chỉ chấp nhận tên E hoặc W, các tên hoặc ký tự khắc nhập vào chương trình sẽ báo lỗi.
- Cũng tương tự như trên, chúng ta cũng nên có một số ô thông báo cho việc nhập giá trị “Độ”, “Phút” của các kinh, vĩ độ.

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.

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 đâ...

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.