Schoolopdracht slak in de put (b)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mathieu Brouwers

Mathieu Brouwers

24/09/2010 20:29:23
Quote Anchor link
Het gaat hier om 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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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;

?>
 
PHP hulp

PHP hulp

28/11/2024 00:46:00
 
Aad B

Aad B

24/09/2010 20:46:59
Quote Anchor link
en nu gaan de php-helpers jou weer helpen om een goed cijfer te halen ?
zet je bij het inleveren ook op werkstuk: met dank aan phphulp.nl ?
 
Pim -

Pim -

24/09/2010 20:50:04
Quote Anchor link
PSD? PhotoShop Document?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$slak
= $dag = 0;
$snelheid = 3;
$terugval = 2;
$factor = 1.25;

$put = isset($_GET['put'])?(int)$_GET['put']:die('Geef een puthoogte op');

while(true) {
    $slak += $snelheid;
    $dag++;
    if($slak >= $put)
        break;
    $slak -= $terugval;
    $put *= $factor;
}

echo $dag;
?>

Werkt dit?
Gewijzigd op 24/09/2010 20:50:16 door Pim -
 
Mathieu Brouwers

Mathieu Brouwers

24/09/2010 21:07:05
Quote Anchor link
Nee AAD B, dit is geen werkstuk, het is een opdracht voor school, maar mijn idee was om het zelf te doen, alleen zat met dat kleine stukje.
In ieder geval bedankt voor de moeite, maar ik heb iets anders bedacht wat waarschijnlijk wel lukt
 
Chris -

Chris -

24/09/2010 21:09:31
Quote Anchor link
Een opdracht voor school behoor je zelf te maken, en niet te laten maken.. ;-)
 
Mathieu Brouwers

Mathieu Brouwers

24/09/2010 21:12:59
Quote Anchor link
@ Chris, dat klopt wel maar als je niets erover op internet kan vinden (over een bepaald soort functie).
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';
?>
Gewijzigd op 24/09/2010 21:15:05 door Mathieu Brouwers
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.