Lời Hay Ý Đẹp
Latest topics
» Tự học lập trình IOS trong vòng 24h
by kenanh 27/1/2014, 22:28

» xin tài liệu một số môn học
by nguyentvvan 21/8/2013, 21:34

» [Thảo luận] Bài toán đong nước
by giathinh9x 9/1/2013, 22:39

» Học Marketing Online, Học Chuyên viên Internet Marketing Online tại iNET
by NIIT-iNET 19/6/2012, 14:23

» Học PHP nâng cao, Học lập trình web với PHP nâng cao tại học viện iNET
by NIIT-iNET 19/6/2012, 14:22

» Học PHP, học lập trình web với PHP tại iNET vào ngày 19/07/2012
by NIIT-iNET 19/6/2012, 14:20

» PHIÊN BẢN MỚI CHO THIÊN ĐƯỜNG CÁ Ô LA LA !!!
by todaytv 13/3/2012, 15:35

» [hot] game khu vườn địa đàng phiên bản mobile của KVTM
by trantinh1713 3/1/2012, 15:20

» Đề tham khảo (update phút 90)
by ndc_2209 29/12/2011, 10:26

» Học bổng Lời Dịch tuần này.
by tienganh123 1/11/2011, 13:13

» [Thảo luận] Quản lý phân công giảng dạy PTTH
by huyquang0510 5/10/2011, 09:52

» Học tiếng Nhật - Top Globis
by tuquynh 21/9/2011, 10:35

» Học tiếng Nhật - Top Globis
by tuquynh 8/8/2011, 11:19

» Order Imitrex Online
by Khách viếng thăm 4/8/2011, 18:46

» Speeds Caffeine Metabolism Up
by Khách viếng thăm 4/8/2011, 18:12

» Skin For Good Caffeine
by Khách viếng thăm 3/8/2011, 14:54

» Cheap Pvc Figures
by Khách viếng thăm 1/8/2011, 19:32

» Action Rapid Onset Zolpidem Of
by Khách viếng thăm 31/7/2011, 01:13

» TUYỂN NHÂN VIÊN KINH DOANH ( làm việc tại văn phòng )
by canhkientp 5/7/2011, 14:59

» Demo + Vài điểm thảo luận về LINQ - Nhóm 7
by ChuongTienPhat 3/7/2011, 12:19


[Thảo luận] Bài toán đong nước

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

[Thảo luận] Bài toán đong nước

Bài gửi by ChuongTienPhat on 14/11/2009, 13:48

ĐỀ BÀI TOÁN ĐONG NƯỚC:
VX = 5
VY = 7
z = 4.

VX là thể tích bình 1
VY là thể tích bình 2
z là số nước cần đong.
Làm thế nào để đong đc z lít nước bằng 2 bình VX và VY?

PHÂN TÍCH:
Sau một thời gian tính toán, bạn có thể sẽ đưa ra một quy trình đổ nước đại loại như :
Múc đầy bình 7
Trút hết qua bình 5 cho đến khi 5 đầy.
Đổ hết nước trong bình 5
Đổ hết nước còn lại từ bình 7 sang bình 5
Múc đầy bình 7
Trút hết qua bình 5 cho đến khi bình 5 đầy.
Phần còn lại chính là số nước cần đong.

Tổng quát
:
Gọi lượng nước chứa trong bình X là x (0<=x<=VX)
Gọi lượng nước chứa trong bình Y là y (0<=y<=VY)
Như vậy, điều kiện kết thúc của bài toán sẽ là :
x = z hoặc y = z
Điều kiện đầu của bài toán là : x = 0 và y=0

Ba luật được mô tả như sau :
(L1) Nếu bình X đầy thì đổ hết nước trong bình X đi.
(L2) Nếu bình Y rỗng thì đổ đầy nước vào bình Y.
(L3) Nếu bình X không đầy và bình Y không rỗng thì hãy trút nước t? bình Y sang bình X (cho đến khi bình X đầy hoặc bình Y hết nước).

Ví dụ:
Vx = 3, Vy = 4 và z = 2
Ban đầu : x = 0, y = 0
Luật (L2) -> x = 0, y = 4
Luật (L3) -> x = 3, y = 1
Luật (L1) -> x = 0, y = 1
Luật (L3) -> x = 1, y = 0
Luật (L2) -> x = 1, y = 4
Luật (L3) -> x = 3, y = 2

Chú ý nhá, không phải số nào cũng đong được đâu nhá:
Điều kiện số nước cần đong là một bội số của ước số chung lớn nhất của thể tích hai bình.
z = n x USCLN(VX, VY) (với n nguyên dương)

Nguồn: tiger86love102 - cuasotinhoc.vn

Trên đây là mô tả về ý tưởng giải bài toán đong nước,
mong nhận được sự đóng góp thêm từ mọi người

_________________
Nếu Khách viếng thăm đọc được một bài viết có ích,
hãy cảm ơn bằng một bài viết có ích khác,
cùng nhau góp tay xây dựng diễn đàn lớp 07CK2 nhé.


http://chutiephat.vn.vc
avatar
ChuongTienPhat
Admin
Admin

Nam
Tổng số bài gửi : 978
Age : 27
Registration date : 17/12/2007

http://360.yahoo.com/ztienphat2709z

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by nguyenbaquang_99 on 14/11/2009, 14:14

hj, thanks nhé. giá như có thêm cái code nữa thì tốt quá .
avatar
nguyenbaquang_99
| Trẻ Sơ Sinh |
| Trẻ Sơ Sinh |

Nam
Tổng số bài gửi : 33
Age : 31
Registration date : 27/01/2009

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by ChuongTienPhat on 14/11/2009, 15:17

nguyenbaquang_99 đã viết:hj, thanks nhé. giá như có thêm cái code nữa thì tốt quá .

Hii, thì đó, Q làm cái code đi, rồi up lên anh em thảo luận thêm Cười nhe răng Chờ gì nữa gjtjt
Chính việc này mới tạo nên giá trị của lập trình viên chứ, không thì mình cũng như các ss văn phòng mất rồi còn gì haha

_________________
Nếu Khách viếng thăm đọc được một bài viết có ích,
hãy cảm ơn bằng một bài viết có ích khác,
cùng nhau góp tay xây dựng diễn đàn lớp 07CK2 nhé.


http://chutiephat.vn.vc
avatar
ChuongTienPhat
Admin
Admin

Nam
Tổng số bài gửi : 978
Age : 27
Registration date : 17/12/2007

http://360.yahoo.com/ztienphat2709z

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by sylam_113 on 16/11/2009, 19:39

đúng đó. cái sỳ và các bạn cần có cả 2 (code và phân tích). code là để lấy điểm còn cái phân tích là để hiểu.
Sỳ sẽ copy-paste và nộp. kaka. CHÚC AE làm bt A* thật tốt nha
avatar
sylam_113
| Trẻ Sơ Sinh |
| Trẻ Sơ Sinh |

Nam
Tổng số bài gửi : 34
Age : 27
Location : Home
Registration date : 26/11/2008

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by dungvnit on 29/4/2011, 14:43

Thư viện khai báo của bài toán:
CODE viết bằng VB6 cho ae
Trích:
Dim sb(100) As DongNuoc
Dim X As Integer
Dim Y As Integer
Dim Z As Integer
Dim BinhX As Integer
Dim BinhY As Integer
Dim BinhZ As Integer
Dim D As Integer
Dim i As Integer

Câu lệnh nút Close:

Trích:
Private Sub cmdclose_Click()
frmChinh.Hide
MsgBoxUni ConvertToUnicode("Ca3m o7n ba5n d9a4 su73 du5ng chu7o7ng tri2nh" & vbNewLine & " " & vbNewLine & "(¯`•.(¯°•o©º°°.™ _ MO_LU _™.•o©º°.°¯)¸.•'¯)" & vbNewLine & "" & vbNewLine & "Ta1c gia3: Pha5m D9i2nh Mong " & vbNewLine & "Lo71p: K1CT1 " & vbNewLine & "Ca2c ba4n ha4y ghe1 tha8m die64n d9a2n CNTT cu3a mi2nh nha." & vbNewLine & "http://www.k1ct1.com " & vbNewLine & "See you Again"), , ConvertToUnicode("(¯`•.(¯°•o©º°°.™ _ Tho6ng ba1o _™.•o©º°.°¯)¸.•'¯)")
Unload Me

End Sub


Câu lệnh nút Giải:

Trích:
Private Sub cmdGiai_Click()
On Error GoTo Er
List1.Clear
D = 0
X = 0
Y = 0
Z = Val(txtZ)
BinhX = Val(txtBinhX)
BinhY = Val(txtBinhY)
BinhZ = Val(txtZ)
While X <> Z And Y <> Z
If X = BinhX Then
X = 0
D = D + 1
sb(D).BinhX = 0
sb(D).BinhY = sb(D - 1).BinhY
sb(D).DienGiai = ConvertToUnicode("D9o63 he61t nu7o71c o73 bi2nh X d9i")
End If

If Y = 0 Then
Y = BinhY
D = D + 1
sb(D).BinhX = sb(D - 1).BinhX
sb(D).BinhY = Y
sb(D).DienGiai = ConvertToUnicode("D9o63 d9a62y bi2nh Y")
End If

If Y > 0 Then
k = ktramin(BinhX - X, Y)
X = X + k
Y = Y - k
D = D + 1
sb(D).BinhX = X
sb(D).BinhY = Y
sb(D).NuocDo = k
sb(D).DienGiai = ConvertToUnicode("D9o63 " & k & " li1t nu7o71c tu72 bi2nh Y sang bi2nh X")
End If
Wend
For i = 1 To D
List1.AddItem ConvertToUnicode("Bu7o71c thu71 " & i & ": " & sb(i).DienGiai & ", X = " & sb(i).BinhX & " li1t, " & "Y = " & sb(i).BinhY & " li1t")
Next
Exit Sub
Er:
MsgBoxUni ConvertToUnicode("Co1 lo64i xa3y ra, ba5n ha4y cho5n so61 kha1c"), vbCritical, ConvertToUnicode("Ba1o Ca1o Lo64i")
End Sub

Câu lệnh hàm kiểm tra:

Trích:
Function ktramin(a As Integer, b As Integer) As Integer
Dim ktra As Integer
ktra = a - b
If ktra >= 0 Then
ktramin = b
Else
ktramin = a
End If
End Function
Câu lệnh nút Random:

Trích:
Private Sub cmdRandom_Click()
Randomize
txtBinhX = Int((9 * Rnd) + 1)
txtBinhY = Int((9 * Rnd) + 1)
txtZ = Int((9 * Rnd) + 0)
End Sub
Trích:
Private Sub Command1_Click()
txtBinhX.Text = ""
txtBinhY.Text = ""
txtZ.Text = ""
End Sub
Trích:
Private Sub txtBinhX_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
If KeyAscii <> 8 Then KeyAscii = 0
End If
End Sub
Trích:
Private Sub txtBinhY_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
If KeyAscii <> 8 Then KeyAscii = 0
End If
End Sub
Trích:
Private Sub txtZ_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
If KeyAscii <> 8 Then KeyAscii = 0
End If
End Sub
avatar
dungvnit

Nam
Tổng số bài gửi : 1
Age : 29
Registration date : 29/04/2011

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by ChuongTienPhat on 3/7/2011, 12:18

dungvnit đã viết:
Câu lệnh nút Close:

Trích:
Private Sub cmdclose_Click()
frmChinh.Hide
MsgBoxUni ConvertToUnicode("Ca3m o7n ba5n d9a4 su73 du5ng chu7o7ng tri2nh" & vbNewLine & " " & vbNewLine & "(¯`•.(¯°•o©º°°.™ _ MO_LU _™.•o©º°.°¯)¸.•'¯)" & vbNewLine & "" & vbNewLine & "Ta1c gia3: Pha5m D9i2nh Mong " & vbNewLine & "Lo71p: K1CT1 " & vbNewLine & "Ca2c ba4n ha4y ghe1 tha8m die64n d9a2n CNTT cu3a mi2nh nha." & vbNewLine & "http://www.k1ct1.com " & vbNewLine & "See you Again"), , ConvertToUnicode("(¯`•.(¯°•o©º°°.™ _ Tho6ng ba1o _™.•o©º°.°¯)¸.•'¯)")
Unload Me

End Sub

Có cần phải có những dòng chữ này không?

_________________
Nếu Khách viếng thăm đọc được một bài viết có ích,
hãy cảm ơn bằng một bài viết có ích khác,
cùng nhau góp tay xây dựng diễn đàn lớp 07CK2 nhé.


http://chutiephat.vn.vc
avatar
ChuongTienPhat
Admin
Admin

Nam
Tổng số bài gửi : 978
Age : 27
Registration date : 17/12/2007

http://360.yahoo.com/ztienphat2709z

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by giathinh9x on 9/1/2013, 22:38

ChuongTienPhat đã viết:
nguyenbaquang_99 đã viết:hj, thanks nhé. giá như có thêm cái code nữa thì tốt quá .

Hii, thì đó, Q làm cái code đi, rồi up lên anh em thảo luận thêm Cười nhe răng Chờ gì nữa gjtjt
Chính việc này mới tạo nên giá trị của lập trình viên chứ, không thì mình cũng như các ss văn phòng mất rồi còn gì haha
có bạn nào biết làm bài chuyển cơ số nhị phân sang thập phân ko.up lên mình xem với
avatar
giathinh9x

Nam
Tổng số bài gửi : 2
Age : 25
Registration date : 09/01/2013

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by giathinh9x on 9/1/2013, 22:39

mình đang làm phần prolog với đề tài là chuyển cơ số nhị phân sang thập phân.bạn nào có code bai nj ko up lên mình xem với!
avatar
giathinh9x

Nam
Tổng số bài gửi : 2
Age : 25
Registration date : 09/01/2013

Về Đầu Trang Go down

Re: [Thảo luận] Bài toán đong nước

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết