Ejercicios tipo examen

1.- Una función ‘ceros’ que nos devuelva una cadena con el número de ceros que le pasemos:
ceros(5)->”00000″

2.- Una función invertir que le pasemos una cadena y nos devuelva la cadena invertida
invertir(“hola”)->”olah”

3.- Una función que nos devuelva true si es fin de semana y false en cualquier otro caso
finDeSemana()->true

4.- Una función a la que le pasamos un array de números y nos devuelva un array con los números pares:
verPares([1,2,3,4])->[2,4]

Ejemplos repaso


  var a = 1;
            while (a < 1000) {
                //console.log(a);
                a *= 2;
            }
            console.log(a)

            var cadena = "hola que tal";
            while (cadena.length > 0) {
                console.log(cadena);
                cadena = cadena.slice(1);
            }

            var num = 27;

            while (num !== 1) {
                console.log(num)
                if (num % 2 == 0) {
                    num /= 2;
                } else {
                    num = num * 3 + 1;
                }
            }

         var i = 0;
            while (i < 10) {
                console.log(i);
                i++;
            }

            for (var i = 0; i < 10; i++) {
                console.log(i);
            }

            for (var n = 27; n !== 1; ) {
                if (n % 2 == 0) {
                    n /= 2;
                } else {
                    n = n * 3 + 1;
                }
                console.log(n);
            }

    var i = 0;
            while (i < 10) {
                console.log(i);
                i++;
            }

            for (var i = 0; i < 10; i++) {
                console.log(i);
            }
            
            for (var n = 10; n !== 1; n = n % 2 == 0 ? n / 2 : n * 3 + 1) {
                console.log(n);
            }

Funciones temporizador

 <div id="reloj"></div>
        <div id="crono"></div>
        <input type="button" id="botonparar" value="Parar"><br/>
        <input type="button" id="botoniniciar" value="Iniciar"><br/>
        <input type="button" id="botonreiniciar" value="Reiniciar"><br/>
        Nombre: <input type="text" id="nombre"><br/>
        password: <input type="text" id="password"><br/>
        <input type="button" id="botonlogin" value="Login">
        <script>
            document.getElementById("botonparar").addEventListener("click", parar);
            document.getElementById("botoniniciar").addEventListener("click", iniciar);
            document.getElementById("botonreiniciar").addEventListener("click", reiniciar);

            setTimeout(reloj, 500);
            var c = 0;
            var timer;
            cronometro();
            function cronometro() {
                document.getElementById("crono").innerHTML = c;
                c++;
                timer = setTimeout(cronometro, 10);
            }
            function parar() {
                clearTimeout(timer);
            }
            function iniciar(){
                cronometro();
            }
            function reiniciar(){
                c=0;
                cronometro();
            }
            function reloj() {
                var d = new Date();
                document.getElementById("reloj").innerHTML = d.toLocaleTimeString();
                setTimeout(reloj, 500);
            }

Objetos en javascript

 var alumno = {
                nombre: "Juan",
                notas: [
                    {nota: 5, historial: [1, 2, 3]},
                    {nota: 9, historial: [4, 5,
                            {evaluacion: "correcta", observaciones: "Va mejorando"}]}
                ],
                dni: "12345678Z",
                estatus: function () {
                    if (this.nota >= 5) {
                        return "Aprobado";
                    } else {
                        return "Suspendido";
                    }
                },
                otrafuncion: function () {

                }
            };
            var utilidades = {
                esVocal: function () {

                },
                esCifra: function () {

                }
            }

            var calcular = function () {
                return "Hola";
            }

            for (var propiedad in alumno) {
                console.log(propiedad + " - " + alumno[propiedad] + " - " + typeof (alumno[propiedad]));
            }

            var producto = {
                nombre: "Lentejas",
                precio: 100,
                PVP: function () {
                    return this.precio * 1.04;
                }
            }

            //Constructores de objetos
            function empleado(nombre, sueldo) {
                this.nombre = nombre;
                this.sueldo = sueldo;
            }

            var juan = new empleado("Juan", 1000);
            /*
             * juan={
             * nombre:juan,
             * sueldo:1000
             * }
             * 
             */
            var ana = new empleado("Ana", 1500)


            var empresa = []
            for (var i = 0; i < 5; i++) {
                empresa.push(new empleado("Nombre" + i, 1000 + i * 500));
            }
            console.log(empresa);
            empresa = {
                empleados: [],
                nombre: "Actibty",
                NIF: "B12344565"
            }
            for (var i = 0; i < 5; i++) {
                empresa.empleados.push(new empleado("Nombre" + i, 1000 + i * 500));
            }
            console.log(empresa);


Ordenaciones

    function larga(a, b) {
                    if (a.length == b.length) {
                        return a > b;

                    } else {
                        return a.length - b.length;
                    }
                }
                t = "en un lugar de la mancha de cuyo nombre no quiero acordarme".split(" ");
                t.sort(larga);
                console.log(t);
                
                var num=[1,2,3,4,5,6,7];
                
                function aleatorio(a,b){
                    return Math.random()-.5;
                }
                num.sort(aleatorio);
                console.log(num);

Ejercicio arrays

 <div class="container">
            <h1 >Media aritmética</h1>
            <input type="number" id="numero">
            <input type="button" id="botontirar" value="Añadir">
            <input type="button" id="botondeshacer" value="Deshacer">
            <input type="button" id="botonreset" value="Empezar de nuevo">
            <div id="resultado"></div>
            <script>
                document.getElementById("botontirar").addEventListener("click", calcular);
                document.getElementById("botondeshacer").addEventListener("click", deshacer);
                document.getElementById("botonreset").addEventListener("click", reset);
                var numeros = [];
                function reset() {
                    numeros = [];
                    document.getElementById('resultado').innerHTML = "";
                }
                function deshacer() {
                    numeros.pop();
                    document.getElementById('resultado').innerHTML = "<p>" + numeros.toString() + "</p>";
                    document.getElementById('resultado').innerHTML += "<p>Media: " + mediaAritmetica(numeros) + "</p>";
                }
                function calcular() {
                    var numero = parseInt(document.getElementById('numero').value);
                    numeros.push(numero);
                    document.getElementById('resultado').innerHTML = "<p>" + numeros.toString() + "</p>";
                    document.getElementById('resultado').innerHTML += "<p>Media: " + mediaAritmetica(numeros) + "</p>";
                    document.getElementById('numero').value = "";
                }
                function mediaAritmetica(tabla) {
                    var suma = 0;
                    for (var i = 0; i < tabla.length; i++) {
                        suma += tabla[i];
                    }
                    return suma / tabla.length;
                }
            </script>
        </div>

Día de la semana

    <div class="container">
            <h1 >Fechas</h1>
            <input type="text" id="anyo">
            <input type="text" id="mes">    
            <input type="text" id="dia">    
            <input type="button" id="botontirar" value="Ver días">
            <div id="resultado"></div>
            <script>
                document.getElementById("botontirar").addEventListener("click", tirar);
                function tirar() {
                    var dias = ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'];
                    var anyo = document.getElementById('anyo').value;
                    var mes = document.getElementById('mes').value;
                    var dia = document.getElementById('dia').value;
                    var fecha = new Date(anyo, mes - 1, dia);
                    document.getElementById('resultado').innerHTML = dias[fecha.getDay()];
                }
            </script>
        </div>

Ejercicios resueltos

   <div >
            <h1 >Validar número de teléfono</h1>
            <p>Introduzca el teléfono</p>
            <input type="text" id="telefono" >

            <input type="button" id="botonvalidar" value="Validar">
            <div id="resultado"></div>
        </div>

        <script>

            document.getElementById("botonvalidar").addEventListener("click", validar);
            
            function validar(){
                var telefono=document.getElementById('telefono').value;
                var mensaje;
                if (telefonoValido(telefono)){
                    mensaje="El teléfono es válido: "+formatTelefono(telefono);
                } else{
                    mensaje="Hay algún error con el número de teléfono";
                }
                document.getElementById('resultado').innerHTML=mensaje;
            }
            
            function telefonoValido(telefono) {
                if (telefono.length !== 9) {
                    return false;
                }
                for (var i = 0; i < telefono.length; i++) {
                    var cifra = telefono.charAt(i);
                    if (!esCifra(cifra)) {
                        return false;
                    }
                }
                return true;
            }
            function esCifra(letra) {
                var cifras = "0123456789";
                var pos = cifras.indexOf(letra);
                return pos !== -1 && letra.length === 1;
            }
            function esCifra2(letra) {
                if (letra >= "0" && letra <= "9" && letra.length == 1) {
                    return true;
                } else {
                    return false;
                }
            }
            function esCifra3(letra) {
                return !isNaN(letra) && letra.length == 1;
            }

            function buscar() {
                var cadena = document.getElementById("cadena").value;
                document.getElementById("resultado").innerHTML = invertir(cadena);
            }
            function formatTelefono(telefono) {
                return telefono.substr(0, 3) + "-" + telefono.substr(3, 3) + "-" + telefono.substr(6, 3);
            }
            function formatTelefono2(telefono) {
                return telefono.slice(0, 3) + "-" + telefono.slice(3, 6) + "-" + telefono.slice(6, 9);
            }
            function invertir(cadena) {
                var res = "";
                for (var i = cadena.length - 1; i >= 0; i--) {
                    res += cadena.substr(i, 1);
                }
                return res;
            }
            function cifValido(cif) {
                var letra = cif.charAt(0);
                var numeros = cif.slice(1);
                if (esLetra(letra) && digitosValido(numeros)) {
                    return true;
                } else {
                    return false;
                }
            }
            function esLetra(letra) {
                letra = letra.toLowerCase();
                if (letra >= "a" && letra <= "z" && letra.length == 1) {
                    return true;
                } else {
                    return false;
                }
            }
            function digitosValido(numero) {
                if (numero.length !== 8) {
                    return false;
                }
                for (var i = 0; i < numero.length; i++) {
                    var cifra = numero.charAt(i);
                    if (!esCifra(cifra)) {
                        return false;
                    }
                }
                return true;
            }
            function masLarga(cadena1, cadena2) {
                if (cadena1.length > cadena2.length) {
                    return cadena1;
                } else {
                    return cadena2;
                }
            }
            function quitaVocales(cadena) {
                var res = "";
                for (var i = 0; i < cadena.length; i++) {
                    var letra = cadena.charAt(i); //cadena.substr(i,1) cadena.slice(i,i+1)
                    //Si esa letra no es vocal la añado a res y si no no hago nada
                    if (!esVocal(letra)) {
                        res += letra;
                    }
                }
                return res;
            }

            function contarVocales(cadena) {
                var res = 0;
                for (var i = 0; i < cadena.length; i++) {
                    var letra = cadena.charAt(i);
                    if (esVocal(letra)) {
                        res++;
                    }
                }
                return res;
            }

            function esVocal(letra) {
                letra = letra.toLowerCase();
                if (letra == "a" || letra == "e" || letra == "i" || letra == "o" || letra == "u") {
                    return true;
                } else {
                    return false;
                }
            }
            function esVocalGuay(letra) {
                var vocales = "aeiouáéíóúàèìòùäëïöü";
                var pos = vocales.indexOf(letra.toLowerCase());
                /* if (pos === -1) {
                 return false;
                 } else {
                 return true;
                 }*/
                return pos !== -1;
            }
            function esVocalApretao(letra) {
                return "aeiouáéíóúàèìòùäëïöü".indexOf(letra.toLowerCase()) !== -1 && letra.length === 1;
            }

Ejercicios javascript

Función que dado un número de teléfono nos diga si es válido (true) o no (false). Un número de teléfono es válido si tiene una longitud de nueve cifras y todas son números. Ejemplo: telefonoValido(“666999666”)->true telefonoValido(“33666999666”)->false

Función que dado un número de teléfono válido nos lo muestre en formato xxx-xxx-xxx. Ejemplo: formatTelefono(“666999666”)-> “666-999-666”

Función que nos diga si un cif es válido o no. Los cifs válidos con una letra+8 caracteres. Ejemplo: cifValido(‘B12345678’)->true

Escribe una función a la que le pasemos dos cadenas y nos devuelva la más larga. Ejemplo: masLarga(“hola,”,”adios”)->”adios”

Funciones javascript cadena

 function invertir(cadena) {
                var res = "";
                for (var i = cadena.length - 1; i >= 0; i--) {
                    res += cadena.substr(i, 1);
                }
                return res;
            }

            function quitaVocales(cadena) {
                var res = "";
                for (var i = 0; i < cadena.length; i++) {
                    var letra = cadena.charAt(i); //cadena.substr(i,1) cadena.slice(i,i+1)
                    //Si esa letra no es vocal la añado a res y si no no hago nada
                    if (!esVocal(letra)) {
                        res += letra;
                    }
                }
                return res;
            }
            function esVocal(letra) {
                letra = letra.toLowerCase();
                if (letra == "a" || letra == "e" || letra == "i" || letra == "o" || letra == "u") {
                    return true;
                } else {
                    return false;
                }
            }
            function esVocalGuay(letra) {
                var vocales = "aeiouáéíóúàèìòùäëïöü";
                var pos = vocales.indexOf(letra.toLowerCase());
               /* if (pos === -1) {
                    return false;
                } else {
                    return true;
                }*/
                return pos!==-1;
            }
            function esVocalApretao(letra){
                return "aeiouáéíóúàèìòùäëïöü".indexOf(letra.toLowerCase())!==-1 && letra.length===1;
            }