Diferència entre revisions de la pàgina «ASIX-M3-UF1-A2.5-Exercicis estructura iterativa: recorregut»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 17 revisions intermèdies del mateix usuari que no es mostren)
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="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")
  
<source lang="java">
+
# Accedir al primer element
package exrecorregut;
+
num = int(input("Introdueix un valor positiu (per acabar negatiu): "))
  
import java.util.Scanner;
+
# Inicialitzar tractament
 +
max = num
 +
min = num
  
/**
+
# Mentre no ultim element
* Escriu un programa que llegeixi números enters positius i mostri el més petit
+
while num >= 0:
* i el més gran. El programa finalitzarà quan ens introdueixin un número
 
* negatiu.
 
*/
 
public class Ex1 {
 
  
    public static void main(String[] args) {
+
  # Tractar_element
        Scanner teclat = new Scanner(System.in);
+
  if num > max:
        //Declaració de variables
+
    max = num
        int num, max, min;
+
  if num < min:
        // Inicialitzar tractament
+
    min = num
        max = Integer.MIN_VALUE;
+
 
        min = Integer.MAX_VALUE;
+
  # Obtenir següent element  
        // Accedir al primer element
+
  num = int(input("Introdueix un valor positiu (per acabar negatiu): "))
        System.out.println("Introdueix un valor positiu + "
+
 
                + "(per acabar negatiu)");
+
# Tractament_final  
        num = teclat.nextInt();
+
print("El valor màxim és: ", max)
        // Mentre no ultim element
+
print("El valor mínim és: ", min)
        while (num >= 0) {
 
        // Tractar_element
 
            if (num > max) {
 
                max = num;
 
            }
 
            if (num < min) {
 
                min = num;
 
            }
 
        // Obtenir següent element  
 
            System.out.println("Introdueix un valor positiu + "
 
                    + "(per acabar negatiu)");
 
            num = teclat.nextInt();
 
        }
 
        // Tractament_final  
 
        System.out.println("El valor màxim és: " + max);
 
        System.out.println("El valor mínim és: " + min);
 
    }
 
}
 
 
</source>
 
</source>
<!---->
+
-->
 +
 
 
2. Donat un número llegit per teclat, calcula el número de dígits que té.
 
2. Donat un número llegit per teclat, calcula el número de dígits que té.
 +
<!--
 +
<source lang="python">
 +
'''
 +
Donat un número llegit per teclat, calcula el número de dígits que té.
 +
'''
 +
print("Càlcul del nombre de dígits d'un número")
  
<source lang="java">
+
# Accedir al primer element
package exrecorregut;
+
num = int(input("Introdueix un valor positiu: "))
 
 
import java.util.Scanner;
 
  
/**
+
# Inicialitzar tractament
* Donat un número llegit per teclat, calcula el número de dígits que té.
+
 
*/
+
digits = 0
public class Ex2 {
 
  
    public static void main(String[] args) {
+
# Mentre no ultim element  
        Scanner teclat = new Scanner(System.in);
+
while num > 0:
        //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;
 
  
        }
+
  # Tractar_element
        // Tractament_final
+
  digits += 1
        System.out.println("El número té " + digits + " dígits");
+
   
 +
  # Obtenir següent element
 +
  num = num // 10
  
    }
+
# Tractament_final
}
+
print("El número té %d dígits" %digits)
 
</source>
 
</source>
<!---->
+
-->
  
 
3. Donat un número llegit per teclat, realitzar la suma de tots els dígits del número.
 
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
 
Per exemple si introdueixen el valor 1238, s'imprimirà el valor : 1+2+3+8 --> 14
 
<source lang="java">
 
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);
 
 
    }
 
}
 
</source>
 
<!---->
 
  
 
4. Donat un número llegit per teclat, realitzar la suma de tots els dígits parells del número.
 
4. Donat un número llegit per teclat, realitzar la suma de tots els dígits parells del número.
 
<source lang="java">
 
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);
 
 
    }
 
 
}
 
</source>
 
<!---->
 
  
 
5. Donat un número llegit per teclat, determina el número de dígits més grans que 5.
 
5. Donat un número llegit per teclat, determina el número de dígits més grans que 5.
 
<source lang="java">
 
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");
 
 
    }
 
}
 
</source>
 
<!---->
 
  
 
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.  
 
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.  
Línia 183: Línia 75:
 
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
 
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
  
<source lang="java">
+
7. Escriu un programa que llegeixi números enters positius (finalitzarà amb la introducció de -1) i mostri quants números parells han sortit, quants números imparells han sortit, la suma del números parells, la suma del números imparells i la resta de la suma dels parells menys la suma dels imparells.
package exrecorregut;
 
  
import java.util.Scanner;
+
Per exemple si la seqüència de números és: 7 6 11 10 4 5 8 10 3 8 -1, mostrarà:
  
/**
+
<pre>
* Escriu un programa que llegeixi números enters positius (finalitzarà amb la introducció de -1)
+
Parells: 6
* i mostri totes les parelles de números  consecutius que apareixen a la seqüència.
+
Imparells: 4
*/
+
Suma parells: 46
public class Ex6 {
+
Suma imparells: 26
 +
Resta de sumes: 20
 +
</pre>
  
    public static void main(String[] args) {
+
8. Escriu un programa que llegeixi dos números enters positius i mostri i sumi tots els nombres parells que van des del primer número fins el segon (ambdós inclosos). Cal controlar que el segon número introduït és més gran que el primer.
        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) {
+
Exemple: num1 = 14 i num2 = 5 mostrarà un missatge d'error.
            if (actual == anterior + 1) {
 
                System.out.println(anterior + "-" + actual);
 
  
            }
+
Exemple: num1 = 5 i num2 = 14 mostrarà:
            anterior = actual;
+
<pre>
            System.out.println("Introdueix un valor positiu + "
+
Números parells: 6 8 10 12 14
                    + "(per acabar -1");
+
Suma: 50
            actual = teclat.nextInt();
+
</pre>
 
 
        }
 
    }
 
}
 
</source>
 
<!---->
 

Revisió de 15:41, 30 nov 2021

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

4. Donat un número llegit per teclat, realitzar la suma de tots els dígits parells del número.

5. Donat un número llegit per teclat, determina el número de 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

7. Escriu un programa que llegeixi números enters positius (finalitzarà amb la introducció de -1) i mostri quants números parells han sortit, quants números imparells han sortit, la suma del números parells, la suma del números imparells i la resta de la suma dels parells menys la suma dels imparells.

Per exemple si la seqüència de números és: 7 6 11 10 4 5 8 10 3 8 -1, mostrarà:

Parells: 6
Imparells: 4
Suma parells: 46
Suma imparells: 26
Resta de sumes: 20

8. Escriu un programa que llegeixi dos números enters positius i mostri i sumi tots els nombres parells que van des del primer número fins el segon (ambdós inclosos). Cal controlar que el segon número introduït és més gran que el primer.

Exemple: num1 = 14 i num2 = 5 mostrarà un missatge d'error.

Exemple: num1 = 5 i num2 = 14 mostrarà:

Números parells: 6 8 10 12 14
Suma: 50