Llicència
Pots copiar i redistribuir aquest material seguint la llicència Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0, indicant-ne autors originals, l'origen (aquesta web), sense fins comercials i mantenint-ne aquesta la llicència
Autors:
Exercicis Dades i variables
- Crea un package cat.itb.elteuusuari(*).dam.m03.uf1.data
- El nom del fitxer de cada exercici ha de ser el nom de l'exercici
(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat
Sumari
- Exercicis Dades i variables
Enters
IntDoubleMe
Llegeix un enter i imprimeix el doble del valor entrat.
IntSum
Llegeix dos enters i imprimeix la suma dels dos.
IntRectangleArea
Una web d'habitatges de lloguer ens ha proposat una ampliació. Volen mostrar l'àrea de les habitacions en lloguer. Fes un programa que ens ajudi a calcular les dimensions d'una habitació. Llegeix l'amplada i la llargada en metres (enters) i mostra'n l'àrea
CrazyOperation
L'usuari escriu 4 enters i s'imprimeix el valor de sumar el primer amb el segon, mutiplicat per la resta del tercer amb el quart.
Desks
En una escola tenim tres classes i volem saber quin és el número de pupitres que necessitarem tenir en total. Dependrà del número d'alumnes per aula. Cal tenir en compte que a cada pupitre hi caben 2 alumnes. Llegeix tres valors corresponents al número d'alumnes de cada aula i mostra el total de pupitres
Input
22
25
26
Ouput
37
Salary
A un treballador li paguen per hores, a partir de 40 hores de treball la tarifa per hora s'incrementa en un 50%. Escriu un algorisme que demani les hores treballades i mostri com a resultat el salari del treballador, tenint en compte
que la tarifa per hora és de 40 eur/h.
Sabem que el treballadors per contracte compleixen un mínim de 40 hores i en cap cas seran superiors a 79 hores.
CompilationError
Defineix una variable de tipus enter i inicialitxa-la amb un valor de diferent tipus per exemple: 3.5 Quin tipus d'error es genera?
Double
DoubleDoubleMe
Llegeix un valor amb decimals i imprimeix el doble.
CalculateDiscount
Llegeix el preu original i el preu actual i imprimeix el descompte (en %).
HowBigIsMyPizza
Llegeix el diametre d'una pizza rodona i imprimeix la seva superfície. Pots fer servir Math.PI per escriure el valor de Pi.
AirVolumeCalculator
Per poder fer un estudi de la ventilació d'una aula necessitem poder calcular la quantitat d'aire que hi cap en una habitació. Llegeix les 3 dimensions de l'aula i printa per pantalla quin volum té.
Boolean
IsLegalAge
L'usuari escriu un enter amb la seva edat i s'imprimeix true si és major d'edat, i false en qualsevol altre cas.
IsGreater
L'usuari escriu dos valors i s'imprimeix true si el primer és més gran que el segon i false en qualsevol altre cas.
IsValidNote
L'usuari escriu un enter i s'imprimeix true si existeix un bitllet d'euros amb la quantitat entrada, false en qualsevol altre cas.
IsDivisible
L'usuari escriu dos valors enters.
Imprimeix si el primer és divisible pel segon (si el mòdul de dividir el primer amb el segon és 0).
IsTeenager
L'usuari escriu un enter amb la seva edat i s'imprimeix true si l'edat està entre 10 i 20.
BirthdayCelebrated
Digues si una persona ha celebrat l'aniversari enguany. Suposarem les variables següents: diaAniversari, mesAniversari, diaActual, MesActual
InRange
Escriu un programa que llegeixi 5 enters. El primer i el segon creen un rang, el tercer i el quart creen un altre rang. Mostra true si el cinquè valor està entre els dos rangs, sino false.
WorkingAge
Escriu un programa que llegeixi l'edat de l'usuari i mostri si té edat per treballar, l'edat mínima per treballar legalment és 16 i suposarem l'edat màxima als 65.
Strings
HelloToMe
L'usuari escriu el seu nom i printa per pantalla "Bon dia nom introduït"
NextNumber
L'usuari escriu un número enter. Printa per pantalla el número següent amb el format: "Després ve el 5".
Variables
PrintCurrentTemperature
Demana a l'usuari la temperatura actual i un augment de temperatura. Imprimeix per per pantalla: La temperatura actual és 45.2º. Usa una variable per guardar la temperatura actual.
Conversions
CutFractional
Escriu un programa que llegeixi un número, en talli la seva part fraccionària i mostri la part entera de l'input com a resultat.
Utilitza un Double com a tipus d'entrada (input) i Long com a resultat (output) - Els valors poden ser prou llargs
Tipus Compostos
BusinessCardPrinter
Volem fer un programa per imprimir targetes de visites.
Demana a l'usuari el nom i el 1r cognom i el número despatx on treballa. Guarda't la informació en una classe nova.
Imprimeix el següent text:
Empleada: Mar Puig - Despatx: 24
GameCharacter
Volem fer un joc 2D en la que diferents robots (tancs) lluiten al'arena. Tots els robots tenen les mateixes característiques, el que varia és la IA que els controla. Has de crear la classe robot per a què cada usuari pugui definir el seu robot.
Per ara sabem que:
- El robot té un cos: permet al robot desplaçar-se y girar. Per tant guardarem la seva posició. Es distingirà pel seu color.
- Quan el tanc xoca perd vida
- Quan el tanc dispara i encerta guanya vida proporcionalment
Pirate
El següent codi mostra el nom del capità i del vaixell.
var captain = Pirate("Hector Barbossa","Black Pearl")
println($captain.name captains $captain.ship)
// put your code here
La tripulació vol reescollir el capità, ara serà en Jack Sparrow.
Modifica la declaració del capità i canvia'l de Hector Barbossa a Jack Sparrow. Després imprimeix el nom del capità actual.
Crea la classe Pirate
Output:
Hector Barbossa captains Black Pearl
Jack Sparrow captains Black Pearl
Avançats
BiggerPizza
Volem comparar quina pizza és més gran, entre una rectangular i una rodona
L'usuai entra el diametre d'una pizza rodona
L'usuari entra els dos costats de la pizza rectangular
Imprimeix true si la pizza rodona és més gran, o false en qualsevol altre cas.
DivideBill
L'usuari introdueix el número de començals i el preu d'un sopar en cèntims d'euro.
Imprimeix quan haurà de pagar cada començal.
TimeTravelHelper
Després de molt d'esforç hem aconseguit dissenyar una màquina del temps. Només ens falta una utilitat, necesitem un petit programa que ens indiqui en quin dia estem. Fes un programa que imprimeixi per pantalla el següent missatge Avui és: 2021-09-17. Usa LocalDate.now() per obtenir la data actual.
Repàs
IsOdd
Volem fer un programa que ens indiqui si un valor es enter o senar.
- L'usuari introdueix un enter
- Printa la true si és senar, false en qualsevol altre cas.
Input
5
Output
true
NiceDivide
Volem fer un programa que ens ajudi a fer divisions sense decimals.
- L'usuari introdueix dos enters
- Printa la divisió (entera) i el mòdul dels dos enters en el següent format
- 11 dividit entre 2 és 5 mòdul 1
Input
11 2
Output
11 dividit entre 2 és 5 mòdul 1
OneIs10
- L'usuari introdueix 4 enters
- Printa true si algun és 10 o false en qualsevol altre cas.
AverageSpeed
- L'usuari introdueix els quilometres recorreguts i el temps minuts que ha tardat en fer el recorregut
- Printa per pantalla la velocitat mitjana en km/hora
IsSallaryEnough
Un home vol llogar un apartament al centre de la ciutat. Aquest home guanya valor1 euros per hora. Penseu que treballa 6 hores diàries durant 5 dies a la setmana durant quatre setmanes. L’apartament costa valor2 euros per quatre setmanes. També heu de suposar que heu de plantejar-vos gastar valor3 euros cada quatre setmanes per altres motius.
Imprimeix true si es pot permetre l'apartament o false si no pot.
L'usuari introuïra en el següent ordre
- Euros per hora (en format enter)
- Cost de l'apartament durant 4 setmanes
- Diners extres a gastar.
Input
42
1200
1400
Output
true