cordial saludo profesor nacho cabanes
queria preguntarle acerca de un programa que estoy realizando y que consiste en sumar los numeros que esten dentro del rango 10 y 100 inclusive. la idea es validar dos cosas primero que sea el usuario quien decida el final de la entrada de valores y segundo que se valide que el numero debe estar en el rango indicado de lo contrario volver a pedir el numero. he realizado el programa en pseint sin embargo cuando introduzco de entrada un valor que no esta en el rango el me hace la advertencia para volver a pedir un nuevo numero pero no me acumula lo que levaba hasta ese momento.
Proceso sin_titulo
Definir N,suma Como Entero
Definir L como caracter
suma=0
Repetir
// escribir "digite un numero"
//leer N
repetir
escribir "digite un numero"
leer N
si N>=10 Y N<=100 entonces
suma=suma+N
Sino
Escribir "Debe introducir un numero entre 10 y 100"
escribir "digite un numero"
leer N
FinSi
Hasta Que N >= 10 o N>=100
Escribir "¿Desea terminar? (S) si, (N) no"
Leer L
Hasta Que L="S" O L="s"
Escribir "la suma de los numeros que estan en el rango [10-100] fue:", suma
FinProceso
agradezco sus respectivas correcciones a errores que veas estoy cometiendo para que pueda resolver el problema como lo deseo
Tu problema está aquí:
Sino
Escribir "Debe introducir un numero entre 10 y 100"
escribir "digite un numero"
leer N
FinSi
Te sobre ese "Leer N", porque pides un valor que luego no usas en ningún momento
Agradecerte de antemano tu ayuda, efectivamente tu recomendacion me areglo el problema, tan solo queria preguntarte si me puedes sugerir otra forma de resolverlo con las mismas condiciones especificadas o si ud cree que asi esta ok completo y eficiente.
Gracias profe Nacho
Está (casi) bien su tu planteamiento es:
- pedir un número del 10 al 100
- si el número no es válido, dar la opción de terminar
- finalmente, mostrar la suma
(Casi bien,porque hay un error en el Hasta.)
Se podría simplificar un poco si para salir no preguntaras S o N,sino que te bastase con que introdujera 0, por ejemplo, pero eso supone cambiar un poco el planteamiento.
ok profesor nacho, excelente sugerencia, mil gracias por tu tiempo y explicacion idonea
(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.)