Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Dimitar Stefanov

Páginas: 1 ... 5 6 7 8 9 [10] 11 12 13 14
181
Buenas tardes.

Aquí os dejo la solución del ejercicio CU00640B del curso Java desde cero.

Citar
EJERCICIO

Define una clase Profesor considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y otro constructor que no reciba parámetros. Crea los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto usando un constructor y luego otro objeto usando el otro constructor. Comprueba que se inicializan correctamente consultando el valor de sus atributos después de haber creado los objetos.

Código: [Seleccionar]
public class Profesor{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;
   
    public Profesor(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;
    }
   
    public Profesor(){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        especialista = false;
    }
   
    public void setNombre(String valorNombre){
        nombre = valorNombre;
    }
   
    public void setApellidos(String valorApellidos){
        apellidos = valorApellidos;
    }
   
    public void setEdad(int valorEdad){
        edad = valorEdad;
    }
   
    public void setCasado(boolean valorCasado){
        casado = valorCasado;
    }
   
    public void setEspecialista(boolean valorEspecialista){
        especialista = valorEspecialista;
    }
   
    public String getNombre(){return nombre;}
   
    public String getApellidos(){return apellidos;}
   
    public int getEdad(){return edad;}
   
    public boolean getCasado(){return casado;}
   
    public boolean getEspecialista(){return especialista;}
}

Gracias.

182
Buenas tardes.

Una posible solución del ejercicio CU00639B del curso Java desde cero.

Citar
EJERCICIO

Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.

Código: [Seleccionar]
public class Bombero{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;
   
    public Bombero(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;
    }
   
    public void setNombre(String valorNombre){
        nombre = valorNombre;
    }
   
    public void setApellidos(String valorApellidos){
        apellidos = valorApellidos;
    }
   
    public void setEdad(int valorEdad){
        edad = valorEdad;
    }
   
    public void setCasado(boolean valorCasado){
        casado = valorCasado;
    }
   
    public void setEspecialista(boolean valorEspecialista){
        especialista = valorEspecialista;
    }
   
    public String getNombre(){return nombre;}
   
    public String getApellidos(){return apellidos;}
   
    public int getEdad(){return edad;}
   
    public boolean getCasado(){return casado;}
   
    public boolean getEspecialista(){return especialista;}
}

Gracias.

183
Buenas tardes.

A continuación pongo la solución del ejercicio CU00638B del curso Java desde cero.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Motor (que representa el motor de una bomba para mover fluidos). Define una clase Motor considerando los siguientes atributos de clase: tipoBomba (int), tipoFluido (String), combustible (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Crea un método tipo función que devuelva un booleano (true o false) denominado dimeSiMotorEsParaAgua() donde se cree una variable local booleana motorEsParaAgua de forma que si el tipo de motor tiene valor 1 tomará valor true y si no lo es tomará valor false. El método debe devolver la la variable local booleana motorEsParaAgua.

Código: [Seleccionar]
public class Motor{
    private int tipoMotor;
    private String tipoFluido, combustible;
   
    public Motor(){
        tipoMotor = 0;
        tipoFluido = "";
        combustible = "";
    }
   
    public void setTipoMotor(int valorTipoMotor){
        tipoMotor = valorTipoMotor;
    }
   
    public void setTipoFluido(String valorTipoFluido){
        tipoFluido = valorTipoFluido;
    }
   
    public void setCombustible(String valorCombustible){
        combustible = valorCombustible;
    }
   
    public int getTipoMotor(){return tipoMotor;}
   
    public String getTipoFluido(){return tipoFluido;}
   
    public String getCombustible(){return combustible;}
   
    public boolean dimeSiMotorEsParaAgua(){
        boolean motorEsParaAgua = false;
        if(tipoMotor == 1){motorEsParaAgua = true;
        }else{motorEsParaAgua = false;}
        return motorEsParaAgua;
    }
}

Gracias.

184
Buenas a todos los participantes del curso Java desde cero.

Aquí dejo mi solución del ejercicio CU00637B del curso Java desde cero.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Motor (que representa el motor de una bomba para mover fluidos). Define una clase Motor considerando los siguientes atributos de clase: tipoBomba (int), tipoFluido (String), combustible (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Crea un método tipo procedimiento denominado dimeTipoMotor() donde a través de un condicional switch hagas lo siguiente:

a) Si el tipo de motor es 0, mostrar un mensaje por consola indicando “No hay establecido un valor definido para el tipo de bomba”.

b) Si el tipo de motor es 1, mostrar un mensaje por consola indicando “La bomba es una bomba de agua”.

c) Si el tipo de motor es 2, mostrar un mensaje por consola indicando “La bomba es una bomba de gasolina”.

d) Si el tipo de motor es 3, mostrar un mensaje por consola indicando “La bomba es una bomba de hormigón”.

e) Si el tipo de motor es 4,mostrar un mensaje por consola indicando “La bomba es una bomba de pasta alimenticia”.

f) Si no se cumple ninguno de los valores anteriores mostrar el mensaje “No existe un valor válido para tipo de bomba”.

Código: [Seleccionar]
public class Motor{
    private int tipoBomba;
    private String tipoFluido, combustible;
   
    public Motor(){
        tipoBomba = 0;
        tipoFluido = "";
        combustible = "";
    }
   
    public void setTipoMotor(int valorTipoBomba){
        tipoBomba = valorTipoBomba;
    }
   
    public void setTipoFluido(String valorTipoFluido){
        tipoFluido = valorTipoFluido;
    }
   
    public void setCombustible(String valorCombustible){
        combustible = valorCombustible;
    }
   
    public int getTipoBomba(){return tipoBomba;}
   
    public String getTipoFluido(){return tipoFluido;}
   
    public String getCombustible(){return combustible;}
   
    public void dimeTipoMotor(){
        switch(tipoBomba){
            case 0:
            System.out.println("No hay establecido un valor definido para el tipo de bomba");
            break;
           
            case 1: System.out.println("La bomba es una bomba de agua");break;
           
            case 2: System.out.println("La bomba es una bomba de gasolina"); break;
           
            case 3:System.out.println("La bomba es una bomba de hormigón");break;
           
            case 4:System.out.println("La bomba es una bomba de pasta alimenticia");break;
           
            default:System.out.println("No existe un valor válido para tipo de bomba");break;
        }
    }
}

PD:   Quería decir que creo que el problema aquí está mal planteado, allí donde se hace alusión de "tipo motor" se debería referir a "tipo de bomba". Es decir, creo que lo mejor sería definir así la condición:

"a) Si el tipo de bomba es 0, mostrar un mensaje por consola indicando “No hay establecido un valor definido para el tipo de bomba”."

en vez de:

Citar
a) Si el tipo de motor es 0, mostrar un mensaje por consola indicando “No hay establecido un valor definido para el tipo de bomba”.

Gracias.

185
Buenas tardes,

procedo a colgar la solución del ejercicio CU00636B del curso Java desde cero.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Rueda (que representa a una rueda de un vehículo). Define una clase Rueda considerando los siguientes atributos de clase: tipo (String), grosor (double), diametro (double), marca (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Crea un método denominado comprobarDimensiones donde a través de condicionales if realices las siguientes comprobaciones:

a) Si el diámetro es superior a 1.4 debe mostrarse por consola el mensaje “La rueda es para un vehículo grande”. Si es menor o igual a 1.4 pero mayor que 0.8 debe mostrarse por consola el mensaje “La rueda es para un vehículo mediano”. Si no se cumplen ninguna de las condiciones anteriores debe mostrarse por pantalla el mensaje “La rueda es para un vehículo pequeño”.

b) Si el diámetro es superior a 1.4 con un grosor inferior a 0.4, ó si el diámetro es menor o igual a 1.4 pero mayor que 0.8, con un grosor inferior a 0.25, deberá mostrarse por consola el mensaje “El grosor para esta rueda es inferior al recomendado”.

Código: [Seleccionar]
public class Rueda{
    private String tipo, marca;
    private double grosor, diametro;
   
    public Rueda(){
    tipo = "";
    grosor = 0;
    diametro = 0;
    marca = "";
    }
   
    public void setTipo(String valorTipo){
        tipo = valorTipo;
    }
   
    public void setGrosor(double valorGrosor){
        grosor = valorGrosor;
    }
   
    public void setDiametro(double valorDiametro){
        diametro = valorDiametro;
    }
   
    public void setMarca(String valorMarca){
        marca = valorMarca;
    }
   
    public String getTipo(){return tipo;}
   
    public double getGrosor(){return grosor;}
   
    public double getDiametro(){return diametro;}
   
    public String getMarca(){return marca;}
   
    public void comprobarDimensiones(){
        if(diametro > 1.4){
            System.out.println("La rueda es para un vehículo grande");
        }else if(diametro <= 1.4 && diametro > 0.8){
            System.out.println("La rueda es para un vehículo mediano");
        }else{
            System.out.println("La rueda es para un vehículo pequeño.");
        }
    }
   
   
}

Gracias.

186
Buenas tardes. Este hilo es mi solución del ejercicio CU00634B del curso Java desde cero.

Citar
EJERCICIO

Dadas las variables de tipo int con valores A = 5, B = 3, C = -12 indicar si la evaluación de estas expresiones daría como resultado verdadero o falso:

a) A > 3                                                            b) A > C                                               c) A < C

d) B < C                                                            e) B != C                                               f) A == 3

g) A * B == 15                                                   h) A * B == -30                                    i) C / B < A

j) C / B == -10                                                    k) C / B == -4                                       l) A + B + C == 5

m) (A+B == 8 ) && (A-B == 2)                              n) (A+B == 8 ) || (A-B == 6)

o) A > 3 && B > 3 && C < 3                                 p) A > 3 && B >= 3 && C < -3

a) Verdadero,  b) Verdadero, c) Falso, d) Falso, e) Verdadero, f) Falso, g) Verdadero, h) Falso, i) Verdadero, j) Falso, k) Verdadero, l) Falso, m) Verdadero, n) Verdadero, o) Falso, p) Verdadero

También pongo un código que demuestra las afirmaciones más arriba.

Código: [Seleccionar]
public class Calculadora{
    private int a;
    private int b;
    private int c;

    public Calculadora(){
        a = 5;
        b = 3;
        c = -12;
    }

    public void operadoresLogicosEnJava(){
        System.out.println("a) A > 3 es igual a: " + (a > 3));
        System.out.println("b) A > C es igual a: " + (a > c));
        System.out.println("c) A < C es igual a: " + (a < c));
        System.out.println("d) B < C es igual a: " + (b < c));
        System.out.println("e) B != C es igual a: " + (b != c));
        System.out.println("f) A == 3 es igual a: " + (a == 3));
        System.out.println("g) A * B == 15 es igual a: " + (a*b == 15));
        System.out.println("h) A * B == -30 es igual a: " + (a*b == -30));
        System.out.println("i) C / B < A es igual a: " + (c/b < a));
        System.out.println("j) C / B == -10 es igual a: " + (c/b == -10));
        System.out.println("k) C / B == -4 es igual a: " + (c/b == -4));
        System.out.println("l) A + B + C == 5 es igual a: " + (a+b+c == 5));
        System.out.println("m) (A + B == 8) && (A - B == 2) es igual a: " + ((a+b == 8) && (a-b == 2)));
        System.out.println("n) (A + B == 8) || (A - B == 6) es igual a: " + ((a+b == 8) || (a-b == 6)));
        System.out.println("o) A > 3 && B > 3 && C < 3 es igual a: " + ((a > 3) && (b >3) && (c < 3)));
        System.out.println("p) A > 3 && B >= 3 && C < -3 es igual a: " + ((a > 3) && (b >= 3) && (c < -3)));
    }
}

Gracias.


187
Buenos días, acto seguido subo la solución del ejercicio CU00633B del curso Java desde cero.

Código: [Seleccionar]
public class Medico{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;
   
    public Medico(){
    nombre = "";
    apellidos = "";
    edad = 0;
    casado = false;
    numeroDocumentoIdentidad = "";
    especialidad = "";
    }
   
    public void setNombre(String valorNombre){
    nombre = valorNombre;
    }
   
    public void setApellidos(String valorApellidos){
    apellidos = valorApellidos;
    }
   
    public void setEdad(int valorEdad){
    edad = valorEdad;
    }
   
    public void setCasado(boolean valorCasado){
    casado = valorCasado;
    }
   
    public void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
    numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
    }
   
    public void setEspecialidad(String valorEspecialidad){
    especialidad = valorEspecialidad;
    }
   
    public String getNombre(){return nombre;}
   
    public String getApellidos(){return apellidos;}
   
    public int getEdad(){return edad;}
   
    public boolean getCasado(){return casado;}
   
    public String getNumerdoDocumentoIdentidad(){return numeroDocumentoIdentidad;}
   
    public String getEspecialidad(){return especialidad;}
   
    public void calculoParaMultiploEdad(){
    int anyosQueFaltan;
    int anyosQueFaltan1;
    anyosQueFaltan = edad % 5;
    anyosQueFaltan1 = 5 - anyosQueFaltan;
    System.out.println("El médico de nombre: " + nombre + " con especialidad: " + especialidad + " tendrá una edad múltiple de 5 dentro de " + anyosQueFaltan1 + " años.");
    }
}

Gracias.

188
Buenas tardes.

A continuación pongo la solución del ejercicio CU00632B del curso Java desde cero.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Medico (que representa a un médico de un hospital). Define una clase Medico considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String), especialidad (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. En cada método, incluye una instrucción para que se muestre por consola un mensaje informando del cambio. Por ejemplo si cambia la especialidad del médico, debe aparecer un mensaje que diga: “Ha cambiado la especialidad del médico de nombre … . La nueva especialidad es: …”. Compila el código para comprobar que no presenta errores, crea un objeto, usa sus métodos y comprueba que aparezcan correctamente los mensajes por consola. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.

Código: [Seleccionar]
public class Medico{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;
   
    public Medico(){
        nombre = "";
        apellidos = "";
        edad = 31;
        casado = false;
        numeroDocumentoIdentidad = "";
        especialidad = "";
    }
   
    public void setNombre(String Nombre){
        System.out.println("Ha cambiado el nombre del médico de nombre: " + nombre + " a: " + Nombre);
        nombre = Nombre;
    }
   
    public void setApellidos(String Apellidos){
        System.out.println("Han cambiado los apellidos del médico de: " + apellidos + " a: " + Apellidos);
        apellidos = Apellidos;
    }
   
    public void setEdad(int Edad){
        System.out.println("Ha cambiado la edad del médico de: " + edad + " a: " + Edad);
        edad = Edad;
    }
   
    public void setNumeroDocumentoIdentidad(String NumeroDocumentoIdentidad){
        System.out.println("Ha cambiado el DNI del médico de: " + numeroDocumentoIdentidad + " a: " + NumeroDocumentoIdentidad);
        numeroDocumentoIdentidad = NumeroDocumentoIdentidad;
    }
   
    public void setEspecialidad(String Especialidad){
        System.out.println("Ha cambiado la especialidad del médico de nombre: " + nombre + " La nueva especialidad es: " + especialidad);
        especialidad = Especialidad;
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getApellidos(){
        return apellidos;
    }
   
    public int getEdad(){
        return edad;
    }
   
    public boolean getCasado(){
        return casado;
    }
   
    public String getDNI(){
        return numeroDocumentoIdentidad;
    }
   
    public String getEspecialidad(){
        return especialidad;
    }
}

Gracias

189
Buenas tardes,

aquí dejo la solución del ejercicio CU00630B del curso Java desde cero.

Citar
EJERCICIO

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo DiscoMusical. Define las signaturas para métodos dentro dicha clase e indica si deberán ser procedimientos o funciones para los siguientes objetivos planteados:

1) Obtener la duración de una canción expresada como un número decimal en minutos (por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco.

2) Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones (dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario y pedirle que vaya introduciendo una por una la duración de las canciones.

3) Obtener la duración del disco completo (suma de las duraciones de cada una de las canciones).

4) Añadir una canción al disco recibiendo como información para ello el título de la canción y su duración (se añadirá como última canción en el disco. Si el disco tenía por ejemplo 10 canciones, al añadirse una canción pasará a tener 11).

1) public float getDuracionCancion(int numeroCancion){...} - es tipo función

2) public void setDuracionCanciones(int duracionCancion[]){...} - es tipo procedimiento

3) public getDuracionDisco(){...} - es tipo función

4) public void setDisco(String titulo, int duracionCancion){...} - es tipo procedimiento

Gracias.

190
Hola a todos.

Acto seguido pongo la solución del ejercicio CU00624B del curso Java desde cero.

Código: [Seleccionar]
public class DiscoMusical{
    private String titulo;
    private String autor;
    private int añoEdicion;
    private String formato;
    private boolean digital;
   
    public DiscoMusical(){
        titulo = "";
        autor = "";
        añoEdicion = 0;
        formato = "";
        digital = true; //Si es digital sería "true", en caso contrario el valor de esta variable sería "false"
    }
   
    public void setTitulo(String valorTitulo){
        titulo = valorTitulo;
    }
   
    public void setAutor(String valorAutor){
        autor = valorAutor;
    }
   
    public void setAñoEdicion(int valorAñoEdicion){
        añoEdicion = valorAñoEdicion;
    }
   
    public void setFormato(String valorFormato){
        formato = valorFormato;
    }
   
    public void setDitatal(boolean valorDigital){
        digital = valorDigital;
    }
   
    public String getTitulo(){return titulo;}
   
    public String getAutor(){return autor;}
   
    public int getAñoEdicion(){return añoEdicion;}
   
    public String getFormato(){return formato;}
   
    public boolean getDigital(){return digital;}
}

Gracias.

191
Buenas a todos los del curso Java desde cero y a los organizadores y los moderadores (y todos los que forman parte de ello).

Con esta primera entrega del ejercicio CU00623B del curso Java desde cero doy mi oficial apertura del curso por mi parte. Espero que todos juntos podamos ayudarnos y aprender mucho más de lo que sabemos ahora mismo.

A continuación pongo una posible solución de dicho ejercicio:

Código: [Seleccionar]
/*Ejemplo - aprenderaprogramar.com*/
public class Persona{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado; // Si está casado debería de establecer el valor de esta propiedad (variable) como "true" y, en caso contrario como "false".
    private String numeroDocumentoIdentidad;
   
    public Persona(){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        numeroDocumentoIdentidad = "";
    }
   
    public void setNombre(String valorNombre){
        nombre = valorNombre;
    }
   
    public void setApellidos(String valorApellidos){
        apellidos = valorApellidos;
    }
   
    public void setEdad(int valorEdad){
        edad = valorEdad;
    }
   
    public void setCasado(boolean valorCasado){
        casado = valorCasado;
    }
   
    public void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
    }
   
    public String getNombre(){return nombre;}
   
    public String getApellidos(){return apellidos;}
   
    public int getEdad(){return edad;}
   
    public boolean getCasado(){return casado;}
   
    public String getNumeroDocumentoIdentidad(){return numeroDocumentoIdentidad;}
   
}
   
   
   

Gracias.

192
A continuación colgaré la solución del ejercicio CU01155E del curso JavaScript desde cero.

Antes de proceder quiero decir que dicho ejercicio coincide con el ejercicio de la entrega CU01142E del mismo curso. Supongo que nos hacen hacer de nuevo el ejercicio porque ahora sabemos más métodos de JavaScript.

Citar
EJERCICIO

Crea un documento HTML (página web) donde exista un formulario que se envíe por el método GET. Se pedirá al usuario que introduzca nombre, apellidos y correo electrónico. Define dentro de la etiqueta form que cuando se produzca el evento onsubmit (pulsación del botón de envío del formulario) se ejecute una función a la que denominaremos validacionConExpReg que no recibe parámetros.

La función validar debe realizar estas tareas y comprobaciones utilizando expresiones regulares:

a) Comprobar que el nombre contiene al menos tres letras. Si no es así, debe aparecer un mensaje por pantalla indicando que el texto no cumple tener al menos tres letras. Por ejemplo si se trata de enviar Ka como nombre debe aparecer el mensaje: “El nombre no cumple tener al menos tres letras”.

b) Comprobar que el correo electrónico contiene el carácter @ (arroba) y el carácter . (punto). De no ser así, deberá aparecer un mensaje indicando que al correo electrónico le falta uno o ambos caracteres. Por ejemplo si se trata de enviar pacogmail.com deberá aparecer el mensaje: “Falta el símbolo @ en el correo electrónico”.

c) Antes de enviarse los datos del formulario a la página de destino, todas las letras del correo electrónico deben transformarse a minúsculas. Por ejemplo si se ha escrito PACO@GMAIL.COM debe enviarse paco@gmail.com

d) Antes de enviarse los datos del formulario a la página de destino, si el correo electrónico contiene la subcadena “ at “ debe reemplazarse por el símbolo @. Por ejemplo si se ha escrito paco at gmail.com debe enviarse paco@gmail.com


Y el código:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="description" content="Curso JavaScript"/>
<meta name="keywords" content="programar,cursos,JavaScript,aprenderaprogramar.com"/>
<link rel="stylesheet" type="text/css" href="CU01142E.css"/>
<script type="text/javascript">

function validar(){
var nodoNombre = document.getElementById('nombre').value;
var nodoApellido = document.getElementById('apellidos').value;
var nodoCorreo = document.getElementById('email').value;
var pattern1 = /\w{3}/;
var pattern2 = /[@]/;
var pattern3 = /[.]/;

if(nodoNombre.match(pattern1) == null){
alert('El nombre no cumple tener al menos tres letras');
}

if(nodoCorreo.match(pattern2) == null && nodoCorreo.match(pattern3) == null){
alert('Faltan los símbolos @ y . en el correo electrónico');
}else if(nodoCorreo.match(pattern3) == null){
alert('Falta el símbolo . en el correo electrónico');
}else if( nodoCorreo.match(pattern2) == null){
alert('Falta el símbolo @ en el correo electrónico');
}

nodoCorreo = nodoCorreo.replace(/at/g,'@');
nodoCorreo = nodoCorreo.toLowerCase();
alert(nodoCorreo);

}

</script>
</head>
<body>
<div id="contenedor">
<form name="formulario1" method="get" onsubmit="validar()">
<h2>Formulario ejemplo cadenas Texto</h2>
<label for="nombre"><span>Nombre:</span><input type="text" id="nombre" name="nombre"></input></label>
<label for="apellidos"><span></span>Apellidos:<input type="text" id="apellidos" name="apellidos"></input></label>
<label for="email"><span>Correo Electrónico:</span><input type="text" id="email" name="email"></input></label>
<label><input type="submit" value="Enviar"></input><input type="reset" value="Cancelar"></input></label>
</form>
</div>

</body>
</html>


Os dejo también el enlace de la solución del ejercicio CU01142E del mismo curso:

https://www.aprenderaprogramar.com/foros/index.php?topic=3935.msg16672#msg16672

Gracias

193
Buenas tardes, aquí pongo una posible solución del ejercicio CU01154E del curso JavaScript desde cero.

Citar
EJERCICIO

Dada la expresión regular de JavaScript /^[A-C]\w+\ses\s\w+/ indicar cuáles de las siguientes cadenas hacen match con la expresión regular, y en caso de hacer match, qué parte o partes son las que hacen match:

a)  Juan es guapo

b) Adriano no es feo

c) Adriano deja de ser guapo

d) Adriano ya es guapo

e) No es ahora

f) Ahora es no

g) Adriano es guapo

Y el código:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function ejemplo(){
var miExpReg = /^[A-C]\w+\ses\s\w+/;
var msg = 'Patrón: ^[A-C]\w+\ses\s\w+]\n';
var texto = ['Juan es guapo','Adriano no es feo','Adriano deja de ser guapo','Adriano ya es guapo','No es ahora','Ahora es no','Adriano es guapo'];
for(var i=0;i<texto.length;i++){
msg = msg + 'El valor del método match para el texto ' + [i+1] + ' es: ' +texto[i].match(miExpReg) + '\n';
}
alert(msg);
alert('Como vemos, sólo los últimos 2 arrays cumplen con el patrón.');
}
</script>
</head>
<body>
<div id="cabecera">
<p>El patron: /^[A-C]\w+\ses\s\w+/ significa que la subcadena de texto tiene que empezar por A, B o C, le tiene que seguir uno o más caracteres (sólo números o letras), seguido de un espacio en blanco, después de las letras "es", otro espacio en blanco y seguido de uno o más carácteres cualquier (letra o número). </p>
</div>
<div style="color:blue; text-align: center;" id ="pulsador" onclick="ejemplo()"> Probar Ejercicio</div>
</body>
</html>

Gracias.

194
Buenas noches. A continuación cuelgo las posibles soluciones de los ejercicios de la entrega CU01153E del curso JavaScript desde cero.


Citar
EJERCICIO 1

Crea un script donde a partir del array [33, 2, 36, 55, 4, 1] se realicen los siguientes procesos:

a) Mostrar el array ordenado de menor a mayor y de mayor a menor usando la función sort y definiendo la función de ordenación de forma anónima, es decir, deberás invocar X.sort(function (…) { … } ) definiendo la función de forma anónima en vez de cómo función con nombre.

b) Crea una variable de nombre deMenorAMayor que contenga el resultado de ordenar de menor a mayor los elementos del array.

c) Crea una variable de nombre deMayorAMenor que contenga el resultado de ordenar de mayor a menor los elementos del array.

d) Muestra por pantalla el array original, la variable deMenorAMayor y la variable deMayorAMenor.


El código:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function ejemplo() {
var miArrayOriginal = [33,2,36,55,4,1];
var deMenorAMayor = [33,2,36,55,4,1];
var deMayorAMenor = [33,2,36,55,4,1];
deMenorAMayor = deMenorAMayor.sort(function(elem1,elem2){return elem1-elem2});
deMayorAMenor = deMayorAMenor.sort(function(elem1,elem2){return elem2-elem1});
var msg = 'El array original es: ' + miArrayOriginal + '\n';
msg = msg + 'Ordenar de mayor a menor es: ' + deMenorAMayor + '\n';
msg = msg + 'Ordenar de menor a mayor es: ' + deMayorAMenor + '\n';
alert(msg);
}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue; text-align: center; cursor: pointer;" id="pulsador" onclick="ejemplo()">Probar Ejercicio</div>
</body>
</html>


Citar
EJERCICIO 2

Crea un script donde sea posible ordenar palabras por orden alfabético sin tener en cuenta la existencia de mayúsculas o minúsculas. Por ejemplo, declarar var miArray=['Moto', 'soto', 'Abaco', 'abeja', 'Sapo', 'nieve', 'Zumba, 'barco'] y tras ordenar obtener =[ 'Abaco', 'abeja', 'barco', 'Moto', 'nieve', 'Sapo', 'soto', 'Zumba].


Y el código:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function ejemplo() {
var miArray=['Moto', 'soto', 'Abaco', 'abeja', 'Sapo', 'nieve', 'Zumba', 'barco'];
alert(miArray.sort(function(a, b){return a.toLowerCase().localeCompare(b.toLowerCase());}));
}

</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue; text-align: center; cursor: pointer;" id="pulsador" onclick="ejemplo()">Probar Ejercicio</div>
</body>
</html>


PD: Para la solución del segundo código me he guiado por la solución del "pedro,,". He buscado un montón de soluciones alternativas, pero la suya ha sido la mejor. Os dejo el enlace de su foro:

https://www.aprenderaprogramar.com/foros/index.php?topic=3422.msg14957#msg14957

En el ejercicio 1 tenía las mismas dudas que "pedro,,", pero después de leer los comentarios en su foro ya se desvanecieron.

Gracias.

195
Solución del ejercicio CU01152E del curso JavaScript desde cero.

Código original:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprendeaprogramar.com</title>
<script type="text/javascript">
function ejemplo() {
var htmlADevolver='';
var colorUsuario=prompt('Elija color red, yellow o blue');
htmlADevolver+= colorUsuario ? '<h1 style="background-color:'+colorUsuario+';"> Usted elegió: '+colorUsuario+'</h1>':'<h1>No elegió color</h1>';
var nodoBody = document.getElementsByTagName('body')[0];
nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;
}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue;" id="pulsador" onclick="ejemplo()">Probar Ejercicio</div>
</body>
</html>

Preguntas:

Citar
a) ¿Qué significa el operador += que se emplea en el código?

Significa sumar lo siguiente. Por ejemplo, si pone: a+=b es lo mismo que: a=a+b

Citar
b) ¿Por qué usamos [ 0 ] para establecer nodoBody?

Porque  "document.getElementsByTagName('body')" devuelve un Array. Y como sólo existe un elemento con etiqueta "body" y es el primero (más que nada, porque no existen más" y los Arrays siempre se empiezan a contar desde "0", pues para referenciarnos al primer Array con etiqueta "body" tenemos que poner el número del Array [ 0 ].

Citar
c) ¿Qué ocurre si dejamos en blanco la respuesta cuando se pide un color? Razona por qué ocurre esto.

Si no entramos ningún valor a la variable "colorUsuario" el compilador no tendrá ningún valor para poner en la propiedad "background-color", por lo tanto será como no puesta y el fondo del h1 se mostrará como está configurada por defecto por nuestro navegador.

Citar
d) ¿Qué ocurre si escribimos pink cuando nos pide el color? Razona por qué ocurre esto.

Realmente, cuando escribimos en el "prompt" nuestro color (siempre y cuando sea un color válido), este se aplica como color para la propiedad "background-color" de la etiqueta h1. Por eso, cuando ponemos "pink" el JavaScript utiliza el valor de la variable como valor para el "background-color" y lee: "background-color: pink".

Citar
e) Modifica el código para que usando el operador ternario, si el usuario no introduce como color red, yellow o blue aparezca el mensaje ‘No eligió color o el color es no válido’

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprendeaprogramar.com</title>
<script type="text/javascript">
function ejemplo() {
var htmlADevolver='';
var colorUsuario=prompt('Elija color red, yellow o blue');
var msg='El htmlADevolver vale: '+htmlADevolver+'\nY la colorUsuario vale: '+colorUsuario;
alert(msg);
htmlADevolver = colorUsuario=='yellow' || colorUsuario=='red' || colorUsuario=='blue' ? '<h1 style="background-color:'+colorUsuario+';"> Usted elegió: '+colorUsuario+'</h1>':'<h1>No elegió color o el color no es válido</h1>';
var nodoBody = document.getElementsByTagName('body')[0];
nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;
}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue;" id="pulsador" onclick="ejemplo()">Probar Ejercicio</div>
</body>
</html>

Citar
f) Reescribe el código inicial de partida sustituyendo el condicional ternario por if tradicionales.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprendeaprogramar.com</title>
<script type="text/javascript">
function ejemplo() {
var htmlADevolver='';
var colorUsuario=prompt('Elija color red, yellow o blue');
var msg='El htmlADevolver vale: '+htmlADevolver+'\nY la colorUsuario vale: '+colorUsuario;
alert(msg);
if(colorUsuario=='yellow' || colorUsuario=='red' || colorUsuario=='blue'){
htmlADevolver ='<h1 style="background-color:'+colorUsuario+';"> Usted elegió: '+colorUsuario+'</h1>'
}else{
htmlADevolver='<h1>No elegió color o el color no es válido</h1>';
}
var nodoBody = document.getElementsByTagName('body')[0];
nodoBody.innerHTML = nodoBody.innerHTML + htmlADevolver;
}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue;" id="pulsador" onclick="ejemplo()">Probar Ejercicio</div>
</body>
</html>

PD: En los apartados "e" y "f" coloqué antes de ejecutarse los cambios en el etiqueta "h1" un alert para comprobar los valores de las dos variables. Lo hice con la finalidad de comprobar si se cumplia la función, pero tampoco lo entendí. Supongo que la variable "htmlADevolver" al estar inicializada como una cadena de texto devuelve "true".

Para resolver los apartados "e" y "f" me he servido con la ayuda del foro de "pedro,," desde el siguente enlace:

https://www.aprenderaprogramar.com/foros/index.php?topic=3416.msg14934#msg14934

Gracias.

196
Buenos días.

Aquí dejo las posibles soluciones de los ejercicios de la entrega CU01150E del curso JavaScript desde cero.

Citar
EJERCICIO 1

Crea un esquema de herencia que cumpla con estos requisitos:

a) Un Médico especialista tiene una especialidad y es un tipo de Médico.

b) Un Médico trabaja en un centro de trabajo y es un tipo de Persona.

c) Una Persona tiene un nombre y una nacionalidad. Como método común a todas las personas tenemos mostrarNacionalidad, que muestra un mensaje informando de la nacionalidad.

Se desea crear un objeto de tipo MedicoEspecialista pasándole como parámetros para su creación además de sus propiedades intrínsecas las propiedades que hereda de sus supertipos y sobre este objeto invocar el método mostrarNacionalidad(), que deberá ser reconocido por herencia.

Posible código de este ejercicio sería:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">

function Persona(centro){
this.centro = centro || 'Desconocida';
}

function PersonaConNacionalidad(nombre,nacionalidad){
this.nombre = 'Juan';
this.nacionalidad = 'del mundo';
this.saludar = function(nacionalidad){
alert('Esta es mi nacionalidad: '+this.nacionalidad);
}
}

function MedicoEspecialista(especialidad,centro,nombre,nacionalidad){
this.especialidad = especialidad;
Persona.call(this,centro);
PersonaConNacionalidad.apply(this,[nombre,nacionalidad]);
}
MedicoEspecialista.prototype = new PersonaConNacionalidad();

function ejemploObjetos(){
var unMedico = new MedicoEspecialista('ortopedia','Hospital del Mar','Joan','del mundo');
alert('Hola, mi especialidad es: '+unMedico.especialidad+' trabajo en: '+unMedico.centro);
unMedico.saludar();
}

</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar Ejercicio</div>
</body>
</html>

El segundo ejercicio exigía lo siguiente:

Citar
EJERCICIO 2

Crea un código que represente el siguiente esquema de herencia permitiendo instanciar los subtipos pasándole los parámetros necesarios para inicializar las propiedades de los supertipos. Crea un objeto ProfesorTitular profesorTitular1 al que le pases como parámetros 8 (años trabajados), Universidad de León (institución académica), Juan (nombre),  e invoca el método saludar sobre este objeto.

Y la solución que he encontrado es:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">

function Persona(nombre){
this.nombre=nombre;
this.saludar=function(){
alert('Hola, soy '+this.nombre);
}
}
Persona.prototype.definicion='Definicion';

function Profesor(){
this.institucionAcademica=institucionAcademica;
}

function ProfesorInterino(mesesContrato){
this.mesesContrato=mesesContrato;
}

function ProfesorTitular(añosTrabajados,institucionAcademica,nombre){
this.añosTrabajados=añosTrabajados;
Persona.call(this,nombre)
}
ProfesorTitular.prototype = new Persona();

function ejemploObjetos(){
var unProfesor = new ProfesorTitular(8,'Universdidad de León','Juan');
var unInterino = new ProfesorInterino(9);
unProfesor.saludar(); 
}

</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar Ejercicio</div>
</body>
</html>

Otra posible solución, creo que sería la siguiente:

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">

function Persona(nombre){
this.nombre=nombre;
this.saludar=function(){
alert('Hola, soy '+nombre);
}
}
Persona.prototype.definicion='Definicion';

function Profesor(){
this.institucionAcademica=institucionAcademica;
}

function ProfesorInterino(mesesContrato){
this.mesesContrato=mesesContrato;
}

function ProfesorTitular(añosTrabajados,institucionAcademica,nombre){
this.añosTrabajados=añosTrabajados;
Persona.call(this,nombre)
}
ProfesorTitular.prototype = new Persona();

function ejemploObjetos(){
var unProfesor = new ProfesorTitular(8,'Universdidad de León','Juan');
var unInterino = new ProfesorInterino(9);
unProfesor.saludar(this,'Juan');
}

</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar Ejercicio</div>
</body>
</html>

Gracias.


197
Buenas tardes.

Aquí dejo el código de la posible solución del ejercicio CU01149E del curso JavaScript desde cero.

Código: [Seleccionar]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">

function hortaliza(){
this.componentePrincipal='Agua';
this.movilidad='Ser vivo sin movilidad';
}

function tomate(){
this.calorias=39;
this.nombreCientifico='desconocido';
}

tomate.prototype= new hortaliza();


function lechuga(){
this.calorias=31;
this.nombreCientifico='desconocido';
}

lechuga.prototype= new hortaliza();


function zanahoria(){
this.calorias=45;
this.nombreCientifico='desconocido';
}

zanahoria.prototype= new hortaliza();


function ejemploObjetos(){
var tomate1 = new tomate();
alert('El objeto la propiedad tipoHortaliza del objeto tomate1 tiene como valor: '+tomate1.tipoHortaliza);

alert('La propiedad movilidad del objeto tomate1 es: '+tomate1.movilidad);

}

</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue;" id="pulsador" onclick="ejemploObjetos()">Probar Ejercicio</div>
</body>
</html>

Gracias

198
Buenas a toda la comunidad.

Aquí dejo una posible solución del ejercicio CU01148E del curso JavaScript desde cero.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Ejemplo aprenderarpogramar.com</title>
<script type="text/javascript">

function meteorito(diametro,temperatura,nombre){
this.diametro=diametro;
this.temperatura=temperatura;
this.nombre=nombre;
}

meteorito.definicionSegunDiccionario='Es un meteoroide que alcanza la superficie de un planeta debido a que no se desintegra por completo en la atmósfera. La luminosidad dejada al desintegrarse se denomina meteoro.';
meteorito.obtenerRadio=function(diametro){return diametro / 2;};
meteorito.obtenerTemperaturaFarenheit=function(temperatura){return temperatura+32;};


function ejemploObjetos(){
var meteo=new meteorito(400,690,'Giovanni');
var msg='La definición de un meteorito es: '+meteorito.definicionSegunDiccionario;
msg=msg+'\nEl radio del meteorito: '+meteo.nombre+'es de: '+meteorito.obtenerRadio(meteo.diametro)+'m.';
msg=msg+'\nY su temperatura en Farenheit es de: '+meteorito.obtenerTemperaturaFarenheit(meteo.temperatura)+'F.';
alert(msg);
}

</script>
</head>
<body>
<div id="cabecera" style="text-align: center;">
<h2>Cursos Aprenderaprogramar.com</h2>
<h3>Ejemplo JavaScript</h3>
</div>
<input style="margin-left: 45%;" type="button" value="Info Meteorito" onclick="ejemploObjetos()"></input>
</body>
</html>

Gracias.

199
La posible solución del ejercicio CU01147E del curso JavaScript desde cero es:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function cometa(diametro,temperatura,nombre){
this.diametro=diametro;
this.temperatura=temperatura;
this.nombre=nombre;
}

cometa.prototype=new prototipoCometa();

function prototipoCometa(){
this.difinicionSegunDiccionario='Los cometas son cuerpos celestes constituidos por hielo, polvo y rocas que orbitan alrededor del Sol siguiendo diferentes trayectorias elípticas, parabólicas o hiperbólicas. Los cometas, junto con los asteroides, planetas y satélites, forman parte del Sistema Solar.';
this.obtenerRadio=function(){this.radio=this.diametro/2;}
this.obtenerFarenheit=function(){this.farenheit=this.temperatura+32;};

}

function ejemploObjetos(){
var cometa1=new cometa(2000,800,'McNaught');
var cometa2=new cometa(3500,900,'West');
var cometa3=new cometa(5500,1000,'Ikeya-Seki');
cometa1.obtenerRadio();
cometa1.obtenerFarenheit();
alert('El diametro del cometa: '+cometa1.nombre+' es de: '+cometa1.diametro+'m, su tempertarua es de: '+cometa1.temperatura+'ºC. \nTiene un radio de :'+cometa1.radio+'m y su tempertaura en Farenheit es: '+cometa1.farenheit+'ºF.\n\nLa definición del dicho cometa es: '+cometa1.difinicionSegunDiccionario);
cometa2.obtenerRadio();
cometa2.obtenerFarenheit();
alert('El diametro del cometa: '+cometa2.nombre+' es de: '+cometa2.diametro+'m, su tempertarua es de: '+cometa2.temperatura+'ºC. \nTiene un radio de :'+cometa2.radio+'m y su tempertaura en Farenheit es: '+cometa2.farenheit+'ºF.\n\nLa definición del dicho cometa es: '+cometa2.difinicionSegunDiccionario);
cometa3.obtenerRadio();
cometa3.obtenerFarenheit();
alert('El diametro del cometa: '+cometa3.nombre+' es de: '+cometa3.diametro+'m, su tempertarua es de: '+cometa3.temperatura+'ºC. \nTiene un radio de :'+cometa3.radio+'m y su tempertaura en Farenheit es: '+cometa3.farenheit+'ºF.\n\nLa definición del dicho cometa es: '+cometa3.difinicionSegunDiccionario);
}

</script>
</head>
<body>
<div id="cabecera" style="text-align: center;">
<h2>Cursos Aprenderaprogramar.com</h2>
<h3>Ejemplo JavaScript</h3>
</div>
<input style="margin-left: 45%;" type="button" value="Info Cometas" onclick="ejemploObjetos()"></input>
</body>
</html>

Gracias.

200
Solución del ejercicio CU01146E del curso JavaScript desde cero.

Citar
EJERCICIO

El siguiente código hace uso de la notación tipo array para invocar propiedades. También crea objetos únicos (los objetos plus, minus, operaciones y calcular). Analiza el código y trata de comprender todo lo que hace.

Se pide realizar los siguientes cambios:

a) Reemplaza toda la notación basada en sintaxis tipo array para el acceso a propiedades por sintaxis basada en notación de punto. Ejecuta el código y comprueba su funcionamiento.

b) Sobre el código de la opción a), cambia la definición de objetos para que no sean objetos únicos, sino que plus, minus y calcular sean funciones simples, y operaciones un objeto instanciable (que tendrás que instanciar si es necesario). Ejecuta el código y comprueba su funcionamiento.

c) Sobre el código de la opción c), añade la posibilidad de hacer cálculos de multiplicación y división de la misma forma que se hacen cálculos de suma y resta. Muestra un mensaje por cada tipo de operación. Ejecuta el código y comprueba su funcionamiento.

Código original:

Código: [Seleccionar]
<!DOCTYPE html>

<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">

<script type="text/javascript">

var plus = function(x,y){ return x + y };

var minus = function(x,y){ return x - y };

var operaciones = {

  '+': plus,

  '-': minus

};

var calcular = function(x, y, operacion){ return operaciones[operacion](x, y); }

function ejemploObjetos() {

alert ('Resultado de calcular(3, 15, \'+\') es '+ calcular(3,15, '+'));

}

</script>

</head>

<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>

<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>

</body>
</html>

1) Solución del primer subpunto:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
var plus=function(x,y){return x + y};
var minus=function(x,y){return x - y};
var operaciones={
sumar:plus,
'-':minus
};

var calcular=function(x,y){return operaciones.sumar(x,y);}

//La única manera que se me ha ocurrido de reemplazar la notación basada en sintaxis tipo array por sintaxis basada en notación de punto era cambiar el parámetro '+' por otro que no fuera símbolo reservado por JavaScript. En este caso lo sustituí por el parámetro "sumar". Si mantuvieramos el nombre de la propiedad '+' no tendríamos más remedio que invocarla mediante el sintaxis: operaciones.['+'], pero de este modo también conservaríamos la notación basada en sintaxis tipo array y no es lo que pide el ejercicio.

function ejemploObjetos(){
alert('Resultado de calcular(3,15\'+\')es: '+calcular(3,15));

}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue;" id="pulsar" onclick="ejemploObjetos()">Probar</div>
</body>
</html>

2) Solución del segundo subpunto:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function plus(x,y){
return(x+y);
}

function minus(x,y){
return(x-y);
}

function operaciones(x,y){
this.sumar=plus(x,y);
this.restar=minus(x,y);
};

function calcular(x,y){
var operacionesMat= new operaciones(x,y);
alert(x+' más '+y+' es igual a: '+operacionesMat.sumar);
}


function ejemploObjetos(){
calcular(3,5)

}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue;" id="pulsar" onclick="ejemploObjetos()">Probar</div>
</body>
</html>

3)Tercer subpunto:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
function plus(x,y){
return(x+y);
}

function minus(x,y){
return(x-y);
}

function por(x,y){
return(x*y);
}

function entre(x,y){
return(x/y);
}

function operaciones(x,y){
this.sumar=plus(x,y);
this.restar=minus(x,y);
this.multiplicar=por(x,y);
this.dividir=entre(x,y);
};

function calcular(x,y){
var operacionesMat= new operaciones(x,y);
alert(x+' más '+y+' es igual a: '+operacionesMat.sumar);
alert(x+' menos '+y+' es igual a: '+operacionesMat.restar);
alert(x+' multiplicado por '+y+' es igual a: '+operacionesMat.multiplicar);
alert(x+' dividido entre '+y+' es igual a: '+operacionesMat.dividir);
}


function ejemploObjetos(){
calcular(3,5)

}
</script>
</head>
<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejemplos JavaScript</h3>
</div>
<div style="color: blue;" id="pulsar" onclick="ejemploObjetos()">Probar</div>
</body>
</html>

Como podemos observar, en todo el ejercicio he intentado utilizar sintaxis basada en notación de punto. Observarán que en algunos puntos el código se hace muy repetitivo, pero era la única manera de no utilizar notación basada en sintaxis tipo array.

Páginas: 1 ... 5 6 7 8 9 [10] 11 12 13 14

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".