Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF1: Recorregut»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 41 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.
 
  
 
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é.
 
  
 
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
 
  
 
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.
 
  
 
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.
 
  
 
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 20: Línia 15:
 
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
  
 +
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, ...
 +
 +
8. 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.
  
7. 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"
+
Per exemple si la seqüència de números és: 7 6 11 10 4 5 8 10 3 8 -1, mostrarà:
 +
 
 +
<pre>
 +
Parells: 6
 +
Imparells: 4
 +
Suma parells: 46
 +
Suma imparells: 26
 +
Resta de sumes: 20
 +
</pre>
 +
 
 +
9. 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à:
 +
<pre>
 +
Números parells: 6 8 10 12 14
 +
Suma: 50
 +
</pre>
 +
 
 +
10. Escriu un programa que verifiqui la conjectura de Collatz per qualsevol enter positiu, i que mostri la seqüència corresponent.
 +
 
 +
<pre>
 +
Conjectura de Collatz
 +
 
 +
Donat un número enter positiu la següent successió sempre acaba en 1: si el número és 1 el procés acaba. Sinó, si és parell es divideix entre 2 i si és imparell es multiplica per 3 i se li suma 1.
 +
</pre>
 +
 
 +
Exemple si comencem amb el número 6 obtindrem la seqüència següent:
 +
<pre>
 +
6, 3, 10, 5, 16, 8, 4, 2, 1
 +
</pre>
 +
 
 +
11. 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:
 
Exemple:
 
<pre>
 
<pre>
    Camió Capacitat Sac Capacitat      Camió Capacitat Sac Capacitat      Camió Capacitat Sac Capacitat
+
Camió Capacitat Sac Capacitat      Camió Capacitat Sac Capacitat      Camió Capacitat Sac Capacitat
 
        
 
        
      1    22000    1    3000            2    18000    5    3000            3    18000    7    9000
+
    1    22000    1    3000            2    18000    5    3000            3    18000    7    9000
                    2    5000                          6    8000                          8    7000
+
                  2    5000                          6    8000                          8    7000
                    3    9000
+
                  3    9000
                    4    3000
+
                  4    3000
 +
 
 +
    4    20000    9    7000            5    28000  12    5000            6    20000  16    4000
 +
                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
 +
                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
 +
                32    3000                        35    6000                        38    3000
 +
                33    9000                        36    6000                        39    7000
 +
                                                                                        40    5000
 +
  ...               
 +
</pre>
 +
 
 +
Resultat:
 +
<pre>
 +
Camió    Sacs que carrega    Càrrega que portarà      Camió    Sacs que carrega    Càrrega que portarà
 +
 
 +
  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
  
      4    20000   9     7000            5    28000  12    5000            6    20000  16    4000
+
   9     28, 29 i 30            16000                  10     31, 32 i 33            17000
                    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
+
  11      34, 35 i 36            17000                  12      37, 38, 39 i 40        22000
                    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
+
...
                    32    3000                        35    6000                        38    3000
 
                    33    9000                        36    6000                        39    7000
 
                                                                                            40    5000
 
      ...                
 
 
</pre>
 
</pre>

Revisió de 18:40, 10 set 2022

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 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, ...

8. 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

9. 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

10. Escriu un programa que verifiqui la conjectura de Collatz per qualsevol enter positiu, i que mostri la seqüència corresponent.

Conjectura de Collatz

Donat un número enter positiu la següent successió sempre acaba en 1: si el número és 1 el procés acaba. Sinó, si és parell es divideix entre 2 i si és imparell es multiplica per 3 i se li suma 1.

Exemple si comencem amb el número 6 obtindrem la seqüència següent:

6, 3, 10, 5, 16, 8, 4, 2, 1

11. 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:

 Camió Capacitat Sac Capacitat       Camió Capacitat Sac Capacitat       Camió Capacitat Sac Capacitat
       
    1    22000    1     3000            2    18000    5     3000            3    18000    7    9000
                  2     5000                          6     8000                          8    7000
                  3     9000
                  4     3000

    4    20000    9     7000            5    28000   12     5000            6    20000   16    4000
                 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
                 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
                 32     3000                         35     6000                         38    3000 
                 33     9000                         36     6000                         39    7000
                                                                                         40    5000
   ...                 

Resultat:

 Camió    Sacs que carrega    Càrrega que portarà       Camió    Sacs que carrega    Càrrega que portarà

   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

...