cavia's berekenen

Status
Niet open voor verdere reacties.

trezor

Gebruiker
Lid geworden
29 jun 2009
Berichten
251
ik moet een stukje code schrijven die berekend hoeveel cavia's er per maand zijn. Er gaan er iedere maand 20% dood van het start getal die door de gebruiker wordt ingevoerd en er komt steeds iedere maand 30% bij van het getal dat er vorige maand was. Nu laat mijn wiskundeige inzicht me een beetje in de steek. Ik heb nu dit. Ik krijg er een hele brij met getallen uit. volgends mij zit er nog een fout in het reken gedeelte.

Pagina 1

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<head>
<title> Hallo </title>
</head>
<body>
<form action="pagina2.php" method="post">
Cavia's:  <input type="text" name="cavia" /><br>
maanden: <input type="text" name="maanden" /><br>
<input type="submit" />
</body>
</html>

Pagina 2

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<head>
<title> aantal </title>
</head>
<body>
<?php
$cavia = $_POST['cavia'] ;
$maanden = $_POST['maanden'] ;
$cavia1 = $cavia ; 
$aftrekken = $cavia * 1.2 ;
$optellen = $cavia1 * 1.3 ;
$cavia1 = $cavia - $aftrekken ;
$cavia1 = $cavia1 + $optellen ;
echo $cavia1 ;

for ( $i = 1 ; $i <= $cavia; $i++ ) { ;
	
	$cavia = $cavia - $aftrekken ;
	$cavia = $cavia + $optellen ; 
	echo "$i is $cavia" ;
}
?>


</body>
</html>
 
Laatst bewerkt door een moderator:
Je hebt hiervoor ook geen for-loop nodig.
Voor huiswerk vragen kun je toch echt het beste terecht bij je leraar(es).
Wij gaan niet je huiswerk maken.
 
Ik vraag ook niet om mijn huiswerk te maken maar ik ben ziek geweest tijdens de uitleg van dit. Ik vraag jullie om me opgang te helpen. En als ik hier geen for loops voor nodig heb wat dan wel?
 
Als je twijfelt aan je resultaten. Bouw dit dan even na in een Excel sheet. Dan heb je de juiste resultaten.

Vervolgens ga je eerst zorgen dat je voor het eerste jaar het resultaat goed krijgt. De laatste stap is om dit voor een x aantal jaren door te rekenen.

De verdere uitleg is aan de docent, die ook wel weet dat je ziek was tijdens de uitleg.
 
Dit is dus inderdaad een huiswerkvraag, maar gezien het feit je alleen om tips vraagt en je laat zien dat je zelf al een goede poging hebt gedaan, laat ik 'm open.

Nog wel even naar de "helpers", denk er dus aan dat we aanwijzingen geven, we gaan de code niet helemaal concreet zitten voorkauwen.

Succes!
 
Om ook nog even inhoudelijk te reageren. Ik zie geen makkelijkere manier hier dan met een for-loop. Er zal zonder twijfel ook een manier zijn om het met een wiskundige berekening op te lossen, maar dat zal ook niet zijn waar de docent naar op zoek is.

  1. Maak wel een for-loop.
  2. Het aantal dat elke maand doodgaat, kun je buiten de loop al vastleggen in een variabele, aangezien dat elke maand hetzelfde is.
  3. Het aantal dat er elke maand bijkomt bereken je in de loop.
  4. De bovengrens van je loop is niet het aantal cavia's, maar het aantal maanden

Als je hier even rustig over nadenkt, zou je denk ik al een stuk verder moeten komen.
 
Als ik het zo bekijk, dan valt dit in een wiskundige formule te maken zonder een for-loop. die 30% moet als een soort van groeifactor worden gezien. Als ik zo even kijk, dan zou de formule voor het berekenen van het aantal cavia's in maand als volgt moeten zijn:

c = aantal cavia's in de gegeven maand (m)
b = aantal cavia's waarmee je begonnen bent
m = aantal maanden die verstrijken
c = (b * (1.3 ^ m)) - (m * (0.20 * b))

Bij (b * (1.3 ^ m)) wordt het beginaantal vermenigvuldigt met de berekende groeifactor. Die groeifactor wordt berekend door je 30% (+) om te zetten naar 1.3, en deze tot de macht het aantal maanden te doen. Hierna wordt het aantal maanden vermenigvuldigt met het beginaantal x 0.20 (20%).

Ik denk dat de formule wel klopt, maar controleer het wel even goed, want ik heb er niet veel aandacht aan besteedt. Als je de formule verwerkt tot een php script, dan ben je zo goed als klaar ;)
 
:) je maakt 1 rekenfoutje blabla 0.20 moet 0.80 zijn omdat er 20% dood gaat :) 100 - 20 = 80
verder kan je dit geen wiskunde noemen maar gewoon rekenen met verhoudingen dat leer je op de basisschool jongens...
 
Laatst bewerkt door een moderator:
:) je maakt 1 rekenfoutje blabla 0.20 moet 0.80 zijn omdat er 20% dood gaat :) 100 - 20 = 80
verder kan je dit geen wiskunde noemen maar gewoon rekenen met verhoudingen dat leer je op de basisschool jongens...

Baluh, ik bereken met die formule Het aantal cavia's die in totaal worden "geboren" - het aantal cavia's die dood gaan. 0.20 klopt dus gewoon.

Verder is dit geen basisschoolrekenen, heb het 2 jaar geleden gehad (expotientiele groei ofzo). Maar het doel van deze opdracht zal wel zijn dat hij moet leren rekenen met php...
 
nvm klopt wel idd keek niet goed naar je formule, maar als formule opschrijven is inderdaad een expontientele groei en wiskunde. maar het berekenen zelf is maar basisschool rekenen...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan