MÔ hình hóa đạn bắn cao xạ

15 724 0
MÔ hình hóa đạn bắn cao xạ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHỎNG TRẬN ĐỊA PHÁO CAO XẠ 1. Tên đề bài và nội dung thực hiện. a. Tên đề bài. Một khẩu pháo cao xạ có thể bắn m loạt đạn trong phạm vi xạ kích của mình. Xác xuất trúng đích của mỗi loạt đạn là P. Hãy phỏng trận đại pháo, tìm số pháo n cần thiết để bắn hạ mục tiêu nếu xác xuất bắn hạ là P0. Các số liệu cho trong bảng sau: Xác xuất bắn trúng của mỗi loạt đạn, p Số loạt đạn trong phạm vi xạ kích, m Xác xuất bắn hạ máy bay, P0 0,1 20 0.7 0.1 20 0.8 0.2 10 0.8 0.2 10 0.9 0.3 5 0.7 0.3 5 0.8 b. Nhiệm vụ đối với sinh viên: - Phân tích thuật toán giải - Lưu đồ thuật toán - Viết chương trình phỏng - Kết quả phỏng, nhận xét, bình luận 2 . Phân tích đề bài. Giả sử một khẩu pháo bắn được m0 loạt đạn trong thời gian T, vậy với với m loạt đạn trong thời gian T thì cần số khẩu pháo là n = m/m0. Trong đó m0=T/t0 loạt đạn, do đó xác suất bắn trúng của khẩu pháo bằng tổng xác suất bắn trúng của các loạt đạn. Xác suất bắn trúng mục tiêu của cả trận địa pháo là tổng xác suất bẳn trúng của mỗi khẩu pháo . 3. Phân tích các biến ngẫu nhiên. Hệ thống địa pháo cao xạ là một hệ ngẫu nhiên: xác suất bắn trúng của mỗi loạt pháo hoàn toàn ngẫu nhiên trong khoảng (0,1). Mỗi số ngãu nhiên Ui trong khoảng (0,1) được lấy vào, nếu nhỏ hơn hoặc băng xác suất bắn trúng của mỗi khẩu pháo p thì U i chính là xác suất bắn trúng của mỗi loạt đạn. 4. Phân tích thuật giải. 1. Lấy số ngẫu nhiên U i =U(0,1). 2. Nếu U i ≤ p thì bắn trúng máy bay với xác suất p i =U i . 3. Mỗi khẩu pháo có thể bắn T / t loạt trong thời gian máy bay bay qua trận địa . Vậy xác suất bắn trúng máy bay của một khẩu là : P i = ∑U i , với điều kiện U i ≤ p 4. Vậy xác suất bắn trúng maý bay của cả trận địa pháo là : P n = ∑ P i , nếu P n ≥ P 0 dẫn đến máy bay bị bắn hạ . 5.Từ đó có thể xác định được số khẩu pháo tối ưu n tư bắn hạ máy bay với xác suất: P n = P 0 . Ta dùng biến “dem” để đếm số khầu pháo ít nhất để có thể bắn trúng mục tiêu với các số liệu đã nhập. Khi tìm được “dem” ta sẽ đem so sánh với số khẩu pháo đã cho, nếu nó lớn hơn thì không bắn trúng mục tiêu ngươc lại thì trúng mục tiêu Ta dùng biến Lb để đếm số lần bắn của mỗi khẩu pháo (mỗi khẩu có thể bắn T/t lượt) ở mỗi lượt bắn xác suất bắn trúng của mỗi khẩu pháo là một đại lượng ngẫu nhiên được chứa trong biến U i (U i = U(0,1)). Từ đó ta xác định được xác suất bắn trúng của từng khẩu pháo sau T/t lượt bắn và xác suất bắn trúng của toàn bộ trận địa pháo. So sánh xác suất bắn trúng của toàn bộ trận địa pháo với xác xuất bắn trúng máy bay ta sẽ xác định được khả năng bắn trúng của trận địa pháo (nếu ∑Pi > P0 thì bắn trúng) 5. Lưu đồ tính. 6. Điều kiện phỏng. Từ yêu cầu của đề bài, ta cần phải có những điều kiện sau để cho hệ thống mô phỏng được:  Thêm các thông số sau: t0: Thời gian giữa hai lần bắn liên tiếp. T: Thời gian máy bay bay qua  Ngoài ra cần đảm bảo các thông số nhập phải đúng 7. Viết chương trình phỏng. Dim P As Single 'Xac suat ban trung Dim m As Integer 'Loat dan trong pham vi xa kich Dim P0 As Single 'Xac suat ban ha Dim t0 As Single 'Thoi gian giua 2 luot ban Dim T As Single 'Thoi gian may bay bay qua Dim nhap_dung As Boolean Dim ban_ha As Boolean Dim dem As Integer Dim n As Integer 'So phao can thiet Dim max As Byte Dim i As Byte Dim max1 As Long Private Sub Form_Load() Reset End Sub Private Sub cmdExit_Click() End End Sub Private Sub cmdReset_Click() tmrReset.Enabled = True End Sub Private Sub cmdStart_Click() imgNo.Visible = False TenLua Tinh_toan If nhap_dung = True Then tmrStart.Enabled = True End Sub Private Sub txtSo_Loat_Dan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then imgNo.Visible = False TenLua Tinh_toan If nhap_dung = True Then tmrStart.Enabled = True End If End Sub Private Sub txtTGBan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then imgNo.Visible = False TenLua Tinh_toan If nhap_dung = True Then tmrStart.Enabled = True End If End Sub Private Sub txtTGBay_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then imgNo.Visible = False TenLua Tinh_toan If nhap_dung = True Then tmrStart.Enabled = True End If End Sub Private Sub txtXSBan_ha_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then imgNo.Visible = False TenLua Tinh_toan If nhap_dung = True Then tmrStart.Enabled = True End If End Sub Private Sub txtXSBan_trung_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then imgNo.Visible = False TenLua Tinh_toan If nhap_dung = True Then tmrStart.Enabled = True End If End Sub Private Sub tmrStart_Timer() If pic1.Top > 0 Then pic1.Top = pic1.Top - 100 Else pic1.Top = 0 tmrMay_bay.Interval = 2 * Int(T) + 1 tmrTen_lua.Interval = Int(t0) + 1 tmrMay_bay.Enabled = True tmrTen_lua.Enabled = True tmrStart.Enabled = False End If End Sub Private Sub tmrMay_bay_Timer() Select Case ban_ha Case True If imgMayBay.Left < imgNo.Left Then imgMayBay.Left = imgMayBay.Left + 50 Else imgMayBay.Left = -4000 imgNo.Visible = True tmrMay_bay.Enabled = False tmrTen_lua.Enabled = False MsgBox "May bay da bi ban ha, xin chuc mung ban", , "Chuc mung" imgNo.Visible = False txtSo_Phao.Text = Str(n) txtSpCan_thiet.Text = Str(dem) TenLua End If Case False If imgMayBay.Left < Me.Width Then imgMayBay.Left = imgMayBay.Left + 50 Else imgMayBay.Left = -4000 MsgBox "May bay chua bi ban ha, Chia buon cung ban", , "Chia buon" tmrMay_bay.Enabled = False tmrTen_lua.Enabled = False txtSo_Phao.Text = Str(n) txtSpCan_thiet.Text = Str(dem) TenLua End If End Select End Sub Private Sub tmrReset_Timer() If pic1.Top < 7000 Then pic1.Top = pic1.Top + 100 Else Reset End If End Sub Private Sub tmrTen_lua_Timer() If imgTenLua.Item(max).Top > 0 Then For i = 0 To 20 imgTenLua.Item(i).Top = imgTenLua.Item(i).Top - 500 Next i Else TenLua End If End Sub Private Sub Tinh_toan() Dim m0 As Integer 'So lan ban cua 1 phao trong thoi gian T Dim Pn As Single 'Tong xac suat ban trung cua tran dia phao Dim Pi As Single 'Xac xuat ban trung trong 1 lan ban Dim Luot_ban As Integer Dim Ui As Single 'Xac suat ban trung ngau nhien Nhap If nhap_dung = False Then Exit Sub m0 = Int(T / t0) n = Int(m * t0 / T) Pn = 0 dem = 0 Do While Pn < P0 dem = dem + 1 Pi = 0 Luot_ban = 0 Do While (Luot_ban < m0) Ui = Rnd(1) If Ui < P Then Luot_ban = Luot_ban + 1 Pi = Pi + Ui End If Loop Pn = Pn + Pi Loop If dem <= n Then ban_ha = True Else ban_ha = False End If End Sub Private Sub Nhap() P = Val(txtXSBan_trung) m = Val(txtSo_Loat_Dan) P0 = Val(txtXSBan_ha) t0 = Val(txtTGBan) T = Val(txtTGBay) If P > 1 Or P < 0 Or m > 1000 Or m < 0 Or P0 < 0 Or P0 > 1 Or t0 <= 0 Or t0 > 1000 Or T < 0 Or T > 1000 Or t0 > T Then nhap_dung = False MsgBox "Thong so sai, hay nhap lai thong so", vbInformation, "Thong bao" Exit Sub Else nhap_dung = True End If End Sub Private Sub Reset() txtSo_Loat_Dan = "20" txtTGBan.Text = "1" txtTGBay.Text = "3" txtXSBan_ha.Text = "0.7" txtXSBan_trung.Text = "0.1" txtSpCan_thiet.Text = "" txtSo_Phao.Text = "" tmrStart.Enabled = False tmrReset.Enabled = False tmrMay_bay.Enabled = False tmrTen_lua = False imgNo.Visible = False pic1.Top = 7000 pic1.Left = 0 imgMayBay.Left = -4000 TenLua End Sub Private Sub TenLua() Randomize (1) For i = 0 To 20 imgTenLua.Item(i).Top = Int(10000 * Rnd(1) + 6500) Next i End Sub [...]... Timer3 để phỏng quá trình bắn của trận địa pháo, tốc độ bắn phụ thuộc vào giá trị của T và t Bộ tmrTen_lua_Timer để phỏng quá trình khi bắn trúng mục tiêu (khi bắn trúng hay không bắn trúng mục tiêu thì đều có hiển thị thông báo) 9 Kết quả phỏng *Kết quả phỏng với dữ liệu đã cho : Thời gian máy bay bay qua :T =3 Số loạt đạn trong phạm vi xạ kích : m = 20 Thời gian thực hiện một loạt bắn :t... bài toán và ý tưởng thuật toán ta xây dựng mô hình phỏng của trận địa pháo  Giao diện chính  Giao diện phỏng Phần phỏng được hiển thị nhờ Button Start trên giao diện chính Quá trình chuyển đổi giao diện được thực hiện thông qua bộ tmrStart_Timer Khi giao diện phỏng xuất hiện thì quá trình phỏng bắt đầu thực hiện Sử dụng bộ tmrMay_bay_Timer để phỏng quá trình bay của máy bay, tốc độ... một loạt bắn :t =1 Xác suất bắn trúng của 1 khẩu pháo : p = 0,1 Xác suất bắn hạ của máy bay : P0 = 0,7  Ta được kết quả : Máy bay sẽ bị bắn hạ Số pháo tính được theo m :n=6 Số khẩu pháo cần thiết là : ntư = 6 10 Nhận xét kết quả phỏng Với kết quả phỏng hoàn toàn phù hợp với thực tế: Nếu xác suất bắn trúng của mỗi khẩu pháo hoặc xác suất bắn hạ máy bay giảm thì khả năng bắn trúng của cả trận địa... gian máy bay bay qua trận địa càng lớn thì máy bay càng dễ bị bắn hạ, do đó số khẩu pháo tối ưu cũng giảm đi Tuy nhiên do khả năng bắn trúng của mỗi loạt đạn là một đại lượng ngẫu nhiên nên với cùng một bộ số đã cho thì kết quả phỏng có thể cho ra số pháo tối ưu khác nhau 11 Tài liệu tham khảo [1], Phạm Tâm Thành, Bài giảng Mô hình hóa hệ thống, Trường ĐHHH Việt Nam [2], Hồng Phúc – Linh Nga, Tự

Ngày đăng: 05/03/2014, 21:26

Từ khóa liên quan

Mục lục

  • MÔ PHỎNG TRẬN ĐỊA PHÁO CAO XẠ

    • 6. Điều kiện mô phỏng.

    • 9. Kết quả mô phỏng.

      • 11. Tài liệu tham khảo

      • [1], Phạm Tâm Thành, Bài giảng Mô hình hóa hệ thống, Trường ĐHHH Việt Nam.

      • [2], Hồng Phúc – Linh Nga, Tự học VISUAL BASIC 6.0 - NXB Lao động, 2008.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan