Проект за лични спестявания, който дава предложения къде и за колко време да се инвестират пари.
Да се моделира задача за лични спестявания, човек трябва да си отговори на въпроса- къде и как да си инвестира парите по предварително зададена сума за зададен период. Има банки, фондове и други различни опции да вложим пари и да получим различен процент възвръщаемост за тези пари - като например да купим имот и да го отдаваме под наем за някаква цена. Всички тези опции имат даден процент риск за губене на пари, някои нямат никакъв риск, някои имат нисък, а други висок риск. Всяка инвестиция и процент на възвръщаемост си имат период(например за депозит в банка, 1 година е 3%, следващите 3 години е 1%, следващите 4 - 0,1%), тоест за всеки тип инвестиция процентите възвръщаемост са обвързани с период като можем да имаме и отрицателен процент. Да се има предвид че ако бъде зададен дълъг период може да се наложи не само веднъж да се вложат парите, а след време да се извадят част или целите инвестиции от дадени места и да се инвестират в други, за да се получи по-голяма възвръщаемост. Трябва да симулираме движение на времето в задачата и в конзолата да се вижда какво се случва, освен това всички данни, които са за програмата трябва да се записват и при следващо отваряне да се зареждат.
Имплементиран е терминал, който приема следните команди от потребителя и връща резултата от тяхното изпълнение:
-
add product [investment characteristics] - добавя нова опция за инвестиране, като записва данните в текстов файл в локалната файлова система
-
add [sum] [period] [investment name] - клиентът влага сума пари за определен период в някоя конкретна инвестиция
-
extract [sum] [investment name] - клиентът изтегля сума пари от някоя конкретна инвестиция
-
start - всички направени инвестици се стартират и времето започва да тече, като след всяка година се принтят временни статистики
-
stop - всички текущи инвестиции се паузират, за да има възможността да се въведе нова команда
-
predictions [sum] [period] - прави се предположение къде в същестуващите инвеции ще е най изгодно да се инвестира и в какъв ред
При стартиране на програмата клиентът може да провери къде ще му е най изгодно да инвестира парите си, като всички опции за инвестиране се четат от записаните файлове от предни добавяния на инвестиции при стартиране на програмата
predictions 2000 5 //input
Invest in: Raiffeisen Bank for 2 years and then after that in Unicredit Bulbank for 3 years //output
След това ако следва предикшъна ще вложи в Райфайзен Банк за 2 години
add 2000 2 Raiffeisen Bank //input
Investment added //output
След това стартира времето и 2те години изтичат, като след изтичането на всяка година се показва информация за текущата печалба и колко време е изминало, а когато целия период изтече се показва съобщение, че инвестицията е завършила както и цялостната печалба
start //input
Time started //output
Current profit of the investment in Raiffeisen Bank: 96.0 for 1 years passed
Current profit of the investment in Raiffeisen Bank: 137.92 for 2 years passed
The investment in Raiffeisen Bank is over. Overall profit: 137.92
След това за да направи нова инвестиция клиентът спира времето, като то може да бъде спирано след всяка година дори и когато все още има протичащи инвестиции
stop //input
Time stoped //output
add 2138 3 Unicredit Bulbank //input
Investment added //output
Отово стартира времето
start //input
Time started //output
Current profit of the investment in Unicredit Bulbank: 82.52 for 1 years passed
Current profit of the investment in Unicredit Bulbank: 104.73 for 2 years passed
Current profit of the investment in Unicredit Bulbank: 127.15 for 3 years passed
The investment in Unicredit Bulbank is over. Overall profit: 127.15
Накрая след приключване на инвестицията и за затваряне на програмата клиентът подава сигнал за край и получава информация за цялостната си печалба
end //input
Overall profit: 265.07 // output