← Tornar a l'índex d'exercicis
Aquests qüestionaris avaluen el control del flux d'un programa: decisions amb if-else i switch, repeticions amb for, while i do-while, i interrupcions amb break i continue.
Determina la sortida del programa segons els camins d'execució presos.
Construeix el codi que determina si num és parell o senar:
Arrossega des d'ací (o clica dues línies per intercanviar-les):
Si val és 50, quina és la sortida d'aquest codi?
Selecciona l'exemple correcte de la sentència condicional
Selecciona la sortida del programa segons el valor de la variable a.
a = 0
a = -1
a = 1
Construeix el codi que recomana què has d'agafar per ixir de casa segons el temps que fa:
Arrossega des d'ací (o clica dues línies per intercanviar-les):
Què imprimeix el següent programa?
Calcula el nombre d'iteracions i el resultat del programa en executar bucles.
Selecciona tots els bucles que imprimeixen "LoOOops" exactament 10 vegades.
int i = 0i < 10i++{ println("Hola"); }Quins dels següents for fan exactament 100 iteracions?
Quins dels següents for imprimiran el número 100?
Què imprimeix el següent codi?
Comprova com s'interrompen o es continuen els bucles en trobar aquestes sentències.
Què imprimeix el següent codi?
Quants números imprimex el següent programa?
Classificador de nombres:
Llegeix un número enter i indica si és positiu, negatiu o zero, i si és parell o senar.
Major de tres números:
Llegeix tres números enters i mostra quin es el major. Si hi ha empat, indica-ho amb un missatge.
Precio de la entrada:
Un parc d'atracciones cobra segons l'edat:
Temps de pantalla:
La teua aplicació de benestar digital advertix a l'usuari segons les hores d'ús de pantalla diàries.
Variants
Crea una variant dels dos exercicis anteriors amb la temàtica que t'agrade. Exemples:
switch2if
Transforma el següent codi amb switch a un codi amb if-else:
if2switch
Transforma el següent codi amb if-else a un codi amb switch:
expressió / sentencia switch
Fes un programa equivalent, transformant la següent expressió switch a una sentència switch:
Accés a l'aplicació
Implementa en Java el següent diagrama, que decideix si un usuari pot accedir a una app.
Llegeix per teclat l'edat del jugador (int) i si el seu compte està verificat (boolean),
i imprimix el missatge corresponent.
flowchart TD
A([INICI]) --> B{"¿Edat >= 18?"}
B -- Sí --> C{"¿Compte verificat?"}
C -- Sí --> D["Acces concedit"]
C -- No --> E["Verifica el compte abans de continuar"]
B -- No --> F["Acces denegat: edat minima 18 anys"]
L'estructura del codi pot ser:
Accés al mode Clasificatoria
El següent diagrama mostra les condicions que ha de complir un jugador per accedir al mode Clasificatoria d'un videojoc.
Implementa el codi corresponent amb sentències if-else.
flowchart TD
A([INICI]) --> B{"¿Nivell >= 30?"}
B -- No --> C["Acces denegat:
puja de nivell"]
B -- Sí --> D{"¿Email verificat?"}
D -- No --> E["Acces denegat:
verifica el teu email"]
D -- Sí --> F{"¿Sancions actives?"}
F -- Sí --> G["Acces denegat:
compte sancionat"]
F -- No --> H["Acces concedit al
mode Clasificatoria"]
Qualitat de vídeo en streaming
Implementa el següent diagrama de flux, que decideix la qualitat de vídeo en streaming segons la velocitat de connexió i el tipus de pla del servei.
flowchart TD
A([INICI]) --> B{"¿Velocitat >= 25 Mbps?"}
B -- No --> C{"¿Velocitat >= 5 Mbps?"}
B -- Sí --> D{"¿Pla Premium?"}
C -- No --> E["Qualitat: 480p"]
C -- Sí --> F{"¿Pla Premium?"}
D -- Sí --> G["Qualitat: 4K"]
D -- No --> H["Qualitat: 1080p"]
F -- Sí --> I["Qualitat: 1080p"]
F -- No --> J["Qualitat: 720p"]
Reptes for
Imprimix:
1_000_000 de vegades "Hola, món!"25 al 250_000"------------------------"25 al -25"Hola!" 10 vegades, numerant cada línia: 1. Hola!, 2. Hola!, ...0 al 100 de 10 en 10100 al 0 de 5 en 51 al 10, indicant el número: El quadrat de 1 es 1, El quadrat de 2 es 4, ...2 al 50, comptant de 2 en 21 al 517 des del 7 al 1006 x 1 = 6, 6 x 2 = 12, ..., 6 x 10 = 60Taula de multiplicar
Demana un enter N i mostra la seva taula de multiplicar de l'1 al 10 utilitzant un bucle for.
Saltant d'un numero a un altre
Demana un enter INI, un enter FIN i un enter PAS,
i mostra els números des de INI a FIN comptant de PAS en PAS.
Múltiples
Demana un enter INI, un enter FIN i un enter M,
i mostra només els números des de INI a FIN que siguen múltiples de M.
En este exercici necessitaràs utilitzar un bucle for amb una condició if a l'interior.
Parell/imparell
Imprimix els números de l'1 al 50, escrivint "parell" o "senar" al costat de cada un.
Me quiere, no me quiere
Demana un enter N i imprimix la frase "Me quiere", alternant amb "No me quiere", N vegades.
FizzBuzz
Imprimix els números de l'A al B, substituint els múltiples de 3 per "Fizz", els múltiplos de 5 per "Buzz", i els múltiplos de 15 per "FizzBuzz".
El robot aspirador
Un robot aspirador recorre una habitación siguiendo una línea recta. Sabemos desde qué posición comienza, a qué distancia queremos que llegue y cuántos centímetros avanza en cada movimiento.
Escribe un programa que pida:
El programa debe mostrar la posición del robot después de cada movimiento, empezando por la posición inicial.
El robot debe seguir avanzando hasta que supere el objetivo, y se debe mostrar su posición final.
Por ejemplo, si comienza en la posición 0, el objetivo está en 100 cm y avanza 30 cm cada vez:
Posición inicial: 0
Posición objetivo: 100
Distancia por movimiento: 30
0
30
60
90
120
El 120 se muestra aunque el objetivo sea 100, porque es la primera posición que supera el objetivo. Después de mostrar 120, el programa debe terminar.
Requisitos:
break para terminar el bucle.Desea continuar (s/n)
Fes un programa que vaja escrivint números per pantalla, però que cada vegada li pregunte a l'usuari si s'ha de continuar o no.
1
Desitja continuar (yes / no)? yes
2
Desitja continuar (yes / no)? yes
3
Desitja continuar (yes / no)? yes
4
Desitja continuar (yes / no)? no
Bye bye
Coordenades
Introduix el número de files: 3
Introduix el número de columnes: 4
(0,0) (0,1) (0,2) (0,3)
(1,0) (1,1) (1,2) (1,3)
(2,0) (2,1) (2,2) (2,3)
Figures
Fes diversos programes que dibuixen les següents figures:
Rectangle
Introduix alçada: 7
Introduix ample: 5
#####
#####
#####
#####
#####
#####
#####
Tauler d'escacs (de tamany m x n)
Introduix el número de files: 4
Introduix el número de columnes: 10
#·#·#·#·#·
·#·#·#·#·#
#·#·#·#·#·
·#·#·#·#·#
Marc
Introduix alçada: 7
Introduix ample: 5
#####
# #
# #
# #
# #
# #
#####
Arrows
Introduix alçada: 3
Introduix ample: 4
->->->->
<-<-<-<-
->->->->
Triangle de números
Introduix alçada: 5
1
22
333
4444
55555
Triangle
Introduix alçada: 5
*
**
***
****
*****
Triangle invers
Introduix alçada: 5
*****
****
***
**
*
Patrons abc
Imprimeix els següents patrons amb bucles anidats
En els print's només pots posar un únic caràcter (per exemple, print("a")).
Fes servir el mínim de prints possible.
abbbcabbbcabbbcabbbc
abababcabababc
aabababc aabababc
AAAAAjA---AjA---AjA---AjA---AjA---AjA---AjA---AjA---AjA---AjA---AjAAAAAj
Taula multiplicada
Introduix alçada: 4
Introduix ample: 6
1 2 3 4 5 6
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
Numero de fila i columna
Introduix alçada: 5
Introduix ample: 3
111
222
333
444
555
123
123
123
123
123
De 00 a 99
Imprimeix els números de 00 a 99
En els print's només pots posar un únic caràcter (per exemple, print("7")).
Fes servir el mínim de prints possible.
00 01 02 03 04 05 06 07 08 09
10 11 12 13 14 15 16 17 18 19
...
90 91 92 93 94 95 96 97 98 99
Generador de niveles
Un videojuego tiene niveles y fases. Genera todas las combinaciones:
Numero de niveles: 5
Numero de fases por nivel: 3
Nivel 1, Fase 1
Nivel 1, Fase 2
Nivel 1, Fase 3
Nivel 2, Fase 1
...
Nivel 5, Fase 3
Space Invaders
Imprimeix un patró de estil Space Invaders amb bucles anidats
Introduix alçada: 5
Introduix ample: 7
👾👾👾👾👾👾👾
👽👽👽👽👽👽👽
🤖🤖🤖🤖🤖🤖🤖
👾👾👾👾👾👾👾
👽👽👽👽👽👽👽
Red cross
En un tauler de 10x10 de color groc, imprimeix una creu roja en les coordenades especificades.
Introduix la coordenada X: 3
Introduix la coordenada Y: 5
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
⚪️⚪️🔴⚪️⚪️⚪️⚪️⚪️⚪️⚪️
Torre de copas
Imprimeix un patró de copes amb bucles anidats
Introduix alçada: 5
🍷
🍷🍷
🍷🍷🍷
🍷🍷🍷🍷
🍷🍷🍷🍷🍷