ASIX-M3-UF1-A2.5-Exercicis estructura iterativa: recorregut

De wikiserver
Dreceres ràpides: navegació, cerca

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

        }
    }
}