Autorské riešenie
Pri riešení bolo dôležité uvedomiť si, že vstupnými parametrami tejto úlohy sú:
Je zrejmé, že ak je počet rokov sporenia rovný nule, na konci sporenia je na účte iba hodnota počiatočného vkladu. Môžeme si to predstaviť tak, že hneď po vložení počiatočného vkladu sporenie ukončíme. Ak je už počet rokov sporenia väčší ako nula, na konci každého roka sa aktuálna suma na účte zúročí. Na začiatku ďalšieho roka sa suma vkladu zväčší (zmenší, ostane rovnaká) na základe stanovenej hodnoty rozdielu. Ak je táto suma vkladu po určitom roku menšia ako nula, na sporiaci účet sa už ďalej vkladať nebude. Na konci každého sporiaceho roka sa však naďalej bude pripisovať úrok. Nasledujú moľné riešenia v jazyku Imagine Logo a Python.
;Imagine logo
viem úspory :vklad :rozdiel :pa :roky ak (:roky <= 0) [ pis :vklad ukonci ] urobTu "naUcte 0 opakuj :roky [ urobTu "naUcte :naUcte + :vklad urobTu "naUcte :naUcte * (1+:pa/100) urobTu "vklad :vklad + :rozdiel ak (:vklad < 0) [urobTu "vklad 0] ] pis :naUcte koniec
#python
import math # vypocita uspory na zaklade pociatocneho vkladu, zmeny vkladu v ďalších rokoch, úrokovej mieru a počtu rokov sporenia def uspory(vklad,rozdiel,pa,roky): ''' :param vklad: počiatočný vklad na účet :type float :param rozdiel: rozdiel, o ktorý sa mení každoročný vklad :type float :param pa: ročný úrok v % :type float :param roky: počet rokov sporenia :type int :return: vráti sumu na účte na konci sporenia :rtype float ''' if roky<=0: return vklad naUcte = 0 for i in range(roky): naUcte += vklad naUcte *= 1 + pa/100 vklad += rozdiel if vklad<0: vklad = 0 return naUcte Vaše zaujímavé riešenia a najčastejšie chyby Úlohu riešilo 32 tímov, objavili sa riešenia aj v Imagine aj v Pythone. Plný počet bodov získali iba dva tímy. Väčšina z tímov odhalila správnu myšlienku riešenia. Neuvedomili ste si však, že každoročný vklad nie je rovnaký, ale mení sa na základe zvolenej hodnoty rozdielu. Táto hodnota môže byť aj záporná, a teda po určitom počte rokov sa môže stať, že na účet už nebudeme pridávať žiaden vklad. Objavili sa aj riešenia, v ktorých nebolo správne počítanie s úrokom. |
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |