Предлог пројекта - Калкулатор за куповину¶
Мотивација¶
Приликом одласка у куповину често наилазимо на натписе да је нека роба или намирница на снижењу одређен број процената или смо сведоци различитих попуста којима нас трговци позивају да пазаримо неку робу јефтиније. Сигурно сте сви видели акције у продавницама где се за купљена 3 производа најјефтинији добије за 1 динар. Како би нам одлазак у куповину био једноставнији, направимо калкулкатор за куповину. Ово нису једине погодности на које се може наићи приликом одласка у продавницу.
Циљ овог пројекта је да спојимо математику и програмирање и направиш себи програм који ће у продавници рачунати уместо нас. Поред писања програма за ове акције које су наведене на самом почетку, ваш задатак је да направите мало истраживање које све то погодности постоје и обогатите свој калкулатор за куповину.
Сценарио пројекта¶
Прво можемо да испрограмирамо део програма који израчунава колико ће коштати артикал ако знамо његову почетну цену и ако знамо за колико процената је артикал снижен. За овај део решавања проблема најбоље је да на папиру дођеш до формуле по којој ћеш ово рачунати. Дакле, математика каже следеће:
Ако је тренутна цена производа неко c и ако је снижење p процената, са x означимо цену производа коју тражимо. Из следеће пропорције можемо доћи до формуле:
c : 100 = x : (100 - p)
c(100 - p) = 100x
x = (c(100 - p)) / 100
На основу добијене формуле за израчунавање нове цене робе која је појефтинила за p процената, лако се може написати овај део програма. Приликом прикупљања података од корисника који ће користити овај калкулатор за куповину потребно је сазнати тренутну цену производа, као и за колико процената је производ снижен.
c = float(input("Trenutna cena artikla je:"))
p = float(input("Sniženje u procentima je:"))
x = (c * (100 - p)) / 100
print("Artikal po sniženoj ceni košta", x, "dinara.")
Када смо написали овај део програма, лако можемо модификовати овај код тако да рачуна колика је цена артикла у случају да је дошло до поскупљења, а не до појефтињења. Наш савет је да постојећи програм модификујете тако да на основу унетог податка рачуна нову цену артикла без обзира да ли је снижење или поскупљење у питању.
Други део калкулатора рачуна количину новца коју треба издвојити за купљена три артикла, али тако да се најјефтинији артикал добије по цени од 1 динара. један од начина да напишемо овај код је да саберемо цене свих артикала које смо купили, а затим од добијене суме одузмемо цену најјефтинијег артикла и добијени резултат увећамо за 1.
Шта користимо како бисмо одредили цену најјефтинијег артикла?
Подсећамо те, програмски језик Пајтон може да израчуна најмању вредност од унета два, три и више бројева.
najjeftiniji = min(cena1, cena2, cena3)
Сада би требало написати део кода у коме се на основу три унете цене производа израчунава сума новца коју би требало издвојити за производе.
cena1 = float(input("Cena prvog proizvoda:"))
cena2 = float(input("Cena drugog proizvoda:"))
cena3 = float(input("Cena trećeg proizvoda:"))
za_placanje1 = cena1 + cena2 + cena3
najjeftiniji = min(cena1, cena2, cena3)
za_placanje2 = za_placanje1 - najjeftiniji + 1
Самоевалуација¶
Када направиш програм, покушај да (пре свега себи) одговориш на ова питања:
Да ли је, по твојој процени, пројекат успешно приведен крају? Колико си ти лично задовољан-задовољна урађеним? Зашто?
Који део је био посебно тежак? Како си га решио-решила? Да ли је постојао неки проблем чијим решавањем се посебно поносиш?
Да ли је било накнадних измена првобитног плана? Због чега?
Да ли је пројекат био користан за стицање или унапређивање неких знања или вештина? Којих?
Размисли шта од овога би било интересантно другима да чују током твог представљања пројекта.