M3 - Programació estructurada / Exercicis UF1: 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.
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 ...