ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
259201 Computer Programming for Engineers
Week 9 Engineering Problem #2
2
Payback Period ในการลงทุนโครงการ ใดๆ หากต้องการพิจารณาว่าโครงการนั้นๆ คุ้มค่าหรือไม่ สามารถใช้ดัชนีชี้วัดทางการเงินได้หลายตัว เช่น IRR, NPV ฯลฯ หนึ่งในนั้น มีดัชนีทางการเงินที่เรียกว่า Payback Period โดยที่ Payback Period นี้ จะบอกระยะเวลาคุ้มทุน (ระยะเวลาคืนทุน) โดยคำนวณบนพื้นฐานของเงินลงทุน และรายได้ที่เกิดขึ้น
3
Payback Period เช่น หากโครงการหนึ่งๆ ลงทุน 65 ล้านบาท มีผลกำไร 3 ปีแรก ปีละ 10 ล้านบาท ปีถัดๆ ไป มีกำไรเพิ่มขึ้นเป็น 15 ล้านบาท โครงการนี้จะคืนทุนในระยะเวลากี่ปี เป็นต้น
4
Payback Period เช่น หากโครงการหนึ่งๆ ลงทุน 65 ล้านบาท มีผลกำไร 3 ปีแรก ปีละ 10 ล้านบาท ปีถัดๆ ไป มีกำไรเพิ่มขึ้นเป็น 15 ล้านบาท โครงการนี้จะคืนทุนในระยะเวลากี่ปี เป็นต้น ตอบ คืนทุนภายในปีที่ 6 (หลังจากนั้นเป็นกำไร) PB after 5 years = PB at year 6
5
Payback Period โจทย์ หากต้องการเขียนโปรแกรม ให้ผู้ใช้เลือกเงินลงทุน (Investment) และเลือกกำไรที่คาดว่าจะได้รับในแต่ละปี (Expected Profit) สำหรับการลงทุนระยะ 10 ปี แล้วคำนวณหาจุดคุ้มทุน (Payback Period) และแสดงผลว่าในแต่ละปีมีดุลของบัญชี (Balance) เท่าไร จะเขียนโปรแกรมออกมาได้อย่างไร โดยที่ Payback if Balance > 0 เมื่อ Balance = – Investment + Accumulated Profit Accumulated Profit = ผลรวมกำไรจากปีที่ 1 ถึงปีที่พิจารณา
6
Payback Period Input: เงินลงทุน (Investment)
กำไรที่คาดว่าจะได้รับในแต่ละปี (Expected Income) Output ดุลบัญชี (Balance) ปีที่คืนทุน (PayBack year) Algorithm Payback if Balance > 0 Balance = – Investment + Accumulated Profit Accumulated Profit = ผลรวมกำไรจากปีที่ 1 ถึงปีที่พิจารณา
7
Payback Period ส่วนที่ 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]); }
8
Payback Period ส่วนที่ 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]; }
9
Payback Period ส่วนที่ 3 ของโปรแกรม หาดุลบัญชี .... ใช้ตัวแปร Balance
โดยที่ Balance = -Invest + SumIncome แสดงผลดุลบัญชี ...ใช้ fprintf สำหรับการลงทุนระยะ 10 ปี ...ใช้ for (i=1; i<=10; i++) (ที่มีอยู่แล้ว) 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
Payback Period ส่วนที่ 4 ของโปรแกรม
เพิ่มเติมเงื่อนไข เมื่อดุลบัญชีเป็นบวกค่าแรก ให้แสดงผลว่าเป็นปีคุ้มทุน ... ใช้ฟังก์ชั่น if 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 <stdio.h> // 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]); } 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
Payback Period ทดลอง #1 โครงการ A ลงทุน 65 ล้านบาท มีผลกำไร 3 ปีแรก ปีละ 10 ล้านบาท ปีถัดๆ ไป มีกำไรเพิ่มขึ้นเป็น 15 ล้านบาท
13
Payback Period ทดลอง #2 โครงการ A ลงทุน 105 ล้านบาท มีผลกำไร 3 ปีแรก ปีละ 8 ล้านบาท 3 ปีถัดๆ ไป มีกำไรเพิ่มขึ้นเป็น 12 ล้านบาท และปีที่เหลือ มีกำไรเพิ่มขึ้นเป็น 15 ล้านบาท
14
Payback Period + Scrap Value
ในการลงทุนบางโครงการ สินทรัพย์อาจมีค่า และสามารถนำมาพิจารณาร่วมกับดุลบัญชี เช่น โครงการหอพัก หากเจ้าของหอพัก ลงทุน 65 ล้านบาท ทำหอพัก เมื่อเลิกกิจการ อาจขายอาคารต่อ ได้ราคา 30 ล้านบาท
15
Payback Period + Scrap Value
Scrap Value เงิน 30 ล้านบาทนี้ เรียกว่าเป็นมูลค่าซาก Scrap Value ซึ่งโดยปกติมีค่าผกผันกับระยะเวลา เช่น เลิกกิจการในปีที่ 1 (อาคารยังใหม่อยู่) อาจขายได้ราคา 30 ล้านบาท แต่ถ้าเลิกกิจการในปีที่ 5 (อาคารเริ่มเก่า) อาจขายได้ราคา 15 ล้านบาท หรือถ้าเลิกกิจการในปีที่ 10 (อาคารเก่ามากๆ) อาจขายได้เหลือ 5 ล้านบาท
16
Payback Period + Scrap Value
สมมติให้ สมการในการคำนวณมูลค่าซากเป็น Scrap Value year i) = Invest/ (Year + 0.5) เช่น Year 1: Scrap Value (1) = 65/( ) = 43.33 Year 2: Scrap Value (2) = 65/( ) = 26.00 Year 3: Scrap Value (3) = 65/( ) = 18.57 … โดยที่ Balance = – Invest + SumIncome + year i);
17
Payback Period + Scrap Value
โจทย์ หากต้องการเขียนโปรแกรม ให้ผู้ใช้เลือกเงินลงทุน (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)
18
Payback Period + Scrap Value
ส่วนที่เพิ่มเติม หา Scrap Value ในแต่ละปี และแก้ไขสมการ Balance scrap = invest/(i+0.5); balance = - invest + sumIncome + scrap;
19
Payback Period + Scrap Value
#include <stdio.h> // 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]); } 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);
20
Payback Period + Scrap Value
21
Payback Period + Scrap Value
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.