Even & Oneven getallen scriptje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Tjerk Muller

Tjerk Muller

18/11/2010 18:36:13
Quote Anchor link
Hallo iedereen,

ik heb dit jaar voor het eerst php met informatica, zelf kan ik wel beetje overweg met html maar nu kregen wij de volgende opdracht:

Maak een pagina in php waarbij de even getallen 1 tm 20 en de oneven
getallen van 21 tm 40 bij elkaar worden geteld.

Ik zou dus echt geen idee hebben hoe ik hieraan moet beginnen,
meestal kan ik wel scripts bewerken die ik van internet haal..
maar nu gaat om zelf coderen.

Kan mij op weg helpen?

Mvg Tjerk Muller
 
PHP hulp

PHP hulp

27/11/2024 11:43:36
 

18/11/2010 18:38:44
Quote Anchor link
Tjerk Muller op 18/11/2010 18:36:13:
(...)

Ik zou dus echt geen idee hebben hoe ik hieraan moet beginnen,
meestal kan ik wel scripts bewerken die ik van internet haal..
maar nu gaat om zelf coderen.
(...)


Nu moet je zelf denken.
Vast en zeker heb je al les gehad in php.
Kijk naar de dingen die je al gehad hebt. Daar kan je vast wat uithalen.
 
Tjerk Muller

Tjerk Muller

18/11/2010 18:39:52
Quote Anchor link
Beste Karl dat is dus niet het geval want we zijn pas sinds vorige week begonnen.. ik zou het echt op prijs stellen als iemand alvast een beginnetje of iets dergelijks kan opzetten? Gr.
 
Jordi Kroon

Jordi Kroon

18/11/2010 18:41:00
Quote Anchor link
Wat heb je al geprobeerd?
 

18/11/2010 18:42:55
Quote Anchor link
Tjerk Muller op 18/11/2010 18:39:52:
Beste Karl dat is dus niet het geval want we zijn pas sinds vorige week begonnen.. ik zou het echt op prijs stellen als iemand alvast een beginnetje of iets dergelijks kan opzetten? Gr.


We zijn nu al een paar maand bezig met dit schooljaar (kwart voorbij), dus je zou in ieder geval iets moeten kunnen bedenken van wat er moet gebeuren. Je moet je kennis die je al geleerd hebt kunnen toepassen (je zult vast wel wat geleerd hebben).
Zou je je niveau kunnen vertellen? Dan kan ik daar ook wat op inspelen.
 
Tjerk Muller

Tjerk Muller

18/11/2010 18:46:18
Quote Anchor link
Ik ben vorig jaar gefaald voor 5havo dus doe nu maar 3 vakken.. eco, wiskunde en informatica i.p.v M&O.. ik heb dit vak dus voor het eerst..

@ jordi ik heb mar iets geprobeerd.. niet lachen a.u.b :P

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$even
= 2;
$oneven = 3;

$rekenen = 2 + 3; // = 5
$rekenen = $even + $oneven; //
?>


Maar hoe zorg ik ervoor dat ik een reeks getallen krijg?

Gr.
Gewijzigd op 18/11/2010 18:46:44 door Tjerk Muller
 
- Mark -

- Mark -

18/11/2010 18:52:20
Quote Anchor link
Die even en oneven vars zijn niet nodig.

Je kunt kijken of een getal even of oneven is met % oftewel modulo.

Weet je hoe je met arrays werkt?
 

18/11/2010 18:53:53
Quote Anchor link
Ik verwacht dat die school je wel een of andere handleiding heeft gegeven of naar php.net heeft verwezen.
Maar goed. Je moet dus de even getallen van 1 t/m 20 optellen met de oneven van 21 t/m 40.
Ik neem aan dat je weet hoe je met operators kan kijken of een geval even of oneven is.
Door die rij moet je dan natuurlijk doorheen lopen (loopen), dus dan kan je het beste met een control-structures.for (for) loop doen.

Voordat je aan zo'n project begint kijk je wat het gevraagde is, en welke functies e.d. je wellicht nodig hebt. Eventuele valkuilen of moeilijkheden kan je ook van te voren bedenken. En dan pas ga je aan het scripten.

Mark Coenen op 18/11/2010 18:52:20:
Die even en oneven vars zijn niet nodig.

Je kunt kijken of een getal even of oneven is met % oftewel modulo.

Weet je hoe je met arrays werkt?

Als je gelijk moeilijk wilt doen (modulo is niet echt basis ofzo), verwijs dan ook naar php.net: modulo.
En waarvoor array's? Laat php lekker denken.
Gewijzigd op 18/11/2010 18:55:41 door
 
Jordi Kroon

Jordi Kroon

18/11/2010 18:54:18
Quote Anchor link
@tjerk

waarom zou ik lachen?
je zit niet voor niks op school

en waarom gebruik je eerst deze variable:

$rekenen = 2 + 3; // = 5

en dan

$rekenen = $even + $oneven; //

dit is precies hetzelfde
 
- Mark -

- Mark -

18/11/2010 19:07:36
Quote Anchor link
@Karl Ik vroeg of hij wist wat arrays waren omdat ik aan range() dacht. Leek me wel handig voor hem.
 
- SanThe -

- SanThe -

18/11/2010 19:11:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo array_sum(array_merge(range(0, 20, 2), range(21, 40, 2)));
?>
 

18/11/2010 19:12:43
Quote Anchor link
Mark Coenen op 18/11/2010 19:07:36:
@Karl Ik vroeg of hij wist wat arrays waren omdat ik aan range() dacht. Leek me wel handig voor hem.


Mij lijkt basiskennis belangrijker.

- SanThe - op 18/11/2010 19:11:35:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo array_sum(array_merge(range(0, 20, 2), range(21, 40, 2)));
?>


Leuk. En als je nog steeds niet weet hoe je er doorheen moet lopen?
 
Jordi Kroon

Jordi Kroon

18/11/2010 19:26:49
Quote Anchor link
eigenlijk vind ik toch dat wij hem beter alleen op weg kunnen helpen
het is zijn huiswerk wat wij maken
we kunnen hem wel helpen maar niet maken
 
Ewergreen php

ewergreen php

19/11/2010 11:59:38
Quote Anchor link
Tjerk,

Ik ben ook nog een redelijke leek op het gebied van PHP, maar heb deze oefening toch op een klein kwartier opgelost. Ik heb mij niet in verwarring laten brengen door arrays, ondanks dat ik deze in theorie wel ken. Het lijkt mij aangewezen voor u om deze aanvankelijk niet te gebruiken. Als de oefening gelukt is kan je ze (als je gemotiveerd bent) ze altijd nog proberen te herschrijven met arrays.

Het belangrijkste in het oplossen van dit probleem is om even na te denken en best op papier even uit te schrijven wat er moet gebeuren. Hiervoor heb je geen letter code nodig, enkel logica. Iets wat ze u niet kunnen leren volgens mij.

Hieronder leg ik even de logica en stappen uit die ik gevolgd heb, maar ik raad u aan om hier eerst zelf over na te denken.
----
Ik ben er van uitgegaan dat ik eerst alle getallen van 1 tot en met 40 moest genereren. Daarom heb ik een FOR loop geschreven die de getallen van 1 tot en met 40 op het scherm schreef. De volgende stap was om de getallen onder de 20 te scheiden van de getallen boven de twintig maar kleiner dan 40. Hiervoor heb ik een IF functie gebruikt. Ik had ook nog nooit met modulo gewerkt, maar dit is niet zo moeilijk. Een geneste IF (een IF in de vorige IF functie) hielp me om te bepalen wat even was in de getallen onder de twintig en wat oneven was in de getallen vanaf 21. Dan is het een kwestie van deze telkens weg te schrijven d.m.v. bijvoorbeeld += en op te tellen.

Toevoeging op 19/11/2010 12:00:08:

Ik heb ondertussen wel zelf een vraag voor de meer gevorderde leden hier. Ik wou in mijn eerste geneste if bepalen wat de even getallen waren m.b.v. ($counter % 2). Uiteraard moest dit in dit geval (!$counter % 2) zijn, maar dit werkt niet. Ik heb nu gebruik gemaakt van een ELSE om dit probleem te omzeilen, maar had graag geweten hoe ik hier kan zeggen NIET($counter % 2).
 
Jacco Engel

Jacco Engel

19/11/2010 12:04:44
Quote Anchor link
if($counter % 2 == 0)

% berekend hoe vaak het getal achter de % in het getal er voor kan en geeft de rest waarde als return

1 % 2 = 1
2 % 2 = 0

en bijv 8 % 3 zal je 2 geven en 14 % 5 => 4
Gewijzigd op 19/11/2010 12:06:30 door Jacco Engel
 
- Mark -

- Mark -

19/11/2010 12:06:20
Quote Anchor link
@ewergreen Kun je een eigen topic aanmaken? en daar relevante code in plaatsen zodat we kunnen zien wat je nu precies doet. Het wordt anders straks een warboel als we het over meerdere dingen in 1 topic gaan hebben.
 

19/11/2010 12:11:45
Quote Anchor link
Bitwise kijken of het getal even of oneven is, is ook leuk.
En dat vereist wat meer technische kennis :-)
 
Ewergreen php

ewergreen php

19/11/2010 12:22:31
Quote Anchor link
@Jacoo, bedankt voor de uitleg, dat werkt perfect. Ik had ook al eens geprobeerd met true en false, maar uiteraard is dit geen boolean.
@Mark, het overgrote deel was on topic en bedoeld om Tjerk te helpen. Ik had een probleem waar hij misschien ook tegenaan zou lopen, dus besloot om het hier maar snel te vragen.
 
- SanThe -

- SanThe -

19/11/2010 12:29:24
Quote Anchor link
Ewergreen none op 19/11/2010 11:59:38:
NIET($counter % 2).


Gewoon letterlijk. Dus NIET wordt een uitroepteken.
if(!($counter % 2))
 
Ewergreen php

ewergreen php

19/11/2010 13:14:35
Quote Anchor link
Thanks SanThe, die werkt inderdaad ook.
 
Pim -

Pim -

24/11/2010 13:53:36
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function even($n) {
    return (bool) $n & 2;
}

?>
 

Pagina: 1 2 volgende »



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.