M3 - Programació estructurada / Exercicis UF1: For

De wikiserver
Dreceres ràpides: navegació, cerca

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

package ex_for;

/**
 * Imprimir els números del 1 al 100
 */
public class Ex1 {

    public static void main(String[] args) {

        for (int i = 1; i <=100; i++) {
            System.out.println(i);

        }

    }

}

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

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);

        }

    }

}

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

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);
                        
        }
                            
    }    
}

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

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);

    }
}

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

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);

    }
}

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

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);
    }
    
}

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

Inicialitzeu max = Integer.MIN_VALUE; i aneu actualitzant max a cada iteració.

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);
    }
}

8. Imprimir 20 asteriscos a la mateixa línia.

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");
    }
    
}

9. Fem el mateix però el número d’asteriscos el decideix l’usuari.

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");

    }

}

10. Com l'anterior però fent un quadrat d'asteriscos. 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("");
            
        }
        
    }
    
}

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

    * * * * *
    *       *
    *       *
    *       *
    * * * * *
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("");

        }
    }
}

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

    1
    1 2
    1 2 3
    ...
    1 2 3 ... N
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("");    
        }
        
    }
}

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;

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("");
            
        }

    }
}

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)

    * * * * *
    * * * * 
    * * * 
    * * 
    * 
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 asteriscos=fila;asteriscos<=lin;asteriscos++){
                System.out.print("* ");
            }
            System.out.println("");
    }
    
}
}

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)

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

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)

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

Algun exercici més:

17. 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. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari.

    exemple 5             exemple 6
    *       *             *         *
      *   *                 *     * 
        *                     * *  
      *   *                   * *  
    *       *               *     * 
                          *         *

19. Mostra per pantalla aquesta "representació" a partir de la introducció de dos números imparells i es segon més gran que el primer (en el exemple 7 i 9).

    * # * # o # * # *  
    # * # * o * # * #
    * # * # o # * # * 
    o o o o o o o o o 
    * # * # o # * # *  
    # * # * o * # * #
    * # * # o # * # * 

Pas previ:

    * # * # * # * # *  
    # * # * # * # * #
    * # * # * # * # *  
    # * # * # * # * #
    * # * # * # * # *  
    # * # * # * # * #
    * # * # * # * # *      

20. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número (en el exemple 5).

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


21. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número (en el exemple 5).

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


22. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número imparell més gran de 3.

         exemple 5                    exemple 7
            *                            * 
          *   *                        *   * 
        * * * * *                    *       * 
      *           *                * * * * * * * 
    *               *            *               * 
                               *                   * 
                             *                       * 

23. Dibuixa un rectangle amb '*' demanant l'alçada (mínim 2) i l'amplada (mínim 2). En el exemple

         exemple alçada 7 i amplada 5 
 
                   *****
                   *   *
                   *   *
                   *   *
                   *   *
                   *   *
                   *****

24. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número imparell més gran de 3 (en el exemple 5).

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