elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [JS]¿De modo que pueden encadenarse dos while?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [JS]¿De modo que pueden encadenarse dos while?  (Leído 1,804 veces)
Linton

Desconectado Desconectado

Mensajes: 239



Ver Perfil
[JS]¿De modo que pueden encadenarse dos while?
« en: 11 Julio 2013, 08:28 am »

Estaba haciendo ejercicios con javascript, y se me ocurrió probar una variante del enunciado de un problemilla, que pedía obtener los números entre dos cifras a y b anotadas por el usuario, quien debía introducir primero la mayor.

Quise resolverlo para cualquiera de los casos, a>b ó a<b, y probé a poner dos while, así:
Código
  1. a = parseInt(prompt('Escribe un número'));
  2. b = parseInt(prompt('Escribe otro'));
  3. while((a-1)>b){
  4.  b++;
  5.  document.write(b + '<br />');
  6. }
  7. while((b-1)>a){
  8.  a++;
  9.  document.write(a + '<br />')

¡Y funciona!  :) ¿Pero este recurso es correcto? ¿Puedo poner n operadores while en un programa?

Gracias, un saludo.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [JS]¿De modo que pueden encadenarse dos while?
« Respuesta #1 en: 11 Julio 2013, 09:10 am »

es correcto y puedes poner N operadores while en tu programa incluso si quieres anidados... pero hay mejores métodos... por ejemplo
Código
  1. a = parseInt(prompt('Escribe un número'));
  2. b = parseInt(prompt('Escribe otro'));
  3.  
  4. if(a>b){
  5. mayor = a;
  6. menor = b;
  7. } else{
  8. mayor = b;
  9. menor = a;
  10. }
  11.  
  12. while((mayor-1)>menor){
  13.  menor++;
  14.  document.write(menor + '<br />');
  15. }
  16.  

puedes usar el operador ternario para resumirlo más

Código
  1. a = parseInt(prompt('Escribe un número'));
  2. b = parseInt(prompt('Escribe otro'));
  3.  
  4. mayor = a>b? a:b;//esto funciona igual que el if el "?" es el operador y el ":" es el else
  5. menor = a>b? b:a;
  6.  
  7. for(i=(menor+1);i<mayor;i++) document.write(i + '<br />'); // como es una sola instruccion no necesita llaves
  8.  
  9.  


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Linton

Desconectado Desconectado

Mensajes: 239



Ver Perfil
Re: [JS]¿De modo que pueden encadenarse dos while?
« Respuesta #2 en: 11 Julio 2013, 10:23 am »

¡Tomo nota, muchas gracias por tu ayuda!  :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al debuguear paso de modo usuario a modo kernel
Ingeniería Inversa
jauma 0 2,054 Último mensaje 11 Junio 2006, 20:53 pm
por jauma
wxWidgets realizar aplicaciones hibridas (modo consola y modo gráfico)
Programación C/C++
mirloc_As 0 2,695 Último mensaje 20 Mayo 2010, 15:39 pm
por mirloc_As
2 antenas alfa 1 ( 1 en modo estacion y otra en modo punto de acceso)
Redes
alferez1982 1 2,992 Último mensaje 7 Septiembre 2012, 02:22 am
por andreselmejor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines