Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF1: La sentència while»

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «== Sintaxi i Estructura == Per dur a terme aquest tipus de control sobre les iteracions d’un bucle, la sintaxi d’aquesta sentència en el llenguatge Java és la s...».)
 
Línia 11: Línia 11:
 
Com podeu veure, el seu format és molt semblant a la sentència if, simplement canviant la paraula clau per while. Com ja passava amb les diferents sentències dins les estructures de selecció, si entre els parèntesis es posa una expressió que no avalua un resultat de tipus booleà, hi haurà un error de compilació.
 
Com podeu veure, el seu format és molt semblant a la sentència if, simplement canviant la paraula clau per while. Com ja passava amb les diferents sentències dins les estructures de selecció, si entre els parèntesis es posa una expressió que no avalua un resultat de tipus booleà, hi haurà un error de compilació.
  
La figura següent mostra un diagrama del flux de control d’aquesta sentència, i estableix l’ordre sota el qual s’avalua la condició lògica representada per l’expressió booleana amb vista a establir si cal executar o no una iteració del bucle.
+
==Exemple: estalviar-vos d’escriure el mateix molts cops==
  
==Exemple: estalviar-vos d’escriure el mateix molts cops==
+
<source lang="java">
 +
//Un programa que escriu una línia amb 100 caràcters ’-’.
 +
   
 +
public class Linia {
 +
   
 +
  public static void main (String[] args) {
 +
   
 +
    //Inicialitzem un comptador
 +
    int i = 0;
 +
    //Ja hem fet això 100 cops?
 +
    while (i < 100) {
 +
      System.out.print(’-’);
 +
      //Ho hem fet un cop, sumem 1 al comptador
 +
      i = i + 1;
 +
    }
 +
  }
 +
}
 +
</source>
  
 
==Exemple: acumular càlculs==
 
==Exemple: acumular càlculs==
 +
 +
<source lang="java">
 +
import java.util.Scanner;
 +
 +
//Un programa que mostra la taula de multiplicar d’un nombre.
 +
 +
public class TaulaMultiplicar {
 +
 +
  public static void main(String[] args) {
 +
 +
    //S’inicialitza la biblioteca.
 +
    Scanner lector = new Scanner(System.in);
 +
    //Pregunta el nombre.
 +
    System.out.print("Quina taula de multiplicar vols? ");
 +
    int taula = lector.nextInt();
 +
    //El comptador servirà per fer càlculs.
 +
    int i = 1;
 +
    while (i <= 10) {
 +
      int resultat = taula * i;
 +
      System.out.println(taula + " * " + i + " = " + resultat);
 +
      i = i + 1;
 +
    }
 +
    System.out.println("Aquesta ha estat la taula del " + taula);
 +
  }
 +
}
 +
</source>
  
 
==Exemple: semàfors==
 
==Exemple: semàfors==
  
 
==Exemple: semàfors i comptadors alhora==
 
==Exemple: semàfors i comptadors alhora==

Revisió del 18:27, 20 gen 2020

Sintaxi i Estructura

Per dur a terme aquest tipus de control sobre les iteracions d’un bucle, la sintaxi d’aquesta sentència en el llenguatge Java és la següent:

while (expressió booleana) {
      Instruccions per executar dins del bucle
   }

Com podeu veure, el seu format és molt semblant a la sentència if, simplement canviant la paraula clau per while. Com ja passava amb les diferents sentències dins les estructures de selecció, si entre els parèntesis es posa una expressió que no avalua un resultat de tipus booleà, hi haurà un error de compilació.

Exemple: estalviar-vos d’escriure el mateix molts cops

//Un programa que escriu una línia amb 100 caràcters ’-’.
    
public class Linia {
    
  public static void main (String[] args) {
    
    //Inicialitzem un comptador
    int i = 0;
    //Ja hem fet això 100 cops?
    while (i < 100) {
      System.out.print(’-’);
      //Ho hem fet un cop, sumem 1 al comptador
      i = i + 1;
    }
  }
}

Exemple: acumular càlculs

import java.util.Scanner;

//Un programa que mostra la taula de multiplicar d’un nombre.

public class TaulaMultiplicar {

  public static void main(String[] args) {

    //S’inicialitza la biblioteca.
    Scanner lector = new Scanner(System.in);
    //Pregunta el nombre.
    System.out.print("Quina taula de multiplicar vols? ");
    int taula = lector.nextInt();
    //El comptador servirà per fer càlculs.
    int i = 1;
    while (i <= 10) {
      int resultat = taula * i;
      System.out.println(taula + " * " + i + " = " + resultat);
      i = i + 1;
    }
    System.out.println("Aquesta ha estat la taula del " + taula);
  }
}

Exemple: semàfors

Exemple: semàfors i comptadors alhora