Dnes je sobota, 26. apríla 2025. Meniny má Jaroslava
|
Seminárna práca z predmetu Metodológia tvorby AIS. Keď vo vývojovom diagrame nahradíte elipsu zaguľateným obdĺžnikom, mali by ste za projekt dostať plný počet bodov.
Program na výpočet je spravený v skriptovacom jazyky PHP4.
05/2001
|
|

|
[ZIP] 194 kb |
Rentabilita výroby
PROGRAM.PHP
Úloha č. 1
Algoritmus pre výpočet tržieb za vyrobené a predané produkty
1.1 tržby sa rovnajú súčtu variabilných a fixných nákladov produkcie:
cx = ax + b
1.2 tržby zahrňujú aj primeraný zisk, odvodený od zadanej rentability
výroby a predaja.
z = (c / 100) * p
cx = ax + b + z * x
cx = ax + b + ((c / 100) * p) * x
Úloha č. 2
Výpočet množstva vyrábaných a predávaných produktov:
c = 89, a = 42, b = 18000, p0 = 0%, p1 = 2%, p2 = 9%, p3 = 16%
2.1 pri nulovej rentabilite (p0)
cx = ax + b
89x = 42x + 18000
47x = 18000
x0 = 382,979
2.2 pri zadaných rôznych percentách rentability
cx = ax + b + ((c / 100) * p) * x
a) p = 2%
89x = 42x + 18000 + (89 / 100) * 2 * x
89x = 42x + 18000 + 1,78x
45,22x = 18000
x1 = 398,054
b) p = 9%
89x = 42x + 18000 + (89 / 100) * 9 * x
89x = 42x + 18000 + 8,01x
38,99x = 18000
x2 = 461,657
c) p = 16%
89x = 42x + 18000 + (89 / 100) * 16 * x
89x = 42x + 18000 + 14,24x
32,76x = 18000
x3 = 549,451
Úloha č. 3
Výpočet východiskových množstiev produktov pre tabuľkové výpočty
priebehu stratovosti a ziskovosti produkcie a predaja produktov
w0 = x0 / 10 = 382,979 / 10 = 38,298
w1 = x1 / 10 = 398,054 / 10 = 39,805
w2 = x2 / 10 = 461,657 / 10 = 46,166
w3 = x3 / 10 = 549,451 / 10 = 54,945
Úloha č. 4
Návrh algoritmov pre tabuľkový výpočet, ak r je číslo riadku tabuľky
4.1 množstvo výroby/predaja (X)
Xr = w * r
4.2 tržby z predaja výrobkov (T)
Tr = Xr * c
4.3 variabilné náklady (V)
Vr = Xr * a
4.4 celkové náklady výroby (G)
Gr = Vr + b
4.5 hospodársky výsledok v peňažnom vyjadrení (H)
Hr = Tr - Gr
4.6 stratovosť (-) a ziskovosť (+) v percentách (p)
pr = (Hr * 100) / Tr
4.7 fixné náklady na 1 ks výrobku (F)
Fr = b / Xr
4.8 celkové náklady na 1 ks výrobu (N)
Nr = Fr + a
4.9 stratovosť (-) a ziskovosť (+) na 1 ks výrobku v peňažnom
vyjadrení (U)
Ur = c - Nr
4.10 stratovosť (-) a ziskovosť (+) na 1 ks výrobku v percentách (s)
sr = (Ur * 100) / c
Úloha č. 5
Návrh tabuľky pre výpočty vývoja množstva výroby/predaja, vývoja
tržieb z predaja produktov, vývoja premenlivých nákladov, vývoja
celkových nákladov výroby, vývoja hospodárskeho výsledku
v peňažnom vyjadrení, vývoja ziskovosti/stratovosti výroby
v percentuálnom vyjadrení, vývoja fixných nákladov, celkových
nákladov, hospodárskeho výsledku a ziskovosti/stratovosti na 1 kus
tovaru.
Úloha č. 6
6.1 Výpočty tabuliek pre zadané jednotlivé percentá rentability
6.2 Výpočty v jednotlivých stĺpcoch boli vykonávané zakaždým na
presnosť troch platných desatinných miest. Hodnoty v stĺpcoch p a
s jednotlivých tabuliek sú zhodné napriek inému spôsobu výpočtu. Na
základe toho možno predpokladať, že výsledky sú správne
Úloha č. 7
Grafy na základe rentability 16% (najvyššia rentabilita zo zadania)
7.1 Graf znázorňujúci priebeh tržieb (T), priebeh celkových nákladov
(G), priebeh premenlivých nákladov (V), priebeh fixných nákladov (B),
priebeh hospodárskeho výsledku produkcie (H).
Graf 7.1
7.2 Graf znázorňujúci priebeh tržieb (c), priebeh celkových nákladov
(N), priebeh premenlivých nákladov (A), priebeh fixných nákladov (F),
priebeh hospodárskeho výsledku produkcie (U) na 1 kus vyrábaného
výrobku.
Graf 7.2
7.3 Graf znázorňujúci priebeh stratovosti (-) a ziskovosti (+) výroby
na 1 kus výroby v percentách.
Graf 7.3
Úloha č. 8
Návrh štruktúry počítačového programu pre tabuľkové výpočty
8.1 Hrubý vývojový diagram
8.2 Analytický vývojový diagram
8.3 Podrobný vývojový diagram programu
Úloha č. 9
Program umožňujúci vykonávanie automatizovaných tabuľkových
výpočtov interaktívnym spôsobom na počítači je napísaný
v skriptovacom jazyku PHP4.
V zdrojovom kóde sú vyznačené jednotlivé časti programu 9.1, 9.2,
9.3, 9.4, 9.5 a 9.6.
Program funguje ako internetová stránka a je dostupný pre každého na
adrese:
http://mlaco.sk/projekty/mtais/
Zdrojový kód:
<?
// program: RENTABILITA VYROBY
// autor: MAREK LACO, 2001
//
//kroky programu
// 0 - menu
// 1 - zadavanie vstupov
// 2 - zadiane rentability a vypocet
// 22 - po zadanej rentabilite vlastny pypocet
// 3 - koniec
// 33 - naozaj koniec
if(!isSet($krok))
$krok = 0;
function ahref($krok)
//vygeneruje tag z danym krokom a ostatne premenne
ostavaju
{
global $QUERY_STRING;
global $SCRIPT_NAME;
if(empty($QUERY_STRING))
$query = "?krok=$krok";
elseif(!strstr($QUERY_STRING,"krok"))
$query = "?krok=$krok&$QUERY_STRING";
else
$query = "?".ereg_replace("krok=[^&]*", "krok=$krok",
$QUERY_STRING);
echo "<a href='./$query'>";
}
if($p != (string)(int)($p))
$p = 0;
$c = (double)$c;
$a = (double)$a;
$b = (double)$b;
$p = (double)$p;
function ukaz($var)
//vypise nazov premennej a jej hodnotu
{
global $$var;
echo "<B>$var</B>: {$$var}<br>\n";
}
function zaokruhli($cislo)
//zaokruhli na tu definovany pocet des. miest
// Round() - druhy parameter pozna len PHP4!
{
return(Round($cislo,3));
}
function td_zobraz($var,$takakoje = 0)
//na vypisovanie do tabulky
{
if ($takakoje)
echo "<td align=center>".$var;
else
echo "<td align=right
nowrap>".number_format($var,3,"."," ");
}
?>
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=windows-1250">
<title>MTAIS - Rentabilita výroby</title>
</head>
<style>
body {
background-color: white;
}
</style>
<body>
<!-- 9.1 identifikacia aplikacneho programu -->
<h1>Rentabilita výroby</h1>
<? if($krok == 0): ?>
<small>
názov programu: RENTABILITA VÝROBY<br>
autor: MAREK LACO<br>
programovací jazyk: PHP4<br>
dátum: 26.4.2001<br>
</small>
<hr>
<!-- 9.2 modul hlavneho menu -->
1. <? ahref(1); ?>Vstup údajov</a><br>
2. <? ahref(2); ?>Výpočet tabuľky</a><br>
3. <? ahref(3); ?>Koniec programu</a><br>
<? endif; //0 ?>
<!-- 9.3 cast programu zadavania vstupnych udajov -->
<? if($krok == 1): ?>
<script language="JavaScript">
<!--
function kontrolny_sucet(form)
{
if(parseInt(form.K.value) == (parseInt(form.a.value) +
parseInt(form.b.value) + parseInt(form.c.value)))
return true;
else
{
alert("Kontrolný súčet nesúhlasí!\nSkontroluj
údaje");
return false;
}
}
-->
</script>
<form method="get" onsubmit="return
kontrolny_sucet(this)">
cena [<B>c</B>] <input type=text size=3 name=c value="<?
echo $c?>"> <br>
var. náklady [<B>a</B>] <input type=text size=3 name=a
value="<? echo $a?>"> <br>
fix. náklady [<B>b</B>] <input type=text size=5 name=b
value="<? echo $b?>"> <br>
kontrolný súčet [<B>K</B>] <input type=text size=5 name=K
value="<? echo $K?>"><br>
<br>
<input type=submit value="OK">
</form>
<? endif; //1 ?>
<? if($krok == 2): ?>
<hr>
<?
if(empty($c)||empty($a)||empty($b))
{
echo "Nemožno spraviť výpočet, lebo neboli zadané
vstupné údaje!<br><br>";
ahref(0);
echo "Návrat do menu</a><br><br>";
}
else
{ ?>
<form method="get">
<input type=hidden name=krok value=22>
<input type=hidden name=c value="<? echo $c; ?>">
<input type=hidden name=a value="<? echo $a; ?>">
<input type=hidden name=b value="<? echo $b; ?>">
<input type=hidden name=K value="<? echo $K; ?>">
zadaj rentabilitu výroby [<B>p</B>]
<input type=text size=3 name=p value="<? echo $p?>"> %
<br>
<br>
<input type=submit value="OK">
</form>
<? } // boli vstupne udaje ?>
<? endif; //2 ?>
<? if($krok == 22): ?>
<hr>
<?
if(empty($c)||empty($a)||empty($b)||(!isSet($p)))
{
echo "Nemožno spraviť výpočet, lebo neboli zadavné
vstupné údaje!<br><br>";
ahref(0);
echo "Návrat do menu</a><br><br>";
}
else
{
?>
cena [<B>c</B>] <? echo $c; ?>
var. náklady [<B>a</B>] <? echo $a; ?>
fix. náklady [<B>b</B>] <? echo $b; ?>
rentabilita [<B>p</B>] <? echo $p; ?> %
<br>
<hr>
<?
//9.4 cast programu pre vypocet vychodiskoveho
mnozstva vyrobkov
//pre tabulkove vypocty
//z - priemerny zisk na vyrobok
$z = zaokruhli(($c/100) * $p);
//X - celkova produkcia pre danu rentabilitu
//zo vzorca cX = aX + b + zX; ==> X = -b/(a-c+z)
$X = zaokruhli(- $b / ($a - $c + $z));
$w = $X / 10;
//9.5 cast programu pre vypocet riadkov a stlpcov
tabulky
for($r=1;$r<=10;$r++)
{
$x[$r] = zaokruhli($w * $r);
$T[$r] = zaokruhli($x[$r] * $c);
$V[$r] = zaokruhli($x[$r] * $a);
$G[$r] = zaokruhli($V[$r] + $b);
$H[$r] = zaokruhli($T[$r] - $G[$r]);
$P[$r] = zaokruhli(($H[$r] * 100) / $T[$r]);
$F[$r] = zaokruhli($b / $x[$r]);
$N[$r] = zaokruhli($F[$r] + $a);
$U[$r] = zaokruhli($c - $N[$r]);
$s[$r] = zaokruhli(($U[$r] * 100) / $c);
}
ukaz("z");
ukaz("X");
ukaz("w");
?>
<br>
<!-- vypis zahlavia tabulky -->
<table border=1>
<tr>
<th>r<br>
<small></small><br>
<th>x<br>
<small>množs. výroby</small><br>1<br>
<small>(r*w)</small><br>
<th>T<br>
<small>tržby</small><br>2<br> <small>(x*c)</small><br>
<th>V<br>
<small>var. nákl.</small><br>3<br>
<small>(x*a)</small><br>
<th>G<br>
<small>nákl. výroby</small><br>4<br>
<small>(V+b)</small><br>
<th>H<br>
<small>HV</small><br>5<br> <small>(T-V)</small><br>
<th>P<br>
<small>% HV</small><br>6<br> <small>(H*100/T)</small><br>
<th>F<br>
<small>fix. nákl. / kus</small><br>7<br>
<small>(b/x)</small><br>
<th>N<br>
<small>celk. nákl. / kus</small><br>8<br>
<small>(F+a)</small><br>
<th>U<br>
<small>HV / kus</small><br>9<br> <small>(c-N)</small><br>
<th>s<br>
<small>% HV / kus</small><br>10<br>
<small>(U*100/c)</small><br>
<?
//zobrazenie jednotliych riadkov
tabulky
for($r=1;$r<=10;$r++)
{
echo "<tr>";
td_zobraz($r,1);
td_zobraz($x[$r]);
td_zobraz($T[$r]);
td_zobraz($V[$r]);
td_zobraz($G[$r]);
td_zobraz($H[$r]);
td_zobraz($P[$r]);
td_zobraz($F[$r]);
td_zobraz($N[$r]);
td_zobraz($U[$r]);
td_zobraz($s[$r]);
}
?>
</table>
<br>
<? ahref(0); ?>Návrat do menu</a><br>
<br>
<? } //zadane udaje ?>
<? endif; //22 ?>
<!-- 9.6 cast programu pre pokracovanie, alebo
ukoncenie prace programu -->
<? if($krok == 3): ?>
<hr>
Skutočne ukončit činnosť programu?<br>
<br>
1. <? ahref(0); ?>Naspäť do Menu</a><br>
2. <a href="./?krok=33">Skutočne ukončiť program</a><br>
<? endif; //3 ?>
<? if($krok == 33): ?>
<hr>
Koniec<br>
<? endif; //33 ?>
<hr>
</body>
</html>
Úloha č. 10
Tabuľkový výpočet pomocou napísaného a odladeného programu.