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 16 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 i in range(1,101):
 
  print(i ,end= " ")
 
</source>
 
-->
 
  
 
2. Imprimir els números parells del 0 al 98.
 
2. Imprimir els números parells del 0 al 98.
<!--
 
<source lang="python">
 
print("Imprimir els números parells del 0 al 98")
 
 
for i in range(2,100,2):
 
  print(i ,end= " ")
 
</source>
 
-->
 
  
 
3. Imprimir els números del 100 al 1.
 
3. Imprimir els números del 100 al 1.
<!--
 
<source lang="python">
 
print("Imprimir els números del 100 al 1")
 
 
for i in range(100,0,-1):
 
  print(i ,end= " ")
 
</source>
 
-->
 
  
 
4. Demanar cinc números i mostrar la suma.
 
4. Demanar cinc números i mostrar la suma.
<!--
 
<source lang="python">
 
print("Demanar cinc números i mostrar la suma")
 
 
suma = 0
 
for _ in range(5):       
 
  valor = int(input("Introdueix un valor: "))
 
  suma += valor
 
print("La suma és: %d" %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">
 
print("Demanar cinc números i sumar els valors que siguin més grans de 10")
 
 
suma = 0
 
for _ in range(5):       
 
  valor = int(input("Introdueix un valor: "))
 
  if valor > 10:
 
    suma += valor
 
print("La suma és: %d" %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">
 
/**
 
* Calcular el producte dels números del 1 al 10
 
*/
 
mult =1
 
for i in range(1,11):
 
    mult=mult*i
 
print("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;
 
  
/**
+
7. Demanar cinc números enters positius i mostrar el valor més gran.
* 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.
+
8. Fer un quadrat d'asteriscos. Per exemple si l'usuari introdueix el valor 5, imprimirà:
<!--
 
<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");
 
 
 
    }
 
 
 
}
 
</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 161: Línia 21:
 
     * * * * *
 
     * * * * *
 
</pre>
 
</pre>
<!--
 
<source lang="python">
 
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à:
+
9. Com l'anterior però fent un quadrat buit. Per exemple si l'usuari introdueix el valor 5, imprimirà:
 
<pre>
 
<pre>
 
     * * * * *
 
     * * * * *
Línia 198: Línia 30:
 
     * * * * *
 
     * * * * *
 
</pre>
 
</pre>
<!--
 
<source lang="python">
 
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)
+
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)
 
<pre>
 
<pre>
 
     *  
 
     *  
Línia 272: Línia 39:
 
     * * * * *
 
     * * * * *
 
</pre>
 
</pre>
<!--
 
<source lang="python">
 
package ex_for_imbricats;
 
  
import java.util.Scanner;
+
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)
 
 
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 306: Línia 48:
 
     *  
 
     *  
 
</pre>
 
</pre>
<!--
 
<source lang="python">
 
package ex_for_imbricats;
 
  
import java.util.Scanner;
+
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)
 
 
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 339: Línia 57:
 
     * * * * *
 
     * * * * *
 
</pre>
 
</pre>
<!--
 
<source lang="python">
 
package ex_for_imbricats;
 
  
import java.util.Scanner;
+
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>
  
public class Ex15 {
+
'''Bucles niuats'''
  
    public static void main(String[] args) {
+
14. Escriu un programa que llegeixi un número num i mostri per pantalla el següent:
        Scanner teclat = new Scanner(System.in);
+
<pre>
        System.out.print("Introdueix el número de línies: ");
+
    Exemple num=5
        int lin = teclat.nextInt();
+
    1
        //Cada línia
+
    1 2
        for (int fila = 1; fila <= lin; fila++) {
+
    1 2 3
            //Nombre d'espais
+
    1 2 3 4
            for (int espais=fila;espais<lin;espais++) {
+
    1 2 3 4 5
                System.out.print("  ");
+
</pre>
  
            }
+
15. Escriu un programa que llegeixi un número i mostri per pantalla el següent:
            //Nombre d'asteriscos
+
<pre>
            for (int asteriscos=1;asteriscos<=fila;asteriscos++) {
+
    Exemple num=5
                System.out.print("* ");
 
            }
 
            System.out.println("");
 
  
        }
+
    5 4 3 2 1
     }
+
    4 3 2 1
}
+
     3 2 1
</source>
+
    2 1
-->
+
    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)
+
16. Escriu un programa que llegeixi un número i mostri per pantalla el següent:
 
<pre>
 
<pre>
     * * * * *
+
     Exemple num=5
      * * * *
+
 
         * * *
+
            1
          * *
+
          2 1
            *
+
         3 2 1
 +
      4 3 2 1
 +
    5 4 3 2 1
 
</pre>
 
</pre>
<!--
 
<source lang="python">
 
package ex_for_imbricats;
 
  
import java.util.Scanner;
+
17. Escriu un programa que llegeixi un número imparell i mostri per pantalla el següent:
 +
<pre>
 +
    Exemple num=9
  
/**
+
    1
*
+
    3 1
* @author acanela
+
    5 3 1
*/
+
    7 5 3 1
public class Ex16 {
+
    9 7 5 3 1
 +
</pre>
  
     public static void main(String[] args) {
+
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>
 +
     Exemple num = 4
  
        Scanner teclat = new Scanner(System.in);
+
    1! = 1
        System.out.print("Introdueix el número de línies: ");
+
    2! = 2 * 1 = 2
        int lin = teclat.nextInt();
+
    3! = 3 * 2 * 1 = 6
        for (int fila = 1; fila <= lin; fila++) {
+
    4! = 4 * 3 * 2 * 1 = 24
            for (int espais = 1; espais < fila; espais++) {
+
</pre>
                System.out.print(" ");
+
 
 +
<!--
 +
<source lang = "python">
 +
print("Cálcul del factorial d'un número")
  
            }
+
# Introduim el número preparem la sortida.
 +
num = int(input("Introduiex un número enter: "))
  
            for (int asteriscos = fila; asteriscos <= lin; asteriscos++) {
+
# Recòrrer tots els números des de l'1 fins el num
                System.out.print(" *");
+
for numactual in range(1, num+1):
 +
    print("%d! =" %numactual, end= " ")  
  
            }
+
# Inicialitzem la variable per calcular el factorial
 +
    factorial = 1
  
            System.out.println("");
+
# Tractament diferent del factorial de 1
 +
    if numactual > 1:
  
        }
+
# Càlcul del factorial del número numactual
 +
      for n in range(numactual,0, -1):
  
    }
+
          # Tractament diferent del cas 1
 +
          if n == 1 :
 +
              print("%d = " %n, end= " ")
 +
          else :
 +
              print("%d * " %n, end= " ")
  
}
+
          # Acumuelm el producte a cada iteració
 +
          factorial *= n       
 +
   
 +
    # Escribim el resultat del factorial del númeor nuactual
 +
    print(factorial)
 
</source>
 
</source>
 
-->
 
-->
 +
 +
19. Escriu un programa que mostri la següent sortida:
 +
 +
<pre>
 +
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>
 +
 +
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)
 +
<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 13: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