Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF1: Classes»

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «==Exercici 1== Estem creant una base de dades amb els alumnes de primer. Ens interessa el nom i els cognoms. També ens interessa saber les notes que tenen a cada una...».)
 
Línia 27: Línia 27:
 
'''Nota:''' Per a que funcioni aquest codi de fitxer cal que afegiu a la capçalera de la classe
 
'''Nota:''' Per a que funcioni aquest codi de fitxer cal que afegiu a la capçalera de la classe
 
Alumne-->implements Serializable
 
Alumne-->implements Serializable
 +
 +
==Exercici 2 (extra)==
 +
Una companyia d’assegurances té les següents dades dels seus 100 clients:
 +
 +
:*Nom i cognoms
 +
:*Número de pòlissa
 +
:*Tipus de pòlissa
 +
:*Quantitat assegurada
 +
 +
Existeixen tres tipus de pòlisses: Vehicle, Vida i Vivenda. En el primer cas es coneix la marca i l’any de matriculació, en el segon l’any de naixement i en el tercer si la vivenda posseeix o no sistema de seguretat.
 +
 +
Volem un programa que obtingui el següent llistat :
 +
 +
<pre>
 +
  Client: ...............................................................................................
 +
  Pòlissa Nº:.....................................Tipus:.................................................
 +
  Quantitat assegurada ............................... Total a pagar ....................................
 +
</pre>
 +
 +
Per a obtenir el total a pagar s’ha de tenir en compte:
 +
 +
:*El cost de l’assegurança en general és del 1% de la quantitat assegurada
 +
:*Les assegurances de vida i les de vivenda tenen un descompte del 20%
 +
:*En l’assegurança de vehicles s’aplicarà la següent taula d’increments del cost d’acord amb l’antiguitat del vehicle referida a l’any actual:
 +
:::-per a més de 5 anys el 5%
 +
:::-per a més de 8 anys el 10%
 +
:::-per a més de 10 anys el 20%
 +
:*En  les  assegurances  de  vivenda,  el  cost  s’incrementarà  un  20%  si  no  es posseeixen sistemes de seguretat.
 +
 +
Cada client té només un tipus d’assegurança.
 +
 +
'''Nota:''' Fes servir el mateix mètode de l’exercici anterior per a guardar-ho en un fitxer.

Revisió del 17:11, 1 març 2018

Exercici 1

Estem creant una base de dades amb els alumnes de primer. Ens interessa el nom i els cognoms. També ens interessa saber les notes que tenen a cada una de les tres primeres UF de programació. En total volem guardar informació de 20 alumnes. Primer de tot cal definir la classe Alumne.

El programa ha de permetre mitjançant un menú: afegir un nou alumne, posar notes a un alumne, llistar (el que sigui) , etc...

Per no perdre la informació cada vegada que executeu el programa i no haver d’estar inserint contínuament alumnes podeu ajudar-vos del codi de fitxers que ja teniu implementat.

El vostre programa tindrà aquest aspecte:

public class ProgramaAlumnes {

     public static void main(String[] args) {

       GestioFitxer g= new GestioFitxer();
       Alumne alumnes[] = new Alumne[20];
       int quants=g.llegeix(alumnes);
       // Aquí va el vostre codi
       g.escriu(alumnes, quants);
     }
   }

Amb el codi anterior el que heu fet inicialment passar tota la informació del fitxer a la taula d’alumnes. La variable quants indica quantes posicions de la taula teniu ocupades (és a dir, quants alumnes teniu). Lògicament la primera vegada que executeu, el fitxer no existirà (ja que encara no hi ha alumnes), la taula d’alumnes estarà buida i la variable quants valdrà 0.

El codi del final del programa el que fa és traspassar tota la informació de la taula al fitxer. Per a que això funcioni bé, heu d’actualitzar la variable quants cada vegada que inseriu o elimineu un alumne.

Nota: Per a que funcioni aquest codi de fitxer cal que afegiu a la capçalera de la classe Alumne-->implements Serializable

Exercici 2 (extra)

Una companyia d’assegurances té les següents dades dels seus 100 clients:

  • Nom i cognoms
  • Número de pòlissa
  • Tipus de pòlissa
  • Quantitat assegurada

Existeixen tres tipus de pòlisses: Vehicle, Vida i Vivenda. En el primer cas es coneix la marca i l’any de matriculació, en el segon l’any de naixement i en el tercer si la vivenda posseeix o no sistema de seguretat.

Volem un programa que obtingui el següent llistat :

   Client: ...............................................................................................
   Pòlissa Nº:.....................................Tipus:.................................................
   Quantitat assegurada ............................... Total a pagar ....................................

Per a obtenir el total a pagar s’ha de tenir en compte:

  • El cost de l’assegurança en general és del 1% de la quantitat assegurada
  • Les assegurances de vida i les de vivenda tenen un descompte del 20%
  • En l’assegurança de vehicles s’aplicarà la següent taula d’increments del cost d’acord amb l’antiguitat del vehicle referida a l’any actual:
-per a més de 5 anys el 5%
-per a més de 8 anys el 10%
-per a més de 10 anys el 20%
  • En les assegurances de vivenda, el cost s’incrementarà un 20% si no es posseeixen sistemes de seguretat.

Cada client té només un tipus d’assegurança.

Nota: Fes servir el mateix mètode de l’exercici anterior per a guardar-ho en un fitxer.