Ik probeer de For loops te begrijpen, maar loop wat vast.
6 berichten
• Pagina 1 van 1
Ik probeer de For loops te begrijpen, maar loop wat vast.
Hallo mensen,
Ik heb een stukje code waarbij er 6x een handeling moet worden gedaan, of korter wanneer niet aan een voorwaarde wordt voldaan.
Nu heb ik dat met select-case gedaan, in een functie, maar dat is wat onbehouwen. Daarbij... Een For loop zou zich hier meer voor lenen.
Alleen krijg ik dat niet in m'n bol.
Mag ik daar even met jullie over sparren?
Het zijn van die dingen die ik niet lijk te begrijpen.
Als ik ergens een paar voorbeelden heb, al dan niet met uitleg, kom ik een heel end.
Zoeken op "For" of "For loop" in de searchindex op de Arduino site geeft héél veel hits, maar niet op een manier zoals ik het zoek.
Anyway... Heeft iemand een zetje in de juiste richting, waar ik op kan inhaken met vragen zodat ik het ga begrijpen?
Ik heb een stukje code waarbij er 6x een handeling moet worden gedaan, of korter wanneer niet aan een voorwaarde wordt voldaan.
Nu heb ik dat met select-case gedaan, in een functie, maar dat is wat onbehouwen. Daarbij... Een For loop zou zich hier meer voor lenen.
Alleen krijg ik dat niet in m'n bol.
Mag ik daar even met jullie over sparren?
Het zijn van die dingen die ik niet lijk te begrijpen.
Als ik ergens een paar voorbeelden heb, al dan niet met uitleg, kom ik een heel end.
Zoeken op "For" of "For loop" in de searchindex op de Arduino site geeft héél veel hits, maar niet op een manier zoals ik het zoek.
Anyway... Heeft iemand een zetje in de juiste richting, waar ik op kan inhaken met vragen zodat ik het ga begrijpen?

Advertisement
- babbelkwebbel
- Berichten: 53
- Geregistreerd: 21 Apr 2013, 22:48
- Woonplaats: Horn
Re: Ik probeer de For loops te begrijpen, maar loop wat vast
misschien handig als je laat zien wat je tot nu toe gemaakt heb, of te wel post even je code, dan is het makkelijk om je in de goede richting te duwen!....
Re: Ik probeer de For loops te begrijpen, maar loop wat vast
een for loop is niets anders dan een teller die op of aftelt
je kunt dus beginnen met een bepaald getal en eindigen bij een bepaald getal, als laatste kun je opgeven hoeveel er op getelt wordt want dat moet niet 1 zijn maar kan ook 123 zijn.
je kunt eruit gaan met een break commando.
een andere manier is om het zelf te maken door naar een functie te springen waar je een variabele telkens ophooogt tot de max bereikt is.
maar dat mag natuurlijk ook iets anders zijn.
en zoals kwabbel al zegt, laat wat zien of wij je wel goed begrijpen
je kunt dus beginnen met een bepaald getal en eindigen bij een bepaald getal, als laatste kun je opgeven hoeveel er op getelt wordt want dat moet niet 1 zijn maar kan ook 123 zijn.
je kunt eruit gaan met een break commando.
een andere manier is om het zelf te maken door naar een functie te springen waar je een variabele telkens ophooogt tot de max bereikt is.
maar dat mag natuurlijk ook iets anders zijn.
en zoals kwabbel al zegt, laat wat zien of wij je wel goed begrijpen
paul deelen
shooter@home.nl
shooter@home.nl
Re: Ik probeer de For loops te begrijpen, maar loop wat vast
Dank voor de reacties zover.
Ik kan mijn code wel posten maar die is zo geintegreerd in een groter geheel dat je door de bomen het bos niet meer ziet.
Ik probeer het relevante stukje code eruit te vissen:
(elders, buiten deze Functie, zaten een paar punten die de KarPos steeds met 1 verlaagden, voor ze de Functie in gingen.)
Het is een optelling van een 1 of 0 situatie, die uiteindelijk een decimale waarde uit een reeks bits haalt.
Ik moet dus tellen vanaf 7 naar 0 (het zijn er inmiddels 8 bits geworden, ipv de oorspronkelijke 6 bits.
Deze Switch/Case is daar niet echt voor geschikt hoewel het wel werkt.
Als ik een For loopje maak, zou dat worden:
Ik breek m'n hoofd er nogal over...
Ik kan mijn code wel posten maar die is zo geintegreerd in een groter geheel dat je door de bomen het bos niet meer ziet.
Ik probeer het relevante stukje code eruit te vissen:
- Code: Alles selecteren
{switch (KarPos)
{case 7:
Kar = PS;
case 6:
Kar = (Kar + (PS * 2));
case 5:
Kar = (Kar + (PS * 4));
case 4:
Kar = (Kar + (PS * 8));
case 3:
Kar = (Kar + (PS * 16));
case 2:
Kar = (Kar + (PS * 32));
case 1:
Kar = (Kar + (PS * 64));
case 0:
Kar = (Kar + (PS * 128));
}
}
(elders, buiten deze Functie, zaten een paar punten die de KarPos steeds met 1 verlaagden, voor ze de Functie in gingen.)
Het is een optelling van een 1 of 0 situatie, die uiteindelijk een decimale waarde uit een reeks bits haalt.
Ik moet dus tellen vanaf 7 naar 0 (het zijn er inmiddels 8 bits geworden, ipv de oorspronkelijke 6 bits.
Deze Switch/Case is daar niet echt voor geschikt hoewel het wel werkt.
Als ik een For loopje maak, zou dat worden:
- Code: Alles selecteren
For (KarPos = 7; Karpos = 0 ; KarPos--)
{Kar = (Kar +(PS * 2))}
Ik breek m'n hoofd er nogal over...
Re: Ik probeer de For loops te begrijpen, maar loop wat vast
For (KarPos = 7; Karpos = 0 ; KarPos--) // Karpos = 0 moet zijn Karpos >= 0
{Kar = (Kar +(PS * 2))} // PS * 2 ---> 2 blijft 2 en dus niet 2, 4,8,......128
{Kar = (Kar +(PS * 2))} // PS * 2 ---> 2 blijft 2 en dus niet 2, 4,8,......128
Re: Ik probeer de For loops te begrijpen, maar loop wat vast
zuid schreef:For (KarPos = 7; Karpos = 0 ; KarPos--)
OK... Dus: Variabele KarPos is initieel 7, Zolang meer dan 0 is, elke keer KarPos met 1 verlagen?
En dan:
{Kar = (Kar +(PS * 2))} // PS * 2 ---> 2 blijft 2 en dus niet 2, 4,8,......128
Dat klopt. Kar wordt altijd met 2 vermenigvuldigd, wanneer PS 1 is.
Ik zie nu dat ik (Kar * (PS * 2)) had moeten doen.
Daarbij moet hij nog wel een positie opschuiven, wanneer PS 0 is en daarbij Kar niet verdubbelt.
Maar daar kom ik wel uit.
6 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Google Adsense [Bot] en 6 gasten