Professional Documents
Culture Documents
Esto esté dentro del body.
ean sa ney Escribe un ejercicio con nombre Ejemplo3_i.htmI, que lea de teclado la poble- cin, la provincia y la calle y visualice en Ia pantalla os datos lefdos, cada uno en una linea. Visualizarlo también en una alerta, 8.3.2 Operadores y expresiones Los operadores sirven para manejar o transformar la informacién, para realizar célculos y para comparar informacion. Las expresiones son com- binaciones de variables, constantes y operadores que devuelven un valor realizando determinadas operaciones. Asf pues, en una expresi6n nos en- contramos: + Operandos son los elementos cuyo valor se manipula u opera, serén variables, constantes o expresiones. + Operador u operadores son los elementos que determinan el tipo de operacion a realizar: Ejemplo de expresiones son: 330 Expresion, Operandos Suma, A, B AB RESUL=A* 20 RESUL, A, 20 (A==B && 050) A.B,C,DPodemos establecer la siguiente clasificacién de operadores: Pres Nombre de operador Operador Ejemplo de expresiones De asignacién, asigna un valor. Numero = 10; De coneatenacién, une cadenas de . “EI nombre nuevo es: * + nombre caracteres. nombre + apetlido Suma: + total = importe + iva Resta: - Salario = base - retenciones Aritméticos, se utlizan para Mutipccon: * | porte = pei *unidades cats artnétensu operaciones | Bese weoutadot ented /5 ‘ Dison ertera:\. | testa = carla (5 Resto ela duision:% | resto =cantdad % 5 De comparacin, se ilzan para——| ‘gal (cd == 92) compara i yn on quale comparar valores, deweten tue | Dito: <> (r= 12} compara sind yn2 san dite. false, dependiondo de s'se cumple | Mayor que: > {ri > n} compara nd es menor auen2. rola comparacién Se ulzan | Menor a (rt <2) compara snes mayor que n2 ‘en programacién para toma de Mayor 0 igual: >= (nd >= n2), compara sin’ es mayor o igual que n2. decisiones. Mere a (ri <= 12} compara sin es menor 0 ual que m2. (ND) aa (ra = n2) €& (A), evade 8m es Igual a n2 y A 5 mayor que B, devahers tue si se cumpon las dos conactones coo loc) (rl > na) (>), eval si mayor ue 02,0 mayor naa Que 5.81 so cumple cualeulora de las dos condiciones, ' devolvrs tu No (NOT): ¥ A>B) Dewuelve true cuando el operando es falso. Es decir devuelve true cuando NO es A mayor que B. En el siguiente ejemplo (Ejemplo4.htm!) se declaran tres variables, n1. y n2, que se len de teclado, y suma que almacenaré la suma de los dos ntime- ros. Una vez lefdas ni y n2, se calcula la suma y se visualiza el resultado en una alerta y en el documento: IMPORTANTE: Para leer datos numéricos enteros. seint(): yremos la orden par- parseInt (prompt (“Mensaje a visualizar”, valor_por_defecto)); Esta orden convierte el dato tipo texto a numérico. Si no lo ponemos asf, en la suma de los ntimeros apareceré como resultado la concatenacién de los, nuimeros tecleados. En el Ejemplod escribiremos: No todas la expresiones requieren de la ni=parseInt (prompt(“Teclea el numero 1:",0)); ae eee n2=parseInt (prompt(“Teclea el numero 2:",0)); ‘solo se requiere que devuelva un valor. En este sentido podemos considerar que una constant o una variable constituyen OCTYPE htm1> ori sola una expresin, En las expresiones pueden intervenirEsto esta dentro del body.
Un programa que se escibe en un en= -guaje de alto nivel tiene que traducirse a ch si oe oom ey ~ crea una pghe que okay unset que lea (mediante prompt) na can. | | L2SPOURMER atcen an pbon ded nod por tela, sl 98100 que eule ena octets ia | | rsa Cantidad y la cantidad més 200. Si la cantidad esté entre 101 y 200 que vi- sSualice en el documento la cantidad y la cantidad multiplicada por 2. Si la Cantidad es negativa que visualice en el documento la cantidad y ES NEGATI- VA, en otro caso que visualice en el documento la cantidad y la cantidad mul- tiplicada por 3. Guardalo como Ejemplo10_1.html. + Crea una pagina que incluya un seript que lea (mediante prompt) una edad Introducida por tectado y visualice que no es correcta la edad si es mayor de 110, 0 es menor de 0. Visualice que es mayor de edad si es mayor de 18, y Visualice menor de edad si es menor de 18. Utliza la orden document.write. Guérdalo como Ejemplo10_2.htm!. *+ Crea una pagina que incluya un script para introducir por teclado el sexo, que | deberd ser Ho Moh o my visualizar en una alerta Hombre si es H on, Mu- ara leer datos numéricosenteos utiza- Jer si es Mo my eror sino es H,h, mo M. Guardalo como Ejempio10_3. remos la orden parse). nem. *+ Crea una pagina que incluya un script para leer de teclado dos nimeros y vi- sualizar si son iguales, 0 cual es el mayor y cual el menor. Guérdalo como Ejemplo10_4.hum 8.4.3 Estructura alternativa miiltiple Esta opcién se utiliza cuando se quiere comprobar los multiples valores que puede tomar una variable o una expresién, puede sustituir a muchos if en- cadenados. El diagrama de flujo se muestra en la Figura 8.14 y el formato es el siguiente: switch (expresién) { case valor. instrucciones1; break; case valor2: instrucciones2; break; case valor3: instrucciones3; break; case valorn: instruccionesn; break; [default instrucciones;}8 LENGUAJE JAVASCRIPT ‘Un compitador es un programa que pue- de leer otro programa escrito en un de- terminado lenguaj (un lengua fuente) y ‘radu en un programa equivalete en ‘otro lenguale enguele destin), El com- Dilador devolverderrores si el programa en el lenguae fuente no est ben esto. El programa destino se podra ajecutar st el lenguaje destino es drectament eje- | eutabl porta maquina, 340 Dondi + expresi6n es cualquier expresi6n o variable valida con la que se com- pararén los valores que acompafian a la cléusula case. + valori,..valorn son valores que suponemos puede tomar la expresién o variable a los que les sigue la instruccién o instrucciones que que- remos que se ejecuten en cada caso. + defautt es una cléusula opcional, se ejecutarén las instrucciones que la siguen en el caso de que el valor no coincidiese con ninguno de los casos contemplados. El funcionamiento de esta estructura es el siguiente: 1. Calcula el valor de expresian. 2. Comprueba desde el principio cada valor que acompafia a las cléusu- las case hasta encontrar alguno que coincida con el valor de expre- sin. 3. Cuando encuentra un valor que coincida con expresién ejecuta las ins- trucciones correspondientes hasta que encuentra la cléusula break. Los valores si no se pasan a numéricos (por ejemplo, al leer, si se pone parseint aseguramos que la entrada es un nimero entero) se han de preguntar entre comillas, como caracteres 0 cadenas, porque los considera caracteres. 4, Sino encuentra ningun valor que coincida con expresién ejecuta las instrucciones correspondientes a la cléusula default (si existe, en caso contrario no hard nada). 5. Sale del bloque de la estructura switch..case. Observaciones: * La cldusula break que aparece en este formato no es obligatoria pero sino se utiliza cambiard el funcionamiento de la estructura switch case. Esta cldusula es la responsable la salida del bloque una vez ‘ue se ejecuten las instrucciones de una de las cldusulas case. Sino se pone, se seguirdn ejecutando todas las instrucciones hasta llegar al final. Es decir, las cldusulas ease sin break actuarfan como puntos de entrada a la estructura, siendo la salida la misma en todos los casos. + Para una misma cléusula case se pueden especificar diversos valores. en lugar de un nico valor, en este caso se indicarén los valores sepa- rados por comas segiin el formato: case valor: case valor2: case valor3: instrucciones; break; Por ejemplo, se visualiza una alerta si la expresién que se evalla vale 10, 20.030: case 10 case 2 case 30: alert("E1 valor de la variable es 10, 20 0 30"); break;Pres Los intérpretes son otra aterativapa- ra traduor os programas escrts en ln- quale de ato nivel. En este caso, en vez de producir un programa destino como resultado del proceso de traducci6n, intérprete nos da la apariencia de eecu- ‘tar drectamente las operaciones espe- ‘ficadas en el programa fuente con las ‘entradas proporionadas por él. Cada vez El siguiente ejemplo (Ejemplo11.html) muestra la utilizacién de una estruc: que se ejecuta una instruccién se debe tura alternativa multiple anidada dentro de una estructura alternativa doble. interpretarytraduciralenguaje maquinaEsto estd dentro del body.
En esta ocasi6n, en lugar de ejecutar una alerta para cada caso, se ha opta- do por guardar el texto a mostrar en la alerta en la variable Calificacion para, al final, mostrar el contenido de dicha variable. Observa también que la va- Tiable Nota se redondea antes de comprobar su contenido (Nota = Math. round(Nota);) ya que los valores de las cldusulas case deben ser exactos (5, 6, eto.) El siguiente script (Ejemplo12.htmi) lee el numero del dia de la semana y vi sualiza en una alerta el nombre del dia, el 1 es lunes, el 2 es martes, el 3 es miércoles, el 4 es jueves, y asf sucesivamente. onrehatcante *+ Crea una pagina que incluya un script que permita leer un mes de teclado (el ‘ndmero de mes), y visualice en una alerta el nombre del mes lefdo: enero, fe- brero, marzo, etc. Guarda el ejercicio como Ejemplo12_thtm *+ Crea una pagina que incluya un script que permita leer dos numero de te- clado y un carécter que seré la operacion de célculo a realizar. Este carécter seré * para multiplicar, + para sumar, ~ para restar y / para divdi. Utliza una estructura switch para preguntar por la operacion y realiza el calculo. Visualiza el resultado de Ia operacion en el documento de manera que se vean los dos ‘ndmeros, la operacién y el resultado. Por ejemplo, si leemos de teclado 10, 30 y +, se ha de visualizar en la pagina: 10 + 30 = 40, Sila operacién tecleada es errénea se visualiza en el documento el mensaje “Error en la operacién.” Guarda el ejercicio como Ejemplo12_2.html.Pea * Crea una pagina que incluya un script que permita leer un ndmero de mes de teclado y a partir de ese mes calcula la productividad. La productividad es 1100 + el factor del mes. Y el factor del mes es el siguiente: Los meses enero, febrero y marzo tienen factor 15. Los meses abril, mayo y junio tienen factor 17. Los meses septiembre, octubre y noviembre tienen factor 20. Y diciembre tiene factor 21. ‘Sino son esos meses el factor es 0. Visualiza la productividad en el documento, indicando: El nombre de mes es Nombre:Mes y Ia productividad resultado. Visualiza “Error en e/ mes” si el ndmero de mes tecleado no esta entre 1 yi2. Guarda el ejercicio como Ejempio12_3.htm|. + Crea una pagina que inciuya un script para leer de teclado el nombre de em- pleado, su salario y su niimero de departamento. Se pretende subir el salario de los empleados, Para subir el salario preguntamos por el niimero de depar- tamento, Siel departamento es 10, la subida de salario serd de 100. Siel departamento es 20, la subida de salario seré del 5 % Sil departamento es 30, la subida de salario seré del 4 %. Sies otro departamento la subida serd de 75. Visualiza en el documento el nombre del empleado, el salario, la subida de salario, y el nuevo salarlo que sera la suma del salario mas la subida. Visualiza: Nombre empleado: nombye_leido, su salario es: salario_Jeido, su departamento es: depart leido, la subide es: subida_calculada, y el nuevo salaro es: salario_ leido més ia subida_caleulada. Guarda el elercicio como Ejempio12_4.htm|. 8.5 Estructuras repetitivas En ocasiones necesitaremos que un bloque de instrucciones se ejecute va- rias veces seguidas; en estos casos utilizaremos estructuras repetitivas 0 bucles. En JavaScript disponemos de las siguientes: False 8.5.1 Estructuras while La estructura while ejecuta un bloque de instrucciones y repite dicha ejecu- cién mientras que se cumpla una condicién. El diagrama de flujo se repre- senta como se muestra en la Figura 8.45 y el formato es el siguiente: Instruciones er L_] { Flew 825. Etec whl, instruceiones; +Dondi + condicién es la condicién a evaluar, si su valor es true se entraré en el bucle y se repetiré mientras se cumpla la condicién. Sera comproba- do antes de cada nueva ejecucién del bloque de instrucciones. + instrucciones es el bloque de instrucciones que se ejecutara si se cumple la condici6n. Funcionamiento: 1. Al encontrar la estructura while lo primero que hace (antes de entrar or primera vez en el bucle) es evaluar la condicién: si es verdadera entra en el bucle y ejecuta el bloque de instrucciones, pero si es falsa ni siquiera llegard a entrar en el bucle. 2. Una ver ejecutadas las instrucciones del bucle se evalda de nuevo la condicién para determinar si se vuelve a ejecutar el bloque 0 no (si es verdadera se ejecuta, si es falsa deja de ejecutarse). Este punto se repite hasta que la condicién deja de ser verdadera 3, Cuando al evaluar la condici6n el resultado es false, el flujo del pro- ‘grama va a la linea siguiente al final del bucle. EI siguiente ejemplo (Ejemplo13.htm) utliza esta estructura para validar la lectura de una nota, lo que hace es leer una nota que esté comprendida en- tre Oy 10y asi asegurarse que se teclea una nota correcta. Primero se lee la nota y el bucle verifica que sea correcta. La ultima instruccién del bucle es volver a leer la nota. Se saldré del bucle cuando se teclee la nota correc- ta. El while se ejecuta mientras la nota sea menor de 0 (error, nota negativa) © la nota sea mayor de 10 (nota errénea), en ese caso se lee. Observaciones: + Hay que asegurarse de que en algtin momento se produzca la salida del bucle ya que de lo contrario estarfamos ante un bucle infnito. Por ejemplo, si en lugar de la condicién while (Nota <0 || Nota > 10) hu biésemos escrito: while (Nota > 0 || Nota < 10) el bucle hubiese es- tado iterando constantemente y no finalizaria nunca, + Para que esta salida se produzca se deberé modificar el valor de la expresion. En nuestro caso la modificacién se produce al leer un nue- vo valor del teclado‘+ Se puede forzar una salida del bucle en cualquier momento mediante la cldusula break. + También se puede forzar a realizar un nuevo ciclo atin sin terminar to- das las instrucciones del bucle mediante la cléusula continue. Pero ninguna de estas dos ditimas opciones es recomendable ya que dificultan la legibilidad de los programas y, por tanto, su posterior mantenimiento, Pea asa eee + Utiizando et cédigo anterior, anade las Instrucciones necesarias para leer la Variable sexo y validar que sea un valor correcto, H 0 h para Hombre y Mom para Mujer. Visualiza con document.write los valores correctos. Guarda el ejer- ciclo con el nombre Ejemplo13_4.htm. + Crea una pagina que incluya un script para leer niimeros de teclado y visuali- zatlos en la pagina. Leer ndmeros hasta que sea un 0, cuando el niimero lefdo sea un O finalizar el bucle. El bucle se ejecutaré mientras el ndmero lefdo sea distinto de 0. Guarda el ejercicio con el nombre Ejemplo13_2.html. 8.5.2 Estructuras do...while La estructura do...while es similar a la anterior, pero en este caso la compro- bacién se produce después de ejecutar el bloque de instrucciones. El diagra- ‘ma de flujo se representa como se muestra en la Figura 8.16 y el formato es el siguiente: do { Instrucciones; t while(condici6én); La tinica diferencia entre la estructura while y la estructura do...while esté en la primera vez que se ejecuta el bucle: + [a estructura while comprueba la condicién antes de entrar por prime- ra vez en el bucle y si la condicién no se cumple, 0 no entrara. + {a estructura do...while ejecuta el bucle la primera vez sin comprobar la condicién. Para las demés iteraciones el funcionamiento es idéntico en ambas estruc- turas (linicamente se producen variaciones en el caso de utilizar la clausu- la continue). EI siguiente ejemplo (Ejemplo14.htmi) utiliza un bucle do. el ejercicio del Ejemplo13.html, pero ahora utilizando do. while para resolver ple. co) El siguiente cédigo (Ejemplo16.html) es igual que el anterior pero devolverd, ademés, la media de los nmeros tecleados. Para calcular la media se nece- sita contar el ntimero de valores que han sido introducidos y sumarlos. Ast, la media es el resultado de dividir la suma de los numeros lefdos entre e! contador de nuimeros lefdos. Antes de dividir hay que comprobar que el con- tador de numeros sea mayor que 0, porque si es O dard error al dividir por 0, Las medias se calculan cuando finaliza el bucle. ea objeto window utlizado en JavaScript ‘26 o objeto bisico, es decir ol elemento Brincipal del modelo de objetos, y repre ‘seta en si mismo a propio navegador y las ventanas que se abren. Los métodos Drincipales de este objeto son: opend), ‘lose, alert, confirm), prompt).Pete nea La sintaxis basic para utlizar el método window open ea siguiente: ‘window. open (URL, nombre) En UAL se espeotca la deccin a abi En nombre se puede especticar el nom- ‘bre dela ventana o también ls siguientes atibuios de destino: __blank— La UAL se carga en una nueva ventana, sel valor por defect. __parent —La URL se carga dentro dela ventana pare. _-solf—La URL susttuye ala pigina actual. top ~La UAL sustuye a todas ls pagi- ‘as que fueron cargadas. RET) Act Maia) Resuelve el ejerciclo anterior utilzando un bucte do...while. Guarda el ejercicio ‘como Ejemplo16_1.ntm. Crea una pagina que incluya un script que lea cinco ndmeros de teclado y que visualice la suma de ellos. Utiiza un bucle do...while. Guarda el ejercicio ‘como Ejemplo16_2.htm. Resuelve el ejercicio anterior utlizando un bucle while. Guarda el ejercicio ‘como Ejemplo16_3.htmi. Crea una pagina que incluya un scriot para leer el nombre y Ia edad de tres alunos. Y calcula la edad media de los alumnos. Al leer le edad hay que validarla comprobando que esté entre 13 y 100, utiliza para ello un bucle, do...wile, 0 while. Guarda el ejercicio como Ejemplo16_4.htm). Realiza los cambios necesarios al ejercicio anterior para que lea también el ‘sexo del alumno, H 0 h para hombres y M om para mujeres. Valida esta en- ‘trada, Guarda el ejerciclo como Ejemplo16. 5.htr. Realiza los cambios necesarios al ejercicio anterior para que cuente el nu- mero de hombres y el ndmero de mujeres que se han lefdo, y los visualice. Guarda el ejercicio como Ejempio16_6.html. Realiza los cambios necesarios al ejercicio anterior para que lea también la nota del alumno. Valida esta entrada haciendo que la nota sea valida si esta entre 0 y 10. Y que visualice también la nota media. Guarda el ejercicio como Elemplot6.7.ntml. 8.5.3 Estructura for Lae trolai sstructura for ejecuta un bucle un numero determinado de veces con- indo automaticamente el numero de repeticiones o iteraciones. La uti- lizaremos siempre que sepamos previamente el ntimero de veces que se ejecutard el bucle. Su formato genético es el siguiente: for (Variablecontrol = ValorInicio; Condiciéncontinuacién; ExpresiénIncremento) { Instrucciones; Donde: VariableControl: es una variable interna o local al bucle (no hay que declararla previamente) que se utiliza normalmente como contador del ntimero de ejecuciones del bucle en cada momento. Valorinicio: es el valor inicial que tomaré la VariableControl CondiciénContinuacién: es una condicién que seré comprobada antes de realizar cada ejecucién del bucle. Si se cumple, se ejecutard el blo- que de instrucciones; en caso contrario, pasard el control a la linea si- guiente al final de la estructura Expresiénincremento: es una expresién que modificaré el valor de la variable de control. Normalmente se trata de una simple suma pero puede ser cualquier expresién que permita en algin momento la sali da del programa.\Veamos un ejemplo sencillo. El siguiente c6digo (Ejemplo18.htm)) lee un ntimero de teclado y calcula y visualiza su factorial. Sabiendo que el factorial de un nimero N se calcula ‘multiplicando los nimeros desde 1 hasta é! mismo incluido, es decir facto- rial de N= 1 * 2 * 3...* N. Si el ndimero N es O, el factorial de N es 4. El factorial acumula productos con lo que es necesario iniciarlo a 1, si se ink cializa a 0, al multiplicar por 0, nos devolverd 0. Pres Prueba el siguiente ejemplo de uso de los atributs de window.opend: <1pocryre ntml>