Schoolopdracht slak in de put (b)
Bekijk het volgende (bekende) vraagstuk: Een slak zit in de bodem van een put. Elke dag klim hij 3 meter omhoog, maar ’s nachts zakt hij 2 meter naar beneden. Bepaal voor een opgegeven hoogte van de put het aantal dagen dat de slak erover doet om boven te komen.
a. Analyseer het probleem volgens de methode van het college en formuleer een algoritme. Geef dit algoritme dus ook weer in een PSD en ‘test’ het.
b. Breidt het algoritme als volgt uit: Om te voorkomen dat slakken te snel uit de put komen verhoogt de boer zijn put steeds met 25%. Bepaal bij gegeven puthoogte en een gegeven minimum aantal dagen dat de slak nodig heeft om uit de put te klimmen het aantal keer dat de boer zijn put minimaal moet verhogen. Geef een nieuw PSD en programmeer het geheel in PHP. Test de uitkomsten op correctheid.
Dit is wat ik momenteel heb en mijn idee is om de $xx uit te rekenen (bijna helemaal onderaan).
$xx is hierbij het aantal verhogingen van de put.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$slak = 0;
$dagen = 0;
$mindagen = $_POST['mindagen'];
$hoogte = $_POST['hoogte'];
$beginhoogte = $_POST['hoogte'];
echo $beginhoogte.' is de beginhoogte van de put';
while ($mindagen > $dagen)
{
$slak+=3;
$dagen++;
if ($slak > $hoogte)
{
$hoogte*=1.25;
$slak=0;
$dagen=0;
}
else
$slak-=2;
}
$hoogte = pow($beginhoogte,$xx);
echo $xx;
?>
$slak = 0;
$dagen = 0;
$mindagen = $_POST['mindagen'];
$hoogte = $_POST['hoogte'];
$beginhoogte = $_POST['hoogte'];
echo $beginhoogte.' is de beginhoogte van de put';
while ($mindagen > $dagen)
{
$slak+=3;
$dagen++;
if ($slak > $hoogte)
{
$hoogte*=1.25;
$slak=0;
$dagen=0;
}
else
$slak-=2;
}
$hoogte = pow($beginhoogte,$xx);
echo $xx;
?>
zet je bij het inleveren ook op werkstuk: met dank aan phphulp.nl ?
In ieder geval bedankt voor de moeite, maar ik heb iets anders bedacht wat waarschijnlijk wel lukt
Een opdracht voor school behoor je zelf te maken, en niet te laten maken.. ;-)
Dan kan je beter even vragen, en dan een oplossing krijgen die je wel begrijpt.
En zowiezo ben ik niet van plan om oplossingen te gebruiken waar vars zijn gebrruikt die ik nog niet heb geleerd.
maar dit is nu mijn oplossing:
maar dit topic zou nu dus verwijdert mogen worden ;)
Mvg.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$slak = 0;
$dagen = 0;
$aVerhoging = 0;
$mindagen = $_POST['mindagen'];
$hoogte = $_POST['hoogte'];
$beginhoogte = $_POST['hoogte'];
while ($mindagen > $dagen)
{
$slak+=3;
$dagen++;
if ($slak > $hoogte)
{
$hoogte*=1.25;
$slak=0;
$dagen=0;
$aVerhoging++;
}
else
$slak-=2;
}
echo $beginhoogte.' is de beginhoogte van de put<BR>';
echo $hoogte.' is de eindhoogte van de put<BR>';
echo $aVerhoging.' is het aantal verhogingen van de put<BR>';
?>
$slak = 0;
$dagen = 0;
$aVerhoging = 0;
$mindagen = $_POST['mindagen'];
$hoogte = $_POST['hoogte'];
$beginhoogte = $_POST['hoogte'];
while ($mindagen > $dagen)
{
$slak+=3;
$dagen++;
if ($slak > $hoogte)
{
$hoogte*=1.25;
$slak=0;
$dagen=0;
$aVerhoging++;
}
else
$slak-=2;
}
echo $beginhoogte.' is de beginhoogte van de put<BR>';
echo $hoogte.' is de eindhoogte van de put<BR>';
echo $aVerhoging.' is het aantal verhogingen van de put<BR>';
?>
Gewijzigd op 24/09/2010 21:15:05 door Mathieu Brouwers