http://people.ischool.berkeley.edu/~nick/aaronson-oracle/index.html
Autor: Juan Pablo Fuentes
Formador de programación y bases de datos
Imágenes de dados
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; }
Chat
<div > <h1 >Búsqueda</h1> <p>La cadena y la cadena a buscar</p> <input type="text" id="pajar" > <input type="button" id="botonbuscar" value="¿Válido?"> <div id="resultado"></div> </div> <script> document.getElementById("botonbuscar").addEventListener("click", buscar); function buscar() { var pajar = document.getElementById("pajar").value; var pos = pajar.indexOf("cacahuete"); if (pos===-1){ document.getElementById("resultado").innerHTML += pajar+"<br/>"; } } </script>
Búsqueda de palabras
<div > <h1 >Búsqueda</h1> <p>La cadena y la cadena a buscar</p> <input type="text" id="pajar" > <input type="text" id="aguja" > <input type="button" id="botonbuscar" value="Buscar"> <div id="resultado"></div> </div> <script> document.getElementById("botonbuscar").addEventListener("click", buscar); function buscar() { var pajar = document.getElementById("pajar").value; var aguja = document.getElementById("aguja").value; document.getElementById("resultado").innerHTML = ""; var pos = pajar.indexOf(aguja); while (pos !== -1) { document.getElementById("resultado").innerHTML += pos + " "; pos = pajar.indexOf(aguja,pos+1); } } </script>
Ejemplo variables globales
<div > <h1 >Almacen de sumas</h1> <p>Introduce el número del que quieres sumar</p> <input type="number" id="numero" > <input type="button" id="botoncalcular" value="Sumar"> <input type="button" id="botondeshacer" value="Deshacer" style="display:none"> <div id="resultado"></div> </div> <script> document.getElementById("botoncalcular").addEventListener("click", calcular); document.getElementById("botondeshacer").addEventListener("click", deshacer); var total = 0; var numero; function calcular() { numero = parseInt(document.getElementById("numero").value) total += numero; document.getElementById("resultado").innerHTML = total; document.getElementById("botondeshacer").style.display=""; } function deshacer() { total -= numero; document.getElementById("resultado").innerHTML = total; document.getElementById("botondeshacer").style.display="none"; } </script>
Tabla de multiplicar
<div > <h1 >Tabla de multiplicar</h1> <p>Introduce el número del que quieres la tabla</p> <input type="number" id="numero" > <input type="button" id="botoncalcular" value="Calcular"> <div id="resultado"></div> </div> <script> document.getElementById("botoncalcular").addEventListener("click", calcular); function calcular() { var numero = parseInt(document.getElementById("numero").value); var res = tabla(numero); document.getElementById("resultado").innerHTML = res; } function tabla(numero) { var res = "<table>"; for (var i = 1; i <= 10; i++) { res += "<tr><td>" + i + "</td><td>x</td><td>" + numero + "</td><td>=</td><td>" + (i * numero) + "</td></tr>"; } res += "</table>"; return res; } </script>
Interaccionar con la página
<div id="seccion"> <h1 id="cabecera">Formulario</h1> <input type="text" id="texto"> <input type="button" onclick="cambiar()" value="pincha"> </div> <script> function cambiar() { var texto=document.getElementById("texto").value; document.getElementById("cabecera").innerHTML=texto; } </script> <div id="seccion"> <h1 id="cabecera">Formulario</h1> <input type="text" id="nombre" onkeyup="cambiar()"> <input type="text" id="apellidos" onkeyup="cambiar()"> <p id="resultado"></p> </div> <script> function cambiar() { var nombre = document.getElementById("nombre").value; var apellidos = document.getElementById("apellidos").value; document.getElementById("resultado").innerHTML = nombre + " " + apellidos; } </script> <div id="seccion"> <h1 id="cabecera">Formulario</h1> <input type="text" id="nombre" onchange="cambiar()" onfocus="aviso('nombre')"> <input type="text" id="apellidos" onchange="cambiar()" onfocus="aviso('apellido')"> <p id="resultado"></p> <p id="ayuda"></p> </div> <script> function aviso(texto){ document.getElementById("ayuda").innerHTML="Introduzca el "+texto; } function cambiar() { var nombre = document.getElementById("nombre").value; var apellidos = document.getElementById("apellidos").value; document.getElementById("resultado").innerHTML += nombre + " " + apellidos+"<br/>"; } </script> <div id="seccion"> <h1 id="cabecera">Formulario</h1> <input type="text" id="nombre" > <input type="text" id="apellidos" > <p id="resultado"></p> <p id="ayuda"></p> </div> <script> document.getElementById("nombre").addEventListener("change", cambiar); document.getElementById("apellidos").addEventListener("change", cambiar); function cambiar() { var nombre = document.getElementById("nombre").value; var apellidos = document.getElementById("apellidos").value; document.getElementById("resultado").innerHTML += nombre + " " + apellidos + "<br/>"; } </script> <div > <h1 >Fibonacci</h1> <p>Introduce el número que quieres calcular</p> <input type="number" id="numero" > <input type="button" id="botoncalcular" value="Calcular"> <p id="resultado"></p> </div> <script> document.getElementById("botoncalcular").addEventListener("click", calcular); function calcular(){ var numero=parseInt(document.getElementById('numero').value); var f=fibonacci(numero); document.getElementById('resultado').innerHTML=f.toLocaleString(); } function fibonacci(numero) { var a = 0, b = 1, c = 1; for (var i = 2; i <= numero; i++) { c = a + b; a = b; b = c; } return c; } </script>