Diferència entre revisions de la pàgina «ASIX-M3-UF1-A2.5-Exercicis estructura iterativa: recorregut»
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=" | + | <source lang="python"> |
− | + | ''' | |
+ | 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) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
<!----> | <!----> | ||
Línia 48: | Línia 36: | ||
<source lang="java"> | <source lang="java"> | ||
− | |||
− | |||
− | |||
/** | /** |
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();
}
}
}