Multimedia Technology 2
Lessenreeks door Tom Luyten
voor Communicatie- en Multimedia Design Maastricht

Werkcollege 4

Loops

Gebaseerd op het boek “Learning Processing” door Daniel Schiffman
En de PowerPoint van Donald W. Smith
Les 4 : Loops

LESSON 2: Everything you need to know
Variabelen
Condities
Loops
• Iteratie?
• While loop
• For loop

• Lokale en globale variabelen
Iteratie
Wat is iteratie?
Iteratie is het herhalen van een aantal regels, elke keer
opnieuw. Er kunnen variaties in zitten.
Voorbeeld: benen voor je monstertje

stroke(0):
line(50,60,50,80);
line(60,60,60,80);
line(70,60,70,80);
line(80,60,80,80);
line(90,60,90,80);
…
Iteratie
Wat is iteratie?
Iteratie is het herhalen van een aantal regels, elke keer
opnieuw. Er kunnen variaties in zitten.
Voorbeeld: benen voor je monstertje

stroke(0):
line(50,60,50,80);
line(60,60,60,80);
line(70,60,70,80);
line(80,60,80,80);
line(90,60,90,80);
…

Dus…

Zit een patroon in:
x neemt 10 toe
x stopt op 90
Iteratie
int x = 50;
int y = 80;

int spatie = 10;
int lengte = 20;
stroke(0):
x = x + spatie
line(x,y,x,y+lengte);
x = x + spatie
line(x,y,x,y+lengte);
x = x + spatie
line(x,y,x,y+lengte);
x = x + spatie
line(x,y,x,y+lengte);
…
Iteratie
int x = 50;
int y = 80;

int spatie = 10;
int lengte = 20;
stroke(0):
x = x + spatie
line(x,y,x,y+lengte);

Meer code!?
Wel efficiënter,
Maar…

line(x,y,x,y+lengte);

Nog een meer
duidelijk patroon

x = x + spatie

Dus…

x = x + spatie

line(x,y,x,y+lengte);
x = x + spatie
line(x,y,x,y+lengte);
…
While loop

Start ?
Stap ?
Stop ?

waar begint de loop ?

Hoe groot is de stap die wordt genomen?
Bij welke waarde moet de loop stoppen?
While loop
START

STOP
STAP
While loop

Start ?
Stap ?
Stop ?

Setup condities van een loop

Deze 3 definiëren je volledige loop. Je hebt deze 3 nodig om je loop uit te schrijven.
Een loop bestaat uit deze setup condities, een test, en een stuk code dat wordt
uitgevoerd
While loop
int x = 50;
int spatie = 10;
int stop = 150;
while(x < stop) {
line(x,60,x,80);
x = x + spatie;
}

SETUP CONDITIES

TEST
voer uit

VERANDER IETS
Terug naar TEST
tot TEST = false

Zelfde resultaat
While loop
Maak fig 6.5 na
Wat zijn de setup condities?
Wat is de test?
Wat voeren we uit?
While loop
Wat zijn de setup condities?
start: beginhoogte eerste rechthoek
stap : spatie tussen de rechthoeken
stop : waarde waar de loop moet stoppen
Wat is de test?
als rechthoek y coord. Groter is dan
de stopwaarde, stop.
Wat voeren we uit?
teken een rechthoek van 100 breed, 10 hoog, 100 van de kant.
While loop
Wat zijn de setup condities?
beginhoogte eerste rechthoek
start: int y = 10;
spatie tussen de rechthoeken
stap: int spatie = 20;
waarde waar de loop moet stoppen
stop: int stop = height;
Wat is de test?
als rechthoek y coord. Groter is dan
de stopwaarde, stop.
while (y < stop) {
Wat voeren we uit?
teken een rechthoek van 100 breed, 10 hoog, 100 van de kant.
rect(50,y,100,10);
y = y + spatie
}
Infinite loops
int x = 0;
while(x<10){
println(x);
x = x-1
}
X wordt kleiner, exit wordt nooit bereikt
Infinite loops
while(x <= einde){
line(x,y,x,y+lengte);
x = x + spatie;
}
spatie = mouseX/2;
mouseX/2 kan nul worden!

Oplossing:
Int spatie = constrain(mouseX/2, 1, 100);
While loop
int x = 0;
Void setup(){
size(200,200);
}
void draw(){
while(x < 9){
x = x+1;
}
x = 0;
}

Let op!
Wanneer je een while loop in draw gebruikt,
Mag je niet vergeten je startwaarde terug te
resetten,
X blijft in dit geval anders 9.
For loop
Een shortcode voor een while loop waar eenzelfde increment voorkomt.
Start, Stap, Stop en test gebeuren hier in 1 regel (! Efficiënt)
Ook hoef je start niet te resetten. De variabele wordt in de loop gemaakt en
gevuld met je startwaarde (int i = 0);

Start bij 0, tel tot 9

x = 0;
while(x < 9){
x = x+1;
}
Wordt:
for (int i = 0; i < 9; i = i + 1){ }
For loop
Start bij 100, tel tot 150 in stappen van 10
x = 100;
while(x < 150){
x = x+10;
}
Wordt:

for (int i = 100; i < 150; i = i + 10){ }
For loop
1. Start waarde

4. Exit test

3. Tel bij of af

for(int i=100; i>=0; i = i-5){
2. doe code
3. tel bij/af
5. Terug naar 2
}
Processing Werkcollege 4 - loops
21
Lokale en globale variabelen
Een variabele die je declareert binnen een codeblok (tussen { en } ) kan enkel
Door dat codeblok worden “gezien”
Na } komt deze variabele te vervallen. Hij wordt uit het geheugen gewist.

Dit heet een lokale variabele

Dit is te vergelijken met een doos (variabele) die je in één kamer openvouwt,
Vervolgens kan ze niet meer door de deur. Ze is dus in andere kamers niet te
gebruiken.
Ga je naar een andere kamer (de rest van je programma), moet je de doos
leegmaken en weer opvouwen.
Lokale en globale variabelen
Een variabele die je bovenaan je programma declareert, kan door het hele
Programma worden gezien en wordt niet gewist.
Dit heet een globale variabele

Dit is te vergelijken met een doos (variabele) die je in buitenshuis openvouwt,
Vervolgens kan ze door alle deuren. Ze is dus in alle andere kamers te
gebruiken.
Ga je naar een andere kamer (de rest van je programma), moet je de doos
NIET
leegmaken en weer opvouwen. De doos en haar inhoud blijven dus je hele
programma intact
Lokale en globale variabelen
Globale variabele (te gebruiken
over het hele programma, wordt
nooit gewist)

int x = 50;

void setup(){
size(200,500);
}

Lokale variabele, enkel te
gebruiken binnen de draw. Komt te
vervallen na } van de draw loop.

void draw(){
float test = 10.5;
for(int i=0; i<500; i=i+50){
rect(x,i,50,50);
}
}

Lokale variabele, enkel te
gebruiken binnen de for loop.
Komt te vervallen na } van de for
loop.
Lokale en globale variabelen

Beweeg de hele “figuur” naar links.
Optioneel (moeilijk) : naar onderen!
Integreer minstens 1 loop in je monstertje

More Related Content

PPTX
Processing Werkcollege 2 - variabelen
PPTX
Processing Werkcollege 3 - condities
PDF
Tom luyten hightechinhealthcare_2014
PPTX
Processing Werkcollege 6 functies met parameters
PPTX
Processing intro - computerdenken, als ontwerper !? (dutch)
PPTX
Processing Werkcollege 5 functies zonder arguments
DOC
¿TENGO CLARO LO QUE ME GUSTA?
PDF
Business elite 2014
Processing Werkcollege 2 - variabelen
Processing Werkcollege 3 - condities
Tom luyten hightechinhealthcare_2014
Processing Werkcollege 6 functies met parameters
Processing intro - computerdenken, als ontwerper !? (dutch)
Processing Werkcollege 5 functies zonder arguments
¿TENGO CLARO LO QUE ME GUSTA?
Business elite 2014

Viewers also liked (17)

PDF
Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014
PPTX
PDF
1.tabuladores
PDF
Formato de celdas
PPTX
Tabuladores
PDF
Le blog d'un baiseur
PDF
Maths project brief jan 2015 project - statistics
DOC
thợ sửa ống nước tại tphcm
DOCX
Portada
PPTX
Pac 2csabatfigueras
DOCX
Principios para la evaluación didáctica de medios~TIC
PDF
Autorrelleno
PPTX
Presentación de los proyectos y menciones en prensa de Jaime López-Chicheri
DOCX
Kesan rumah hijau
PPTX
costes
PPTX
Chernobyl.
Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014
1.tabuladores
Formato de celdas
Tabuladores
Le blog d'un baiseur
Maths project brief jan 2015 project - statistics
thợ sửa ống nước tại tphcm
Portada
Pac 2csabatfigueras
Principios para la evaluación didáctica de medios~TIC
Autorrelleno
Presentación de los proyectos y menciones en prensa de Jaime López-Chicheri
Kesan rumah hijau
costes
Chernobyl.
Ad

Processing Werkcollege 4 - loops

  • 1. Multimedia Technology 2 Lessenreeks door Tom Luyten voor Communicatie- en Multimedia Design Maastricht Werkcollege 4 Loops Gebaseerd op het boek “Learning Processing” door Daniel Schiffman En de PowerPoint van Donald W. Smith
  • 2. Les 4 : Loops LESSON 2: Everything you need to know Variabelen Condities Loops • Iteratie? • While loop • For loop • Lokale en globale variabelen
  • 3. Iteratie Wat is iteratie? Iteratie is het herhalen van een aantal regels, elke keer opnieuw. Er kunnen variaties in zitten. Voorbeeld: benen voor je monstertje stroke(0): line(50,60,50,80); line(60,60,60,80); line(70,60,70,80); line(80,60,80,80); line(90,60,90,80); …
  • 4. Iteratie Wat is iteratie? Iteratie is het herhalen van een aantal regels, elke keer opnieuw. Er kunnen variaties in zitten. Voorbeeld: benen voor je monstertje stroke(0): line(50,60,50,80); line(60,60,60,80); line(70,60,70,80); line(80,60,80,80); line(90,60,90,80); … Dus… Zit een patroon in: x neemt 10 toe x stopt op 90
  • 5. Iteratie int x = 50; int y = 80; int spatie = 10; int lengte = 20; stroke(0): x = x + spatie line(x,y,x,y+lengte); x = x + spatie line(x,y,x,y+lengte); x = x + spatie line(x,y,x,y+lengte); x = x + spatie line(x,y,x,y+lengte); …
  • 6. Iteratie int x = 50; int y = 80; int spatie = 10; int lengte = 20; stroke(0): x = x + spatie line(x,y,x,y+lengte); Meer code!? Wel efficiënter, Maar… line(x,y,x,y+lengte); Nog een meer duidelijk patroon x = x + spatie Dus… x = x + spatie line(x,y,x,y+lengte); x = x + spatie line(x,y,x,y+lengte); …
  • 7. While loop Start ? Stap ? Stop ? waar begint de loop ? Hoe groot is de stap die wordt genomen? Bij welke waarde moet de loop stoppen?
  • 9. While loop Start ? Stap ? Stop ? Setup condities van een loop Deze 3 definiëren je volledige loop. Je hebt deze 3 nodig om je loop uit te schrijven. Een loop bestaat uit deze setup condities, een test, en een stuk code dat wordt uitgevoerd
  • 10. While loop int x = 50; int spatie = 10; int stop = 150; while(x < stop) { line(x,60,x,80); x = x + spatie; } SETUP CONDITIES TEST voer uit VERANDER IETS Terug naar TEST tot TEST = false Zelfde resultaat
  • 11. While loop Maak fig 6.5 na Wat zijn de setup condities? Wat is de test? Wat voeren we uit?
  • 12. While loop Wat zijn de setup condities? start: beginhoogte eerste rechthoek stap : spatie tussen de rechthoeken stop : waarde waar de loop moet stoppen Wat is de test? als rechthoek y coord. Groter is dan de stopwaarde, stop. Wat voeren we uit? teken een rechthoek van 100 breed, 10 hoog, 100 van de kant.
  • 13. While loop Wat zijn de setup condities? beginhoogte eerste rechthoek start: int y = 10; spatie tussen de rechthoeken stap: int spatie = 20; waarde waar de loop moet stoppen stop: int stop = height; Wat is de test? als rechthoek y coord. Groter is dan de stopwaarde, stop. while (y < stop) { Wat voeren we uit? teken een rechthoek van 100 breed, 10 hoog, 100 van de kant. rect(50,y,100,10); y = y + spatie }
  • 14. Infinite loops int x = 0; while(x<10){ println(x); x = x-1 } X wordt kleiner, exit wordt nooit bereikt
  • 15. Infinite loops while(x <= einde){ line(x,y,x,y+lengte); x = x + spatie; } spatie = mouseX/2; mouseX/2 kan nul worden! Oplossing: Int spatie = constrain(mouseX/2, 1, 100);
  • 16. While loop int x = 0; Void setup(){ size(200,200); } void draw(){ while(x < 9){ x = x+1; } x = 0; } Let op! Wanneer je een while loop in draw gebruikt, Mag je niet vergeten je startwaarde terug te resetten, X blijft in dit geval anders 9.
  • 17. For loop Een shortcode voor een while loop waar eenzelfde increment voorkomt. Start, Stap, Stop en test gebeuren hier in 1 regel (! Efficiënt) Ook hoef je start niet te resetten. De variabele wordt in de loop gemaakt en gevuld met je startwaarde (int i = 0); Start bij 0, tel tot 9 x = 0; while(x < 9){ x = x+1; } Wordt: for (int i = 0; i < 9; i = i + 1){ }
  • 18. For loop Start bij 100, tel tot 150 in stappen van 10 x = 100; while(x < 150){ x = x+10; } Wordt: for (int i = 100; i < 150; i = i + 10){ }
  • 19. For loop 1. Start waarde 4. Exit test 3. Tel bij of af for(int i=100; i>=0; i = i-5){ 2. doe code 3. tel bij/af 5. Terug naar 2 }
  • 21. 21
  • 22. Lokale en globale variabelen Een variabele die je declareert binnen een codeblok (tussen { en } ) kan enkel Door dat codeblok worden “gezien” Na } komt deze variabele te vervallen. Hij wordt uit het geheugen gewist. Dit heet een lokale variabele Dit is te vergelijken met een doos (variabele) die je in één kamer openvouwt, Vervolgens kan ze niet meer door de deur. Ze is dus in andere kamers niet te gebruiken. Ga je naar een andere kamer (de rest van je programma), moet je de doos leegmaken en weer opvouwen.
  • 23. Lokale en globale variabelen Een variabele die je bovenaan je programma declareert, kan door het hele Programma worden gezien en wordt niet gewist. Dit heet een globale variabele Dit is te vergelijken met een doos (variabele) die je in buitenshuis openvouwt, Vervolgens kan ze door alle deuren. Ze is dus in alle andere kamers te gebruiken. Ga je naar een andere kamer (de rest van je programma), moet je de doos NIET leegmaken en weer opvouwen. De doos en haar inhoud blijven dus je hele programma intact
  • 24. Lokale en globale variabelen Globale variabele (te gebruiken over het hele programma, wordt nooit gewist) int x = 50; void setup(){ size(200,500); } Lokale variabele, enkel te gebruiken binnen de draw. Komt te vervallen na } van de draw loop. void draw(){ float test = 10.5; for(int i=0; i<500; i=i+50){ rect(x,i,50,50); } } Lokale variabele, enkel te gebruiken binnen de for loop. Komt te vervallen na } van de for loop.
  • 25. Lokale en globale variabelen Beweeg de hele “figuur” naar links. Optioneel (moeilijk) : naar onderen!
  • 26. Integreer minstens 1 loop in je monstertje

Editor's Notes

  • #8: Teken schema op bord
  • #9: Teken schema op bord
  • #10: Teken schema op bord
  • #11: Teken schema op bord
  • #12: Teken schema op bord
  • #13: Teken schema op bord
  • #14: Teken schema op bord
  • #15: Teken schema op bord
  • #16: Teken schema op bord
  • #17: Teken schema op bord
  • #18: Teken schema op bord
  • #19: Teken schema op bord
  • #20: Teken schema op bord
  • #21: Teken schema op bord
  • #23: Teken schema op bord
  • #24: Teken schema op bord
  • #25: Teken schema op bord
  • #26: Teken schema op bord