Activitats

Treballar o estudiar?

L’objectiu d’aquesta activitat és aprendre a predir quin codi s’executarà donada una estructura de selecció.

Avalueu el codi en Java següent. Quin resultat mostrarà per pantalla? Quins valors hauria de tenir la variable edat perquè generés el missatge “Vols treballar o estudiar?”:

  1. public class TreballarOEstudiar {
  2. public static void main (String[] args) {
  3. int m = 16;
  4. int n = 5;
  5. int edat = 12;
  6. if((edat > n)&&(edat < m)){
  7. System.out.println("Has d'anar a l'escola.");
  8. }else{
  9. System.out.println("Vols treballar o estudiar?");
  10. }
  11. }
  12. }

Per pantalla es mostrarà el text “Has d’anar a l’escola.”. edat hauria de valer menys de 6 o més de 15 per mostrar l’altre missatge.

Ho has encertat!

L’objectiu d’aquesta activitat és aprendre a predir quin codi s’executarà donada una estructura de selecció.

Avalueu el codi en Java següent. Per a quins valors de la variable x apareixerà per pantalla el missatge “Ho has encertat!”?

  1. public class HoHasEncertat {
  2.  
  3. public static void main (String[] args) {
  4. int m = 23;
  5. int n = 12;
  6. //.... Suposem que x pren un valor.
  7.  
  8. if((x < n)||( x > m)){
  9. System.out.println("Estàs fora del marge de valors correcte.");
  10. }else{
  11. System.out.println("Ho has encertat!");
  12. }
  13. }
  14. }

El missatge d’encert apareixerà per a qualsevol valor de x que no estigui comprès entre 13 i 22 (més gran que 12 i més petit que 23).

Parell o senar?

L’objectiu d’aquesta activitat és generar un programa que discrimina valors usant una estructura de selecció.

Creeu un programa anomenat ParellOSenar que decideixi si un nombre enter és parell o senar. Quan sigui parell ha d’escriure a la pantalla “Parell.”, i quan sigui senar, el programa ha d’escriure a la pantalla “Senar.”. El nombre per discriminar l’heu de declarar com una constant anomenada “VALOR”.

  1. public class ParellOSenar {
  2.  
  3. public static final int VALOR = 10;
  4.  
  5. public static void main (String[] args) {
  6.  
  7. if (VALOR%2 == 0) {
  8. System.out.println("Parell.");
  9. } else {
  10. System.out.println("Senar.");
  11. }
  12. }
  13.  
  14. }

Valor màxim

L’objectiu d’aquesta activitat és generar un programa que discrimina valors usant una estructura de selecció.

Creeu un programa anomenat ValorMaxim que decideixi quin és el més gran de dos nombres reals. Cal que imprimeixi per pantalla el més gran. Si són iguals, es pot imprimir qualsevol dels dos. Els valors per comparar els heu de declarar com a constants, amb el nom que vulgueu.

  1. public class ValorMaxim {
  2.  
  3. public static final double PRIMER_VALOR = 15.5;
  4.  
  5. public static final double SEGON_VALOR = 9.35;
  6.  
  7. public static void main (String[] args) {
  8.  
  9. if (PRIMER_VALOR >= SEGON_VALOR) {
  10. System.out.println("El màxim és " + PRIMER_VALOR);
  11. } else if (PRIMER_VALOR < SEGON_VALOR) {
  12. System.out.println("El màxim és " + SEGON_VALOR);
  13. }
  14. }
  15.  
  16. }

És positiu?

L’objectiu d’aquesta activitat és generar un programa que discrimina valors usant una estructura de selecció.

Creeu un programa anomenat EsPositiu que decideixi si un nombre enter és positiu, negatiu o zero. Quan sigui positiu ha d’escriure a la pantalla “Positiu.”, quan sigui negatiu, el programa ha d’escriure “Negatiu.” i quan sigui zero, ha d’escriure “Zero.”. El nombre s’ha de definir com una constant.

  1. public class PositiuONegatiu {
  2.  
  3. public static final int VALOR = 10;
  4.  
  5. public static void main (String[] args) {
  6.  
  7. if (VALOR > 0) {
  8. System.out.println("Positiu.");
  9. } else if (VALOR < 0) {
  10. System.out.println("Negatiu.");
  11. } else {
  12. System.out.println("Zero.");
  13. }
  14. }
  15. }

Termòstat

L’objectiu d’aquesta activitat és generar un programa que du a terme diferents accions a partir d’una dada llegida pel teclat.

Escriviu en un fitxer anomenat Termostat el codi en llenguatge Java que, en funció del valor d’una temperatura, mostri un missatge per pantalla indicant si cal encendre l’aire condicionat. Per exemple, si la temperatura val 25, el missatge que es mostri hauria de ser “Activa l’aire condicionat.”; si la temperatura és de 18 graus el missatge hauria de ser “Atura l’aire condicionat.”. Es considera que l’aire s’ha d’activar a partir dels 21 graus.

  1. import java.util.Scanner;
  2.  
  3. public class Termostat {
  4.  
  5. public static final double LIMIT = 21.0;
  6.  
  7. public static void main (String[] args) {
  8. Scanner lector = new Scanner(System.in);
  9.  
  10. System.out.print("Quina temperatura fa? ");
  11. double temperatura = lector.nextDouble();
  12. lector.nextLine();
  13.  
  14. if (temperatura >= LIMIT) {
  15. System.out.println("Activa l'aire condicionat.");
  16. } else {
  17. System.out.println("Atura l'aire condicionat.");
  18. }
  19. }
  20. }

Horari de treball

L’objectiu d’aquesta activitat és generar un programa que du a terme diferents accions a partir d’una dada llegida pel teclat.

Escriviu en un fitxer anomenat ‘HorariDeTreball’ el codi en llenguatge Java que, a partir d’un valor enter amb l’hora del dia llegit pel teclat, mostri un missatge per pantalla que indiqui si és l’hora de treballar. Es considera que l’horari de feina és de 9 a 17 h. L’hora d’inici (9) es considera de treball, però no la de fi. Per exemple, si l’hora val 9, el missatge que es mostri hauria de ser “Treball.”, si l’hora és les 21, el missatge hauria de ser “Temps lliure.”. No cal preveure els minuts, només l’hora.

Abans de fer res, aquest programa ha de controlar si el valor que ha entrat l’usuari és correcte (es comprèn entre les 0 i les 23 h). Si no és el cas, cal mostrar un missatge d’error.

  1. import java.util.Scanner;
  2.  
  3. public class HorariDeTreball {
  4.  
  5. public static final int HORA_INICI = 9;
  6.  
  7. public static final int HORA_FI = 17;
  8.  
  9. public static void main (String[] args) {
  10. Scanner lector = new Scanner(System.in);
  11.  
  12. System.out.print("Quina hora és? ");
  13. int hora = lector.nextInt();
  14. lector.nextLine();
  15.  
  16. if ((hora > 23)||(hora < 0)) {
  17. System.out.println("L'hora és incorrecta.");
  18. } else {
  19. if ((hora >= HORA_INICI)&&(hora < HORA_FI)) {
  20. System.out.println("Treball.");
  21. } else {
  22. System.out.println("Temps lliure.");
  23. }
  24. }
  25. }
  26. }

Horari partit

L’objectiu d’aquesta activitat és generar un programa que du a terme diferents accions a partir d’una dada llegida pel teclat.

Modifiqueu l’exercici anterior perquè prevegi que l’horari de treball és de 9 a 14 i de 16 a 19 h. Cal tenir en compte que les 14 és l’hora de dinar, i per tant és temps lliure.

  1. import java.util.Scanner;
  2.  
  3.  
  4. public class HorariDeTreballPartit {
  5.  
  6. public static final int HORA_INICI_MATI = 9;
  7.  
  8. public static final int HORA_FI_MATI = 14;
  9.  
  10. public static final int HORA_INICI_TARDA = 16;
  11.  
  12. public static final int HORA_FI_TARDA = 19;
  13.  
  14. public static void main (String[] args) {
  15. Scanner lector = new Scanner(System.in);
  16.  
  17. System.out.print("Quina hora és? ");
  18. int hora = lector.nextInt();
  19. lector.nextLine();
  20.  
  21. if ((hora > 23)||(hora < 0)) {
  22. System.out.println("L'hora és incorrecta.");
  23. } else {
  24. if (((hora >= HORA_INICI_MATI)&&(hora < HORA_FI_MATI))||((hora >= HORA_INICI_TARDA)&&(hora < HORA_FI_TARDA))) {
  25. System.out.println("Treball.");
  26. } else {
  27. System.out.println("Temps lliure.");
  28. }
  29. }
  30. }
  31. }

La mida d'un cargol

L’objectiu d’aquesta activitat és generar un programa que du a terme diferents accions a partir d’una dada llegida pel teclat.

Editeu, compileu i executeu un programa anomenat MesurarCargol que en introduir un valor enter que codifica la mida d’un cargol mostri per pantalla el text corresponent a la mida, segons la taula següent:

  • D’1 cm (inclòs) a 3 cm (no inclòs): petit
  • De 3 cm (inclòs) a 5 cm (no inclòs): mitjà
  • De 5 cm (inclòs) a 8 cm (no inclòs): gran
  • De 8 cm (inclòs) a 10 cm (inclòs): molt gran
  • Qualsevol altre valor indica que la mida del cargol és incorrecta.

Per dur a terme aquesta acció, useu únicament la sentència switch. No podeu usar sentències if enlloc.

  1. import java.util.Scanner;
  2.  
  3. public class MesurarCargol {
  4.  
  5. public static void main (String[] args) {
  6. Scanner lector = new Scanner(System.in);
  7.  
  8. System.out.print("Quina és la mida del cargol? ");
  9. int mida = lector.nextInt();
  10. lector.nextLine();
  11.  
  12. switch(mida) {
  13. case 1:
  14. case 2:
  15. System.out.println("El cargol no és petit.");
  16. break;
  17. case 3:
  18. case 4:
  19. System.out.println("El cargol no és mitjà.");
  20. break;
  21. case 5:
  22. case 6:
  23. case 7:
  24. System.out.println("El cargol no és gran.");
  25. break;
  26. case 8:
  27. case 9:
  28. case 10:
  29. System.out.println("El cargol no és molt gran.");
  30. break;
  31. default:
  32. System.out.println("La mida del cargol no és correcta.");
  33. }
  34.  
  35. }
  36. }

Anar a la pàgina anterior:
Estructures de selecció
Anar a la pàgina següent:
Exercicis d'autoavaluació