งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

259201 Computer Programming for Engineers Week 9 Engineering Problem #2.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "259201 Computer Programming for Engineers Week 9 Engineering Problem #2."— ใบสำเนางานนำเสนอ:

1 Computer Programming for Engineers Week 9 Engineering Problem #2

2 Payback Period ในการลงทุนโครงการ ใดๆ หากต้องการพิจารณาว่า โครงการนั้นๆ คุ้มค่าหรือไม่ สามารถใช้ดัชนีชี้วัดทาง การเงินได้หลายตัว เช่น IRR, NPV ฯลฯ หนึ่งในนั้น มีดัชนีทางการเงินที่เรียกว่า Payback Period โดยที่ Payback Period นี้ จะบอกระยะเวลา คุ้มทุน ( ระยะเวลาคืนทุน ) โดยคำนวณบนพื้นฐานของ เงินลงทุน และรายได้ที่เกิดขึ้น

3 เช่น หากโครงการ หนึ่งๆ ลงทุน 65 ล้านบาท มีผลกำไร 3 ปีแรก ปีละ 10 ล้านบาท ปีถัดๆ ไป มีกำไรเพิ่มขึ้นเป็น 15 ล้านบาท โครงการนี้จะคืนทุน ในระยะเวลากี่ปี เป็น ต้น Payback Period

4 เช่น หากโครงการ หนึ่งๆ ลงทุน 65 ล้านบาท มีผลกำไร 3 ปีแรก ปีละ 10 ล้านบาท ปีถัดๆ ไป มีกำไรเพิ่มขึ้นเป็น 15 ล้านบาท โครงการนี้จะคืนทุน ในระยะเวลากี่ปี เป็นต้น ตอบ คืนทุน ภายในปีที่ 6 ( หลังจากนั้นเป็น กำไร ) PB after 5 years = PB at year 6 Payback Period

5 โจทย์ หากต้องการเขียนโปรแกรม ให้ผู้ใช้เลือกเงินลงทุน (Investment) และเลือกกำไรที่คาดว่าจะได้รับในแต่ละปี (Expected Profit) สำหรับการลงทุนระยะ 10 ปี แล้ว คำนวณหาจุดคุ้มทุน (Payback Period) และแสดงผลว่าใน แต่ละปีมีดุลของบัญชี (Balance) เท่าไร จะเขียนโปรแกรม ออกมาได้อย่างไร โดยที่ Payback if Balance > 0 เมื่อ Balance = – Investment + Accumulated Profit Accumulated Profit = ผลรวมกำไรจากปีที่ 1 ถึงปีที่ พิจารณา Payback Period

6 Input: เงินลงทุน (Investment) กำไรที่คาดว่าจะได้รับในแต่ละปี (Expected Income) Output ดุลบัญชี (Balance) ปีที่คืนทุน (PayBack year) Algorithm Payback if Balance > 0 Balance = – Investment + Accumulated Profit Accumulated Profit = ผลรวมกำไรจากปีที่ 1 ถึงปีที่พิจารณา Payback Period

7 ส่วนที่ 1 ของโปรแกรม รับค่าเงินลงทุน.... ใช้ฟังก์ชั่น scanf รับค่ากำไรที่คาดว่าจะได้รับในแต่ละปี.... ใช้ฟังก์ชั่น scanf สำหรับการลงทุนระยะ 10 ปี... ใช้ for (i=1; i<=10; i++) int i; float invest, income[10]; printf("How much do you want to invest?: "); scanf("%f", &invest); for(i=1 ; i<=10; i++) { printf("What is the expected income in year %d :",i); scanf("%f", &income[i-1]); } Payback Period

8 ส่วนที่ 2 ของโปรแกรม หากำไรสะสม.... ใช้ตัวแปร sumIncome โดยที่ sumIncome = sumIncome + income(i) สำหรับการลงทุนระยะ 10 ปี... ใช้ for (i=1 ; i<=10; i++) int i; float sumIncome = 0; for(i=1 ; i<=10; i++){ { sumIncome = sumIncome + income[i-1]; } Payback Period

9 ส่วนที่ 3 ของโปรแกรม หาดุลบัญชี.... ใช้ตัวแปร Balance โดยที่ Balance = -Invest + SumIncome แสดงผลดุลบัญชี... ใช้ fprintf สำหรับการลงทุนระยะ 10 ปี... ใช้ for (i=1; i<=10; i++) ( ที่มีอยู่แล้ว ) Payback Period int i; float sumIncome = 0,balance,invest; for (i=1 ; i<=10; i++) { sumIncome = sumIncome + income[i-1]; balance = -invest + sumIncome; printf("Year %d, expected balance = %.2f\n",i,balance); }

10 ส่วนที่ 4 ของโปรแกรม เพิ่มเติมเงื่อนไข เมื่อดุลบัญชีเป็นบวกค่าแรก ให้ แสดงผลว่าเป็นปีคุ้มทุน... ใช้ฟังก์ชั่น if Payback Period int i,pbYear = 0; float sumIncome=0,balance,invest; for (i=1 ; i<=10; i++) { sumIncome = sumIncome + income[i-1]; balance = -invest + sumIncome; printf("Year %d, expected balance = %.2f\n",i,balance); if ((balance > 0) && (pbYear == 0)){ pbYear = i; printf("Payback from Year %d\n", pbYear); }

11 Payback Period #include // PB2.C void main() { int i,pbYear = 0; float income[10],sumIncome=0,balance,invest; printf("How much do you want to invest?: "); scanf("%f", &invest); for (i=1 ; i<=10; i++) { printf("What is the expected income in year %d :",i); scanf("%f", &income[i-1]); } for (i=1 ; i<=10; i++) { sumIncome = sumIncome + income[i-1]; balance = -invest + sumIncome; printf("Year %d, expected balance = %.2f\n",i,balance); if ((balance > 0) && (pbYear == 0)){ pbYear = i; printf("Payback from Year %d\n", pbYear); }

12 ทดลอง #1 โครงการ A ลงทุน 65 ล้านบาท มีผล กำไร 3 ปีแรก ปีละ 10 ล้านบาท ปีถัดๆ ไป มีกำไรเพิ่มขึ้น เป็น 15 ล้านบาท Payback Period

13 ทดลอง #2 โครงการ A ลงทุน 105 ล้านบาท มี ผลกำไร 3 ปีแรก ปี ละ 8 ล้านบาท 3 ปี ถัดๆ ไป มีกำไร เพิ่มขึ้นเป็น 12 ล้านบาท และปีที่ เหลือ มีกำไร เพิ่มขึ้นเป็น 15 ล้านบาท Payback Period

14 ในการลงทุนบางโครงการ สินทรัพย์อาจมีค่า และ สามารถนำมาพิจารณาร่วมกับดุลบัญชี เช่น โครงการหอพัก หากเจ้าของหอพัก ลงทุน 65 ล้าน บาท ทำหอพัก เมื่อเลิกกิจการ อาจขายอาคารต่อ ได้ ราคา 30 ล้านบาท Payback Period + Scrap Value

15 Scrap Value เงิน 30 ล้านบาทนี้ เรียกว่าเป็นมูลค่าซาก Scrap Value ซึ่งโดยปกติมีค่าผกผันกับระยะเวลา เช่น เลิกกิจการในปีที่ 1 ( อาคารยังใหม่อยู่ ) อาจขายได้ ราคา 30 ล้านบาท แต่ถ้าเลิกกิจการในปีที่ 5 ( อาคารเริ่มเก่า ) อาจขายได้ ราคา 15 ล้านบาท หรือถ้าเลิกกิจการในปีที่ 10 ( อาคารเก่ามากๆ ) อาจ ขายได้เหลือ 5 ล้านบาท Payback Period + Scrap Value

16 สมมติให้ สมการในการคำนวณมูลค่าซากเป็น Scrap Value year i) = Invest/ (Year + 0.5) เช่น Year 1: Scrap Value (1) = 65/( ) = Year 2: Scrap Value (2) = 65/( ) = Year 3: Scrap Value (3) = 65/( ) = … โดยที่ Balance = – Invest + SumIncome + year i); Payback Period + Scrap Value

17 โจทย์ หากต้องการเขียนโปรแกรม ให้ผู้ใช้เลือกเงินลงทุน (Investment) และเลือกกำไรที่คาดว่าจะได้รับในแต่ละปี (Expected Profit) สำหรับการลงทุนระยะ 10 ปี แล้ว คำนวณหาจุดคุ้มทุน (Payback Period) และแสดงผลว่าใน แต่ละปีมีดุลของบัญชี (Balance) เท่าไร โดยพิจารณา มูลค่าซากด้วย จะเขียนโปรแกรมออกมาได้อย่างไร โดยที่ Payback if Balance > 0 เมื่อ Balance = – Investment + Accum.Profit + Scrap i) Accumulated Profit = ผลรวมกำไรจากปีที่ 1 ถึงปีที่ พิจารณา Scrap Value = Invest/ (Year + 0.5) Payback Period + Scrap Value

18 ส่วนที่เพิ่มเติม หา Scrap Value ในแต่ละปี และแก้ไขสมการ Balance Payback Period + Scrap Value scrap = invest/(i+0.5); balance = - invest + sumIncome + scrap;

19 #include // PB.C void main() { int i,pbYear = 0; float invest,income[10],sumIncome = 0,balance,scrap; printf("How much do you want to invest?: "); scanf("%f", &invest); for (i=1 ; i<=10; i++) { printf("What is the expected income in year %d :",i); scanf("%f", &income[i-1]); } for (i=1 ; i<=10; i++) { sumIncome += income[i-1]; scrap = invest/(i+0.5); balance = -invest + sumIncome + scrap; printf("Year %d, expected balance = %.2f\n",i,balance); if ((balance > 0) && (pbYear == 0)){ pbYear = i; printf("Payback from Year %d\n", pbYear); } Payback Period + Scrap Value

20 ทดลอง #1 โครงการ A ลงทุน 65 ล้านบาท มีผล กำไร 3 ปีแรก ปีละ 10 ล้านบาท ปีถัดๆ ไป มีกำไรเพิ่มขึ้น เป็น 15 ล้านบาท Payback Period + Scrap Value

21 ทดลอง #2 โครงการ A ลงทุน 105 ล้านบาท มี ผลกำไร 3 ปีแรก ปี ละ 8 ล้านบาท 3 ปี ถัดๆ ไป มีกำไร เพิ่มขึ้นเป็น 12 ล้านบาท และปีที่ เหลือ มีกำไร เพิ่มขึ้นเป็น 15 ล้านบาท Payback Period + Scrap Value


ดาวน์โหลด ppt 259201 Computer Programming for Engineers Week 9 Engineering Problem #2.

งานนำเสนอที่คล้ายกัน


Ads by Google