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

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 3: Línia 3:
 
*Permet decidir si en funció d’una condició cal o no executar una o un conjunt d’instruccions.
 
*Permet decidir si en funció d’una condició cal o no executar una o un conjunt d’instruccions.
  
<source lang="python">
+
<source lang="java">
 
  instruccions del programa
 
  instruccions del programa
 
   if (expressió booleana) {
 
   if (expressió booleana) {
Línia 13: Línia 13:
 
*La condició te dues respostes possibles: Certa o Falsa. Si és certa s’executarà el procediment i sinó no
 
*La condició te dues respostes possibles: Certa o Falsa. Si és certa s’executarà el procediment i sinó no
  
*s’executarà i la execució continuarà amb les sentencies que hi hagi a continuació del bloc if.
+
*S’executarà i la execució continuarà amb les sentencies que hi hagi a continuació del bloc if.
  
 
Exemple:
 
Exemple:
<source lang="python">
 
# Programa per la Sentència if
 
  
edat = int(input("Edat:"))
+
 
if edat >= 18 :
+
 
  print("Ets major d'edat")
+
 
if edat < 18 :
+
public class Descompte {
  print("Ets menor d'edat")
+
 
 +
  public static void main(String[] args) {
 +
    //Es fa un descompte del 8%.
 +
    final double DESCOMPTE = 0.08;
 +
    //Es fa descompte per compres d’un mínim de 100 euros.
 +
    final float COMPRA_MIN = 100;
 +
    Scanner lector = new Scanner(System.in);
 +
    double preu, descompteFet;
 +
    System.out.print("Quin és el preu del producte, en euros? ");
 +
    preu = lector.nextFloat();
 +
    lector.nextLine();
 +
    if (preu >= COMPRA_MIN) {
 +
      descompteFet = preu * DESCOMPTE;
 +
      preu = preu - descompteFet;
 +
    }
 +
    System.out.println("El preu final per pagar és de " + preu + " euros.");
 +
  }
 +
}
 +
<source lang="java">
 +
import java.util.Scanner;
 +
 
 +
public class MajorEdat {
 +
 
 +
  public static void main(String[] args) {
 +
    //Decidir si una persona es major de edat.
 +
    final int MAJOREDAT = 18;
 +
    Scanner lector = new Scanner(System.in);
 +
    System.out.print("Quina edat tens?");
 +
    edat = lector.nextInt();
 +
    if edat >= 18{
 +
      System.out.println("Ets major d'edat");
 +
 
 +
    }
 +
    if edat < 18{
 +
      System.out.println("Ets menor d'edat");
 +
    }
 +
  }
 +
}
 
</source>
 
</source>
  
Línia 31: Línia 66:
  
 
<source lang="java">
 
<source lang="java">
# Programa per la Sentències else i elif
+
import java.util.Scanner;
edat = int(input("Edat: "))
+
 
if edat >= 18 :
+
public class MajorEdat {
  print("Ets major d'edat")
+
 
else:                          # S'executa si la condició de l'if és falsa
+
  public static void main(String[] args) {
  print("Ets menor d'edat")
+
    //Decidir si una persona es major de edat.
 +
    final int MAJOREDAT = 18;
 +
    Scanner lector = new Scanner(System.in);
 +
    System.out.print("Quina edat tens?");
 +
    edat = lector.nextInt();
 +
    if edat >= 18{                                // S'executa si la condició de l'if és falsa
 +
      System.out.println("Ets major d'edat")
 +
 
 +
    }
 +
    else{
 +
      System.out.println("Ets menor d'edat");
 +
    }
 +
  }
 +
}
 
</source>
 
</source>
  
 
<source lang="java">
 
<source lang="java">
# Si necessitem comprovar un altre valor de l'edat podem utilitzar elif
+
// Si necessitem comprovar un altre valor de l'edat podem utilitzar elif
 +
 
 +
import java.util.Scanner;
  
edat = int(input("Edat: "))
+
public class MajorEdat {
if edat >= 18 :
+
 
  print("Ets major d'edat")
+
  public static void main(String[] args) {
elif edat >= 16:                # es comprova només si la condició de l'if és falsa
+
    //Decidir si una persona es major de edat.
  print("Ets adolescent menor d'edat")
+
    final int MAJOREDAT = 18;
else:                          # S'executa només si la condició de l'elif és falsa
+
    Scanner lector = new Scanner(System.in);
  print("Ets menor d'edat")
+
    System.out.print("Quina edat tens?");
 +
    edat = lector.nextInt();
 +
    if edat >= 18{                                // S'executa si la condició de l'if és falsa
 +
      System.out.println("Ets major d'edat")
 +
 
 +
    }
 +
    else if (edat >= 16) {                        // es comprova només si la condició de l'if és falsa
 +
      System.out.println("Ets menor d'edat");
 +
     
 +
    }
 +
    else{                                        // S'executa només si la condició de l'elif és falsa
 +
      System.out.println("Ets menor d'edat");
 +
    }
 +
  }
 +
}
 
</source>
 
</source>
  
 
*Es poden posar tants elif com necessitem
 
*Es poden posar tants elif com necessitem
 
  
 
<!--
 
<!--

Revisió del 11:16, 5 oct 2020

Condicional if

  • Permet decidir si en funció d’una condició cal o no executar una o un conjunt d’instruccions.
instruccions del programa
  if (expressió booleana) {
        Instruccions per executar si l’expressió avalua a true (cert)
  }
  resta d’instruccions del programa
  • La condició te dues respostes possibles: Certa o Falsa. Si és certa s’executarà el procediment i sinó no
  • S’executarà i la execució continuarà amb les sentencies que hi hagi a continuació del bloc if.

Exemple:



public class Descompte {

 public static void main(String[] args) {
   //Es fa un descompte del 8%.
   final double DESCOMPTE = 0.08;
   //Es fa descompte per compres d’un mínim de 100 euros.
   final float COMPRA_MIN = 100;
   Scanner lector = new Scanner(System.in);
   double preu, descompteFet;
   System.out.print("Quin és el preu del producte, en euros? ");
   preu = lector.nextFloat();
   lector.nextLine();
   if (preu >= COMPRA_MIN) {
      descompteFet = preu * DESCOMPTE;
      preu = preu - descompteFet;
   }
   System.out.println("El preu final per pagar és de " + preu + " euros.");
 }

}

import java.util.Scanner;

public class MajorEdat {

  public static void main(String[] args) {
    //Decidir si una persona es major de edat.
    final int MAJOREDAT = 18;
    Scanner lector = new Scanner(System.in);
    System.out.print("Quina edat tens?");
    edat = lector.nextInt();
    if edat >= 18{
      System.out.println("Ets major d'edat");

    }
    if edat < 18{
      System.out.println("Ets menor d'edat");
    }
  }
}
  • Si entre els parèntesis es posa una expressió que no avalua un resultat de tipus booleà, hi haurà un error de compilació.

Condicionals else i elif

import java.util.Scanner;

public class MajorEdat {

  public static void main(String[] args) {
    //Decidir si una persona es major de edat.
    final int MAJOREDAT = 18;
    Scanner lector = new Scanner(System.in);
    System.out.print("Quina edat tens?");
    edat = lector.nextInt();
    if edat >= 18{                                // S'executa si la condició de l'if és falsa
      System.out.println("Ets major d'edat");  

    }
    else{
      System.out.println("Ets menor d'edat");
    }
  }
}
// Si necessitem comprovar un altre valor de l'edat podem utilitzar elif

import java.util.Scanner;

public class MajorEdat {

  public static void main(String[] args) {
    //Decidir si una persona es major de edat.
    final int MAJOREDAT = 18;
    Scanner lector = new Scanner(System.in);
    System.out.print("Quina edat tens?");
    edat = lector.nextInt();
    if edat >= 18{                                // S'executa si la condició de l'if és falsa
      System.out.println("Ets major d'edat");  

    }
    else if (edat >= 16) {                        // es comprova només si la condició de l'if és falsa
      System.out.println("Ets menor d'edat");
      
    }
    else{                                         // S'executa només si la condició de l'elif és falsa
      System.out.println("Ets menor d'edat");
    }
  }
}
  • Es poden posar tants elif com necessitem