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