+ - 0:00:00
Notes for current slide
Notes for next slide

Estructures iteratives

Mateu Yábar Valles

1 / 21

Llicència

Pots copiar i redistribuir aquest material seguint la llicència Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0, indicant-ne autors originals, l'origen (aquesta web), sense fins comercials i mantenint-ne aquesta la llicència

Autors:

2 / 21

Introducció

  • Intenta fer un programa que
    1. Printi per pantalla 10 uns: 1111111111
    2. Printi per pantalla 100 uns
    3. Printi per pantalla 10000 uns
Començar
3 / 21

Estructures iteratives

Necessitem poder repetir passos d'un camí

graph LR A[imprimir 1] -->|100 vegades| A A-->Fi
4 / 21

Repeat loop

repeat(3) {
println("Hello")
}

Output

Hello
Hello
Hello
5 / 21

Repeat loop

repeat(3) {
println(it)
}

Output

0
1
2
6 / 21

Exercicis Repeat

7 / 21

Estructures iteratíves

For

for (nom_variable in range) {
// codi a executar
}
// print 1 2 3
for (i in 1..3) {
println(i)
}
8 / 21

For - Ranges

for (i in 1..4) print(i)
for (i in 4 downTo 1) print(i)
for (i in 1..8 step 2) print(i)
for (i in 8 downTo 1 step 2) print(i)
for (i in 1 until 10) { // i in [1, 10), 10 is excluded
print(i)
}
9 / 21

Introducció While

  • Intenta fer l'exercici WaitFor5
Començar
11 / 21

Estructures iteratíves

While

while(condition){
// S'executa mentre la condició és true
}
12 / 21

While vs For

for (i in 0..2) println(i)
// print 0 1 2
var i = 0;
while (i < 3){
println(i)
i++
}
13 / 21

While vs For

  • El for és força més descriptiu.
  • While és més versatil.
14 / 21

Estructures iteratíves

Do While

do {
// S'executa un cop i és repeteix mentre la condició és true
} while(condition)
// print 0 1 2
var i = 0
do {
println(i)
i++
} while(i < 3)
15 / 21

While vs Do While

  • Per defecte usarem la versió while
  • En alguns casos ens interessa que sempre passi minim una vegada pel bucle
    • Demana un enter a l'usuari que sigui menor de 10. Si es major, torna'l a demanar.
16 / 21

Bucle infinit

Bucle que es repeteix de forma indefinida.

while(true){
println("Bucle infinit");
}
var i = 0
while(i < 10){
println("Bucle infinit");
}
17 / 21

Branching Statements

Intrucció que fan salts en l'execució.

  • break
  • continue
  • return
18 / 21

Break

Surt del bucle actual

while(condition){
if(condition2)
break
}
19 / 21

Continue

Torna a l'inici del bucle

while(condition){
if(condition2)
continue
}
20 / 21

Return

Retorna el resultat d'una funció, però també surt de tots els bucles.

while(condition){
if(condition2)
return
}
21 / 21

Llicència

Pots copiar i redistribuir aquest material seguint la llicència Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0, indicant-ne autors originals, l'origen (aquesta web), sense fins comercials i mantenint-ne aquesta la llicència

Autors:

2 / 21
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow