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

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 1: Línia 1:
 
1. Escriu un programa que llegeixi números enters positius i mostri el més petit i el més gran. El programa finalitzarà quan ens introdueixin un número negatiu.
 
1. Escriu un programa que llegeixi números enters positius i mostri el més petit i el més gran. El programa finalitzarà quan ens introdueixin un número negatiu.
  
<source lang="java">
+
<source lang="python">
package exrecorregut;
+
'''
 +
Escriu un programa que llegeixi números enters positius i mostri el més petit
 +
i el més gran. El programa finalitzarà quan ens introdueixin un número
 +
negatiu.
 +
'''
 +
print("Més gran i més petit d'una seqüencia de números")
 +
 
 +
# Accedir al primer element
 +
num = int(input("Introdueix un valor positiu (per acabar negatiu): "))
 +
 
 +
# Inicialitzar tractament
 +
max = num;
 +
min = num
  
import java.util.Scanner;
+
# Mentre no ultim element
 +
while num >= 0:
  
/**
+
  # Tractar_element
* Escriu un programa que llegeixi números enters positius i mostri el més petit
+
  if num > max:
* i el més gran. El programa finalitzarà quan ens introdueixin un número
+
    max = num
* negatiu.
+
  if num < min:
*/
+
    min = num
public class Ex1 {
+
 
 +
  # Obtenir següent element
 +
  num = int(input("Introdueix un valor positiu (per acabar negatiu): "))
  
    public static void main(String[] args) {
+
# Tractament_final  
        Scanner teclat = new Scanner(System.in);
+
print("El valor màxim és: ", max)
        //Declaració de variables
+
print("El valor mínim és: ", min)
        int num, max, min;
 
        // Inicialitzar tractament
 
        max = Integer.MIN_VALUE;
 
        min = Integer.MAX_VALUE;
 
        // Accedir al primer element
 
        System.out.println("Introdueix un valor positiu + "
 
                + "(per acabar negatiu)");
 
        num = teclat.nextInt();
 
        // Mentre no ultim element
 
        while (num >= 0) {
 
        // Tractar_element
 
            if (num > max) {
 
                max = num;
 
            }
 
            if (num < min) {
 
                min = num;
 
            }
 
        // Obtenir següent element
 
            System.out.println("Introdueix un valor positiu + "
 
                    + "(per acabar negatiu)");
 
            num = teclat.nextInt();
 
        }
 
        // Tractament_final  
 
        System.out.println("El valor màxim és: " + max);
 
        System.out.println("El valor mínim és: " + min);
 
    }
 
}
 
 
</source>
 
</source>
 
<!---->
 
<!---->
Línia 48: Línia 36:
  
 
<source lang="java">
 
<source lang="java">
package exrecorregut;
 
 
import java.util.Scanner;
 
  
 
/**
 
/**

Revisió del 11:28, 30 oct 2020

1. Escriu un programa que llegeixi números enters positius i mostri el més petit i el més gran. El programa finalitzarà quan ens introdueixin un número negatiu.

'''
Escriu un programa que llegeixi números enters positius i mostri el més petit
i el més gran. El programa finalitzarà quan ens introdueixin un número
negatiu.
'''
print("Més gran i més petit d'una seqüencia de números")

# Accedir al primer element
num = int(input("Introdueix un valor positiu (per acabar negatiu): "))

# Inicialitzar tractament
max = num;
min = num

# Mentre no ultim element 
while num >= 0:

  # Tractar_element
  if num > max:
    max = num
  if num < min: 
    min = num
  
  # Obtenir següent element 
  num = int(input("Introdueix un valor positiu (per acabar negatiu): "))

# Tractament_final 
print("El valor màxim és: ", max)
print("El valor mínim és: ", min)

2. Donat un número llegit per teclat, calcula el número de dígits que té.

/**
 * Donat un número llegit per teclat, calcula el número de dígits que té.
 */
public class Ex2 {

    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        //Declaració de variables
        int num, digits = 0;
        // Accedir al primer element
        System.out.print("Introdueix un valor positiu:");
        num = teclat.nextInt();
        // Mentre no ultim element 
        while (num > 0) {
            // Tractar_element
            digits++;
            // Obtenir següent element 
            num = num / 10;

        }
        // Tractament_final 
        System.out.println("El número té " + digits + " dígits");

    }
}

3. Donat un número llegit per teclat, realitzar la suma de tots els dígits del número.

Per exemple si introdueixen el valor 1238, s'imprimirà el valor : 1+2+3+8 --> 14

package exrecorregut;

import java.util.Scanner;

/**
 * Donat un número llegit per teclat, realitzar la suma de tots els dígits del número.
 */
public class Ex3 {

    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        //Declaració de variables
        int num, suma = 0;
        // Accedir al primer element
        System.out.print("Introdueix un valor positiu:");
        num = teclat.nextInt();
        // Mentre no ultim element 
        while (num > 0) {
           // Tractar_element
           suma=suma+(num%10);
           // Obtenir següent element 
           num=num/10;                                    
        }
        // Tractament_final 
        System.out.println("La suma dels dígits és: "+suma);

    }
}

4. Donat un número llegit per teclat, realitzar la suma de tots els dígits parells del número.

package exrecorregut;

import java.util.Scanner;

/**
 * Donat un número llegit per teclat, realitzar la suma de tots els dígits parells del número.
 */
public class Ex4 {

    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        int num, mod, suma = 0;
        System.out.print("Introdueix un valor positiu:");
        num = teclat.nextInt();
        while (num > 0) {
            mod = (num % 10);
            //Si és parell, sumo
            if (mod % 2 == 0) {
                suma = suma + mod;
            }
            num = num / 10;
        }
        System.out.println("La suma dels dígits parells és: " + suma);

    }

}

5. Donat un número llegit per teclat, determina el número de dígits més grans que 5.

package exrecorregut;

import java.util.Scanner;

/**
 * Donat un número llegit per teclat, determina el número de dígits més grans que 5.
 */
public class Ex5 {

    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        int num, mod, quants = 0;
        System.out.print("Introdueix un valor positiu:");
        num = teclat.nextInt();
        while (num > 0) {
            if (num%10>5){
                quants++;
            }
            num=num/10;                        
        }
        System.out.println("Hi ha "+quants+" dígits més grans que 5");

    }
}

6. Escriu un programa que llegeixi números enters positius (finalitzarà amb la introducció de -1) i mostri totes les parelles de números consecutius que apareixen a la seqüència.

Per exemple si la seqüència de números és: 7 10 11 23 4 5 8 10 11 12 -1, mostrarà: 10 11, 4 5, 10 11, 11 12

package exrecorregut;

import java.util.Scanner;

/**
 * Escriu un programa que llegeixi números enters positius (finalitzarà amb la introducció de -1) 
 * i mostri totes les parelles de números  consecutius que apareixen a la seqüència.
 */
public class Ex6 {

    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        int anterior, actual;
        System.out.println("Introdueix un valor positiu + "
                + "(per acabar -1");
        actual = teclat.nextInt();
        anterior = actual;

        while (actual != -1) {
            if (actual == anterior + 1) {
                System.out.println(anterior + "-" + actual);

            }
            anterior = actual;
            System.out.println("Introdueix un valor positiu + "
                    + "(per acabar -1");
            actual = teclat.nextInt();

        }
    }
}