SlideShare una empresa de Scribd logo
1 de 26
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
}
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

Más contenido relacionado

Destacado

Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014
Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014
Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014Kanatora
 
1.tabuladores
1.tabuladores1.tabuladores
1.tabuladoresMPGaby
 
Tabuladores
TabuladoresTabuladores
TabuladoresMPGaby
 
Maths project brief jan 2015 project - statistics
Maths project brief jan 2015 project - statisticsMaths project brief jan 2015 project - statistics
Maths project brief jan 2015 project - statisticsJenny Huoy Miin
 
thợ sửa ống nước tại tphcm
thợ sửa ống nước tại tphcmthợ sửa ống nước tại tphcm
thợ sửa ống nước tại tphcmthochongthamtaitphcm
 
Pac 2csabatfigueras
Pac 2csabatfiguerasPac 2csabatfigueras
Pac 2csabatfiguerascsabatf
 
Principios para la evaluación didáctica de medios~TIC
 Principios para la evaluación didáctica de medios~TIC Principios para la evaluación didáctica de medios~TIC
Principios para la evaluación didáctica de medios~TICennomatapa
 
Presentación de los proyectos y menciones en prensa de Jaime López-Chicheri
Presentación de los proyectos y menciones en prensa de Jaime López-ChicheriPresentación de los proyectos y menciones en prensa de Jaime López-Chicheri
Presentación de los proyectos y menciones en prensa de Jaime López-ChicheriJaime @jaimechicheri López-Chicheri
 

Destacado (17)

Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014
Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014
Lịch Vinh Danh Cờ Vàng - Giáp Ngọ - 2014
 
Visits kerala
Visits   keralaVisits   kerala
Visits kerala
 
Sua nuoc
Sua nuocSua nuoc
Sua nuoc
 
1.tabuladores
1.tabuladores1.tabuladores
1.tabuladores
 
Formato de celdas
Formato de celdasFormato de celdas
Formato de celdas
 
Tabuladores
TabuladoresTabuladores
Tabuladores
 
Le blog d'un baiseur
Le blog d'un baiseurLe blog d'un baiseur
Le blog d'un baiseur
 
Maths project brief jan 2015 project - statistics
Maths project brief jan 2015 project - statisticsMaths project brief jan 2015 project - statistics
Maths project brief jan 2015 project - statistics
 
thợ sửa ống nước tại tphcm
thợ sửa ống nước tại tphcmthợ sửa ống nước tại tphcm
thợ sửa ống nước tại tphcm
 
Portada
PortadaPortada
Portada
 
Pac 2csabatfigueras
Pac 2csabatfiguerasPac 2csabatfigueras
Pac 2csabatfigueras
 
Principios para la evaluación didáctica de medios~TIC
 Principios para la evaluación didáctica de medios~TIC Principios para la evaluación didáctica de medios~TIC
Principios para la evaluación didáctica de medios~TIC
 
Autorrelleno
AutorrellenoAutorrelleno
Autorrelleno
 
Presentación de los proyectos y menciones en prensa de Jaime López-Chicheri
Presentación de los proyectos y menciones en prensa de Jaime López-ChicheriPresentación de los proyectos y menciones en prensa de Jaime López-Chicheri
Presentación de los proyectos y menciones en prensa de Jaime López-Chicheri
 
Kesan rumah hijau
Kesan rumah hijauKesan rumah hijau
Kesan rumah hijau
 
costes
costescostes
costes
 
Chernobyl.
Chernobyl.Chernobyl.
Chernobyl.
 

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 }
  • 20.
  • 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

Notas del editor

  1. Teken schema op bord
  2. Teken schema op bord
  3. Teken schema op bord
  4. Teken schema op bord
  5. Teken schema op bord
  6. Teken schema op bord
  7. Teken schema op bord
  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