SlideShare a Scribd company logo
Estudis d’Informàtica, Multimèdia i Telecomunicacions
Grau de multimèdia
Programació web – PAC 2
• Per a dubtes i aclariments sobre l’enunciat, adreceu-vos al consultor responsable
de la vostra aula
• Cal lliurar la solució en un fitxer comprimit (zip, rar, 7z) que contindrà un document
en format doc/odt i aquells arxius html, js i css necessaris per a les qüestions
pràctiques que contingues codi JavaScript. Adjunteu el fitxer a un missatge adreçat
a la bústia Lliurament i registre d’AC.
• El nom del fitxer ha de ser CognomsNom_PW_PAC2 amb l’extensió .doc, .odt o
.pdf..
• Consulteu la data de lliurament al calendari.
PAC2 - JavaScript: POO.
1.- Explica amb les teves paraules en que consisteix l’herència i quina diferencia hi ha entre
una classe i un objecte.
Les classes són les declaracions d'entitats, amb les seves característiques i mètodes, per definir
un objecte s'utilitza una classe Quan es programa un objecte i definim les seves característiques i
funcionalitats s'està programant una classe.
A la programació orientada a objectes podríem dir que els objectes són exemplars d'una classe
qualsevol Quan vam crear un exemplar (objecte) hem d'especificar a partir de la qual es va a
crear, Aixo s'anomena instanciar.
Un exemple:
Tenim una classe taxi --> d'ella podrien sortir objectes -->; taxi. Matricula 0001, taxi. Matricula.02
taxi. Matricula 003, etc...
La herencia es la tramsmisio de codi entre unes clases i altres, per a poder realitzar una
herencia s'utilitzen dos clases. La clase pare es la que transmet el codi a la clase filla.
Aixo es com si estaguera escrit tot el codi de la classe pare linea a linea dins de la clase filla.
Un Exemple
cotxe --> pare
matricula, marca, model, color, passatgers
tatxi --> fill
pare + numero llicència
2.- Crea una classe JavaScript amb les següents característiques: (2 punts)
a) Identificador “edifici”.
b) Amb les propietats següents: “nom”, “descripció”, “adreça”, “data inauguració”,
“arquitecte”, “cost”
c) Amb els mètodes necessaris per consultar i modificar les propietats anteriors, un
mètode constructor de la classe i un mètode “mostra” que mostri en un alert les
propietats de la instància.
d) Crea una instància de la classe anterior i crida al mètode que mostra les
propietats de la instància.
//definim el métode imprimete per la clase edifici
function imprimete(){
document.write("<br>nom: " + this.nom)
document.write("<br>descripcio: " + this.descripcio)
document.write("<br>adresa: " + this.adresa)
document.write("<br>dataInauguracio: " + this.dataInauguracio)
document.write("<br>arquitecte: " + this.arquitecte)
document.write("<br>cost: " + this.cost)
}
// varialbles Get I Set a tots els parametres
function getNom(){
document.write("<br>nom: "+this.nom)
}
function setNom(nom){
this.nom=nom
}
function getDescripcio(){
document.write("<br>nom: "+this.descripcio)
}
function setDescripcio(descripcio){
this.descripcio=descripcio
}
function getArquitecte(){
document.write("<br>nom: "+this.arquitecte)
}
function setArquitecte(arquitecte){
this.arquitecte=arquitecte
}
function getAdresa(){
document.write("<br>nom: "+this.adresa)
}
function setAdresa(adresa){
this.adresa=adresa
}
function getDataInauguracio(){
document.write("<br>nom: "+this.dataInauguracio)
}
function setDataInauguracio(dataInauguracio){
this.dataInauguracio=dataInauguracio
}
function getCost(){
document.write("<br>nom: "+this.cost)
}
function setCost(cost){
this.dataCost=dataCost
}
function edifici (nom,descripcio,arquitecte,adresa,dataInauguracio,cost ) {
this.nom=nom
this.descripcio = descripcio
this.adresa=adresa
this.dataInauguracio=dataInauguracio
this.arquitecte=arquitecte
this.cost = cost
this.imprimete=imprimete
this.getNom=getNom
this.setNom=setNom
this.getDescripcio=getDescripcio
this.setDescripcio=setDescripcio
this.getArquitecte=getArquitecte
this.setArquitecte=setArquitecte
this.getAdresa=getAdresa
this.setAdresa=setAdresa
this.getDataInauguracio=getDataInauguracio
this.setDataInauguracio=setDataInauguracio
this.getCost=getCost
this.setCost=setCost
}
//creem El meu edifici amb els parametres :
(nom,descripcio,arquitecte,adresa,dataInauguracio,cost )
elMeuedifici = new edifici("Finca Redona","caravista color roig", " Manolo i
Benito", "Pintor Claros", "25 agost 2010", "1.000.000")
//li demanem que imprimir les dates de l'objecte edifici
elMeuedifici.imprimete()
Adjunte el codi de l'exercici
3.- A partir de la classe de l’exercici anterior crea una nova classe ajuntament que hereta de
l’anterior les propietats i els mètodes, però que: (2 punt)
a) Afegeix la següent propietat: “població”
b) Afegeixi els mètodes necessaris per actualitzar la propietat anterior.
c) Actualitza el mètode “mostra” per a que també aparegui la propietat “població”.
d) Crea una instància de la classe anterior i crida al mètode que mostra les propietats de la
instància.
//definim el métode imprimete per la clase edifici
function imprimete(){
document.write("<br>nom: " + this.nom)
document.write("<br>descripcio: " + this.descripcio)
document.write("<br>adresa: " + this.adresa)
document.write("<br>dataInauguracio: " + this.dataInauguracio)
document.write("<br>arquitecte: " + this.arquitecte)
document.write("<br>cost: " + this.cost)
}
// varialbles Get I Set a tots els parametres
function getNom(){
document.write("<br>nom: "+this.nom)
}
function setNom(nom){
this.nom=nom
}
function getDescripcio(){
document.write("<br>nom: "+this.descripcio)
}
function setDescripcio(descripcio){
this.descripcio=descripcio
}
function getArquitecte(){
document.write("<br>nom: "+this.arquitecte)
}
function setArquitecte(arquitecte){
this.arquitecte=arquitecte
}
function getAdresa(){
document.write("<br>nom: "+this.adresa)
}
function setAdresa(adresa){
this.adresa=adresa
}
function getDataInauguracio(){
document.write("<br>nom: "+this.dataInauguracio)
}
function setDataInauguracio(dataInauguracio){
this.dataInauguracio=dataInauguracio
}
function getCost(){
document.write("<br>nom: "+this.cost)
}
function setCost(cost){
this.dataCost=dataCost
}
function edifici (nom,descripcio,arquitecte,adresa,dataInauguracio,cost ) {
this.nom=nom
this.descripcio = descripcio
this.adresa=adresa
this.dataInauguracio=dataInauguracio
this.arquitecte=arquitecte
this.cost = cost
this.imprimete=imprimete
this.getNom=getNom
this.setNom=setNom
this.getDescripcio=getDescripcio
this.setDescripcio=setDescripcio
this.getArquitecte=getArquitecte
this.setArquitecte=setArquitecte
this.getAdresa=getAdresa
this.setAdresa=setAdresa
this.getDataInauguracio=getDataInauguracio
this.setDataInauguracio=setDataInauguracio
this.getCost=getCost
this.setCost=setCost
}
//get i set de poblacio
function getPoblacio(){
document.write("<br>poblacio: "+this.poblacio)
}
function setPoblacio(poblacio){
this.dataPoblacio=dataPoblacio
}
//creacio del polimorfisme amb el nou parametre poblacio
function ajuntament(nom,descripcio,arquitecte,adresa,dataInauguracio,cost,
poblacio){
edifici.call(this, nom,descripcio,arquitecte,dataInauguracio,cost )
this.poblacio=poblacio
//get i set poblacio
this.getCost=getCost
this.setCost=setCost
this.imprimete=function (){
document.write("<br>nom: " + this.nom)
document.write("<br>descripcio: " + this.descripcio)
document.write("<br>adresa: " + this.adresa)
document.write("<br>dataInauguracio: " + this.dataInauguracio)
document.write("<br>arquitecte: " + this.arquitecte)
document.write("<br>cost: " + this.cost)
document.write("<br> poblacio "+this.poblacio)
}
}
ajuntament.prototype=new edifici
//a partir de l'herencia + el parametre
elMeuedificiAj = new ajuntament("Finca Redona","caravista color roig", " mamolo
i Benito", "Pintor Claros", "25 agost 2016", "1.000","Sueca")
//Imprimir
elMeuedificiAj.imprimete()
Adjunte el codi de l'exercici
4.- Crea un script que implementi un joc d’endevinar nombres aleatoris enters menors que deu.
D’aquesta forma l’script ha de calcular un nombre aleatori menor que 10 i demanarà mitjançant un
prompt a l’usuari la introducció d’un nombre.
Si aquest nombre coincideix amb l’aleatori, el jugador sumarà dos punts i si no coincideix tindrà un
altra oportunitat però en cas d’encertar tindrà la meitat de punts i aquest procés només es pot
repetir 3 vegades.
El joc acaba quan bé l’usuari encerta o quan acaba sense encertar, una partida es basarà en 3
jocs i al finalitzar es mostraran els punts obtinguts en cada joc.
// JavaScript Document
var nombreInicial=0
var nombre =0
var resultat=0
var comptador=0
var increment=2
var trobat=0
for(i=0;i<3;i++)
{
nombreInicial=Math.round(Math.random()*10)
increment=2
comptador=0
trobat=0
while(comptador<3 )
{
nombre= prompt("Introdueix en valor numeric entre 0 i 10 ","");
if(nombre==nombreInicial)
{
resultat=resultat+increment
comptador=3
trobat=1
}else
{
increment=increment/2
}
comptador++
}
if(trobat==1)
{
document.write("trobat -")
}else
{
document.write("no trobat -")
}
document.write("Següent nombre")
}
document.write("Has obtingut "+resultat+ " punts")
Adjunte el codi de l'exercici
5.- Crea un script que al clicar un botó sol·liciti que introduïm una data, una vegada introduïda ens
dirà la diferencia en dies que hi ha entre la data actual i la data introduïda, aquesta data podrà ser
anterior o posterior a l’actual, serà necessari validar que la data tingui el format dd/mm/aaaa.
// Establir els valors unitaris en mil·lisegons.
var msecPerMinute = 1000 * 60;
var msecPerHour = msecPerMinute * 60;
var msecPerDay = msecPerHour * 24;
// Establir una data i obtenir els mil·lisegons
var date0=prompt("Introdueix la teva data: mes, dia i l'any actual -->
mm/dd/2015 ","");
var date = new Date(date0);
var dateMsec = date.getTime();
var today= new Date();
// Obtenir la diferència en mil·lisegons.
var interval = dateMsec - today.getTime();
// Calcula quants dies conté l'interval.
if(interval<0)
{
interval=-1*interval;
}
var days = Math.floor(interval / msecPerDay );
// imprimir resultat
document.write(days + " dies, " );
Adjunte el codi de l'exercici
Criteris de correcció
 Els primer exercici s’avalua si l’estudiant demostra en pròpies paraules que entén
clarament els conceptes plantejats. No s’avaluarà el 100% si l’estudiant simplement
transcriu allò que s’explica als apunts.
 Els restants exercicis s’avaluaran tenint en compte els següents punts:
o La resolució utilitza adequadament els conceptes explicats a l’assignatura (30%)
o L'exercici fa el que es demana (30%)
o El codi és clar, ordenat (30%)
o Hi ha comentaris concisos i que expliquin clarament el que s'està fent. (10%)

More Related Content

PDF
PW_pac1
Marcos Baldovi
 
PDF
Practica
Marcos Baldovi
 
PDF
Marcos baldovipac3
Marcos Baldovi
 
PDF
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
PDF
Programació Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
PDF
Programació Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
DOC
Programació Web - PAC 1 - Multimedia (UOC) - Paquita Ribas
Paquita Ribas
 
PDF
imatge i llenguatge visual, pac1
Oscar Romero Barba
 
Practica
Marcos Baldovi
 
Marcos baldovipac3
Marcos Baldovi
 
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
Programació Web - PAC 4 correcció - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
Programació Web - PAC 4 - Multimèdia (UOC) - Paquita Ribas
Paquita Ribas
 
Programació Web - PAC 1 - Multimedia (UOC) - Paquita Ribas
Paquita Ribas
 
imatge i llenguatge visual, pac1
Oscar Romero Barba
 

Similar to PW_pac2 (20)

PDF
Prog_pac2
Marcos Baldovi
 
PDF
Freelance i Enginyeria
David Rodenas
 
PPTX
UD3 PROGRAMACIÓ
Alfredo Roig
 
PDF
Programació - Pac2 - Lidia Bria
Lidia Bria
 
PDF
Orientació a objectes amb Moose
Alex Muntada Duran
 
ODP
Python
Antoni Aloy
 
PPTX
JavaScript per a desenvolupadors de C#
Edin Kapic
 
PDF
Programació - Pac2 - Solució - Lídia Bria
Lidia Bria
 
PDF
Itineraris IT Academy (2020)
Barcelona Activa
 
DOCX
Guia d'estils jordi
La Salle
 
PDF
Aplicacions Interactives multiplataforma_pac2
Marcos Baldovi
 
PDF
Cas d’us de Framework web desenvolupat amb llibreries Lliures
Jordi Catà
 
PDF
Introducció a Java Collections
Xavier Sala Pujolar
 
PPTX
UD3 Programació
Alfredo Roig
 
PDF
Dai 9 - Ruby on Rails
Carles Mateu
 
PPTX
Desarrollo Angular presentacion en catalan
javitempab
 
PDF
Programació - Pac1 - Solució - Lídia Bria
Lidia Bria
 
DOC
Programació Web - PAC 2 - Multimedia (UOC) - Paquita Ribas
Paquita Ribas
 
PDF
Prog_pac3
Marcos Baldovi
 
PDF
DBBDD_pac1
Marcos Baldovi
 
Prog_pac2
Marcos Baldovi
 
Freelance i Enginyeria
David Rodenas
 
UD3 PROGRAMACIÓ
Alfredo Roig
 
Programació - Pac2 - Lidia Bria
Lidia Bria
 
Orientació a objectes amb Moose
Alex Muntada Duran
 
Python
Antoni Aloy
 
JavaScript per a desenvolupadors de C#
Edin Kapic
 
Programació - Pac2 - Solució - Lídia Bria
Lidia Bria
 
Itineraris IT Academy (2020)
Barcelona Activa
 
Guia d'estils jordi
La Salle
 
Aplicacions Interactives multiplataforma_pac2
Marcos Baldovi
 
Cas d’us de Framework web desenvolupat amb llibreries Lliures
Jordi Catà
 
Introducció a Java Collections
Xavier Sala Pujolar
 
UD3 Programació
Alfredo Roig
 
Dai 9 - Ruby on Rails
Carles Mateu
 
Desarrollo Angular presentacion en catalan
javitempab
 
Programació - Pac1 - Solució - Lídia Bria
Lidia Bria
 
Programació Web - PAC 2 - Multimedia (UOC) - Paquita Ribas
Paquita Ribas
 
Prog_pac3
Marcos Baldovi
 
DBBDD_pac1
Marcos Baldovi
 
Ad

More from Marcos Baldovi (20)

PDF
Comportament d'Usuaris Marcos baldovi Prova Sintesis 2018
Marcos Baldovi
 
PDF
Comportament d'Usuaris Marcos baldovi Resum Researching UX
Marcos Baldovi
 
PDF
Comportament d'Usuaris Marcos baldovi Practica 1
Marcos Baldovi
 
PDF
Comportament d'Usuaris Marcos baldovi PAC2
Marcos Baldovi
 
PDF
Comportament d'Usuaris Marcos baldovi PAC1
Marcos Baldovi
 
PDF
Fotografia Digital Marcos baldovi Prova Sintesis
Marcos Baldovi
 
PDF
Fotografia Digital Marcos baldovi practica 2
Marcos Baldovi
 
PDF
Fotografia Digital Marcos baldovi practica 1
Marcos Baldovi
 
PDF
Fotografia Digital Marcos baldovi pac3
Marcos Baldovi
 
PDF
Fotografia Digital Marcos baldovi pac2
Marcos Baldovi
 
PDF
Fotografia Digital Marcos baldovi pac1
Marcos Baldovi
 
PDF
Mercat i Legislació Marcos baldovi PAC4
Marcos Baldovi
 
PDF
Mercat i Legislació Marcos baldovi PAC3
Marcos Baldovi
 
PDF
Mercat i Legislació Marcos baldovi PAC2
Marcos Baldovi
 
PDF
Marcos Baldoví Disseny D'interacció Practica FInal
Marcos Baldovi
 
PDF
Marcos Baldoví Disseny D'interacció PAC2
Marcos Baldovi
 
PDF
Marcos Baldoví Disseny D'interacció PAC1
Marcos Baldovi
 
PDF
Metodología i Desenvolupament de Projectes en Xarxa PRACTICA
Marcos Baldovi
 
PDF
Metodología i Desenvolupament de Projectes en Xarxa PAC3
Marcos Baldovi
 
PDF
Metodología i Desenvolupament de Projectes en Xarxa PAC 2
Marcos Baldovi
 
Comportament d'Usuaris Marcos baldovi Prova Sintesis 2018
Marcos Baldovi
 
Comportament d'Usuaris Marcos baldovi Resum Researching UX
Marcos Baldovi
 
Comportament d'Usuaris Marcos baldovi Practica 1
Marcos Baldovi
 
Comportament d'Usuaris Marcos baldovi PAC2
Marcos Baldovi
 
Comportament d'Usuaris Marcos baldovi PAC1
Marcos Baldovi
 
Fotografia Digital Marcos baldovi Prova Sintesis
Marcos Baldovi
 
Fotografia Digital Marcos baldovi practica 2
Marcos Baldovi
 
Fotografia Digital Marcos baldovi practica 1
Marcos Baldovi
 
Fotografia Digital Marcos baldovi pac3
Marcos Baldovi
 
Fotografia Digital Marcos baldovi pac2
Marcos Baldovi
 
Fotografia Digital Marcos baldovi pac1
Marcos Baldovi
 
Mercat i Legislació Marcos baldovi PAC4
Marcos Baldovi
 
Mercat i Legislació Marcos baldovi PAC3
Marcos Baldovi
 
Mercat i Legislació Marcos baldovi PAC2
Marcos Baldovi
 
Marcos Baldoví Disseny D'interacció Practica FInal
Marcos Baldovi
 
Marcos Baldoví Disseny D'interacció PAC2
Marcos Baldovi
 
Marcos Baldoví Disseny D'interacció PAC1
Marcos Baldovi
 
Metodología i Desenvolupament de Projectes en Xarxa PRACTICA
Marcos Baldovi
 
Metodología i Desenvolupament de Projectes en Xarxa PAC3
Marcos Baldovi
 
Metodología i Desenvolupament de Projectes en Xarxa PAC 2
Marcos Baldovi
 
Ad

PW_pac2

  • 1. Estudis d’Informàtica, Multimèdia i Telecomunicacions Grau de multimèdia Programació web – PAC 2 • Per a dubtes i aclariments sobre l’enunciat, adreceu-vos al consultor responsable de la vostra aula • Cal lliurar la solució en un fitxer comprimit (zip, rar, 7z) que contindrà un document en format doc/odt i aquells arxius html, js i css necessaris per a les qüestions pràctiques que contingues codi JavaScript. Adjunteu el fitxer a un missatge adreçat a la bústia Lliurament i registre d’AC. • El nom del fitxer ha de ser CognomsNom_PW_PAC2 amb l’extensió .doc, .odt o .pdf.. • Consulteu la data de lliurament al calendari. PAC2 - JavaScript: POO. 1.- Explica amb les teves paraules en que consisteix l’herència i quina diferencia hi ha entre una classe i un objecte. Les classes són les declaracions d'entitats, amb les seves característiques i mètodes, per definir un objecte s'utilitza una classe Quan es programa un objecte i definim les seves característiques i funcionalitats s'està programant una classe. A la programació orientada a objectes podríem dir que els objectes són exemplars d'una classe qualsevol Quan vam crear un exemplar (objecte) hem d'especificar a partir de la qual es va a crear, Aixo s'anomena instanciar. Un exemple: Tenim una classe taxi --> d'ella podrien sortir objectes -->; taxi. Matricula 0001, taxi. Matricula.02 taxi. Matricula 003, etc... La herencia es la tramsmisio de codi entre unes clases i altres, per a poder realitzar una herencia s'utilitzen dos clases. La clase pare es la que transmet el codi a la clase filla. Aixo es com si estaguera escrit tot el codi de la classe pare linea a linea dins de la clase filla. Un Exemple cotxe --> pare matricula, marca, model, color, passatgers tatxi --> fill pare + numero llicència
  • 2. 2.- Crea una classe JavaScript amb les següents característiques: (2 punts) a) Identificador “edifici”. b) Amb les propietats següents: “nom”, “descripció”, “adreça”, “data inauguració”, “arquitecte”, “cost” c) Amb els mètodes necessaris per consultar i modificar les propietats anteriors, un mètode constructor de la classe i un mètode “mostra” que mostri en un alert les propietats de la instància. d) Crea una instància de la classe anterior i crida al mètode que mostra les propietats de la instància. //definim el métode imprimete per la clase edifici function imprimete(){ document.write("<br>nom: " + this.nom) document.write("<br>descripcio: " + this.descripcio) document.write("<br>adresa: " + this.adresa) document.write("<br>dataInauguracio: " + this.dataInauguracio) document.write("<br>arquitecte: " + this.arquitecte) document.write("<br>cost: " + this.cost) } // varialbles Get I Set a tots els parametres function getNom(){ document.write("<br>nom: "+this.nom) } function setNom(nom){ this.nom=nom } function getDescripcio(){ document.write("<br>nom: "+this.descripcio) } function setDescripcio(descripcio){ this.descripcio=descripcio } function getArquitecte(){ document.write("<br>nom: "+this.arquitecte) } function setArquitecte(arquitecte){ this.arquitecte=arquitecte } function getAdresa(){ document.write("<br>nom: "+this.adresa) } function setAdresa(adresa){ this.adresa=adresa } function getDataInauguracio(){ document.write("<br>nom: "+this.dataInauguracio) } function setDataInauguracio(dataInauguracio){ this.dataInauguracio=dataInauguracio } function getCost(){ document.write("<br>nom: "+this.cost) } function setCost(cost){ this.dataCost=dataCost
  • 3. } function edifici (nom,descripcio,arquitecte,adresa,dataInauguracio,cost ) { this.nom=nom this.descripcio = descripcio this.adresa=adresa this.dataInauguracio=dataInauguracio this.arquitecte=arquitecte this.cost = cost this.imprimete=imprimete this.getNom=getNom this.setNom=setNom this.getDescripcio=getDescripcio this.setDescripcio=setDescripcio this.getArquitecte=getArquitecte this.setArquitecte=setArquitecte this.getAdresa=getAdresa this.setAdresa=setAdresa this.getDataInauguracio=getDataInauguracio this.setDataInauguracio=setDataInauguracio this.getCost=getCost this.setCost=setCost } //creem El meu edifici amb els parametres : (nom,descripcio,arquitecte,adresa,dataInauguracio,cost ) elMeuedifici = new edifici("Finca Redona","caravista color roig", " Manolo i Benito", "Pintor Claros", "25 agost 2010", "1.000.000") //li demanem que imprimir les dates de l'objecte edifici elMeuedifici.imprimete() Adjunte el codi de l'exercici 3.- A partir de la classe de l’exercici anterior crea una nova classe ajuntament que hereta de l’anterior les propietats i els mètodes, però que: (2 punt) a) Afegeix la següent propietat: “població” b) Afegeixi els mètodes necessaris per actualitzar la propietat anterior. c) Actualitza el mètode “mostra” per a que també aparegui la propietat “població”. d) Crea una instància de la classe anterior i crida al mètode que mostra les propietats de la instància. //definim el métode imprimete per la clase edifici function imprimete(){ document.write("<br>nom: " + this.nom) document.write("<br>descripcio: " + this.descripcio) document.write("<br>adresa: " + this.adresa) document.write("<br>dataInauguracio: " + this.dataInauguracio) document.write("<br>arquitecte: " + this.arquitecte) document.write("<br>cost: " + this.cost) } // varialbles Get I Set a tots els parametres function getNom(){ document.write("<br>nom: "+this.nom) } function setNom(nom){ this.nom=nom } function getDescripcio(){ document.write("<br>nom: "+this.descripcio) } function setDescripcio(descripcio){
  • 4. this.descripcio=descripcio } function getArquitecte(){ document.write("<br>nom: "+this.arquitecte) } function setArquitecte(arquitecte){ this.arquitecte=arquitecte } function getAdresa(){ document.write("<br>nom: "+this.adresa) } function setAdresa(adresa){ this.adresa=adresa } function getDataInauguracio(){ document.write("<br>nom: "+this.dataInauguracio) } function setDataInauguracio(dataInauguracio){ this.dataInauguracio=dataInauguracio } function getCost(){ document.write("<br>nom: "+this.cost) } function setCost(cost){ this.dataCost=dataCost } function edifici (nom,descripcio,arquitecte,adresa,dataInauguracio,cost ) { this.nom=nom this.descripcio = descripcio this.adresa=adresa this.dataInauguracio=dataInauguracio this.arquitecte=arquitecte this.cost = cost this.imprimete=imprimete this.getNom=getNom this.setNom=setNom this.getDescripcio=getDescripcio this.setDescripcio=setDescripcio this.getArquitecte=getArquitecte this.setArquitecte=setArquitecte this.getAdresa=getAdresa this.setAdresa=setAdresa this.getDataInauguracio=getDataInauguracio this.setDataInauguracio=setDataInauguracio this.getCost=getCost this.setCost=setCost } //get i set de poblacio function getPoblacio(){ document.write("<br>poblacio: "+this.poblacio) } function setPoblacio(poblacio){ this.dataPoblacio=dataPoblacio } //creacio del polimorfisme amb el nou parametre poblacio function ajuntament(nom,descripcio,arquitecte,adresa,dataInauguracio,cost, poblacio){ edifici.call(this, nom,descripcio,arquitecte,dataInauguracio,cost ) this.poblacio=poblacio //get i set poblacio this.getCost=getCost this.setCost=setCost this.imprimete=function (){
  • 5. document.write("<br>nom: " + this.nom) document.write("<br>descripcio: " + this.descripcio) document.write("<br>adresa: " + this.adresa) document.write("<br>dataInauguracio: " + this.dataInauguracio) document.write("<br>arquitecte: " + this.arquitecte) document.write("<br>cost: " + this.cost) document.write("<br> poblacio "+this.poblacio) } } ajuntament.prototype=new edifici //a partir de l'herencia + el parametre elMeuedificiAj = new ajuntament("Finca Redona","caravista color roig", " mamolo i Benito", "Pintor Claros", "25 agost 2016", "1.000","Sueca") //Imprimir elMeuedificiAj.imprimete() Adjunte el codi de l'exercici 4.- Crea un script que implementi un joc d’endevinar nombres aleatoris enters menors que deu. D’aquesta forma l’script ha de calcular un nombre aleatori menor que 10 i demanarà mitjançant un prompt a l’usuari la introducció d’un nombre. Si aquest nombre coincideix amb l’aleatori, el jugador sumarà dos punts i si no coincideix tindrà un altra oportunitat però en cas d’encertar tindrà la meitat de punts i aquest procés només es pot repetir 3 vegades. El joc acaba quan bé l’usuari encerta o quan acaba sense encertar, una partida es basarà en 3 jocs i al finalitzar es mostraran els punts obtinguts en cada joc. // JavaScript Document var nombreInicial=0 var nombre =0 var resultat=0 var comptador=0 var increment=2 var trobat=0 for(i=0;i<3;i++) { nombreInicial=Math.round(Math.random()*10) increment=2 comptador=0 trobat=0 while(comptador<3 ) { nombre= prompt("Introdueix en valor numeric entre 0 i 10 ",""); if(nombre==nombreInicial) { resultat=resultat+increment comptador=3 trobat=1 }else { increment=increment/2 } comptador++ } if(trobat==1) { document.write("trobat -")
  • 6. }else { document.write("no trobat -") } document.write("Següent nombre") } document.write("Has obtingut "+resultat+ " punts") Adjunte el codi de l'exercici 5.- Crea un script que al clicar un botó sol·liciti que introduïm una data, una vegada introduïda ens dirà la diferencia en dies que hi ha entre la data actual i la data introduïda, aquesta data podrà ser anterior o posterior a l’actual, serà necessari validar que la data tingui el format dd/mm/aaaa. // Establir els valors unitaris en mil·lisegons. var msecPerMinute = 1000 * 60; var msecPerHour = msecPerMinute * 60; var msecPerDay = msecPerHour * 24; // Establir una data i obtenir els mil·lisegons var date0=prompt("Introdueix la teva data: mes, dia i l'any actual --> mm/dd/2015 ",""); var date = new Date(date0); var dateMsec = date.getTime(); var today= new Date(); // Obtenir la diferència en mil·lisegons. var interval = dateMsec - today.getTime(); // Calcula quants dies conté l'interval. if(interval<0) { interval=-1*interval; } var days = Math.floor(interval / msecPerDay ); // imprimir resultat document.write(days + " dies, " ); Adjunte el codi de l'exercici Criteris de correcció  Els primer exercici s’avalua si l’estudiant demostra en pròpies paraules que entén clarament els conceptes plantejats. No s’avaluarà el 100% si l’estudiant simplement transcriu allò que s’explica als apunts.  Els restants exercicis s’avaluaran tenint en compte els següents punts: o La resolució utilitza adequadament els conceptes explicats a l’assignatura (30%) o L'exercici fa el que es demana (30%) o El codi és clar, ordenat (30%) o Hi ha comentaris concisos i que expliquin clarament el que s'està fent. (10%)