ASIX-M3-UF1-A2.5-Exercicis estructura iterativa: recorregut
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
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();
}
}
}