Diferència entre revisions de la pàgina «Solucio Yahoo rellotge»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 6 revisions intermèdies del mateix usuari que no es mostren)
Línia 102: Línia 102:
  
  
/*Podemos sustituir la función de sumar sobre cargada por esta otra*/
+
/*Otra forma de hacerlo es sustituir la función de sumar sobrecargada por esta otra*/
  
 
function afegirMetode(objecte, nom, funcio){
 
function afegirMetode(objecte, nom, funcio){
Línia 126: Línia 126:
 
});
 
});
  
afegirMetode(this, "suma", function(x){
 
 
return arguments[0];
 
});
 
  
 
afegirMetode(this, "suma", function(numero,x){
 
afegirMetode(this, "suma", function(numero,x){
Línia 199: Línia 195:
  
 
<source lang="java">
 
<source lang="java">
function Rellotge(){
+
      function Rellotge() {
var rellotge;
+
                var rellotge;
var rellotgeSec;
+
                var rellotgeSec;
var tempsFun = 0;
+
                var tempsFun = 0;
this.ContructorRellotge = function(){
+
 
rellotge = new Date();
+
                this.ContructorRellotge = function () {
;
+
                    rellotge = new Date();
this.GetTime = function(){
+
                };
rellotgeSec = new Date();
+
 
var timeMili = rellotgeSec.getTime() - rellotge.getTime();
+
                this.GetTime = function () {
var seg = timeMili / 1000;
+
                    rellotgeSec = new Date();
return tempsFun + seg;
+
                    var timeMili = rellotgeSec.getTime() - rellotge.getTime();
+
                    var seg = timeMili / 1000;
this.StopTime = function(){
+
                    return tempsFun + seg;
tempsFun = this.GetTime();
+
                };
rellotge = null;
+
               
};
+
                this.StopTime = function () {
this.StartTime = function(){
+
                    tempsFun = this.GetTime();
rellotge = new Date();
+
                    rellotge = null;
};
+
                };
this.setFunctionOnTime =function(time,function){};
+
               
this.Execute = function(){};
+
                this.StartTime = function () {
}
+
                    rellotge = new Date();
 +
                };
 +
               
 +
                this.setFunctionOnTime = function (time) {
 +
                    var that = this;
 +
 
 +
                    setInterval(function () {
 +
                        that.hola();
 +
                    }, time * 1000);  //hola es una funció d'exemple
 +
 
 +
                };
 +
 
 +
                this.hola = function () {
 +
 
 +
                    alert("hola mundo");
 +
                };
 +
            }
 +
 
 +
            var rellotge = new Rellotge();
 +
            rellotge.ContructorRellotge();
 +
            alert(rellotge.GetTime());
 +
            rellotge.setFunctionOnTime(2);
 +
 
 +
/**OTRA FORMA*/
 +
 
 +
function Rellotge() {
 +
var rellotge;
 +
var rellotgeSec;
 +
var tempsFun = 0;
 +
var parar;
 +
 
 +
this.ContructorRellotge = function () {
 +
rellotge = new Date();
 +
};
 +
 
 +
this.GetTime = function () {
 +
rellotgeSec = new Date();
 +
var timeMili = rellotgeSec.getTime() - rellotge.getTime();
 +
var seg = timeMili / 1000;
 +
return tempsFun + seg;
 +
};
 +
 
 +
this.StopTime = function () {
 +
tempsFun = this.GetTime();
 +
setTimeout(function () {
 +
clearInterval(parar); 
 +
rellotge = null;  //nos cargamos el reloj haciendo que apunte a null
 +
}, 6000);  //a los 6 segundos borra la referencia y pausa el setInterval
 +
 
 +
 
 +
};
 +
 
 +
this.StartTime = function () {
 +
rellotge = new Date();
 +
};
 +
 
 +
this.setFunctionOnTime = function (time, fun) {
 +
 
 +
parar = setInterval(fun, time * 1000);  //hola es una funció d'exemple
 +
 
 +
};
 +
 
  
var rellotge = new Rellotge();
+
}
rellotge.ConstructorRellotge();
 
alert(rellotge.GetTime());
 
  
 +
var rellotge = new Rellotge();
 +
rellotge.ContructorRellotge();
 +
alert(rellotge.GetTime());
 +
let s = function () { alert("hola") };
 +
rellotge.setFunctionOnTime(2, s);
 +
rellotge.StopTime();
  
 
</source>
 
</source>

Revisió de 20:20, 23 nov 2020

SOLUCIÓ YAHOO

function Yahoo(){

	var numeros = "";


	this.seguent = function(numeros){

		switch(numeros){
		
			case "cero":
				return "un";								
			break;

			case "un":
				return "dos";								
			break;

			case "dos":
				return "tres";
			break;

			case "tres":
				return "quatre";
			break;

			case "quatre":
				return "molts";
			break;

			case "molts":
				return "molts";
			break;

			case "desconegut":
				return "desconegut";
			break;

			default:

				return "desconegut";


		}//cerrar switch
		
	}; //cerrar this.seguent


	this.suma = function(){

		var numero = "";
		var x = "";

		if(arguments.length==0){
			return "desconegut";
		}
		else if(arguments.length==1){
			return arguments[0];
		}
		else{
		
			numero = arguments[0];
			x = arguments[1];

			switch(numero){
			
				case "cero":
					return this.suma(x);								
				break;
				case "un":
					return this.seguent(x);								
				break;
				case "dos":			
					return this.seguent(this.seguent(x));
				break;
				case "tres":
					return this.seguent(this.seguent(this.seguent(x)));
				break;
				case "quatre":
					return this.seguent(this.seguent(this.seguent(this.seguent(x))));
				break;
				case "molts":
					return "molts";
				break;
				case "desconegut":
					return "desconegut";
				break;
				default:
					return "desconegut";

		}//cerrar switch


		} //cerrar else



	}; //cerrar this.suma



/*Otra forma de hacerlo es sustituir la función de sumar sobrecargada por esta otra*/

function afegirMetode(objecte, nom, funcio){
    var old = objecte[nom];
    objecte[nom] = function(){
                if(funcio.length == arguments.length)   
                    return funcio.apply(this, arguments);
                else if (typeof old == 'function')
                    return old.apply(this, arguments);
        };
}
 
 

afegirMetode(this, "suma", function(){

	return "desconegut";
});

afegirMetode(this, "suma", function(x){

	return arguments[0];
});


afegirMetode(this, "suma", function(numero,x){

switch(numero){
             
                case "cero":
                    return this.suma(x);                                
                break;
                case "un":
                    return this.seguent(x);                             
                break;
                case "dos":         
                    return this.seguent(this.seguent(x));
                break;
                case "tres":
                    return this.seguent(this.seguent(this.seguent(x)));
                break;
                case "quatre":
                    return this.seguent(this.seguent(this.seguent(this.seguent(x))));
                break;
                case "molts":
                    return "molts";
                break;
                case "desconegut":
                    return "desconegut";
                break;
                default:
                    return "desconegut";

				}
		});



*/

} //cerrar yahoo

var yahoo1 = new Yahoo();

alert(yahoo1.seguent("desconegut"));
alert(yahoo1.seguent("cero"));
alert(yahoo1.seguent("un"));
alert(yahoo1.seguent("dos"));
alert(yahoo1.seguent("tres"));
alert(yahoo1.seguent("quatre"));
alert(yahoo1.seguent("molts"));
alert(yahoo1.seguent("seis"));

alert(yahoo1.suma());
alert(yahoo1.suma("un"));
alert(yahoo1.suma("cero","dos"));
alert(yahoo1.suma("quatre","dos"));
alert(yahoo1.suma("un","dos"));
alert(yahoo1.suma("desconegut","tres"));
alert(yahoo1.suma("cero","un"));
alert(yahoo1.suma("quatre","cero"));
alert(yahoo1.suma("quatre","un"));
alert(yahoo1.suma("tres","un"));
alert(yahoo1.suma("tres","cero"));
alert(yahoo1.suma("tres","dos"));
alert(yahoo1.suma("un","desconegut"));


SOLUCIO RELLOTGE

function Rellotge() {
                var rellotge;
                var rellotgeSec;
                var tempsFun = 0;

                this.ContructorRellotge = function () {
                    rellotge = new Date();
                };

                this.GetTime = function () {
                    rellotgeSec = new Date();
                    var timeMili = rellotgeSec.getTime() - rellotge.getTime();
                    var seg = timeMili / 1000;
                    return tempsFun + seg;
                };
                
                this.StopTime = function () {
                    tempsFun = this.GetTime();
                    rellotge = null;
                };
                
                this.StartTime = function () {
                    rellotge = new Date();
                };
                
                this.setFunctionOnTime = function (time) {
                    var that = this;

                    setInterval(function () {
                        that.hola();
                    }, time * 1000);   //hola es una funció d'exemple

                };

                this.hola = function () {

                    alert("hola mundo");
                };
            }

            var rellotge = new Rellotge();
            rellotge.ContructorRellotge();
            alert(rellotge.GetTime());
            rellotge.setFunctionOnTime(2);

/**OTRA FORMA*/

	function Rellotge() {
			var rellotge;
			var rellotgeSec;
			var tempsFun = 0;
			var parar;

			this.ContructorRellotge = function () {
				rellotge = new Date();
			};

			this.GetTime = function () {
				rellotgeSec = new Date();
				var timeMili = rellotgeSec.getTime() - rellotge.getTime();
				var seg = timeMili / 1000;
				return tempsFun + seg;
			};

			this.StopTime = function () {
				tempsFun = this.GetTime();
				setTimeout(function () {
					clearInterval(parar);   
					rellotge = null;   //nos cargamos el reloj haciendo que apunte a null
				}, 6000);   //a los 6 segundos borra la referencia y pausa el setInterval


			};

			this.StartTime = function () {
				rellotge = new Date();
			};

			this.setFunctionOnTime = function (time, fun) {

				parar = setInterval(fun, time * 1000);   //hola es una funció d'exemple

			};


		}

		var rellotge = new Rellotge();
		rellotge.ContructorRellotge();
		alert(rellotge.GetTime());
		let s = function () { alert("hola") };
		rellotge.setFunctionOnTime(2, s);
		rellotge.StopTime();