|
|
Línia 1: |
Línia 1: |
| | | |
| 1. Un programa demana un número. Si és parell el multiplica per dos i li suma tres. Si és senar el multiplica per tres i li resta 4. Evidentment informa de què ha fet i informa del resultat. | | 1. Un programa demana un número. Si és parell el multiplica per dos i li suma tres. Si és senar el multiplica per tres i li resta 4. Evidentment informa de què ha fet i informa del resultat. |
− |
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici1 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int numero, resultat;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix un numero: ");
| |
− | numero = lector.nextInt();
| |
− | if (numero % 2 == 0) {
| |
− | resultat = numero * 2 + 3;
| |
− | System.out.println("El numero " + numero + " es parell, l'he multiplicat per dos i li he sumat tres, i dona : " + resultat);
| |
− | } else {
| |
− | resultat = numero * 3 - 4;
| |
− | System.out.println("El numero " + numero + " es senar, l'he multiplicat per tres i li he restat quatre, i dona : " + resultat);
| |
− | }
| |
− |
| |
− | }
| |
− | }
| |
− | </source>
| |
− | <!---->
| |
| | | |
| 2. Els treballadors d’una fàbrica treballen en dos torns: diürn i nocturn. Es vol calcular el salari d’un dia d’acord amb els següents punts: | | 2. Els treballadors d’una fàbrica treballen en dos torns: diürn i nocturn. Es vol calcular el salari d’un dia d’acord amb els següents punts: |
Línia 33: |
Línia 8: |
| | | |
| El programa ha de llegir les hores treballades, el torn i el dia de la setmana i dir quin serà el salari. | | El programa ha de llegir les hores treballades, el torn i el dia de la setmana i dir quin serà el salari. |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici2 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | final int DIA = 4;
| |
− | final int DIAFESTIU = 6;
| |
− | final int NIT = 6;
| |
− | final int NITFESTIU = 9;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | int hores, salari;
| |
− | char torn, dia;
| |
− | System.out.print("Introdueix el nombre d'hores treballades: ");
| |
− | hores = lector.nextInt();
| |
− | System.out.print("Introdueix el torn (diari ->d/nocturn->n): ");
| |
− | torn = lector.next().charAt(0);
| |
− | System.out.print("Introdueix el dia (diumenge->d/feiner->f): ");
| |
− | dia = lector.next().charAt(0);
| |
− | if (dia == 'f') {
| |
− | if (torn == 'd') {
| |
− | salari = hores * DIA;
| |
− | } else {
| |
− | salari = hores * NIT;
| |
− | }
| |
− | } else if (torn == 'd') {
| |
− | salari=hores*DIAFESTIU;
| |
− | }
| |
− | else{
| |
− | salari=hores*NITFESTIU;
| |
− | }
| |
− |
| |
− | System.out.println("El salari és: "+salari);
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 3. Escriure un algorisme que llegeixi tres números enters i ens digui quin és el valor més gran. | | 3. Escriure un algorisme que llegeixi tres números enters i ens digui quin és el valor més gran. |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici3 {
| |
− | public static void main(String[] args) {
| |
− | Scanner lector = new Scanner(System.in);
| |
− | int x,y,z,max;
| |
− | System.out.print("Introdueix tres valors separats per espais: ");
| |
− | x=lector.nextInt();
| |
− | y=lector.nextInt();
| |
− | z=lector.nextInt();
| |
− | max=x;
| |
− | if(y>max){
| |
− | max=y;
| |
− | }
| |
− | if(z>max){
| |
− | max=z;
| |
− | }
| |
− | System.out.println("El valor màxim és: " +max);
| |
− |
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 4. Escriviu un programa que simuli una calculadora simple. El programa llegeix dos enters i un caràcter. Si el caràcter és un + s’imprimeix la suma, si és un – la resta, si és un * el producte, si és un / la divisió entera i si és un %, el mòdul. | | 4. Escriviu un programa que simuli una calculadora simple. El programa llegeix dos enters i un caràcter. Si el caràcter és un + s’imprimeix la suma, si és un – la resta, si és un * el producte, si és un / la divisió entera i si és un %, el mòdul. |
| | | |
| Per a poder llegir un caràcter cal fer : '''lector.next().charAt(0)''' | | Per a poder llegir un caràcter cal fer : '''lector.next().charAt(0)''' |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
| | | |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici4 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int resultat = 0;
| |
− | Scanner teclat = new Scanner(System.in);
| |
− | System.out.print("Introdueix un valor enter: ");
| |
− | int numero1 = teclat.nextInt();
| |
− | System.out.print("Introdueix un altre valor enter: ");
| |
− | int numero2 = teclat.nextInt();
| |
− | System.out.print("Introdueix l'operació a fer ( + , - , * , /, %): ");
| |
− | char operacio = teclat.next().charAt(0);
| |
− | if (operacio=='+') {
| |
− | resultat = numero1 + numero2;
| |
− | } else if (operacio=='-') {
| |
− | resultat = numero1 - numero2;
| |
− | } else if (operacio=='*') {
| |
− | resultat = numero1 * numero2;
| |
− | } else if (operacio=='/') {
| |
− | resultat = numero1 / numero2;
| |
− | } else if (operacio=='%') {
| |
− | resultat = numero1 % numero2;
| |
− | }
| |
− | System.out.println("El resultat és : " + resultat);
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| : Utilitzant la sentencia '''switch''': | | : Utilitzant la sentencia '''switch''': |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici4 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int resultat = 0;
| |
− | Scanner teclat = new Scanner(System.in);
| |
− | System.out.print("Introdueix un valor enter: ");
| |
− | int numero1 = teclat.nextInt();
| |
− | System.out.print("Introdueix un altre valor enter: ");
| |
− | int numero2 = teclat.nextInt();
| |
− | System.out.print("Introdueix l'operació a fer ( + , - , * , /, %): ");
| |
− | char operacio = teclat.next().charAt(0);
| |
− | switch (operacio) {
| |
− | case '+':
| |
− | resultat = numero1 + numero2;
| |
− | break;
| |
− | case '-':
| |
− | resultat = numero1 - numero2;
| |
− | break;
| |
− | case '*':
| |
− | resultat = numero1 * numero2;
| |
− | break;
| |
− | case '/':
| |
− | resultat = numero1 / numero2;
| |
− | break;
| |
− | case '%':
| |
− | resultat = numero1 % numero2;
| |
− | break;
| |
− | }
| |
− | System.out.println("El resultat és : " + resultat);
| |
− |
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 5. Escriviu un programa que llegeixi del teclat un enter comprès entre 0 i 63 (inclosos) i ens digui el nombre de bits que necessitem per escriure’l en binari. No s’ha de fer servir cap funció calcular-ho, sinó simplement a base de '''if .. else''', recordant que a cada potència de 2 necessitem un bit més. | | 5. Escriviu un programa que llegeixi del teclat un enter comprès entre 0 i 63 (inclosos) i ens digui el nombre de bits que necessitem per escriure’l en binari. No s’ha de fer servir cap funció calcular-ho, sinó simplement a base de '''if .. else''', recordant que a cada potència de 2 necessitem un bit més. |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici5 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int valor, bits;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix un valor entre 0 i 64: ");
| |
− |
| |
− | valor = lector.nextInt();
| |
− | if ((valor < 0) || (valor > 64)) {
| |
− | System.out.print("El valor no esta entre 0 i 64!!\n\n");
| |
− | } else {
| |
− | if (valor < 2) {
| |
− | bits = 1;
| |
− | } else if (valor < 4) {
| |
− | bits = 2;
| |
− | } else if (valor < 8) {
| |
− | bits = 3;
| |
− | } else if (valor < 16) {
| |
− | bits = 4;
| |
− | } else if (valor < 32) {
| |
− | bits = 5;
| |
− | } else {
| |
− | bits = 6;
| |
− | }
| |
− |
| |
− | System.out.println("Necessitem " + bits + " bits");
| |
− |
| |
− | }
| |
− |
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 6. Tres persones les edats de les quals s’han de llegir per teclat, van a un parc d’atraccions. El cost de l’entrada normal és de 20€. Però tenen els següents descomptes: | | 6. Tres persones les edats de les quals s’han de llegir per teclat, van a un parc d’atraccions. El cost de l’entrada normal és de 20€. Però tenen els següents descomptes: |
Línia 231: |
Línia 28: |
| | | |
| Quan costaran les tres entrades? | | Quan costaran les tres entrades? |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici6 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int edat_P1, edat_P2, edat_P3, ent_P1 = 0, ent_P2 = 0, ent_P3 = 0, total;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix l'edat de la primera persona: ");
| |
− | edat_P1 = lector.nextInt();
| |
− | System.out.print("Introdueix l'edat de la segona persona: ");
| |
− | edat_P2 = lector.nextInt();
| |
− | System.out.print("Introdueix l'edat de la tercera persona: ");
| |
− | edat_P3 = lector.nextInt();
| |
− | if (((edat_P1 < 5) || (edat_P2 < 5) || (edat_P3 < 5)) && (edat_P1 < 12) && (edat_P2 < 12) && (edat_P3 < 12)) {
| |
− | System.out.print("NO ENTREN!!!\n");
| |
− | } else {
| |
− | if ((edat_P1 >= 16) && (edat_P1 < 18) && (edat_P2 >= 16) && (edat_P2 < 18) && (edat_P3 >= 16) && (edat_P3 < 18)) {
| |
− | total = 40;
| |
− | } else { //Fem el calcul per la primera persona
| |
− |
| |
− | if ((edat_P1 >= 5) && (edat_P1 < 12)) {
| |
− | ent_P1 = 5;
| |
− | } else if ((edat_P1 >= 12) && (edat_P1 < 16)) {
| |
− | ent_P1 = 10;
| |
− | } else if ((edat_P1 >= 16) && (edat_P1 < 65)) {
| |
− | ent_P1 = 20;
| |
− | }
| |
− |
| |
− | //Ho repetim per a la segona persona
| |
− |
| |
− | if ((edat_P2 >= 5) && (edat_P2 < 12)) {
| |
− | ent_P2 = 5;
| |
− | } else if ((edat_P2 >= 12) && (edat_P2 < 16)) {
| |
− | ent_P2 = 10;
| |
− | } else if ((edat_P2 >= 16) && (edat_P2 < 65)) {
| |
− | ent_P2 = 20;
| |
− | }
| |
− |
| |
− | //Ho repetim per a la tercera persona
| |
− |
| |
− | if ((edat_P2 >= 5) && (edat_P2 < 12)) {
| |
− | ent_P3 = 5;
| |
− | } else if ((edat_P2 >= 12) && (edat_P2 < 16)) {
| |
− | ent_P3 = 10;
| |
− | } else if ((edat_P2 >= 16) && (edat_P2 < 65)) {
| |
− | ent_P3 = 20;
| |
− | }
| |
− |
| |
− | //Calculem el total de les entrades
| |
− |
| |
− | total = ent_P1 + ent_P2 + ent_P3;
| |
− | }
| |
− |
| |
− | System.out.println("El cost de les entrades es de " + total + "€");
| |
− | }
| |
− |
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 7. Escriviu un programa que llegeixi un mes en número i un any i indiqui el nombre de dies d’aquest mes. Cal recordar que un any és de traspàs (bixest) si és divisible per 4, excepte quan és divisible per 100, a no ser que sigui divisible per 400. | | 7. Escriviu un programa que llegeixi un mes en número i un any i indiqui el nombre de dies d’aquest mes. Cal recordar que un any és de traspàs (bixest) si és divisible per 4, excepte quan és divisible per 100, a no ser que sigui divisible per 400. |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici7 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int dies = 0, mes, any;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix un mes en numero : ");
| |
− | mes = lector.nextInt();
| |
− | System.out.print("Introdueix un any : ");
| |
− | any = lector.nextInt();
| |
− | if ((mes > 0) && (mes < 13)) {
| |
− | switch (mes) {
| |
− | case 1:
| |
− | case 3:
| |
− | case 5:
| |
− | case 7:
| |
− | case 8:
| |
− | case 10:
| |
− | case 12:
| |
− | dies = 31;
| |
− | break;
| |
− | case 4:
| |
− | case 6:
| |
− | case 9:
| |
− | case 11:
| |
− | dies = 30;
| |
− | break;
| |
− | case 2:
| |
− | if ((any % 4 == 0) && ((any % 100 != 0) || (any % 400 == 0))) {
| |
− | dies = 29;
| |
− | } else {
| |
− | dies = 28;
| |
− | }
| |
− | break;
| |
− |
| |
− |
| |
− | }
| |
− | System.out.println("El numero de dies es: " + dies);
| |
− | } else {
| |
− | System.out.println("Numero de mes equivocat");
| |
− | }
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 8. Per a esbrinar la Pasqua d’un any, procedirem de la següent manera: | | 8. Per a esbrinar la Pasqua d’un any, procedirem de la següent manera: |
Línia 359: |
Línia 42: |
| | | |
| :(22 + d + e) de març (si d+e <10) o bé: (d + e - 9) d’abril . | | :(22 + d + e) de març (si d+e <10) o bé: (d + e - 9) d’abril . |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
| | | |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici8 {
| |
− | public static void main(String[] args) {
| |
− | Scanner lector = new Scanner(System.in);
| |
− | int any,a,b,c,d,e;
| |
− | System.out.print("Introdueix el número de l'any: ");
| |
− | any=lector.nextInt();
| |
− | a=any%19;
| |
− | b=any%4;
| |
− | c=any%7;
| |
− | d=(19*a + 24)%30;
| |
− | e=(2*b + 4*c + 6*d + 5 )%7;
| |
− | if (d+e<10){
| |
− | System.out.println("Diumenge de Pasqua serà el dia: "+ (22 + d + e)+ " de març" );
| |
− | }
| |
− | else{
| |
− | System.out.println("Diumenge de Pasqua serà el dia: "+ ( d + e-9)+ " d'abril" );
| |
− | }
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
− | <!--
| |
| 9. Volem saber si una persona és major d’edat, per això llegirem la data de naixement i la data actual. | | 9. Volem saber si una persona és major d’edat, per això llegirem la data de naixement i la data actual. |
− |
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici9 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int diaAct, mesAct, anyAct, diaNeix, mesNeix, anyNeix;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix el dia actual :");
| |
− | diaAct = lector.nextInt();
| |
− | System.out.print("Introdueix el mes actual :");
| |
− | mesAct = lector.nextInt();
| |
− | System.out.print("Introdueix l'any actual :");
| |
− | anyAct = lector.nextInt();
| |
− | System.out.print("Introdueix el dia del teu neixement :");
| |
− | diaNeix = lector.nextInt();
| |
− | System.out.print("Introdueix el mes del teu neixement :");
| |
− | mesNeix = lector.nextInt();
| |
− | System.out.print("Introdueix l'any del teu neixement :");
| |
− | anyNeix = lector.nextInt();
| |
− |
| |
− |
| |
− | if (anyAct - anyNeix < 18) {
| |
− | System.out.println("MENOR\n");
| |
− | } else if (anyAct - anyNeix > 18) {
| |
− | System.out.println("MAJOR\n");
| |
− | } else if (mesAct > mesNeix) {
| |
− | System.out.println("MAJOR\n");
| |
− | } else if (mesAct < mesNeix) {
| |
− | System.out.println("MENOR\n");
| |
− | } else if (diaAct > diaNeix) {
| |
− | System.out.println("MAJOR\n");
| |
− | } else {
| |
− | System.out.println("MENOR\n");
| |
− | }
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 10. Escriure un algorisme en el qual a partir d’una data inicial llegida per teclat amb el format dia, mes, any, ens digui la data del dia següent. | | 10. Escriure un algorisme en el qual a partir d’una data inicial llegida per teclat amb el format dia, mes, any, ens digui la data del dia següent. |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici10 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int d, m, a, ds, ms, as;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix un dia :");
| |
− | d = lector.nextInt();
| |
− | System.out.print("Introdueix un mes :");
| |
− | m = lector.nextInt();
| |
− | System.out.print("Introdueix un any :");
| |
− | a = lector.nextInt();
| |
− |
| |
− | /* En principi només ens cal sumar-li una unitat al dia. Si el dia actual es
| |
− | menor que 28 (que es el nombre de dies mínim d'un mes), no passa res. En cas
| |
− | contrari hem de controlar si hi ha canvi de mes, i en el cas de desembre, si
| |
− | hi ha canvi d'any */
| |
− |
| |
− | ds = d + 1;
| |
− | ms = m;
| |
− | as = a;
| |
− | if (d >= 28) {
| |
− | switch (m) {
| |
− | case 4:
| |
− | case 6:
| |
− | case 9:
| |
− | case 11:
| |
− | if (ds > 30) {
| |
− | ds = 1;
| |
− | ms = m + 1;
| |
− | }
| |
− | break;
| |
− | case 1:
| |
− | case 3:
| |
− | case 5:
| |
− | case 7:
| |
− | case 8:
| |
− | case 10:
| |
− | if (ds > 31) {
| |
− | ds = 1;
| |
− | ms = m + 1;
| |
− | }
| |
− | break;
| |
− | case 12:
| |
− | if (ds > 31) {
| |
− | ds = 1;
| |
− | ms = 1;
| |
− | as = a + 1;
| |
− | }
| |
− | break;
| |
− | case 2:
| |
− | if ((ds > 29) || !((a % 4 == 0) && ((a % 100 != 0) || (a % 400 == 0)))) {
| |
− | ds = 1;
| |
− | ms = m + 1;
| |
− | }
| |
− | break;
| |
− | }
| |
− | }
| |
− | System.out.println("El dia seguent sera :" + ds + "/" + ms + "/" + as+"\n");
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| Alguns exercicis més: | | Alguns exercicis més: |
− |
| |
| | | |
| 11. Escriu un programa que llegeixi un número enter positiu i determini si es un número de 1, 2,3 o 4 xifres. | | 11. Escriu un programa que llegeixi un número enter positiu i determini si es un número de 1, 2,3 o 4 xifres. |
| | | |
| Control d'errors: Escriu els missatges pertinents si han introduït un valor fora del rang o si han introduït una cadena de caràcters. | | Control d'errors: Escriu els missatges pertinents si han introduït un valor fora del rang o si han introduït una cadena de caràcters. |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− | public class Exercici11 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int numero, xifres=0;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix un numero: ");
| |
− | if (lector.hasNextInt()){
| |
− | numero = lector.nextInt();
| |
− | lector.nextLine();
| |
− | if ((numero >= 0) && (numero <10000)){
| |
− | if ((numero >= 0) && (numero <10)) {
| |
− | xifres = 1;
| |
− | } else if ((numero >= 10) && (numero <100)){
| |
− | xifres = 2;
| |
− | } else if ((numero >= 100) && (numero <1000)){
| |
− | xifres = 3;
| |
− | } else if ((numero >= 1000) && (numero <10000)){
| |
− | xifres = 4;
| |
− | }
| |
− | System.out.println("El numero " + numero + " es de: " + xifres +" xifres");
| |
− | }
| |
− | else {
| |
− | System.out.println("El numero " + numero + " no es dins del rang 0-10000");
| |
− | }
| |
− | }
| |
− | else {
| |
− | System.out.println("Has d'introduir un número!!");
| |
− | }
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 12. En un casino de jocs es desitja mostrar els missatges respectius per els punts obtinguts en el llançament de tres daus d'un client, d'acord als següents resultats: | | 12. En un casino de jocs es desitja mostrar els missatges respectius per els punts obtinguts en el llançament de tres daus d'un client, d'acord als següents resultats: |
Línia 566: |
Línia 73: |
| Excel·lent! | | Excel·lent! |
| </pre> | | </pre> |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Random;
| |
− |
| |
− |
| |
− | public class Exercici12 {
| |
− |
| |
− | public static void main(String[] args) {
| |
− | int dau1, dau2, dau3;
| |
− | Random rnd = new Random();
| |
− | dau1 = rnd.nextInt(6)+1;
| |
− | dau2 = rnd.nextInt(6)+1;
| |
− | dau3 = rnd.nextInt(6)+1;
| |
− | System.out.println("Has tret: " + dau1 + " " + dau2 + " " + dau3);
| |
− | if ((dau1 == 6) && (dau2 ==6) && (dau3 ==6)) {
| |
− | System.out.println("Excel·lent!");
| |
− | }
| |
− | else if (((dau1 == 6) && (dau2 ==6)) || ((dau1 == 6) && (dau3 == 6)) || ((dau2 == 6) && (dau3 == 6))){
| |
− | System.out.println("Molt bé!");
| |
− | }
| |
− | else if ((dau1 == 6) || (dau2 ==6) || (dau3 == 6)){
| |
− | System.out.println("Regular");
| |
− | }
| |
− | else {
| |
− | System.out.println("Pèssim");
| |
− | }
| |
− |
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 13. Demaneu tres números enters positius i mostreu-los en ordre descendent. | | 13. Demaneu tres números enters positius i mostreu-los en ordre descendent. |
| | | |
| Control d'errors: Escriu els missatges pertinents si han introduït un valor negatiu, si han introduït una cadena de caràcters o si han introduït números iguals. | | Control d'errors: Escriu els missatges pertinents si han introduït un valor negatiu, si han introduït una cadena de caràcters o si han introduït números iguals. |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− |
| |
− | public class Exercici13 {
| |
− | public static void main(String[] args) {
| |
− | int num1, num2, num3;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introdueix un número: ");
| |
− | if (lector.hasNextInt()){
| |
− | num1 = lector.nextInt();
| |
− | lector.nextLine();
| |
− |
| |
− | System.out.print("Introdueix un altre número: ");
| |
− | if (lector.hasNextInt()){
| |
− | num2 = lector.nextInt();
| |
− | lector.nextLine();
| |
− |
| |
− | System.out.print("Introdueix el darrer número: ");
| |
− | if (lector.hasNextInt()){
| |
− | num3 = lector.nextInt();
| |
− | lector.nextLine();
| |
− |
| |
− | if ((num1 >= 0) && (num2 >= 0) && (num3 >= 0) ){
| |
− |
| |
− | if ((num1 > num2) && (num2 >num3)) {
| |
− | System.out.println( num1+", "+num2+", "+num3);
| |
− |
| |
− | } else if ((num1 > num3) && (num3 > num2)){
| |
− | System.out.println( num1+", "+num3+", "+num2);
| |
− |
| |
− | } else if ((num2 > num1) && (num1 > num3)){
| |
− | System.out.println( num2+", "+num1+", "+num3);
| |
− |
| |
− | } else if ((num2 > num3) && (num3 > num1)){
| |
− | System.out.println( num2+", "+num3+", "+num1);
| |
− |
| |
− | } else if ((num3 > num1) && (num1 > num2)){
| |
− | System.out.println( num3+", "+num1+", "+num2);
| |
− |
| |
− | } else if ((num3 > num2) && (num2 > num1)){
| |
− | System.out.println( num3+", "+num2+", "+num1);
| |
− |
| |
− | } else {
| |
− | System.out.println("Els números han de ser diferents!");
| |
− | }
| |
− |
| |
− | } else {
| |
− | System.out.println("Els números han de ser enters positius!");
| |
− | }
| |
− |
| |
− | } else {
| |
− | System.out.println("Només pots introduir números!!");
| |
− | }
| |
− |
| |
− | } else {
| |
− | System.out.println("Només pots introduir números!!");
| |
− | }
| |
− |
| |
− | } else {
| |
− | System.out.println("Només pots introduir números!!");
| |
− | }
| |
− | }
| |
− | }
| |
− |
| |
− | </source>
| |
− | -->
| |
− | <!--
| |
| | | |
| [https://irojasti.blogspot.com/2017/06/ejercicios-condicionales-java.html] | | [https://irojasti.blogspot.com/2017/06/ejercicios-condicionales-java.html] |
− | -->
| |
| | | |
| 14. Demaneu un número entre 0 y 9999, i indicar si és o no és capicua. | | 14. Demaneu un número entre 0 y 9999, i indicar si és o no és capicua. |
| | | |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− |
| |
− | public class Exercici14 {
| |
− | public static void main(String[] args) {
| |
− | int num;
| |
− | int dm, um, c, d, u;
| |
− | // 9 9 . 9 9 9 en vada variable guardarem un dígit:
| |
− | // dm um c d u: dm (desenes de millar), um:(unitats de millar)
| |
− | // c: (centenes), d: (desenes), u: (unitats)
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introduexi un número entre 0 y 99.999: ");
| |
− | num=lector.nextInt();
| |
− | // unitat
| |
− | u = num % 10;
| |
− | num = num / 10;
| |
− | // decenes
| |
− | d = num % 10;
| |
− | num = num / 10;
| |
− | // centenes
| |
− | c = num % 10;
| |
− | num = num / 10;
| |
− | // unitats de millar
| |
− | um = num % 10;
| |
− | num = num / 10;
| |
− | // decenes de millar
| |
− | dm = num;
| |
− | // el número serà capicua si les xifres són iguals dos a dos pels extrems
| |
− | // les centenes no es consideren
| |
− | if (dm == u && um == d)
| |
− | System.out.println ("El número és capicua!");
| |
− | else
| |
− | System.out.println ("El número NO és capicua!");
| |
− | // Cal tenir en compte que en aquest exercici el número 121 és similara al 00121 i
| |
− | // resulta que 121 es capicua, però el codi l'identifica com a NO capicua. Ja
| |
− | // que traballem amb el 00121. No tindrem en compte aquest petit error.
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
− | <!--
| |
| :''' Tenint en compte el número de xifres:''' | | :''' Tenint en compte el número de xifres:''' |
− |
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− |
| |
− | public class Exercici14 {
| |
− | public static void main(String[] args) {
| |
− | int num;
| |
− | int dm, um, c, d, u;
| |
− | // 9 9 . 9 9 9 en vada variable guardarem un dígit:
| |
− | // dm um c d u: dm (desenes de millar), um:(unitats de millar)
| |
− | // c: (centenes), d: (desenes), u: (unitats)
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introduexi un número entre 0 y 99.999: ");
| |
− | num=lector.nextInt();
| |
− | // unitat
| |
− | u = num % 10;
| |
− | num = num / 10;
| |
− | // decenes
| |
− | d = num % 10;
| |
− | num = num / 10;
| |
− | // centenes
| |
− | c = num % 10;
| |
− | num = num / 10;
| |
− | // unitats de millar
| |
− | um = num % 10;
| |
− | num = num / 10;
| |
− | // decenes de millar
| |
− | dm = num;
| |
− |
| |
− |
| |
− | //si el número té 5 xifres (dm, um, c, d, u)
| |
− | if (dm == u && um == d)
| |
− | capicua = true;
| |
− | //si el número té 4 xifres (0, um, c, d, u)
| |
− | if (dm == 0 && um == u && c == d)
| |
− | capicua = true;
| |
− | //si el número té 3 xifres (0, 0, c, d, u)
| |
− | if (dm == 0 && um==0 && c == u)
| |
− | capicua = true;
| |
− | //si el número té 2 xifres (0, 0, 0, d, u)
| |
− | if (dm == 0 && um == 0 && c == 0 && d == u)
| |
− | capicua = true;
| |
− | // se enten que un número d'una xifra no és capicua
| |
− | if (capicua)
| |
− | System.out.println ("El número és capicua");
| |
− | else
| |
− | System.out.println ("El número NO és capicúa"); } }
| |
− | </source>
| |
− | -->
| |
| | | |
| 15. Demanar una hora en format: hora, minuts i segons, i mostreu el segon següent: | | 15. Demanar una hora en format: hora, minuts i segons, i mostreu el segon següent: |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− |
| |
− | public class Exercici15 {
| |
− | public static void main(String[] args) {
| |
− | int hora, minuts, segons; // hora, minuts y segons
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introduexi l'hora (format 24-hores): ");
| |
− | hora=lector.nextInt();
| |
− | System.out.print("Introduexi els minuts: ");
| |
− | minuts=lector.nextInt();
| |
− | System.out.print("Introduexi els segons: ");
| |
− | segons=lector.nextInt();
| |
− | // suposarem que l'hora, els minuts i els segons són correctes
| |
− | // incrementem els segons
| |
− | segons++;
| |
− | // si superen els 59, els reiniciem a 0 e incrementem els minuts
| |
− | if (segons == 60) {
| |
− | segons = 0;
| |
− | minuts++;
| |
− | // si superen els 59, reiniciem a 0 e incrementem les hores
| |
− | if (minuts == 60) {
| |
− | minuts = 0;
| |
− | hora++;
| |
− | // si superen les 23, reiniciem a 0
| |
− | if (hora == 24)
| |
− | hora = 0;
| |
− | }
| |
− | }
| |
− | System.out.println ("Hora: "+ hora + ":"+ minuts + ":" + segons);
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
| | | |
| 16. Demanar un número entre 0 i 99 i mostreu-lo amb text. | | 16. Demanar un número entre 0 i 99 i mostreu-lo amb text. |
Línia 852: |
Línia 119: |
| |nou||dinou||vint-i-nou||trenta-nou||quaranta-nou||cinquanta-nou||seixanta-nou||setanta-nou||vuitanta-nou||noranta-nou | | |nou||dinou||vint-i-nou||trenta-nou||quaranta-nou||cinquanta-nou||seixanta-nou||setanta-nou||vuitanta-nou||noranta-nou |
| |} | | |} |
− | <!--
| |
− | <source lang="java">
| |
− | package estructura_alternativa;
| |
− |
| |
− | import java.util.Scanner;
| |
− |
| |
− |
| |
− | public class Exercici16 {
| |
− | public static void main(String[] args) {
| |
− | int num, unitats, desenes;
| |
− | Scanner lector = new Scanner(System.in);
| |
− | System.out.print("Introduexi un número entre 0 i 99: ");
| |
− | num = lector.nextInt();
| |
− | unitats = num % 10;
| |
− | desenes = num / 10;
| |
− |
| |
− | //Tractament de les desenes
| |
− | switch (desenes) {
| |
− | case 0:
| |
− | System.out.print("");
| |
− | break;
| |
− | case 1:
| |
− | switch (unitats) {
| |
− | case 0:
| |
− | System.out.print("deu");
| |
− | break;
| |
− | case 1:
| |
− | System.out.print("onze");
| |
− | break;
| |
− | case 2:
| |
− | System.out.print("dotze");
| |
− | break;
| |
− | case 3:
| |
− | System.out.print("tretze");
| |
− | break;
| |
− | case 4:
| |
− | System.out.print("catorze");
| |
− | break;
| |
− | case 5:
| |
− | System.out.print("quinze");
| |
− | break;
| |
− | case 6:
| |
− | System.out.print("setze");
| |
− | break;
| |
− | case 7:
| |
− | System.out.print("disset");
| |
− | break;
| |
− | case 8:
| |
− | System.out.print("divuit");
| |
− | break;
| |
− | case 9:
| |
− | System.out.print("dinou");
| |
− | break;
| |
− | }
| |
− | break;
| |
− | case 2:
| |
− | System.out.print("vint");
| |
− | if (unitats > 0) {
| |
− | System.out.print("-i");
| |
− | }
| |
− | break;
| |
− | case 3:
| |
− | System.out.print("trenta");
| |
− | break;
| |
− | case 4:
| |
− | System.out.print("quaranta");
| |
− | break;
| |
− | case 5:
| |
− | System.out.print("cinquanta");
| |
− | break;
| |
− | case 6:
| |
− | System.out.print("seixanta");
| |
− | break;
| |
− | case 7:
| |
− | System.out.print("setanta");
| |
− | break;
| |
− | case 8:
| |
− | System.out.print("vuitanta");
| |
− | break;
| |
− | case 9:
| |
− | System.out.print("noranta");
| |
− | break;
| |
− | }
| |
− | if ((desenes > 1) && (unitats > 0)) {
| |
− | System.out.print("-");
| |
− | }
| |
− | if (desenes != 1) {
| |
− | switch (unitats) {
| |
− | case 0:
| |
− | if (desenes == 0) {
| |
− | System.out.print("zero");
| |
− | }
| |
− | break;
| |
− | case 1:
| |
− | System.out.print("un");
| |
− | break;
| |
− | case 2:
| |
− | System.out.print("dos");
| |
− | break;
| |
− | case 3:
| |
− | System.out.print("tres");
| |
− | break;
| |
− | case 4:
| |
− | System.out.print("quatre");
| |
− | break;
| |
− | case 5:
| |
− | System.out.print("cinc");
| |
− | break;
| |
− | case 6:
| |
− | System.out.print("sis");
| |
− | break;
| |
− | case 7:
| |
− | System.out.print("set");
| |
− | break;
| |
− | case 8:
| |
− | System.out.print("vuit");
| |
− | break;
| |
− | case 9:
| |
− | System.out.print("nou");
| |
− | break;
| |
− | }
| |
− |
| |
− | }
| |
− | System.out.println("");
| |
− | }
| |
− | }
| |
− | </source>
| |
− | -->
| |
1. Un programa demana un número. Si és parell el multiplica per dos i li suma tres. Si és senar el multiplica per tres i li resta 4. Evidentment informa de què ha fet i informa del resultat.
2. Els treballadors d’una fàbrica treballen en dos torns: diürn i nocturn. Es vol calcular el salari d’un dia d’acord amb els següents punts:
El programa ha de llegir les hores treballades, el torn i el dia de la setmana i dir quin serà el salari.
3. Escriure un algorisme que llegeixi tres números enters i ens digui quin és el valor més gran.
4. Escriviu un programa que simuli una calculadora simple. El programa llegeix dos enters i un caràcter. Si el caràcter és un + s’imprimeix la suma, si és un – la resta, si és un * el producte, si és un / la divisió entera i si és un %, el mòdul.
5. Escriviu un programa que llegeixi del teclat un enter comprès entre 0 i 63 (inclosos) i ens digui el nombre de bits que necessitem per escriure’l en binari. No s’ha de fer servir cap funció calcular-ho, sinó simplement a base de if .. else, recordant que a cada potència de 2 necessitem un bit més.
6. Tres persones les edats de les quals s’han de llegir per teclat, van a un parc d’atraccions. El cost de l’entrada normal és de 20€. Però tenen els següents descomptes:
7. Escriviu un programa que llegeixi un mes en número i un any i indiqui el nombre de dies d’aquest mes. Cal recordar que un any és de traspàs (bixest) si és divisible per 4, excepte quan és divisible per 100, a no ser que sigui divisible per 400.
8. Per a esbrinar la Pasqua d’un any, procedirem de la següent manera:
9. Volem saber si una persona és major d’edat, per això llegirem la data de naixement i la data actual.
10. Escriure un algorisme en el qual a partir d’una data inicial llegida per teclat amb el format dia, mes, any, ens digui la data del dia següent.
11. Escriu un programa que llegeixi un número enter positiu i determini si es un número de 1, 2,3 o 4 xifres.
Control d'errors: Escriu els missatges pertinents si han introduït un valor fora del rang o si han introduït una cadena de caràcters.
12. En un casino de jocs es desitja mostrar els missatges respectius per els punts obtinguts en el llançament de tres daus d'un client, d'acord als següents resultats:
13. Demaneu tres números enters positius i mostreu-los en ordre descendent.
Control d'errors: Escriu els missatges pertinents si han introduït un valor negatiu, si han introduït una cadena de caràcters o si han introduït números iguals.
14. Demaneu un número entre 0 y 9999, i indicar si és o no és capicua.
15. Demanar una hora en format: hora, minuts i segons, i mostreu el segon següent:
16. Demanar un número entre 0 i 99 i mostreu-lo amb text.