Autor Tema: números aleatorios JavaScript. Math crear movimiento sinusoidal oscilar CU01165E  (Leído 2298 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo la entrega del ejercicio CU01165E.Generar números aleatorios JavaScript. Math. Redondear. Funciones matemáticas (seno), del tutorial pdf de programación JavaScript de aprenderaprogramar.


EJERCICIO 1

Citar
Crea un script que genere un número aleatorio entre 1 y 100. A continuación debe pedir al usuario que adivine el número. Si el usuario responde un número menor al número aleatorio, debe mostrarse un mensaje “El número es mayor. Inténtelo de nuevo” y dar opción a responder de nuevo. Si el usuario responde un número mayor debe mostrarse un mensaje “El número es menor. Inténtelo de nuevo”. Si el usuario acierta debe mostrarse “Enhorabuena. Ha acertado”. El programa debe terminar si el usuario acierta o si se superan los 30 intentos sin acertar. En caso de superarse los 30 intentos debe mostrarse el mensaje “Ha superado 30 intentos. El programa termina”.

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

<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
<script type="text/javascript">
window.onload = function()
{
var msg="";
var nAleatorio=Math.floor((Math.random() * (100 - 1))+1) ;
var nRespuesta;
var i=1;
var numIntentosQue;

while (i<=30)
{
numIntentosQue=30-i
nRespuesta=prompt("Introduzca un numero del 1 al 100\nLe Quedan "+numIntentosQue+" intentos")
if(nRespuesta==nAleatorio)
{
msg=msg+"!!!!!! EL NUMERO A SIDO ACERTADO ENHORABUENA ¡¡¡¡¡¡¡¡\n"
msg=msg+"Ha adivinado el numero\n";
msg=msg+"Su numero es : "+nRespuesta+"\n";
msg=msg+"Y el numero a adivinar es : "+nAleatorio;
alert(msg);
i=31;
}
if (nRespuesta!=nAleatorio)
{

if (i<=30)
{
if (nRespuesta>nAleatorio){msg="El numero a adivinar es menor";}
if (nRespuesta<nAleatorio){msg="El numero a adivinar es mayor";}
alert("!!!!  INCORRECTO\nvuelva a intentarlo le quedan "+numIntentosQue+" intentos\n"+msg)
msg="";
}

if (i>=30)
{
alert("!!!! HA SUPERADO EL NUMERO DE INTENTOS\nEL PROGRAMA FINALIZARA")

}
i++

}
}


}
</script>

<style type="text/css">
body{background-color:green;}
 
  h1,h2,h3{
text-align:center;
margin:0;
padding:0;
color:white;
width:300;
height:200;
}
</style>
</head>

<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Objetos Math.random()</h3>
</div>

</body>

</html>

EJERCICIO 2
Citar
Crea un script que pida al usuario el dato de radio en metros de la base de un cilindro y el dato de altura del cilindro. Utilizando la propiedad Math.PI debe realizarse el cálculo para determinar el área de la base del cilindro y el volumen del cilindro y mostrar estos resultados.

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

<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
<script type="text/javascript">
var msg="";
window.onload = function()
{
var pi=Math.PI;
var r=prompt("Introduzca el radio de la base del cilindro en metros ")
var rCuadrado=(Math.pow(r,2))
var h=prompt("Introduzca la altura del Cilindro en metros")
var areaBase=(pi*rCuadrado);
areaBase=areaBase.toFixed(2)
var volumen=areaBase*h
volumen=volumen.toFixed(2)

msg=msg+"<strong>Formula para hallar el area del circulo A=PI*r\u00B2<br/>";
msg=msg+"A=area, PI=3.1416, r=radio</strong><br/>";
msg=msg+"r = "+r +", r\u00B2 = "+rCuadrado+", r\u00B2 x PI = "+areaBase+"<br/><br/>";
msg=msg+"<strong>El area de la base del cilindro es :"+areaBase+" m\u00B2<br/><br/>";

msg=msg+"Formula para hallar el Volumen del Cilindro V = pi*r\u00B2*h<br/>"
msg=msg+"V = Volumen, pi*r\u00B2= Area base del cilindro, h = altura<br/></strong>"
msg=msg+"Area base del Cilindro = "+areaBase +"; h = "+h+" = Area de la base x h = "+volumen+" m\u00B3<br/><br/>";
msg=msg+"<strong>El volumen del cilindro es :"+volumen+" m\u00B3</strong>";

document.all.pizarra.innerHTML=msg;
}
</script>

<style type="text/css">
body{background-color:green;}
 
  h1,h2,h3{
text-align:center;
margin:0;
padding:0;
color:white;
width:300;
height:200;
}

#pizarra {
background-color:black;
border:groove red 8px;
border-radius:25px 25px;
color:white;
font-size:19px;
padding:15px;
overflow:hidden;
float:left;
margin-left:10px;
margin-top:10px;
position:absolute;
left:30%;
}
#Pizarras{float:left;}
</style>
</head>

<body>
<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Objetos Math.PI()</h3>
</div>
 
<div id="pizarra"></div>
</body>

</html>


EJERCICIO 3
Citar
Crea un script que dé lugar a lo siguiente:

a) En un div con id="volador” debes tener una palabra como <<JavaScript>>.

b) Utilizando las funciones trigonométricas, las propiedades de posicionamiento CSS y funciones para control de animaciones/tiempo debes dar lugar a que dicha palabra se desplace desde la izquierda hasta la derecha de la pantalla siguiendo un movimiento sinusoidal (es decir, subiendo y bajando suavemente describiendo ondas).

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

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

var topeY=1260;// Contador para controlar cuando llega al lado izquierdo de la pantalla
var finWidth=0;// Contador para controlar cuando llega al lado derecho de la pantalla
 var coorX=0;// poner coordenada x a cero
function inicio(){
setInterval(movimiento,5);
}
function movimiento(){
var movimiento=document.getElementById("volador")
var anchoPant=document.body.clientWidth //Coger ancho Pantalla
var coorY= movimiento.offsetLeft; // Coger coordenada eje Y para movimiento horizontal
coorX= Math.sin(coorY/100)*100;  // Coger coordenada para movimiento vertical

if(finWidth<=anchoPant-99)
{
finWidth++;
movimiento.style.left=(finWidth)+"px"
if(finWidth>=anchoPant-98){topeY=1260;}

}
else if(topeY>0)
{
topeY--
movimiento.style.left=(topeY)+"px"
if(topeY==0){finWidth=0}

}

movimiento.style.top=(coorX+10)+"px";
if(coorY%30==0){movimiento.style.color="Red"}
if(coorY%70==0){movimiento.style.color="white"}

}

</script>

<style type="text/css">
body{
background-color:black;
color:white;
}
 
  h1,h2,h3
{
text-align:center;
top:0;
margin:0;
}
#volador{
background-Color:transparent;
position:relative;
text-align:center;
font-size:20px;
font-weight :bold;
width:90px;
}
 

</style>
</head>

<body onload="inicio()">
<h1>Cursos aprenderaprogramar.com</h1>
 <h2>Objetos seno </h2>
 <h3>Ejercicio CU001165E-3</h3>
 
<div id="volador">Javascript</div>
 
 
</body>

</html>

Espero que este todo bien.
Un saludo. ;)
« Última modificación: 17 de Junio 2018, 18:07 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, el ejercicio 1 funciona correctamente. Hay una cosa que no me parece demasiado "limpia". Si el usuario acierta el número, para forzar la salida del bucle de solicitud de número escribes i=31; Esto en cierta medida es decir, si el usuario lleva 6 intentos y acierta el número, para salir decimos que el usuario lleva 30 intentos. Esto aunque funcione puede generar problemas de depuración en programas largos. Imagina que en un  momento dado se decide mostrar el número de intentos que ha tardado en acertar el número. Ahí podrían venir problemas. Desde mi punto de vista sería más adecuado que en la propia condición del bucle se controlara si lleva menos de 30 y no ha acertado, en lugar de valernos de "un truco".

Otra cosa que no veo correcta del ejercicio 1 es que empiece diciendo "Le quedan 29 intentos" y que termine dicendo "Le quedan 0 intentos". Creo que sería preferible que empezara diciendo que le quedan 30 intentos y que terminara diciendo que le queda 1 intento.

El ejercicio 2 y 3 todo bien. Bueno, a mí me ha mareado un poco que el texto volador vaya cambiando de colores :)

Salu2

 

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".