[ Foro de Pseudocódigo ]

No consigo hacer el ejercicio 1

15-Jan-2013 00:25
Juan Manuel Sánchez Moreno
11 Respuestas

Hola, por más que lo intento no soy capaz de hacer el ejercicio 1. Lo último que he intentado es esto:


Proceso Ejemplo004
 
  Escribir "Dime un numero" 
  Leer primerNumero
  Escribir "Dime otro numero" 
  Leer segundoNumero
  Escribir tercerNumero
 
  Si primerNumero > segundoNumero > tercerNumero Entonces 
	  Escribir "El primero es mayor" 
	  
	  Si segundoNumero > primerNumero > tercerNumero Entonces
		  escribir "El segundo es mayor"
		  
		  Si tercerNumero > primerNumero > segundoNumero Entonces
			  Escribir "El tercero es mayor"
		  FinSi
		  
	  FinSi
 
	
FinProceso


¿Qué es lo que hago mal? Gracias por vuestra ayuda. Un saludo.


15-Jan-2013 00:53
Marcos Ortega

Creo que el fallo esta en la tercera linea donde pones Escribir tercerNumero creo que debe ser Leer tercerNumero y detras de la palabra Escribir poner "Dime otro numero"

Saludos


15-Jan-2013 01:12
Juan Manuel Sánchez Moreno

He probado a poner eso, pero tambien me da error. Esto es lo que he puesto:


Proceso Ejemplo004
 
  Escribir "Dime un numero" 
  Leer primerNumero
  Escribir "Dime otro numero" 
  Leer segundoNumero
  Escribir "Dime otro número"
  Leer tercernumero
 
  Si primerNumero > segundoNumero > tercernumero Entonces 
	  Escribir "El primero es mayor" 
	  Si tercernumero > segundoNumero > primerNumero Entonces
		  Escribir "El tercer numero es mayor"
		  Si segundoNumero >tercernumero > primerNumero Entonces
			  escribir "El segundo numero es mayor"
		  FinSi
	  FinSi
  FinSi 
	
FinProceso


¿Qué hago mal? Gracias.


15-Jan-2013 10:48
Marcos Ortega

Yo lo he puesto así:


Proceso Ejemplo004
	Escribir "Dime un numero"
	Leer primerNumero
	Escribir "Dime otro numero"
	Leer segundoNumero
	Escribir "Dime otro numero"
	Leer tercerNumero
	
	Si primerNumero > segundoNumero Entonces
		Escribir "El primero es mayor"
	SiNo
		Escribir "El segundo es mayor"
	FinSi
	Si segundoNumero > primerNumero Entonces
		Escribir "El segundo es mayor"
	SiNo 
		Escribir "El primero es mayor"
	FinSi
	Si tercerNumero > pimerNumero Entonces
		Escribir "El tercero es mayor"
	Sino
		Escribir "El prinero es mayor"
	FinSi
	Si tercerNumero > segundoNumero Entonces
		Escribir "El tercero es mayor"
	Sino
		Escribir "El segundo es mayor"
	FinSi
	
	
FinProceso


Pero el resultado ha sido este (archivo adjunto) ha salido pero no de forma correcta


22-Jan-2013 14:05
Nacho Cabanes (+83)

Os vais acercando los dos, pero hay algún detalle que solucionar:

- Marcos compara los números uno a uno, y así no funcionará.

- Juan Manuel compara cada número con los dos restantes, que es la idea correcta, pero la sintaxis no es así.

Debería ser algo como:

SI numero1 > numero2 Y numero1 > numero3 ENTONCES ...


22-Jan-2013 14:36
Juan Manuel Sánchez Moreno

Pongo esto pero me salen errores de sintaxis:


Proceso Ejemplo004
 
  Escribir "Dime un numero" 
  Leer primerNumero
  Escribir "Dime otro numero" 
  Leer segundoNumero
  Escribir "Dime otro número"
  Leer tercernumero
 
  Si primerNumero > segundoNumero y segundoNumero > tercernumero Entonces 
  	Escribir "El primero es mayor" 
	Si segundoNumero > primerNumero y primerNumero > tercernumero Entonces
		Escribir "El segundo es mayor"
	Sino Escribir "El tercero es mayor"
		
		Finsi 
FinProceso


Me dice que falta cerrar el si, que el fin de proceso está mal colocado y que falta cerrar el proceso. ¿Me puedes explicar lo de la sintaxis, nacho? Creo que no lo he entendido bien...:( Gracias. Un saludo.


25-Jan-2013 22:29
Nacho Cabanes (+83)

Claro. Cada "Si" debe terminar con un "FinSi":

Si primerNumero > segundoNumero y segundoNumero > tercernumero Entonces  Escribir "El primero es mayor"
FinSi


25-Jan-2013 23:20
Juan Manuel Sánchez Moreno

Muchas gracias ya lo conseguí!!!!


01-Feb-2013 17:07
JUNIOR TORREALBA

buenos dias estimado, el programa puede quedar asi:


Proceso numerito
	Escribir "introduzca el primer numero"
	leer x
	escribir "introduzca el segundo numero"
	leer j
	escribir "introduzca el tercer numero"
	leer z
	
	si x > j y x > z Entonces
		escribir " el primer numero es mayor"
	FinSi
	
	si j > x y j> z entonces
		escribir " el segundo es mayor"
	FinSi
	
	si z > x y z > j Entonces
		escribir " el tercero es el mayor"
	FinSi
	
FinProceso



22-Feb-2013 15:38
Nacho Cabanes (+83)

Se me había pasado esta pregunta sin contestar.

Sí, el programa está bien enfocado. Sólo queda un pequeño detalle: piensa qué querrías que apareciera en pantalla si los tres números son iguales, y comprueba si tu programa se comporta de la manera que tú desearías en ese caso.


25-Mar-2014 10:42
robert dickl

Hola amigos aver ya que nacho ha planteado un pequeño reto nuevo que yo creo que he cumplido pero me he propuesto ponero una cosita mas que es el Repetir hasta que .... la intencion era repetir todo el proceso hasta que el usuario teclee Exit en uno de los tres campos elegido y de paso declarar el resto del teclado como Nulo solo numeros y las letras e x i t como deberia ser?¿? voy bien encaminado?¿?


Proceso MII
	Repetir
		 
	Escribir "Bienvenido al ejercicio Mayor inferior o iguales de aprendeaprogramar.com";
	Escribir "Para Salir porfavor escriba Exit";		
	Escribir "Porfavor introduzca Tres numeros!!!";
	Definir A,B,C Como Real;
	Leer A;
	Leer B;
	Leer C;
	si A>B Y A>C Entonces
		Escribir "EL PRIMER NUMERO ES MAYOR Y ES EL:",A;
	FinSi
	si B>A Y B>C Entonces
		Escribir "EL SEGUNDO NUMERO ES MAYOR Y ES EL:",B;
	FinSi
	si C>A Y C>B Entonces
		Escribir "EL TERCER NUMERO ES MAYOR Y ES EL:",C;
	FinSi
	Si A=B Y B=C Entonces
		Escribir "Los tres nummeros son iguales y son el:",A;
	finsi
	Hasta Que A,B o ,C=Exit;
FinProceso



25-Mar-2014 14:30
Nacho Cabanes (+83)

Se acerca bastante, pero tiene dos riesgos:

1) Fallará cuando dos números sean iguales y el tercero sea distinto.

2) Ese "Hasta" del final tiene todavía una sintaxis no válida, que habrá que afinar.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)