|
|
(Hi ha 18 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") |
| + | |
| + | # Accedir al primer element |
| + | num = int(input("Introdueix un valor positiu (per acabar negatiu): ")) |
| | | |
− | <source lang="java">
| + | # Inicialitzar tractament |
− | package exrecorregut;
| + | max = num |
| + | min = num |
| | | |
− | import java.util.Scanner;
| + | # Mentre no ultim element |
| + | while num >= 0: |
| | | |
− | /**
| + | # Tractar_element |
− | * Escriu un programa que llegeixi números enters positius i mostri el més petit
| + | if num > max: |
− | * i el més gran. El programa finalitzarà quan ens introdueixin un número
| + | max = num |
− | * negatiu.
| + | if num < min: |
− | */
| + | min = num |
− | public class Ex1 {
| + | |
| + | # Obtenir següent element |
| + | num = int(input("Introdueix un valor positiu (per acabar negatiu): ")) |
| | | |
− | public static void main(String[] args) {
| + | # Tractament_final |
− | Scanner teclat = new Scanner(System.in);
| + | print("El valor màxim és: ", max) |
− | //Declaració de variables
| + | print("El valor mínim és: ", min) |
− | int num, max, min;
| |
− | // Inicialitzar tractament
| |
− | max = Integer.MIN_VALUE;
| |
− | min = Integer.MAX_VALUE;
| |
− | // Accedir al primer element
| |
− | System.out.println("Introdueix un valor positiu + "
| |
− | + "(per acabar negatiu)");
| |
− | num = teclat.nextInt();
| |
− | // Mentre no ultim element
| |
− | 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 |
| + | |
| + | digits = 0 |
| | | |
− | /**
| + | # Mentre no ultim element |
− | * Donat un número llegit per teclat, calcula el número de dígits que té.
| + | while num > 0: |
− | */
| |
− | public class Ex2 {
| |
| | | |
− | public static void main(String[] args) {
| + | # Tractar_element |
− | Scanner teclat = new Scanner(System.in);
| + | digits += 1 |
− | //Declaració de variables
| + | |
− | int num, digits = 0;
| + | # Obtenir següent element |
− | // Accedir al primer element
| + | num = num // 10 |
− | 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 |
− | // Tractament_final
| + | print("El número té %d dígits" %digits) |
− | System.out.println("El número té " + digits + " dígits");
| |
− | | |
− | }
| |
− | }
| |
| </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à: |
| | | |
− | /**
| |
− | * 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();
| |
− |
| |
− | }
| |
− | }
| |
− | }
| |
− | </source>
| |
− | <!---->
| |
− |
| |
− | 7. Escriu un programa que mostri i sumi n (entrada per teclat) nombres de la següent successió de números: 2, 4, 8, 6, 36, 72, 70, 4900, 9800 ...
| |
− |
| |
− | :*La lògica de la sèrie és: elevar al quadrat, multiplicar per dos, restar dos, elevar al quadrat, ...
| |
− |
| |
− | <source lang="java">
| |
− | package ex_recorregut;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | /**
| |
− | * Escriu un programa que mostri i sumi n (entrada per teclat) nombres de la següent successió de números:
| |
− | * 2, 4, 8, 6, 36, 72, 70, 4900, 9800 ...
| |
− | * La lògica de la sèrie és: elevar al quadrat, multiplicar per dos, restar dos, elevar al quadrat, ...
| |
− | */
| |
− | public class Ex7 {
| |
− | public static void main(String[] args) {
| |
− | Scanner teclat = new Scanner(System.in);
| |
− |
| |
− | int numSeq, valorSeq, suma=0;
| |
− | System.out.println("Introdueix el número d'elements de la seqüència: ");
| |
− | int num = teclat.nextInt();
| |
− | if (num > 0){
| |
− | numSeq = 0;
| |
− | valorSeq = 2;
| |
− | System.out.print("Seqüència: "+valorSeq+" ");
| |
− | suma = valorSeq;
| |
− |
| |
− | while (numSeq < num) {
| |
− | numSeq++;
| |
− | switch (numSeq%3){
| |
− | case 0:
| |
− | valorSeq *= 2;
| |
− | break;
| |
− | case 1:
| |
− | valorSeq -= 2;
| |
− | break;
| |
− | case 2:
| |
− | valorSeq *= valorSeq;
| |
− | break;
| |
− |
| |
− | }
| |
− | System.out.print(valorSeq + " ");
| |
− | suma += valorSeq;
| |
− | }
| |
− | }
| |
− | System.out.println("");
| |
− | System.out.println("El resultat de la suma és: "+ suma);
| |
− | }
| |
− | }
| |
− |
| |
− | </source>
| |
− | <!---->
| |
− |
| |
− | 8. Una central distribueix cal cap a diferents sucursals. Disposen d'un lloc de càrrega a on van arribant sacs amb pesos variables. L'empresa disposa d'una flota de camions amb capacitat de càrrega diferents. Es pretén establir un protocol consistent en carregar 20 camions. Un camió no es pot carregar amb més quilos que la seva capacitat i marxarà si amb el següent sac ja supera aquesta capacitat. L'empresa vol un programa que li demani el treballador la capacitat del camió i el pes dels sacs, indicant si ha de carregar el sac o enviar-lo al seu destí i començar a carregar un altre. El procés continua fins que s'hagin omplert els 20 camions, moment en el que sortirà un missatge amb el text "Finalitzada la càrrega del dia"
| |
− |
| |
− | Exemple:
| |
| <pre> | | <pre> |
− | Camió Capacitat Sac Capacitat Camió Capacitat Sac Capacitat Camió Capacitat Sac Capacitat
| + | Parells: 6 |
− |
| + | Imparells: 4 |
− | 1 22000 1 3000 2 18000 5 3000 3 18000 7 9000
| + | Suma parells: 46 |
− | 2 5000 6 8000 8 7000
| + | Suma imparells: 26 |
− | 3 9000
| + | Resta de sumes: 20 |
− | 4 3000
| + | </pre> |
| | | |
− | 4 20000 9 7000 5 28000 12 5000 6 20000 16 4000
| + | 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. |
− | 10 9000 13 9000 17 3000
| |
− | 11 4000 14 9000 18 5000
| |
− | 15 3000 19 4000
| |
− | 20 3000
| |
| | | |
− | 7 22000 21 4000 8 18000 26 9000 9 20000 28 8000
| + | Exemple: num1 = 14 i num2 = 5 mostrarà un missatge d'error. |
− | 22 5000 27 4000 29 3000
| |
− | 23 6000 30 5000
| |
− | 24 3000
| |
− | 25 3000
| |
| | | |
− | 10 20000 31 5000 11 20000 34 5000 12 28000 37 7000
| + | Exemple: num1 = 5 i num2 = 14 mostrarà: |
− | 32 3000 35 6000 38 3000
| |
− | 33 9000 36 6000 39 7000
| |
− | 40 5000
| |
− | ...
| |
− | </pre>
| |
− | | |
− | Resultat:
| |
| <pre> | | <pre> |
− | Camió Sacs que carrega Càrrega que portarà Camió Sacs que carrega Càrrega que portarà
| + | Números parells: 6 8 10 12 14 |
− | | + | Suma: 50 |
− | 1 1,2,3 i 4 20000 2 5 i 6 11000
| |
− | | |
− | 3 7 i 8 16000 4 9, 10 i 11 20000
| |
− | | |
− | 5 12, 13, 14 i 15 26000 6 16, 17, 18, 19 i 20 19000
| |
− | | |
− | 7 21, 22, 23, 24 i 25 21000 8 26 i 27 13000
| |
− | | |
− | 9 28, 29 i 30 16000 10 31, 32 i 33 17000
| |
− | | |
− | 11 34, 35 i 36 17000 12 37, 38, 39 i 40 22000
| |
− | | |
− | ...
| |
| </pre> | | </pre> |
− | <!--
| |
− | <source lang="java">
| |
− | package centralcamions;
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class CentralCamions {
| |
− |
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int numcamio=1, capcamio, carregat,carregatotal=0, numsac=1, pessac=0;
| |
− | final int NUM_CAMIONS=20;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | while (numcamio<NUM_CAMIONS) {
| |
− | System.out.println("Introdueix capacitat camió: " + numcamio);
| |
− | capcamio = lector.nextInt();
| |
− | lector.nextLine();
| |
− | carregat = 0;
| |
− | System.out.println("Comença la carrega del camió: " + numcamio);
| |
− | while (capcamio>=carregat+pessac){
| |
− | if (numsac!=1) {
| |
− | System.out.println("Carregat sac: " + (numsac-1));
| |
− | carregat=carregat+pessac;
| |
− | carregatotal=carregatotal+carregat;
| |
− | }
| |
− | System.out.println("Introdueix pes sac: " + numsac);
| |
− | pessac=lector.nextInt();
| |
− | numsac++;
| |
− | }
| |
− | System.out.println("Finalitzada la carrega del camió: " + numcamio);
| |
− | System.out.print("Camió "+numcamio+" carregat amb "+carregat+" kilos.");
| |
− | System.out.println(" Diferencia respecte a capacitat: "+(capcamio-carregat)+" kilos");
| |
− | numcamio++;
| |
− | }
| |
− | System.out.println("Carrega total: "+carregatotal+"Kilos. Sacs emprats "+ (numsac-1));
| |
− | System.out.println("");
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
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.
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.