M3 - Programació estructurada / Exercicis UF1: Seqüencials-Solucions
1. Volem un programa que donat dos números enters ens mostri el resultat de les cinc operacions aritmètiques fetes amb aquests valors.
package exercicis;
import java.util.Scanner;
public class Operacions {
public static void main(String[] args) {
int num1, num2;
Scanner lector = new Scanner(System.in);
System.out.print("Introdueix el primer valor: ");
num1 = lector.nextInt();
System.out.print("Introdueix el segon valor: ");
num2 = lector.nextInt();
System.out.println("El resultat de la suma és: " + (num1 + num2));
System.out.println("El resultat de la resta és: " + (num1 - num2));
System.out.println("El resultat de la multiplicació és: " + (num1 * num2));
System.out.println("El resultat de la divisió és: " + (num1 / num2));
System.out.println("El resultat del mòdul és: " + (num1 % num2));
}
}
2. El següent és el sou dels treballadors d’una empresa. Dissenyar un algorisme capaç de llegir el nombre de treballadors de cada tipus i calcular el sou total que s’ha de pagar mensualment.
- a) Personal de neteja (500 euros)
- b) Auxiliar administratiu (600 euros)
- c) Administratiu (700 euros)
- d) Informàtic (1200 euros)
- e) Morro Consultant Senior (12000 euros)
package exercicis;
import java.util.Scanner;
public class Treballadors {
public static void main(String[] args) {
final int NETEJA = 500;
final int AUX = 600;
final int ADM = 700;
final int INF = 1200;
final int MORRO = 12000;
int net, adm, inf, morro,nomina;
Scanner lector = new Scanner(System.in);
System.out.print("Introdueix el nombre de treballadors de neteja: ");
net = lector.nextInt();
System.out.print("Introdueix el nombre de treballadors auxiliars: ");
aux = lector.nextInt();
System.out.print("Introdueix el nombre de treballadors administratius: ");
adm = lector.nextInt();
System.out.print("Introdueix el nombre de treballadors informàtics: ");
inf = lector.nextInt();
System.out.print("Introdueix el nombre de treballadors amb morro: ");
morro = lector.nextInt();
nomina = net * NETEJA + aux * AUX + adm * ADM + inf * INF + morro * MORRO;
System.out.println("La nòmina mensual és de :" + nomina + " euros");
}
}
3. En un hospital existeixen tres departaments: Ginecologia, Pediatria i Traumatologia.
El pressupost anual de l’hospital es reparteix així:
- Ginecologia : 50%
- Pediatria: 30%
- Traumatologia: 20%
Obteniu la quantitat de diners que rebrà cada departament, per a qualsevol pressupost (que llegireu des de teclat).
package exercicis;
import java.util.Scanner;
public class Hospital {
public static void main(String[] args) {
final double PCT_GIN =0.5;
final double PCT_PED =0.3;
final double PCT_TRA =0.2;
double pressupost, ginecologia, pediatria, trauma;
Scanner lector = new Scanner(System.in);
System.out.print("Introdueix el pressupost de l'hospital: ");
pressupost = lector.nextDouble();
ginecologia = pressupost * PCT_GIN;
pediatria = pressupost * PCT_PED;
trauma = pressupost * PCT_TRA;
System.out.println("El pressupost de ginecologia es : " + ginecologia);
System.out.println("El pressupost de pediatria es : " + pediatria);
System.out.println("El pressupost de traumatologia es : " + trauma);
}
}
4. L’amo d’una botiga compra un article a un determinat preu. Mostreu el preu al qual el vendrà, si intenta guanyar un 30%.
package exercicis;
import java.util.Scanner;
public class Botiga {
public static void main(String[] args) {
final double PCT_BENEFICI = 1.3;
double compra;
Scanner lector = new Scanner(System.in);
System.out.print("Introdueix el valor de compra: ");
compra=lector.nextDouble();
System.out.println("El valor de venda serà: "+ (compra*PCT_BENEFICI));
}
}
5. Un alumne vol saber la seva nota final de programació. Aquesta nota es calcula així:
- 55% del promig de tres exercicis
- 30% de la nota de l’examen
- 15% de la nota d’una pràctica final
package exercicis;
import java.util.Scanner;
public class NotaProgramacio {
public static void main(String[] args) {
final double PCT_EXERC = 0.55;
final double PCT_EXAM = 0.3;
final double PCT_PRACT = 0.15;
double ex1, ex2, ex3, promig,examen, practica, notaFinal;
Scanner lector = new Scanner(System.in);
System.out.print("Introdueix la nota de l'exercici 1: ");
ex1 = lector.nextDouble();
System.out.print("Introdueix la nota de l'exercici 2: ");
ex2 = lector.nextDouble();
System.out.print("Introdueix la nota de l'exercici 3: ");
ex3 = lector.nextDouble();
System.out.print("Introdueix la nota de l'examen: ");
examen = lector.nextDouble();
System.out.print("Introdueix la nota de la pràctica: ");
practica = lector.nextDouble();
promig=(ex1+ex2+ex3)/3;
notaFinal=(promig*PCT_EXERC)+(examen*PCT_EXAM)+(practica*PCT_PRACT);
System.out.println("La nota final és: " + notaFinal);
}
}
6. Una família està composada per 6 elements: dos germans (Joan i Marta), els dos pares i els dos avis materns. De les seves edats sabem el següent:
- a. L’avi té sis vegades l’edat de la Marta
- b. L’avia té la suma de les edats dels pares menys l’edat de la Marta
- c. L’edat del Joan és el resultat de fer el mòdul entre l’edat del pare i la de la Marta
- d. L’edat de la mare és el triple de l’edat de la Marta afegint-li l’edat del Joan
- e. L’edat del pare és el resultat de multiplicar per 6, la divisió entera entre l’edat de l’avi i l’edat de la Marta.
- f. La Marta té 10 anys.
Quants anys tenen tots ? Mostrar-ho per pantalla.
package exercicis;
public class Familia {
public static void main(String[] args) {
final int MARTA = 10;
int joan, pare, mare, avi, avia;
avi = 6 * MARTA;
pare = 6 * (avi / MARTA);
joan = pare % MARTA;
mare = 3 * MARTA + joan;
avia = mare + pare - MARTA;
System.out.println("Les edats són: ");
System.out.println("Marta: " + MARTA + "\nJoan: " + joan + "\nMare: " + mare + "\nPare: "
+ pare + "\nÀvia: " + avia + "\nAvi: " + avi);
}
}