Diferència entre revisions de la pàgina «ASIX-M3-UF1-A2.4-Exercicis estructura iterativa: for»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 25 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 
1. Imprimir els números del 1 al 100.
 
1. Imprimir els números del 1 al 100.
 
<source lang="python">
 
 
print(Imprimir els números del 1 al 100)
 
 
for (int i = 1; i <=100; i++)
 
  System.out.println(i);
 
</source>
 
<!---->
 
  
 
2. Imprimir els números parells del 0 al 98.
 
2. Imprimir els números parells del 0 al 98.
 
<source lang="python">
 
package ex_for;
 
 
/**
 
* Imprimir els números parells del 0 al 98
 
*/
 
public class Ex2 {
 
 
    public static void main(String[] args) {
 
 
        for (int i = 0; i <100; i=i+2) {
 
            System.out.println(i);
 
 
        }
 
 
    }
 
 
}
 
</source>
 
<!---->
 
  
 
3. Imprimir els números del 100 al 1.
 
3. Imprimir els números del 100 al 1.
 
<source lang="python">
 
package ex_for;
 
 
/**
 
* Imprimir els números del 100 al 1
 
*/
 
public class Ex3 {
 
    public static void main(String[] args) {
 
     
 
       
 
        for (int i = 100; i > 0; i--) {
 
            System.out.println(i);
 
                       
 
        }
 
                           
 
    }   
 
}
 
</source>
 
<!---->
 
  
 
4. Demanar cinc números i mostrar la suma.
 
4. Demanar cinc números i mostrar la suma.
 
<source lang="python">
 
package ex_for;
 
 
import java.util.Scanner;
 
 
/**
 
* Ex4: Demanar cinc números i mostrar la suma
 
*/
 
public class Ex4 {
 
 
    public static void main(String[] args) {
 
        Scanner teclat = new Scanner(System.in);
 
        int valor, suma, i;
 
        suma = 0;
 
       
 
        for (i = 0; i < 5; i++) {
 
            System.out.print("Introdueix un valor: ");
 
            valor = teclat.nextInt();
 
            suma = suma + valor;
 
        }
 
        System.out.println("La suma és: " + suma);
 
 
    }
 
}
 
</source>
 
<!---->
 
  
 
5. Igual que l'anterior però només sumant els valors més grans de 10.
 
5. Igual que l'anterior però només sumant els valors més grans de 10.
 
<source lang="python">
 
package ex_for;
 
 
import java.util.Scanner;
 
 
/**
 
* Demanar cinc números i sumar els valors que siguin més grans de 10
 
*/
 
public class Ex5 {
 
 
    public static void main(String[] args) {
 
        Scanner teclat = new Scanner(System.in);
 
        int valor, suma, i;
 
        suma = 0;
 
       
 
        for (i = 0; i < 5; i++) {
 
            System.out.print("Introdueix un valor: ");
 
            valor = teclat.nextInt();
 
            if (valor > 10) {
 
                suma = suma + valor;
 
            }
 
 
        }
 
        System.out.println("La suma és: " + suma);
 
 
    }
 
}
 
</source>
 
<!---->
 
  
 
6. Calcular el producte dels números del 1 al 10.
 
6. Calcular el producte dels números del 1 al 10.
  
<source lang="python">
+
7. Demanar cinc números enters positius i mostrar el valor més gran.
package ex_for;
 
/**
 
* Calcular el producte dels números del 1 al 10
 
*/
 
 
 
public class Ex6 {
 
    public static void main(String[] args) {
 
        int mult=1;
 
       
 
        for (int i = 1; i <=10 ; i++) {
 
            mult=mult*i;
 
           
 
        }
 
        System.out.println("EL resultat és: "+mult);
 
    }
 
   
 
}
 
</source>
 
<!---->
 
 
 
7. Demanar cinc números i mostrar el valor més gran.
 
 
 
Inicialitzeu max = Integer.MIN_VALUE; i aneu actualitzant max a cada iteració.
 
 
 
<source lang="python">
 
package ex_for;
 
 
 
import java.util.Scanner;
 
 
 
/**
 
* Demanar cinc números i mostrar el valor més gran
 
*/
 
public class Ex7 {
 
 
 
    public static void main(String[] args) {
 
        int valor, max = Integer.MIN_VALUE;
 
        System.out.println(max);
 
        Scanner teclat = new Scanner(System.in);
 
        for (int i = 0; i < 5; i++) {
 
            System.out.print("Introdueix un valor: ");
 
            valor = teclat.nextInt();
 
            if (valor > max) {
 
                max = valor;
 
            }
 
 
 
        }
 
        System.out.println("El màxim és: " + max);
 
    }
 
}
 
</source>
 
<!---->
 
 
 
8. Imprimir 20 asteriscos a la mateixa línia.
 
 
 
<source lang="python">
 
package ex_for;
 
 
 
/**
 
* Imprimir 20 asteriscos a la mateixa línia.
 
*/
 
public class Ex8 {
 
    public static void main(String[] args) {
 
        for (int i = 0; i < 20; i++) {
 
            System.out.print("* ");
 
           
 
        }
 
        System.out.println("\n\n");
 
    }
 
   
 
}
 
</source>
 
<!---->
 
 
 
9. Fem el mateix però el número d’asteriscos el decideix l’usuari.
 
 
 
<source lang="python">
 
package ex_for;
 
 
 
import java.util.Scanner;
 
 
 
/**
 
* Imprimir n asteriscos a la mateixa línia.
 
*/
 
public class Ex9 {
 
 
 
    public static void main(String[] args) {
 
        int aster;
 
        Scanner teclat = new Scanner(System.in);
 
        System.out.println("Quants asteriscos vols?: ");
 
        aster = teclat.nextInt();
 
       
 
        for (int i = 0; i < aster; i++) {
 
 
 
            System.out.print("* ");
 
        }
 
 
 
        System.out.println("\n\n");
 
 
 
    }
 
  
}
+
8. Fer un quadrat d'asteriscos. Per exemple si l'usuari introdueix el valor 5, imprimirà:
</source>
 
<!---->
 
 
 
10. Com l'anterior però fent un quadrat d'asteriscos. Per exemple si l'usuari introdueix el valor 5, imprimirà:
 
 
<pre>
 
<pre>
 
     * * * * *
 
     * * * * *
Línia 232: Línia 22:
 
</pre>
 
</pre>
  
<source lang="python">
+
9. Com l'anterior però fent un quadrat buit. Per exemple si l'usuari introdueix el valor 5, imprimirà:
package ex_for_imbricats;
 
/**
 
* Quadrat n x n d'asteriscos
 
*/
 
import java.util.Scanner;
 
public class Ex10 {
 
    public static void main(String[] args) {
 
        int aster;
 
        Scanner teclat = new Scanner(System.in);
 
        System.out.println("Quants asteriscos vols?: ");
 
        aster = teclat.nextInt();
 
        //Cada línia
 
        for (int linia = 1; linia <= aster; linia++) {
 
            //Asteriscos dins la línia
 
            for (int columna=1;columna <= aster;columna++){
 
                System.out.print("* ");
 
            }
 
            System.out.println("");
 
           
 
        }
 
       
 
    }
 
   
 
}
 
</source>
 
<!---->
 
 
 
11. Com l'anterior però fent un quadrat buit. Per exemple si l'usuari introdueix el valor 5, imprimirà:
 
 
<pre>
 
<pre>
 
     * * * * *
 
     * * * * *
Línia 269: Línia 31:
 
</pre>
 
</pre>
  
<source lang="python">
+
10. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
package ex_for_imbricats;
 
 
 
import java.util.Scanner;
 
/**
 
* Quadrat n x n d'asteriscos buit
 
*/
 
public class Ex11 {
 
      public static void main(String[] args) {
 
        int aster;
 
        Scanner teclat = new Scanner(System.in);
 
        System.out.println("Quants asteriscos vols?: ");
 
        aster = teclat.nextInt();
 
        //Cada línia
 
        for (int linia = 1; linia <= aster; linia++) {
 
            //Asteriscos dins la línia
 
            for (int columna = 1; columna <= aster; columna++) {
 
                if (linia == 1 || linia ==aster || columna == 1 || columna == aster){
 
                    System.out.print("* ");
 
                }
 
                else{
 
                    System.out.print("  ");
 
                }
 
            }
 
            System.out.println("");
 
 
 
        }
 
    }
 
}
 
</source>
 
<!---->
 
 
 
12. Escriu un programa que llegeixi un número N i mostri per pantalla el següent:
 
<pre>
 
    1
 
    1 2
 
    1 2 3
 
    ...
 
    1 2 3 ... N
 
</pre>
 
 
 
<source lang="python">
 
package ex_for_imbricats;
 
 
 
import java.util.Scanner;
 
 
 
public class Ex12 {
 
    public static void main(String[] args) {
 
        Scanner teclat = new Scanner(System.in);
 
        System.out.print("Introdueix el número de línies: ");
 
        int lin = teclat.nextInt();
 
        //Cada línia
 
        for (int fila =1; fila<=lin;fila++){
 
            //Valors per línia
 
            for(int columna=1;columna<=fila;columna++){
 
                System.out.print(columna+" ");
 
            }
 
            System.out.println("");   
 
        }
 
       
 
    }
 
}
 
</source>
 
<!---->
 
 
 
13. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
 
<pre>
 
<pre>
 
     *  
 
     *  
Línia 343: Línia 40:
 
</pre>
 
</pre>
  
<source lang="python">
+
11. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
package ex_for_imbricats;
 
 
 
import java.util.Scanner;
 
 
 
public class Ex13 {
 
 
 
    public static void main(String[] args) {
 
        Scanner teclat = new Scanner(System.in);
 
        System.out.print("Introdueix el número de línies: ");
 
        int lin = teclat.nextInt();
 
        for (int fila = 1; fila <=lin; fila++) {
 
            for (int columna = 1; columna <=fila; columna++) {
 
                System.out.print("* ");
 
               
 
            }
 
            System.out.println("");
 
           
 
        }
 
 
 
    }
 
}
 
</source>
 
<!---->
 
 
 
14. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
 
<pre>
 
<pre>
 
     * * * * *
 
     * * * * *
Línia 377: Línia 49:
 
</pre>
 
</pre>
  
<source lang="python">
+
12. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
package ex_for_imbricats;
 
 
 
import java.util.Scanner;
 
 
 
public class Ex14 {
 
    public static void main(String[] args) {
 
        Scanner teclat = new Scanner(System.in);
 
        System.out.print("Introdueix el número de línies: ");
 
        int lin = teclat.nextInt();
 
        //Cada línia
 
        for (int fila =1; fila<=lin;fila++){
 
            //Asteriscos per línia
 
            for (int columnes=fila;columnes<=lin;columnes++){
 
                System.out.print("* ");
 
            }
 
            System.out.println("");
 
    }
 
   
 
}
 
}
 
</source>
 
<!---->
 
 
 
15. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 
 
<pre>
 
<pre>
 
             *
 
             *
Línia 410: Línia 58:
 
</pre>
 
</pre>
  
<source lang="python">
+
13. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
package ex_for_imbricats;
+
<pre>
 +
    * * * * *
 +
      * * * *
 +
        * * *
 +
          * *
 +
            *
 +
</pre>
 +
 
 +
'''Bucles niuats'''
  
import java.util.Scanner;
+
14. Escriu un programa que llegeixi un número num i mostri per pantalla el següent:
 +
<pre>
 +
    Exemple num=5
 +
    1
 +
    1 2
 +
    1 2 3
 +
    1 2 3 4
 +
    1 2 3 4 5
 +
</pre>
 +
 
 +
15. Escriu un programa que llegeixi un número i mostri per pantalla el següent:
 +
<pre>
 +
    Exemple num=5
 +
 
 +
    5 4 3 2 1
 +
    4 3 2 1
 +
    3 2 1
 +
    2 1
 +
    1
 +
</pre>
  
public class Ex15 {
+
16. Escriu un programa que llegeixi un número i mostri per pantalla el següent:
 +
<pre>
 +
    Exemple num=5
  
    public static void main(String[] args) {
+
            1
        Scanner teclat = new Scanner(System.in);
+
          2 1
         System.out.print("Introdueix el número de línies: ");
+
         3 2 1
        int lin = teclat.nextInt();
+
      4 3 2 1
        //Cada línia
+
    5 4 3 2 1
        for (int fila = 1; fila <= lin; fila++) {
+
</pre>
            //Nombre d'espais
 
            for (int espais=fila;espais<lin;espais++) {
 
                System.out.print("  ");
 
  
            }
+
17. Escriu un programa que llegeixi un número imparell i mostri per pantalla el següent:
            //Nombre d'asteriscos
+
<pre>
            for (int asteriscos=1;asteriscos<=fila;asteriscos++) {
+
    Exemple num=9
                System.out.print("* ");
 
            }
 
            System.out.println("");
 
  
        }
+
    1
     }
+
    3 1
}
+
    5 3 1
</source>
+
     7 5 3 1
<!---->
+
    9 7 5 3 1
 +
</pre>
  
16. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
+
18. Escriu un programa que llegeixi un número enter més gran que 0 i mostri el factorial de tots els números entre 1 i el número introduït.
 
<pre>
 
<pre>
     * * * * *
+
     Exemple num = 4
      * * * *
+
 
        * * *
+
    1! = 1
          * *
+
    2! = 2 * 1 = 2
            *
+
    3! = 3 * 2 * 1 = 6
 +
    4! = 4 * 3 * 2 * 1 = 24
 
</pre>
 
</pre>
 +
 
<!--
 
<!--
<source lang="python">
+
<source lang = "python">
package ex_for_imbricats;
+
print("Cálcul del factorial d'un número")
 +
 
 +
# Introduim el número preparem la sortida.
 +
num = int(input("Introduiex un número enter: "))
 +
 
 +
# Recòrrer tots els números des de l'1 fins el num
 +
for numactual in range(1, num+1):
 +
    print("%d! =" %numactual, end= " ")
 +
 
 +
# Inicialitzem la variable per calcular el factorial
 +
    factorial = 1
  
import java.util.Scanner;
+
# Tractament diferent del factorial de 1
 +
    if numactual > 1:
  
/**
+
# Càlcul del factorial del número numactual
*
+
      for n in range(numactual,0, -1):
* @author acanela
 
*/
 
public class Ex16 {
 
  
    public static void main(String[] args) {
+
          # Tractament diferent del cas 1
 +
          if n == 1 :
 +
              print("%d = " %n, end= " ")
 +
          else :
 +
              print("%d * " %n, end= " ")  
  
        Scanner teclat = new Scanner(System.in);
+
          # Acumuelm el producte a cada iteració
        System.out.print("Introdueix el número de línies: ");
+
          factorial *= n       
        int lin = teclat.nextInt();
+
   
        for (int fila = 1; fila <= lin; fila++) {
+
    # Escribim el resultat del factorial del númeor nuactual
            for (int espais = 1; espais < fila; espais++) {
+
    print(factorial)
                System.out.print("  ");
+
</source>
 +
-->
  
            }
+
19. Escriu un programa que mostri la següent sortida:
  
            for (int asteriscos = fila; asteriscos <= lin; asteriscos++) {
+
<pre>
                System.out.print(" *");
+
ZYWXVUTSRQPONMLKJIHGFEDCBA
 +
YWXVUTSRQPONMLKJIHGFEDCBA
 +
WXVUTSRQPONMLKJIHGFEDCBA
 +
XVUTSRQPONMLKJIHGFEDCBA
 +
VUTSRQPONMLKJIHGFEDCBA
 +
UTSRQPONMLKJIHGFEDCBA
 +
TSRQPONMLKJIHGFEDCBA
 +
SRQPONMLKJIHGFEDCBA
 +
RQPONMLKJIHGFEDCBA
 +
QPONMLKJIHGFEDCBA
 +
PONMLKJIHGFEDCBA
 +
ONMLKJIHGFEDCBA
 +
NMLKJIHGFEDCBA
 +
MLKJIHGFEDCBA
 +
LKJIHGFEDCBA
 +
KJIHGFEDCBA
 +
JIHGFEDCBA
 +
IHGFEDCBA
 +
HGFEDCBA
 +
GFEDCBA
 +
FEDCBA
 +
EDCBA
 +
DCBA
 +
CBA
 +
BA
 +
A
 +
</pre>
  
            }
+
20. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 +
<pre>
 +
    1 2 3 4 5
 +
    1 2 3 4
 +
    1 2 3
 +
    1 2
 +
    1
 +
</pre>
  
            System.out.println("");
+
21. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 +
<pre>
 +
    1 1 1 1 1
 +
    2 2 2 2
 +
    3 3 3
 +
    4 4
 +
    5
 +
</pre>
  
        }
+
22. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
 +
<pre>
 +
    5 5 5 5 5
 +
    4 4 4 4
 +
    3 3 3
 +
    2 2
 +
    1
 +
</pre>
  
     }
+
23. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)
 +
<pre>
 +
     1 1 1 1 1 1 1
 +
    1 2 3 4 5 6
 +
    3 3 3 3 3
 +
    1 2 3 4
 +
    5 5 5
 +
    1 2
 +
    7
 +
</pre>
  
}
+
24. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)
</source>
+
<pre>
-->
+
    7 7 7 7 7 7 7
 +
    6 5 4 3 2 1
 +
    5 5 5 5 5
 +
    4 3 2 1
 +
    3 3 3
 +
    2 1
 +
    1
 +
</pre>

Revisió de 12:30, 27 nov 2021

1. Imprimir els números del 1 al 100.

2. Imprimir els números parells del 0 al 98.

3. Imprimir els números del 100 al 1.

4. Demanar cinc números i mostrar la suma.

5. Igual que l'anterior però només sumant els valors més grans de 10.

6. Calcular el producte dels números del 1 al 10.

7. Demanar cinc números enters positius i mostrar el valor més gran.

8. Fer un quadrat d'asteriscos. Per exemple si l'usuari introdueix el valor 5, imprimirà:

    * * * * *
    * * * * *
    * * * * *
    * * * * *
    * * * * *

9. Com l'anterior però fent un quadrat buit. Per exemple si l'usuari introdueix el valor 5, imprimirà:

    * * * * *
    *       *
    *       *
    *       *
    * * * * *

10. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    * 
    * * 
    * * * 
    * * * * 
    * * * * *

11. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    * * * * *
    * * * * 
    * * * 
    * * 
    * 

12. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

            *
          * *
        * * *
      * * * *
    * * * * *

13. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    * * * * *
      * * * *
        * * *
          * *
            *

Bucles niuats

14. Escriu un programa que llegeixi un número num i mostri per pantalla el següent:

    Exemple num=5
    1
    1 2
    1 2 3
    1 2 3 4 
    1 2 3 4 5

15. Escriu un programa que llegeixi un número i mostri per pantalla el següent:

    Exemple num=5

    5 4 3 2 1
    4 3 2 1
    3 2 1
    2 1 
    1 

16. Escriu un programa que llegeixi un número i mostri per pantalla el següent:

    Exemple num=5

            1
          2 1
        3 2 1
      4 3 2 1
    5 4 3 2 1

17. Escriu un programa que llegeixi un número imparell i mostri per pantalla el següent:

    Exemple num=9

    1
    3 1
    5 3 1
    7 5 3 1
    9 7 5 3 1

18. Escriu un programa que llegeixi un número enter més gran que 0 i mostri el factorial de tots els números entre 1 i el número introduït.

    Exemple num = 4

    1! = 1
    2! = 2 * 1 = 2
    3! = 3 * 2 * 1 = 6
    4! = 4 * 3 * 2 * 1 = 24


19. Escriu un programa que mostri la següent sortida:

ZYWXVUTSRQPONMLKJIHGFEDCBA
YWXVUTSRQPONMLKJIHGFEDCBA
WXVUTSRQPONMLKJIHGFEDCBA
XVUTSRQPONMLKJIHGFEDCBA
VUTSRQPONMLKJIHGFEDCBA
UTSRQPONMLKJIHGFEDCBA
TSRQPONMLKJIHGFEDCBA
SRQPONMLKJIHGFEDCBA
RQPONMLKJIHGFEDCBA
QPONMLKJIHGFEDCBA
PONMLKJIHGFEDCBA
ONMLKJIHGFEDCBA
NMLKJIHGFEDCBA
MLKJIHGFEDCBA
LKJIHGFEDCBA
KJIHGFEDCBA
JIHGFEDCBA
IHGFEDCBA
HGFEDCBA
GFEDCBA
FEDCBA
EDCBA
DCBA
CBA
BA
A

20. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    1 2 3 4 5
    1 2 3 4 
    1 2 3 
    1 2
    1 

21. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    1 1 1 1 1
    2 2 2 2 
    3 3 3 
    4 4
    5 

22. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    5 5 5 5 5
    4 4 4 4 
    3 3 3 
    2 2
    1 

23. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)

    1 1 1 1 1 1 1
    1 2 3 4 5 6
    3 3 3 3 3
    1 2 3 4
    5 5 5 
    1 2
    7

24. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)

    7 7 7 7 7 7 7
    6 5 4 3 2 1
    5 5 5 5 5
    4 3 2 1 
    3 3 3 
    2 1
    1