Ahojte. Napadla mi jednoduchá programátorská výzva, alebo niečo na odreagovanie. Je tu veľa šikovných ľudí a riešení je vždy viac. Pustíte sa do toho? V koľkých programovacích jazykoch dokáže vyriešiť jednoduchý príklad komunita LinuxOS do pondelka?
Zadanie: Pizzéria predáva malé pizze. Koľko ich musí za mesiac predať, aby nebola v strate?
Cena surovín na jednu malú pizzu je 43 centov, mesačné náklady (nájom, platy, energie...) sú 2000€. Cena jednej malej pizze je 1,5€.
Nie je to žiadne školské zadanie, len som zvedavý, akými rôznymi spôsobmi sa dá niečo podobné vypočítať :)
Jednoduché riešenie
Hrubá sila
Co je to za programovaci jazyk?
python
Teda nechcem rýpať ale toto nie je úloha na programovanie ale pre kalkulačku, v krajnom prípade pre excel alebo iný tabuľkový procesor. Stačí náklady podeliť rozdielom medzi predajnou cenou a cenou surovín a výsledok zaokrúhliť nahor. Teda minimálny počet predaných píc je zaokrúhliť_hore(2000/(1,5-0,43))= 1870. Programovať takéto niečo je úplne kontraproduktívne, ten libreoffice calc je úplne dostačujúci.
samozrejme, že je to jednoduché a postačí kalkulačka. každopádne som zvedavý, v čom všetkom sa to dá urobiť. python, java, assembler... tých možností je veľmi veľa :)
Však ja chápem, ako to bolo myslené, ja som iba prezentoval jeden možný spôsob (ak berieme v úvahu aj programovateľnú kalkulačku, tak dva) a ten začiatok bolo iba také premostenie.
Stano navrhol na oživenie súťaž "72 spôsobov na zobrazenie Hello World". Tak naňho nebuď zlý. Na víkend predsa hlásili škaredé počasie.
To, že by to bežný človek riešil v tabuľkovom procesore, a skúsený užívateľ zas v bc je druhá strana mince.
som zvedavý, či by sa to dalo 72 spôsobmi :) ešte by to niekto urobil v minecrafte alebo cez pytagorovu vetu :D
bc zvlada aj premenne ... takze sa to da napisat aj pouzitelne do buducna :)
inak, keď sa už spomína kalkulačka :D
<!DOCTYPE html>
<html>
<body>
<p>Javascript</p>
<p id="pizza"></p>
<script>
var pausal = 2000
var zisk = 1.5
var naklad = 0.43
var zisk1ks = zisk - naklad
var x = pausal / zisk1ks + 1;
document.getElementById("pizza").innerHTML = x;
</script>
</body>
</html>
Treba mat xdotool. Prve sleep nastavit podla rychlosti internetu
:D
Pán je pekár a nevie si vypočítať zisk???
nie som pekár, ide čisto o príklad :)
Uctovnicka je na dovolenke. Tento mesiac to ma na starosti. :D
Hrubou silou (2x):
Zajímavější je hranici zisku spočítat přesně, tam se ukáže, že počítání s centy může být ošemetné:
Ešte chýba C++
Oneline:
printf %.2f $(echo "2000/(1.5-0.43)" | bc) ; echo
Máš to zle:
echo "2000/(1.5-0.43)+1"|bc
bedna, opravujes sam seba v 3. osobe? :D
Kto sa mi tu sere do vlákna :-)
Jasne bolo to myslené ako sranda.
Teda napadlo ma ešte jednochšie riešenie:
echo "Luigi, práve sme mi oni predali +100 000 000 000" pizzas určite budem ja ty v zisku"
trúfne si niekto na turbo pascal? :)
A čo toto?
+1
prečo tam máš na konci readln?
Asi aby to nezavrelo konzolu...
Prečo by malo? Sme snáď vo Windows? :-)
Pretože Lazarus spawne okno s terminálom a po skončení úlohy ho automaticky zavrie.
Mne na to stačí kalkulačka-som sellák!
Bez rozmýšľania prepísaný Mirecov kód do eLispu:
(defun pizza ()
"Aj tak ti vlada zavrie pizzeriu!"
(interactive)
(setq cena-1ks 1.5)
(setq nakl-1ks 0.43)
(setq nakl-paus 2000.0)
(setq zisk-1 (- cena-1ks nakl-1ks))
(setq min-pred (+ (/ nakl-paus zisk-1) 1))
(message "Min. predaj mesacne = %f " min-pred))
Krajší kód:
síce ten víkend trval 2 roky ale inak pekný výsledok ;-)
Aha fakt, to som si nevšimol.
Aspoň vidno, že dobrá vtákovina prežije.
Už som ani nedúfal, chvalastallmanovi niekto použil Lisp
Áno, ak sme pri písmene L, tak po legínach je Lisp druhá najlepšia vec, ktorá bola vymyslená. 😀
Najde sa borec, co to spravi v Brainfuck? https://sk.wikipedia.org/wiki/Brainfuck
https://www.tutorialspoint.com/execute_brainfk_online.php
Brainfuck je taká mantra, akože je to super ťažký jazyk, ale nie je, len sa rozvláčne píše kvôli obmedzeniam ktoré má.
Radšej by som videl nejaké zaujímavé (aj keď u tejto úlohy to asi bude ťažké) riešenia v jazykoch ako je Haskell (a "odvodených" - Idris, Agda), OcaML, v assembleri pre nejaké zaujímavé ne-x86 CPU, ...
Určite sa to dá napísať krajšie, zvlášť to formátovanie ma v COBOL-e vždy straší, ale funguje to.
Test možný na COBOL Online compileri
Super, skvelé.
Ani navyše ten kód ani netreba komentovať, lebo ako hovorí starý vtip, "načo komentovať, pretože je to ťažké (kód) napísať a je ťažké ho pochopiť a teda bude ťažké (a zbytočné) ho modifikovať :) ".
Tento kód je release quality level, načo opravovať?
Veď inú kvalitu by som ani neočakával :)
Zadavatel este zabudol, ze z kazdej pizze musis zaplatit dan.
Ale keď nezarábaš (si na nule), tak prakticky asi daň ani nezaplatíš.
To môže byť zahrnuté v nákladoch.
zadanie bolo smerované na 2000€, to nie je ani polka nezdaniteľnej časti základu dane (dnes niečo vyše 4500€), daňové zaťaženie by bolo nulové