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.

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

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

'''
Donat un número llegit per teclat, realitzar la suma de tots els dígits del número.
'''
print("Suma de tots els digits d'un número")

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

# Inicialitzar tractament
suma = 0

# Mentre no ultim element 
while num > 0: 

  # Tractar_element
  suma=suma+(num%10)
  
  # Obtenir següent element 
  num=num//10

# Tractament_final   
print("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();

        }
    }
}