Está en la página 1de 32

Estructuras Condicionales Anidadas

Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el
promedio e imprima alguno de estos mensajes: Si el promedio es >=7 mostrar
"Promocionado". Si el promedio es >=4 y <7 mostrar "Regular". Si el promedio es <4
mostrar "Reprobado".
<html>
<head> if (pro>=4)
</head> {
<body> document.write('regular');
<script type="text/javascript"> }
var nota1,nota2,nota3; else
nota1=prompt('Ingrese 1ra. nota:',''); {
nota2=prompt('Ingrese 2da. nota:',''); document.write('reprobado');
nota3=prompt('Ingrese 3ra. nota:',''); }
//Convertimos los 3 string en enteros }
nota1=parseInt(nota1); </script>
nota2=parseInt(nota2); </body>
nota3=parseInt(nota3); </html>
var pro;
pro=(nota1+nota2+nota3)/3;
if (pro>=7) SOLUCIÓN
{
document.write('promocionado');
}
else
{
PROBLEMAS

1.- Se cargan por teclado tres números distintos. Mostrar por pantalla el mayor de
ellos.

2.- Se ingresa por teclado un valor entero, mostrar una leyenda que indique si el
número es positivo, cero o negativo.

3.- Confeccionar un programa que permita cargar un número entero positivo de hasta
tres cifras y muestre un mensaje indicando si tiene 1, 2, o 3 cifras.

4.- De un postulante a un empleo, que realizó un test de capacitación, se obtuvo la


siguiente información: nombre del postulante, cantidad total de preguntas que se le
realizaron y cantidad de preguntas que contestó correctamente. Se pide confeccionar
un programa que lea los datos del postulante e informe el nivel del mismo según el
porcentaje de respuestas correctas que ha obtenido, y sabiendo que:
Nivel superior:Porcentaje>=90%.
Nivel medio: Porcentaje>=75% y <90%.
Nivel regular: Porcentaje>=50% y <75%.
Fuera de nivel:Porcentaje<50%.
<html>
<head> if (num2>num3)
</head> {
<body> document.write('El mayor de los tres es:'+num2);

<script type="text/javascript"> }
var num1,num2,num3; else
num1=prompt('Ingrese primer valor:',''); {
num1=parseInt(num1); document.write('El mayor de los tres es:'+num3);
num2=prompt('Ingrese segundo valor:','');
num2=parseInt(num2); }
num3=prompt('Ingrese tercer valor:',''); }
num3=parseInt(num3);
if (num1>num2) </script>
{
if (num1>num3) </body>
{ </html>
document.write('El mayor de los tres es:'+num1);
}
else
{
document.write('El mayor de los tres es:'+num3);
}
}
else
{
<html>
<head>
</head> </script>
<body>
<script type="text/javascript"> </body>
var num; </html>
num=prompt('Ingrese un valor entero','');
num=parseInt(num);
if (num==0)
{
document.write('El número ingresado es cero');
}
else
{
if (num>0)
{
document.write('El número ingresado es positivo');
}
else
{
document.write('El número ingresado es negativo');
}
}
<html>
<head>
</head>
</script>
<body>
</body>
<script type="text/javascript">
</html>
var num;
num=prompt('Ingrese un número de 1,2 o 3
dígitos','');
num=parseInt(num);
if (num<10)
{
document.write('Tiene un dígito');
}
else
{
if (num<100)
{
document.write('Tiene dos dígitos');
}
else
{
document.write('Tiene tres dígitos');
}
}
<html> else
<head> {
</head> if (porcentaje>=75)
<body> {
document.write('Nivel medio');
<script type="text/javascript"> }
var nombre; else
nombre=prompt('Ingrese el nombre del {
postulante',''); if (porcentaje>=50)
var cantpreguntas; {
cantpreguntas=prompt('Cantidad de document.write('Nivel regular');
preguntas del test',''); }
cantpreguntas=parseInt(cantpreguntas); else
var cantcorrectas; {
cantcorrectas=prompt('Cantidad de preguntas document.write('Fuera de nivel');
correctas',''); }
cantcorrectas=parseInt(cantcorrectas); }
var porcentaje; }
porcentaje=cantcorrectas/cantpreguntas*100; </script>
if (porcentaje>=90)
{ </body>
document.write('Nivel superior'); </html>
}
Operadores lógicos && (y) en las estructuras condicionales.

El operador &&, traducido se lo lee como "Y". Se emplea cuando


en una estructura condicional se disponen dos condiciones.

Cuando vinculamos dos o más condiciones con el operador "&&"


las dos condiciones deben ser verdaderas para que el resultado
de la condición compuesta de Verdadero y continúe por la rama
del verdadero de la estructura condicional.

Recordemos que la condición debe ir entre paréntesis en forma


obligatoria. La utilización de operadores lógicos permiten en
muchos casos, plantear algoritmos más cortos y comprensibles.
Confeccionar un programa que lea por teclado tres números distintos y nos
muestre el mayor de ellos.
<html> if (num2>num3)
<head> {
</head> document.write('el mayor es el '+num2);
<body> }
<script type="text/javascript"> else
var num1,num2,num3; {
num1=prompt('Ingrese primer número:',''); document.write('el mayor es el '+num3);
num2=prompt('Ingrese segundo número:',''); }
num3=prompt('Ingrese tercer número:',''); }
num1=parseInt(num1); </script>
num2=parseInt(num2);
num3=parseInt(num3); </body>
if (num1>num2 && num1>num3) </html>
{
document.write('el mayor es el '+num1);
}
else
{
PROBLEMAS

1.- Realizar un programa que pida cargar una fecha cualquiera, luego verificar si dicha fecha
corresponde a Navidad (se debe cargar por separado el día, el mes y el año)

2.- Se ingresan tres valores por teclado, si todos son iguales se imprime la suma del primero
con el segundo y a este resultado se lo multiplica por el tercero (tener en cuenta que puede
haber tres condiciones simples)

3.- Se ingresan por teclado tres números, si todos los valores ingresados son menores a 10,
imprimir en la página la leyenda ' Todos los números son menores a diez'.

4.- Escribir un programa que pida ingresar la coordenada de un punto en el plano, es decir dos
valores enteros x e y. Posteriormente imprimir en pantalla en qué cuadrante se ubica dicho
punto. (1º Cuadrante si x > 0 Y y > 0 , 2º Cuadrante: x < 0 Y y > 0, etc.)

5.- De un operario se conoce su sueldo y los años de antigüedad. Se pide confeccionar un


programa que lea los datos de entrada e informe
a) Si el sueldo es inferior a 500 y su antigüedad es igual o superior a 10 años, otorgarle un
aumento del 20 %, mostrar el sueldo a pagar.
b) Si el sueldo es inferior a 500 pero su antigüedad es menor a 10 años, otorgarle un aumento
de 5 %.
c) Si el sueldo es mayor o igual a 500 mostrar el sueldo en la página sin cambios.
<html>
<head>
</head> Problema 1.
<body>
<script type="text/javascript">
var dia,mes,año;
dia=prompt('Ingrese día','');
dia=parseInt(dia);
mes=prompt('Ingrese mes','');
mes=parseInt(mes);
año=prompt('Ingrese año','');
año=parseInt(año);
if (dia==25 && mes==12)
{
document.write('La fecha ingresada corresponde a navidad');
}
else
{
document.write('La fecha ingresada no corresponde a navidad');
}
</script>
</body>
</html>
<html> Problema 2.
<head>
</head>
<body>
<script type="text/javascript">
var num1,num2,num3;
num1=prompt('Ingrese primer valor','');
num1=parseInt(num1);
num2=prompt('Ingrese segundo valor','');
num2=parseInt(num2);
num3=prompt('Ingrese tercer valor','');
num3=parseInt(num3);
if (num1==num2 && num1==num3)
{
var resu=(num1+num2)*num3;
document.write('La suma de los dos primeros valores y
multiplicado dicha suma por el tercero es:'+resu);
}

</script>
</body>
</html>
<html>
<head>
</head> Problema 3.
<body>

<script type="text/javascript">
var num1,num2,num3;
num1=prompt('Ingrese primer valor','');
num1=parseInt(num1);
num2=prompt('Ingrese segundo valor','');
num2=parseInt(num2);
num3=prompt('Ingrese tercer valor','');
num3=parseInt(num3);
if (num1<10 && num2<10 && num3<10)
{
document.write('Todos los números
ingresados son menores a 10.');
}

</script>

</body>
</html>
<html> Problema 4. if (x<0 && y<0)
<head> {
</head> document.write('Se encuentra en el tercer
<body> cuadrante');
<script type="text/javascript"> }
var x,y; else
x=prompt('Ingrese coordenada x',''); {
x=parseInt(x); if (x>0 && y<0)
y=prompt('Ingrese coordenada y',''); {
y=parseInt(y); document.write('Se encuentra en el
if (x>0 && y>0) cuarto cuadrante');
{ }
document.write('Se encuentra en el primer else
cuadrante'); {
} document.write('Se encuentra sobre un
else eje');
{ }
if (x<0 && y>0) }
{ }
document.write('Se encuentra en el }
segundo cuadrante'); </script>
}
else </body>
{ </html>
<html> Problema 5.
<head>
if (sueldo<500 && antiguedad<10)
</head>
{
<body>
document.write('Se le otorga un aumento
del 5%');
<script type="text/javascript">
document.write('<br>');
var sueldo,antiguedad;
var sueldototal=sueldo+sueldo*0.05;
sueldo=prompt('Ingrese el sueldo del
document.write('El sueldo total
empleado','');
es:'+sueldototal);
sueldo=parseInt(sueldo);
}
antiguedad=prompt('Ingrese la antigüedad
else
del empleado','');
{
antiguedad=parseInt(antiguedad);
document.write('El sueldo queda sin
if (sueldo<500 && antiguedad>=10)
cambios:'+sueldo);
{
}
document.write('Se le otorga un aumento
}
del 20%');
</script>
document.write('<br>');
var sueldototal=sueldo+sueldo*0.20;
</body>
document.write('El sueldo total
</html>
es:'+sueldototal);
}
else
{
<html>
Estructuras switch. La instrucción switch es una
<head>
alternativa para remplazar los
</head>
if/else if.
<body>
<script type="text/javascript">
var valor;
valor=prompt('Ingrese un valor comprendido entre 1 y 5:','');
valor=parseInt(valor);
switch (valor) {
case 1: document.write('uno');
break;
case 2: document.write('dos');
break;
case 3: document.write('tres');
break;
case 4: document.write('cuatro');
break;
case 5: document.write('cinco');
break;
default:document.write('debe ingresar un valor comprendido entre 1 y 5.');
}
</script>
</body>
</html>
Ingresar por teclado el nombre de un color (rojo, verde o azul), luego pintar el
fondo de la ventana con dicho color

<html>
<head>
</head>
<body>
<script type="text/javascript">
var col;
col=prompt('Ingrese el color con que se quiere pintar el fondo de la ventana (rojo, verde,
azul)' ,'');
switch (col) {
case 'rojo': document.bgColor='#ff0000';
break;
case 'verde': document.bgColor='#00ff00';
break;
case 'azul': document.bgColor='#0000ff';
break;
}
</script>
</body>
</html>
PROBLEMA:

Solicitar el ingreso alguna de estas palabras


(casa, mesa, perro, gato) luego mostrar la
palabra traducida en inglés. Es decir, si se
ingresa 'casa' debemos mostrar el texto 'house'
en la página.
<html>
<head> SOLUCIÓN
</head>
<body>

<script type="text/javascript">
var palabra;
palabra=prompt('Ingrese alguna de estas palabras (casa, mesa, perro, gato) para traducirlas
al ingles','');
switch (palabra) {
case 'casa':document.write('house');
break;
case 'mesa':document.write('table');
break;
case 'perro':document.write('dog');
break;
case 'gato':document.write('cat');
break;
}
</script>

</body>
</html>
Estructura repetitiva (while)

<html>
<head>
</head>
<body>
<script type="text/javascript">
var x;
x=1;
while (x<=100)
{
document.write(x);
document.write('<br>');
x=x+1;
}
</script>
</body>
</html>
PROBLEMAS:

1.- Realizar un programa que imprima 25 términos


de la serie 11 - 22 - 33 - 44, etc. (No se ingresan
valores por teclado).

2.- Mostrar los múltiplos de 8 hasta el valor 500.


Debe aparecer en pantalla 8 -16 -24, etc.
SOLUCIÓN:
<html>
<head>
</head>
<body>

<script type="text/javascript">
var serie;
serie=11;
var x;
x=1;
while (x<=25)
{
document.write(serie);
document.write('<br>');
x=x+1;
serie=serie+11;
}
</script>

</body>
</html>
SOLUCIÓN:
<html>
<head>
</head>
<body>

<script type="text/javascript">
var multiplo8;
multiplo8=8;
while (multiplo8<=500)
{
document.write(multiplo8);
document.write('<br>');
multiplo8=multiplo8+8;
}
</script>

</body>
</html>
Concepto de acumulador.
Problema: Desarrollar un programa que permita la carga de 5 valores por teclado y nos
muestre posteriormente la suma.

<html>
<head>
</head>
<body>
<script type="text/javascript">
var x=1;
var suma=0;
var valor;
while (x<=5)
{
valor=prompt('Ingrese valor:','');
valor=parseInt(valor);
suma=suma+valor;
x=x+1;
}
document.write("La suma de los valores es "+suma+"<br>");
</script>
</body>
</html>
PROBLEMAS
1.- Escribir un programa que lea 10 notas de alumnos y nos informe cuántos tienen notas mayores o
iguales a 7 y cuántos menores.

2.- Se ingresan un conjunto de 5 alturas de personas por teclado. Mostrar la altura promedio de las
personas.

3.- En una empresa trabajan 5 empleados cuyos sueldos oscilan entre $100 y $500, realizar un programa
que lea los sueldos que cobra cada empleado e informe cuántos empleados cobran entre $100 y $300 y
cuántos cobran más de $300. Además el programa deberá informar el importe que gasta la empresa en
sueldos al personal.

4.- Realizar un programa que imprima 20 términos de la serie 5 - 10 - 15 - 20, etc. (No se ingresan valores
por teclado)

5.-Mostrar los múltiplos de 10 hasta el valor 1500. Debe aparecer en pantalla 10 - 20 -30 etc.

6.- Realizar un programa que permita cargar dos listas de 3 valores cada una. Informar con un mensaje
cuál de las dos listas tiene un valor acumulado mayor (mensajes 'Lista 1 mayor', 'Lista 2 mayor', 'Listas
iguales')

7.- Desarrollar un programa que permita cargar 5 números enteros y luego nos informe cuántos valores
fueron pares y cuántos impares.Emplear el operador "%" en la condición de la estructura condicional. if
(valor%2==0). El operador "%" retorna el resto de la división valor / 2. Por ejemplo: 12 % 2, retorna 0; 13 %
2, retorna 1, porque el resto de dividir 13 en 2 es 1.
<html> SOLUCIÓN PROBLEMA 1
<head>
</head>
<body> document.write('Cantidad de alumnos con
notas mayores o iguales a 7:'+cant1);
<script type="text/javascript"> document.write('<br>');
var x=0; document.write('Cantidad de alumnos con
var cant1=0; notas menores a 7:'+cant2);
var cant2=0; </script>
while (x<10)
{ </body>
var nota; </html>
nota=prompt('Ingrese nota','');
if (nota>=7)
{
cant1=cant1+1;
}
else
{
cant2=cant2+1;
}
x=x+1;
}
<html>
SOLUCIÓN PROBLEMA 2
<head>
</head>
<body>

<script type="text/javascript">
var x=0;
var suma=0;
while (x<5)
{
var altura;
altura=prompt('Ingrese la altura en centímetros(Ej. 175)','');
altura=parseInt(altura);
suma=suma+altura;
x=x+1;
}
var promedio=suma/5;
document.write('La altura promedio de las cinco personas es:'+promedio);
</script>

</body>
</html>
<html>
SOLUCIÓN PROBLEMA 3
<head>
</head>
<body> total=total+sueldo;
x=x+1;
<script type="text/javascript"> }
var cont1=0; document.write('Cantidad de empleados que
var cont2=0; cobran 300 o menos:'+cont1);
var total=0; document.write('<br>');
var sueldo; document.write('Cantidad de empleados que
var x=0; cobran más de 300:'+cont2);
while (x<5) document.write('<br>');
{ document.write('Gastos en sueldos en la
sueldo=prompt('Ingrese el sueldo',''); empresa:'+total);
sueldo=parseInt(sueldo); </script>
if (sueldo<=300)
{ </body>
cont1=cont1+1; </html>
}
else
{
cont2=cont2+1;
}
SOLUCIÓN PROBLEMA 4

<html>
<head>
</head>
<body>

<script type="text/javascript">
var serie=5;
var x=0;
while (x<20)
{
document.write(serie+' ');
x=x+1;
serie=serie+5;
}
</script>

</body>
</html>
SOLUCIÓN PROBLEMA 5

<html>
<head>
</head>
<body>

<script type="text/javascript">
document.write('Múltiplos de 10 hasta el 1500<br>');
var multiplo=10;
while (multiplo<=1500)
{
document.write(multiplo+' ');
multiplo=multiplo+10;
}
</script>

</body>
</html>
<html> if (total1>total1)
<head> {
</head> document.write('Tiene mayor valor
<body> la lista1');
<script type="text/javascript"> }
var total1=0; else
var x=0; {
var nro; if (total1<total2)
while(x<3) {
{ document.write('Tiene mayor valor
nro=prompt('Ingrese valor de la primer lista:',''); la lista2');
nro=parseInt(nro); }
total1=total1+nro; else
x=x+1; {
} document.write('Tienen el mismo
var total2=0; valor acumulado las dos listas');
x=0; }
while(x<3) }
{ </script>
nro=prompt('Ingrese valor de la segunda lista:','');
nro=parseInt(nro); </body>
total2=total2+nro; </html>
x=x+1;
} SOLUCIÓN PROBLEMA 6
<html>
<head> SOLUCIÓN PROBLEMA 7
</head>
<body>

<script type="text/javascript">
document.write('Cantidad de valores pares
var cantpares=0;
ingresados:'+cantpares);
var cantimpares=0;
document.write('<br>');
var x=0;
document.write('Cantidad de valores impares
var valor;
ingresados:'+cantimpares);
while (x<5)
</script>
{
valor=prompt('Ingrese un valor','');
</body>
valor=parseInt(valor);
</html>
if (valor%2==0)
{
cantpares=cantpares+1;
}
else
{
cantimpares=cantimpares+1;
}
x=x+1;
}

También podría gustarte