1. Product หรือ จำนวนสินค้าที่ผลิต
2. Fixed Cost(FC)
3. Variable Cost(VC)
4. Total Cost (ซึ่งได้มาจาก FC+VC)
*5. Marginal Cost หรือ MC (มาจากการเปลี่ยนแปลงของ TC ที่เพิ่มขึ้น/การเปลี่ยนแปลงของจำนวนสินค้าที่เพิ่มขึ้น หรือจะพูดง่ายๆคือ TC ปัจจุบันลบกับ TC อันก่อนหน้า)
5. Average Fixed Cost หรือ AFC(มาจาก FC/จำนวนสินค้า)
6. Average Variable Cost หรือ AVC (มาจาก VC/จำนวนสินค้า)
7. Average Total Cost หรือ ATC (มาจาก AFC+AVC)
ผมจึงจัดการร่างโปรแกรมขึ้นโดยใช้ Textbox จำนวน 3 Textbox คือ รับ Fixed Cost, Variable Cost ส่วนอีกอันเป็นอันที่ใช้แสดงผล และมี Numericupdown ในการเลือกจำนวนสินค้าที่แสดง โดย Event จะอยู่ที่ปุ่มคำนวณเพียงตัวเดียวในการจัดการค่าทั้งหมด โดยหลักการเบื้องต้นคือ ใช้คำสั่ง For ในการวนลูปตามจำนวนสินค้าที่จะผลิตตามที่เลือกจาก Numericupdown ครับ ซึ่งผมใช้โค้ดดังนี้
สังเกตุดูนะครับว่า ผมไม่ได้ใส่ตัว MC หรือ Marginal Cost ลงไปเลย เพราะผมไม่รู้ว่าจะทำอย่างไรครับ เนื่องจากสูตรของ MC คือ TC อันปัจจุบันลบกับ TC อันก่อนหน้า ซึ่งนี่คือสิ่งที่ผมอยากจะมาถามพี่ๆในบอร์ดครับที่พอจะรู้เรื่อง Visual Basic หัวข้อนี้ เพราะลูปคือการทำงานวนไปเรื่อยจนถึงค่าที่กำหนด แต่ผมอยากทราบว่า เราจะนำค่าที่อยู่ในแถวปัจจุบันไปลบกับแถวก่อนหน้าได้อย่างไรครับPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim FC As Decimal
Dim VC As Decimal
Dim VCR As Decimal
Dim TC As Decimal
Dim good As Integer
Dim i As Integer
Dim strOutput As String
Dim AFC As Decimal
Dim AVC As Decimal
Dim ATC As Decimal
FC = Val(Text1.Text)
VC = Val(Text2.Text)
good = numproduct.Value
strOutput = "Product" & ControlChars.Tab & "FC" & ControlChars.Tab & "VC" & ControlChars.Tab & "TC" & ControlChars.Tab & "AFC" & ControlChars.Tab & "AVC" & ControlChars.Tab & "ATC" & ControlChars.CrLf
For i = 1 To good
VCR = VC * i
TC = FC + VCR
AFC = FC / good
AVC = VCR / good
ATC = AFC + AVC
strOutput &= (i & ControlChars.Tab & FC & ControlChars.Tab & VCR & ControlChars.Tab & TC & ControlChars.Tab & String.Format("{0:F}", AFC) & ControlChars.Tab & String.Format("{0:F}", AVC) & ControlChars.Tab & String.Format("{0:F}", ATC) & ControlChars.CrLf)
Next
txtResult.Text = strOutput
End Sub
End Class
จะใช้คำสั่งอย่างไรดี หรือ Nested Loop ก็ไม่น่าใช่ ช่วยผมด้วยครับ ยากมากๆ