Hola, lo primero disculpas a Elektro-Hacker por duplicar el post, entendí mal lo que me dijo en otro post. Ahora bien, necesito ayuda para realizar estos ejercicios de programacion en Batch. Soy nuevo en esto y se me hace muy complicado. A ver si alguien me pudiera ayudar a completarlos y comprenderlos que es lo mas importante.
Ejercicio 1: Introducida una palabra y un numero por el usuario, indicar que letra se encuentra en la posición indicada por dicho numero.
Ejercicio 2: Introducidos 3 numeros por el usuario, mostrarlos en pantalla de manera ordenada creciente o decreciente según lo indique el usuario.
Ejercicio 3: Introducida una palabra por el usuario, devolver cual será el valor total. Para ello supondremos que la posición de cada palabra en el abecedario corresponde con su valor. (Por ejemplo: ANA --> 1 + 14 + 1 )
Ejercicio 4: Introducida una fecha por el usuario (Dia, Mes, Año), indicar si una persona es mayor de edad o no.
Ejercicio 5: Realizar el juego de los numeros, es decir, tendremos un número aleatorio que deberemos averiguar con un máximo de 5 intentos. En todo momento se deberá indicar al jugador si la cifra que busca es mayor o menor a la introducida. Al final se mostrará un mensaje indicando si se ha acertado o no. En caso de haberse acertado, se mostrarán diferentes mensajes, según el número de intentos realizados.
Gracias por anticipado a todos por su ayuda.
Ya va siendo hora de que intentes hacer los ejercicios por tu cuenta... y nosotros te ayudaremos donde te bloquees... pero es que pides que hagan el trabajo por tí.
Los 5 ejercicios se basan en el uso del FOR /L, SET /A, SET /P, y el Substring.
Es fácil de hacerlos, pero yo no te lo voy a dar hecho otra vez, aquí tienes dos ejemplos de como usar lo que necesitas: http://foro.elhacker.net/programacion_general/ayuda_para_realizar_2_programas_en_batch-t383910.0.html
Pista Ejercicio 1:
Set "Palabra=ElHacker.Net"
Echo+ Palabra: %Palabra%
Echo+ Primera letra: %Palabra:~0,1%
Echo+ Ultima letra: %Palabra:~-1%
Pista Ejercicio 5:
@Echo OFF
Set /A "MAX=9"
Call :Generate_Random %MAX%
:Try
Echo Se ha generado un numero aleatorio del 0 al %MAX% | MORE
REM Echo [+] Solucion: %RANDO%
Set /P "Number=Acierta el numero >>"
Pause&Exit
:Generate_Random
Echo %RANDOM% >NUL
Set /A "Rando=%RANDOM:~-1%"
If %RANDO% GTR %~1 (GOTO :Generate_Random) ELSE (GOTO :EOF)
Saludos.
Si se me ocurriera algo no dudes que lo expondria para corregir errores, pero es que no se ni por donde empezar. Gracias de todas formas por las pistas y la ayuda.
No sabas de algun tutorial completo en internet acerca de este lenguaje de programacion.. No tengo nada claro la forma de trabajar del comando For /L y de esta variable %~1... no entiendo q es lo que hace..
Quizas comprendiendo mejor su funcionamiento sea capaz de hacer estos ejercicios que ahora mism me resultan muy complicados.
Gracias una vez mas.
Definición de "%1" (Argumento):
CitarArgumento (o Parámetro)Un argumento es un valor que podemos enviarle a una aplicación CLI o a una Subrutina de nuestro archivo bat para que interactuen con dicho valor.
Un argumento o parámetro es una variable que puede ser recibida por una rutina o subrutina.
Una subrutina usa los valores asignados a sus argumentos para alterar su comportamiento en tiempo de ejecución.
Definición de "FOR" (Búcle): http://es.wikipedia.org/wiki/Bucle_%28programaci%C3%B3n%29
Tutorial extendido de aprendizaje Batch by Elektro H@cker
· 6.1 Variables especiales (o Variables de parámetro) (o Variables de argumentos) (http://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.0.html;msg1797955#msg1797955)
http://ss64.com/nt/syntax-args.html
Tutorial extendido de aprendizaje Batch by Elektro H@cker
· 8. Búcles (http://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.0.html;msg1798004#msg1798004)
http://ss64.com/nt/for.html
PD: Buscar y encontrar es fácil, deberías usar más el buscador del foro o Google.Saludos.