Título: Una ayuda simple (visual basic, 2017) Publicado por: DSREY en 15 Agosto 2017, 01:19 am hola, lo que pasa es q me enviaron a hacer un algoritmo donde llame por un sub proceso a la fecha, y ponerle rangos a la fecha, se q hay una variable q se llama "DATE" y con eso ya se pone el formato fecha y ademas ya tiene los rangos establecidos, pero aca la tarea es hacerlo con "integer" el proposito es q me de cuenta como funcionan los rangos, para otros usos. en fin eh diseñado aqui el algoritmo para llamar a la fecha, pero no se como colocarle los rangos, si me pueden guiar un poco en esto se los agradeceria, y si tienen alguna idea para q se vea mas estetico mi algoritmo o la presentacion agradeceria cualquier idea, aprendo de todo lo que practico.
Código: Imports System.Console Título: Re: Una ayuda simple (visual basic, 2017) Publicado por: Serapis en 15 Agosto 2017, 02:24 am Piensa un poco... Cómo lo resolverías de 'forma humana'?. Supongamos que me pides el año y yo te doy por respuesta: 1518 ... qué harías tú, para asegurarte que te dé un valor en el rango 1800-2020?
Título: Re: Una ayuda simple (visual basic, 2017) Publicado por: DSREY en 15 Agosto 2017, 02:29 am bueno estuve pensando como hacer lo de los rangos y se me ocurre algo como
año = readline() si año >1800 y año <2020, caso contrario (preguntar año nuevamente) el problema es q nose como plantear eso en el algoritmo y bueno claro previamente ingresar un mensaje q diga solo puede ingresar años entre 1800 y 2020, y ademas luego de eso tengo q aumentar try and catch para q me envie el mensaje de la falla en lo q ingrese Título: Re: Una ayuda simple (visual basic, 2017) Publicado por: Serapis en 15 Agosto 2017, 04:17 am Bien. Ves com te has respondido tú mismo?.
Efectivamente si lo piensas... al yo darte respuesta, tu deber es comprobarla, y si yo te doy una fecha errada, tu deber es indicarme que un mensaje 'no es correcto, proporciones un valor en el rango x-y y volverme a pedir de nuevo el dato... y repetir hasta que 'aborte' o dé un valor correcto. (el problema de las consolas, cuando se dispone de interfaz de usuario, se pone un control y los valores mínimo y maximo ajustan el rango, entonces no hay posibilidad de salirse del rango). Entonces del pensamiento, de la idea, pasamos al pseudocódigo: Código: Hacer Ese pseudocódigo, representa la idea, y es breve porque es 'genérico', pero se puede expandir, desde el momento en que conocemos ciertos detalles, y podemos hacerlo más 'específico': Código: buleano EnRango = FALSE //declaración de una variable... ...y esto debieras tu ya poder traducirlo a algo más específco como es el lenguaje que quieras usar... No hay nada complejo, un bucle do...while, entrada de datos, condicional y comparación matemática... p.d.: dejemos de lado la posibilidad de que el usuario aborte, se trata de un simple ejercicio.. Título: Re: Una ayuda simple (visual basic, 2017) Publicado por: DSREY en 15 Agosto 2017, 05:49 am gracias, lo hice tal cual, y si me salio ya lo de los rangos... mira quedo asi:
Código: Imports System.Console ahora tengo otra duda... como vez utilice un try y catch para ver el mesaje de error cuando en lugar de ingresar un numero ingresan una letra, y bueno cuando eso pasa no se cierra la ejecucion pero si la lleva al final, la pregunta es: como hago para q cuando ingresen una letra en lugar de un numero me bote el mesaje de error al ingresar letra en lugar de numero (eso ya esta) y ademas se pueda volver a repetir la accion.? Código: ingrese la fecha asi es como sale ahorita, pero en lugar de llevarme al final q me permita volver a ingresar los datos del dia o mes o año, en donde haya el error... xq sino corre asi: Código: ingrese la fecha Título: Re: Una ayuda simple (visual basic, 2017) Publicado por: Serapis en 15 Agosto 2017, 06:31 am es lo mismo... un bucle do...
Código: Cazado = FALSE Esto solo para el día, haz lo mismo para mes y lo mismo para año, si quieres generar un solo bucle para todos, crea una función para devolver el valor correcto en el rango: Código: Entero = Funcion PedirValorEnRango(Maximo, minimo, MensajeRango, MensajeError) Y esta función se llamaríamás simple desde un código similar a: Código: Hacer Título: Re: Una ayuda simple (visual basic, 2017) Publicado por: DSREY en 16 Agosto 2017, 05:29 am Gracias NEBIRE,
Todo esto ha sido de mucha utilidad... tengo examen de programacion en dos semanas asi q me estoy alistando para la prueba xq mi profesor siempre nos plantea ejercicios de cosas q no ha explicado... como por ejemplo esto del "do" "loop while" anidado con boolean true-false |