[ Foro de Pseudocódigo ]

Ayuda en la práctica 6.1

21-Jun-2014 14:11
Invitado (zz)
4 Respuestas

Estoy haciendo la práctica 6,1 que dice lo siguiente: Ejercicio de repaso propuesto 6.1: Crea un programa que genere dos números al azar entre el 0 y el 100, y pida al usuario que calcule e introduzca su suma. Si la respuesta no es correcta, deberá volver a pedirla tantas veces como sea necesario hasta que el usuario acierte.
Pues bien la suma aunque al ejecutarlo me salga bien, continúa poniéndomela el programa como incorrecta... os dejo el código a ver si encontráis el error  y me ayudáis:


Proceso práctica
	 número<-AZAR(101)
	Escribir "Calcula la suma", número, "+", número;
	leer suma
	mientras x<> suma hacer
		suma<-x+x;
		Escribir "La suma es incorrecta, repita la operación";
		Leer x 

		
	FinMientras
	Escribir "La suma es correcta, fin";
	
FinProceso



21-Jun-2014 18:56
Luis Torres (+18)

En primer lugar te piden generar dos números al azar, pero tú solo generas un solo número.
Sigues teniendo el mismo error del post anterior, pero esta vez con la variable x, la cual representa la suma, calculada por el computador, de los dos numeros al azar, pero en ningún lugar está la instrucción que almacena esa suma en x. NO PUEDES utilizar una variable sin valor en la condición de un ciclo "mientras", es un error muy grave que te puede conducir a ciclos infinitos.
Dentro de las instrucciones del  ciclo "mientras" hay un punto en el que deberías preguntarte si la suma calculada por el computador (x) es igual a la suma calculada por el usuario, no lo haces.
Saludos.


22-Jun-2014 15:20
Nacho Cabanes (+83)

Coincido con Luis. Hay varias cosas que corregir:

1) Abres un nuevo hilo en vez de seguir la misma conversación.

2) Usas variables cuyo nombre está acentuado, algo que es mala costumbre, porque no es aceptable en la mayoría de lenguajes de programación.

3) Se te pide que generes dos números al azar, pero sólo generas uno.

4) Usas un "mientras" para comprobar el valor de una variable que aún no tiene valor.

5) Dentro de ese "mientras" no usas el valor de "número", sino el de "x" y el de "suma" (que vale el doble de x).

6) Como debes pedir al menos una vez, deberás pedir datos por primera vez antes de entrar al "mientras", y quizá no repitas si no se cumple la condición. La alternativa será usar "repetir-hasta", que verás en el apartado 7.

Reescríbelo teniendo en cuenta esas sugerencias y verás que sale casi solo...


26-Jan-2015 21:05
Invitado (valeriano)

Asi funciona


Proceso Ejercicio7a
	x<-AZAR(101);
	z<-AZAR(101);
	escribir "calcula la suma ",x, "+", z;
	leer suma
	Mientras x<> suma Hacer
		suma<-x+z;
		escribir "la suma no es correcta, repite operacion"
		leer x
	Fin Mientras
	
	escribir "OK la suma  es correcta";

 Finproceso


11-Mar-2015 12:10
Invitado (saintlo)

Proceso ejemplo

definir x Como Entero;
definir z como entero;
definir suma como entero;

x<-AZAR(101);
z<-AZAR(101);

Escribir "calcula la suma: ", x "+" z;
leer suma;

mientras x+z<>suma hacer
Escribir "la suma es incorrecta";
leer suma;
FinMientras
Escribir "la suma es correcta";

FinProceso






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