[ Foro de Pseudocódigo ]

Práctica 12,4. ayuda

24-Jun-2014 23:01
Invitado (gm)
3 Respuestas

La práctica dice así: 4.- Crear un algoritmo que pida al usuario 5 datos, luego le pida un valor con el que comparar, y finalmente diga cuales de esos 5 datos son mayores que el valor de comparación. Pero al hacerlo no sé que es lo que tengo mal que no me sale el programa, si me pudieran ayudar... Gracias de antemano! Os dejo lo que llevo:

 
Proceso practica
	Dimension datosdeusuario[5]
	datocomparado<-1
	para x<- 1 hasta 5 Hacer
		Escribir "Dime un dato"
		leer datosdeusuario[x]
	FinPara
	Escribir "Escriba el valor con el que quiera comparar los datos"
	leer datocomparado
	Para x<- 1 hasta 5 Hacer
		si datosdeusuario[x]>datosdeusuario[datocomparado] entonces
			datocomparado=x
		FinSi
		finpara
		Escribir "El número mayor al comparado es:", datosdeusuario[datocomparado];
FinProceso
 



25-Jun-2014 02:32
Luis Torres (+12)

El error está aquí:

 
Para x<- 1 hasta 5 Hacer 
  si datosdeusuario[x]>datosdeusuario[datocomparado] entonces 
  datocomparado=x 
FinSi 
 


No debes usar la variable "datocomparado" como índice que arreglo "datosdeusuario".
No entiendo para qué sirve la línea:
         datocomparado=x, le estás asignando el índice "x" a la variable "datocomparado", lo cual no tiene sentido. En vez de eso deberías escribir en pantalla el "datocomparado".
Tampoco era necesario inicializar la variable "datocomparado" en 1, porque a fin de cuentas la vas a leer en el programa.
Trata de resolverlo para revisarlo.
Saludos.


25-Jun-2014 13:29
Invitado (gm)

muchas gracias!! ya lo tengo, creo que está bien!!

 
Proceso practica
	Dimension datosdeusuario[5]
	para x<- 1 hasta 5 Hacer
		Escribir "Dime un dato"
		leer datosdeusuario[x]
	FinPara
	Escribir "Escriba el valor con el que quiera comparar los datos"
	leer datocomparado
	Para x<- 1 hasta 5 Hacer
		si datocomparado<datosdeusuario[x] entonces
			Escribir "El número mayor al comparado es:", datosdeusuario[x];
		FinSi
		finpara
FinProceso
 



26-Jun-2014 09:22
Nacho Cabanes (+30)

Sí, parece estar bien. El mensaje de respuesta resultará un tanto desconcertante si hay varios números mayores, porque dirás "el número mayor" como si se tratara de un único valor. Pero el resto parece correcto.






(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.)