← Tornar a l'índex d'exercicis
Aquests qüestionaris et permeten comprovar la teva comprensió dels conceptes bàsics de programació: literals, estructura, variables, operadors aritmètics/lògics, operador ternari, expressions switch i càsting/parsing. Selecciona o escriu les teves respostes i clica sobre el botó Comprovar per veure la correcció instantània.
Comprova el teu domini dels tipus de dades bàsics i com es representen a la memòria.
"10000000"'10000000'10_000_0001000000010000000f7000"7000"true'3'"false""3"'a'443'q'"q"'5'"text""2312""123456" és un número"1" és un string'8' és un caracter1 és un númeroTrue és un booleà1f és un enterQuè imprimirà el següent codi?
Què imprimirà el següent codi?
Comprendre com es declaren les variables, com s'assignen valors i les regles de nomenclatura.
Donada la següent declaració d'una variable:
Quin és el nom de la variable?
speed"high"highStringDonat el següent codi:
Introdueix el valor de la variable e.
Escriu el valor de cada variable, després de que s'executi cada sentència d'aquest programa:
a | b | c | |
|---|---|---|---|
int a = 0; | 0 | ||
int b = 0; | 0 | 0 | |
a = 2; | 2 | 0 | |
int c = b; | 2 | 0 | 0 |
Quin és el valor d'aquesta variable?
"animal""String"animaltigreL'operador d'assignació en Java és:
<-=:=->Selecciona les afirmacions correctes sobre les variables.
Quantes variables s'han declarat al següent codi?
Selecciona les declaracions vàlides
float aFloat = "23.75f";String mFloat = "98.7";int cFloat = 44.3;String kFloat = float;char dFloat = '.';String tFloat = "float";El següent codi:
falsetrueVols declarar una variable anomenada int.
Determina si el nom es vàlid o no (i per què?). Un nom és valid si el programa funcionarà.
Selecciona els noms de variable vàlids, és a dir, que el programa funcionarà.
Recordes les convencions per anomenar variables? Fes que la variable
ALTURA@CACTUS no solament sigui sintàcticament correcta, sinò
que també compleixi les recomanacions.
Quin és el millor nom per una variable d'acord amb les convencions?
_uhauserHomeAdressuserhomeaddressuser_home_addressUserHomeAddressOperacions aritmètiques, precedència, divisió entera, mòdul, increments i lògica booleana.
Escriu el resultat d'aquesta operació:
2 + 3 * 4 + 5
Què imprimirà aquesta sentència?
Ordena els operadors segons la preferència
Escriu el valor que retorna aquesta expressió:
(-5) * (-10) * (-20)
Quina de les següents expressions és igual a 12?
24 / 224 % 225 / 212 % 13Quin és el resultat d'aquesta expressió?
3 / 2f
Què imprimeixen aquestes sentències?
Què imprimiran les següents sentències?
Introdueix el valor de la variable result
Introdueix el valor de cada variable, després de cada sentència d'aquest programa:
a | b |
|
|---|---|---|
int a = 0; |
0 |
|
int b = a + 1; |
0 |
1 |
a = a + 1; |
1 |
1 |
b *= 2; |
1 |
2 |
a++; |
2 |
2 |
Introdueix el valor de cada variable, després de cada sentència d'aquest programa:
a | b |
|
|---|---|---|
int a = 10; |
10 |
|
int b = a + 10; |
10 |
20 |
a += 10; |
20 |
20 |
a += b; |
40 |
20 |
a += a + b; |
100 |
20 |
a += a + a; |
300 |
20 |
Introdueix el valor de cada variable, després de cada sentència d'aquest programa:
x | y |
|
|---|---|---|
int x = 5; |
5 |
|
int y = 2; |
5 |
2 |
x += 3; |
8 |
2 |
y *= x; |
8 |
16 |
x++; |
9 |
16 |
y -= x; |
9 |
7 |
Escriu el resultat d'avaluar aquestes expressions lògiques:
!(true || false)
!true && !false
!(true && false)
true || true || !true
true && true && !true
Hi ha aquestes variables:
Quin és el resultat d'aquesta expressió?
b1 && (b2 || (b3 || b4))
Selecciona les operacions que són invàlides en Java (produeixen un error de compilació perquè els tipus dels operands no són compatibles amb l'operador):
"Hola" - "Món""Java " + 26!5100 > 50true + 18.5 * 2Quin tipus de dada han de tenir obligatòriament els operands dels operadors lògics (&&, ||, !) en Java?
boolean (expressions o variables que valguin true o false)int (on el 0 és fals i qualsevol altre enter és cert)String (cadenes de text)Volem comprovar si el text guardat a la variable nom és igual a "Anna". Quina és la manera correcta de fer-ho en Java?
nom.equals("Anna")nom = "Anna" (és una assignació de valor, no una comparació)nom == "Anna" (no és segur: compara si apunten al mateix objecte en memòria, no el contingut del text)nom === "Anna" (aquest operador no existeix en Java)Què imprimeix aquest programa?
truefalseQuè imprimeix aquest programa?
Emparella cada expressió amb el tipus de dada que retorna:
10 / 4int (divisió entera)10 / 4.0double (divisió decimal)10 >= 4boolean (comparació)"Preu: " + 10String (concatenació)Quin tipus de dada retorna l'avaluació final d'aquesta expressió combinada?
boolean (l'operació final és l'operador lògic &&)int (perquè s'estan calculant nombres enters)double (perquè hi ha una divisió)StringQuin valor retorna aquesta expressió?
truefalseQuin valor contindrà la variable estat després d'executar aquest codi?
Quin valor tindrà la variable x?
Quin valor s'assignarà a la variable missatge després d'avaluar aquesta expressió switch?
En una expressió switch de Java modern amb sintaxi de fletxa (->), com podem associar el mateix resultat a diversos valors (per exemple, els números 6 i 7 per al cap de setmana)?
case 6, 7 -> "Cap de setmana";break entre casos com es feia en Java anticcase 6 || 7 -> "Cap de setmana";Què imprimeix exactament aquest fragment de codi?
Conversions implícites i explícites entre tipus primitius.
Selecciona les línies on es requereix el casting explícit.
Com demanar dades per teclat a l'usuari:
Recorda fer servir la instrucció IO.readln() de Java 26 per demanar dades per consola i convertir-les a números amb Integer.parseInt(...) o Double.parseDouble(...):
Crea un programa en Java 26 per a cadascun dels reptes següents. Estan ordenats de menor a major complexitat:
Salutació personalitzada:
Demana a l'usuari el seu nom i el seu primer cognom mitjançant dues preguntes independents amb IO.readln(). Mostra per pantalla una salutació completa unint els dos valors:
Doble i triple d'un nombre:
Demana un nombre enter a l'usuari amb IO.readln(), converteix-lo a número enter amb Integer.parseInt() i mostra per pantalla el seu doble (n * 2) i el seu triple (n * 3):
Calculadora bàsica:
Demana dos nombres enters a l'usuari (a i b). Calcula i mostra el resultat de la seva suma, resta, multiplicació, divisió entera i el residu de la divisió (mòdul %):
Àrea i perímetre d'un rectangle:
Demana la base i l'altura d'un rectangle com a nombres decimals (double). Calcula i mostra el perímetre (2 * base + 2 * altura) i l'àrea (base * altura):
Conversor de graus Celsius a Fahrenheit:
Demana una temperatura en graus Celsius com a valor decimal (double). Aplica la fórmula de conversió: F = C * 9.0 / 5.0 + 32. Atenció: Recorda utilitzar valors literals decimals com 9.0 / 5.0 per evitar que Java faci una divisió entera:
Càlcul de preu amb descompte i IVA:
Demana el preu original d'un producte (decimal, en euros) i el percentatge de descompte a aplicar (enter, per exemple 15 per a un 15%). Calcula el preu després del descompte i, sobre aquest preu rebaixat, calcula i suma un 21% d'IVA per obtenir el preu final a pagar:
Desglossament de temps (segons a minuts i segons):
Demana una quantitat total de segons (enter). Mitjançant els operadors de divisió entera (/ 60) i residu (% 60), calcula quants minuts complets i quants segons restants representa:
Mitjana de tres qualificacions i aprovat amb ternari:
Demana les qualificacions de tres tasques (decimals entre 0 i 10). Calcula la nota mitjana aritmètica. Fent servir l'operador ternari (? :), determina si la qualificació és "Aprovat" (nota >= 5.0) o "Suspès" (nota < 5.0) i mostra el resultat per pantalla:
Descomposició de dígits d'un número de dues xifres:
Demana un nombre enter positiu de dues xifres (entre 10 i 99). Sense utilitzar mètodes de cadenes de text, obtén la xifra de les desenes (utilitzant / 10) i la xifra de les unitats (utilitzant % 10). Mostra les dues xifres separades i la suma de tots dos dígits:
Caixer automàtic (desglossament òptim de bitllets):
Un caixer automàtic ha de lliurar una quantitat entera d'euros (múltiple de 10, com per exemple 280 €) utilitzant el menor nombre possible de bitllets de 50 €, 20 € i 10 €. Mitjançant divisions enteres successives (/) i càlculs de residu (%), calcula quants bitllets de cada valor cal lliurar:
Determinació de l'estació de l'any amb expressió switch:
Demana a l'usuari un número de mes de l'any (enter de l'1 al 12). Utilitzant una expressió switch moderna amb casos agrupats per comes (case 12, 1, 2 -> ...), assigna a una variable el nom de l'estació climàtica corresponent (Hivern, Primavera, Estiu o Tardor). Si el número és fora d'aquest interval, la branca default ha de retornar "Mes no vàlid". Mostra el missatge final per consola:
Traductor de codis d'emoticones a emojis:
A moltes plataformes de missatgeria com Discord o Slack, els usuaris escriuen codis de text com ara :lol:, :fire: o :heart: que el sistema tradueix automàticament a un emoji gràfic. A més, sovint diversos noms o àlies representen el mateix emoji (per exemple, tant :lol: com :risa: o :joy: poden traduir-se en 😁; o bé :cat: i :gat: en 🐱).
Demana a l'usuari un codi d'emoticona per consola amb IO.readln(). Fes servir una expressió switch per obtenir l'emoji corresponent, permetent múltiples àlies per a un mateix emoji. Si l'usuari introdueix un codi no reconegut, retorna un indicador per defecte (com ❓). Mostra el resultat per pantalla:
Nombre de dies d'un mes:
Els mesos del nostre calendari no tenen la mateixa durada: alguns en tenen 31, d'altres 30, i febrer en té 28 (sense considerar anys de traspàs).
Demana a l'usuari el número d'un mes (de l'1 al 12, o el seu nom com a text). Fent servir una expressió switch que agrupi els mesos que comparteixen el mateix nombre de dies, determina quants dies té aquest mes i mostra'l per pantalla. Si s'introdueix un valor invàlid, indica-ho a la branca per defecte:
Calculadora interactiva amb operador:
Demana dos nombres decimals a l'usuari (double) i tot seguit un símbol d'operació per teclat (+, - o *).
Mitjançant una expressió switch que avaluï el símbol de l'operació, calcula el resultat de l'operació escollida i desa'l en una variable. Si l'usuari introdueix una operació desconeguda, gestiona l'error a la branca per defecte. Mostra l'operació sencera i el resultat obtingut per pantalla: