Waarden optellen en vermenigvuldigen
Ik ben een beginnende ICT student en we hebben als één van de vakken Programmeren.
We zijn nu begonnen met PHP en ik had een vraagje.
We hebben namelijk als opdracht optellen, delen en vermenigvuldigen.
ik loop nu best vast met het combineren van deze 3, we moeten namelijk een getal optellen en die vermenigvuldigen bij een getal.
is er iemand die snapt hoe je dit samen kunt combineren?
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
function optellen ($getal1, $getal2)
{
$som = $getal1 + $getal2;
echo $getal1. ' + '.$getal2.' = '.$som;
echo '<br>';
}
optellen(22,8);
function vermeningvuldigen ($getal3,$getal5)
{
$som = $getal3 * $getal5;
echo $getal3. ' * '. $getal5. ' = '. $som;
echo '<br>';
}
vermeningvuldigen (3,2);
function delen ($getal8,$getal9)
{
$som = $getal8 / $getal9;
echo $getal8. ' / '. $getal9. ' = '. $som;
echo '<br>';
}
delen (33,11);
function optellen and vermenigvuldigen ($getal10,$getal11,$getal12)
{
$som = $getal10 + $getal11 * $getal12
echo $getal10. ' + '.$getal11 *getal12.' = '.$som;
echo '<br>';
optellen(12,7) vermeningvuldigen(2)
}
?>
function optellen ($getal1, $getal2)
{
$som = $getal1 + $getal2;
echo $getal1. ' + '.$getal2.' = '.$som;
echo '<br>';
}
optellen(22,8);
function vermeningvuldigen ($getal3,$getal5)
{
$som = $getal3 * $getal5;
echo $getal3. ' * '. $getal5. ' = '. $som;
echo '<br>';
}
vermeningvuldigen (3,2);
function delen ($getal8,$getal9)
{
$som = $getal8 / $getal9;
echo $getal8. ' / '. $getal9. ' = '. $som;
echo '<br>';
}
delen (33,11);
function optellen and vermenigvuldigen ($getal10,$getal11,$getal12)
{
$som = $getal10 + $getal11 * $getal12
echo $getal10. ' + '.$getal11 *getal12.' = '.$som;
echo '<br>';
optellen(12,7) vermeningvuldigen(2)
}
?>
Edit:
Ik heb code-tags geplaatst. Gelieve dit voortaan zelf te doen.
Zie ook de forumopmaakcodes in de Veelgestelde Vragen.
Zie ook de forumopmaakcodes in de Veelgestelde Vragen.
Gewijzigd op 08/04/2020 13:39:11 door - Ariën -
Kan je jouw code even tussen de code-tags zetten? Zie ook de opmaakcodes in de Veelgestelde Vragen.
Een functienaam kan in ieder geval geen spaties bevatten.
De echo voor de laatste functie klopt waarschijnlijk niet, omdat je probeert te vermenigvuldigen in een string, waarschijnlijk ontbreken daar nog een aantal quotes.
Mogelijk krijg je hier foutmeldingen over / waarschuwing van vanuit PHP zelf, misschien ook niet. Wellicht loont het de moeite om het melden + weergeven van foutmeldingen aan te zetten en te leren de foutmeldingen te interpreteren. Waarschijnlijk is dat (leren debuggen) de beste manier om te leren programmeren.
Ik heb het probleem gevonden.
maar (5 + 4) * 3 = 27.
Dus de vraag is even of je 60 of 27 wilde zien....
---
je maakt nu een paar functies voor een heel simpel probleem. Begrijp ik, want dit is een leertraject. Maar laten we eens aannemen dat die functie "optellen" iets veel moeilijkers doet: Hij doet 5 query's in verschillende databases; haalt de actuele zonnestand op in Sidney en de watertemperatuur bij Aruba.
Wil je dan bij de bewerking "optellen en vermenigvuldigen" wederom die hele actie opnieuw beschrijven? En wat als het straks om de temperatuur bij Bonaire gaat ipv Aruba? Dan moet je dat op meer plekken aanpassen.
Dus
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
function optellen_en_vermenigvuldigen($a, $b, $c)
{
$som = optellen($a, $b);
$product = vermenigvuldigen($som, $c);
return $product;
}
?>
function optellen_en_vermenigvuldigen($a, $b, $c)
{
$som = optellen($a, $b);
$product = vermenigvuldigen($som, $c);
return $product;
}
?>
en nu zie je direct waarom je functie niet 2 dingen moet doen: niet rekenen EN naar het scherm echo-en.
Je wilt pas achteraf beslissen wat er met de uitkomst gedaan moet worden:
Doe je dat niet, dan is je functie ook inderdaad maar voor 1 doel geschikt: op dat moment een berekening op het scherm zetten.
Gewijzigd op 08/04/2020 11:55:52 door Ivo P
standaard operator precedence?
Je neemt $a en $b samen, terwijl $b en $c vermenigvuldigd zouden moeten worden?
Niet in PHP, en ook niet volgens de standaard wiskunderegels?
Zelfs als je geen haken gebruikt om expliciet aan te geven wat je bedoelt, is het $a + ($b * $c), en niet, wat in de functie gebeurt, ($a + $b) * $c?
EDIT: de rest van de opmerkingen over het gebruik en de werking van functies in het algemeen ben ik het wel mee eens. Op het moment dat een functie een waarde retourneert kun je altijd nog besluiten om deze op het scherm weer te geven met constructies als echo.
@Ivo, maar wat jij daar voorstelt met de functie optellen_en_vermenigvuldigen() is toch niet conform de Je neemt $a en $b samen, terwijl $b en $c vermenigvuldigd zouden moeten worden?
Niet in PHP, en ook niet volgens de standaard wiskunderegels?
Zelfs als je geen haken gebruikt om expliciet aan te geven wat je bedoelt, is het $a + ($b * $c), en niet, wat in de functie gebeurt, ($a + $b) * $c?
EDIT: de rest van de opmerkingen over het gebruik en de werking van functies in het algemeen ben ik het wel mee eens. Op het moment dat een functie een waarde retourneert kun je altijd nog besluiten om deze op het scherm weer te geven met constructies als echo.
Gewijzigd op 08/04/2020 12:28:29 door Thomas van den Heuvel
Dat lees ik als "eerst optellen en dan pas vermenigmuldigen"
Maar waarom zou je daar een aparte functie voor maken? De bouwstenen heb je.
Wat is er mis met:
En hiermee neem je ook direct het "probleem" met operator-voorrang weg.
Als je $a + $b * $c bedoelt (oftewel $a + ($b * $c)), doe je simpelweg:
Gewijzigd op 08/04/2020 13:30:24 door Thomas van den Heuvel
dankjewel voor je goede uitleg!
vraagje: hoe je doe het als je het andersom doet?
als je eerst vermenigvuldigd doet en daarna plus?
is dat heel anders of totaal niet??
Ik heb het bericht even wat beter leesbaarder gemaakt. Zie ook de het bericht eronder.