Ayuda con Scripts Batch.

Iniciado por legolas266, 25 Febrero 2013, 20:33 PM

0 Miembros y 2 Visitantes están viendo este tema.

legolas266

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.

Eleкtro

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:
Código (dos) [Seleccionar]
Set "Palabra=ElHacker.Net"
Echo+ Palabra: %Palabra%
Echo+ Primera letra: %Palabra:~0,1%
Echo+ Ultima letra: %Palabra:~-1%


Pista Ejercicio 5:
Código (dos) [Seleccionar]
@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.








legolas266

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.

Eleкtro

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://ss64.com/nt/syntax-args.html

Tutorial extendido de aprendizaje Batch by Elektro H@cker
· 8. Búcles


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.