Sarmata
Usuario
A continuacion les dejos los primero apuntes de ejercicios del curso de programacion senior en Visual Basic que estoy realizando en un instituto privado. Mas adelante voy a ir agregando los siguientes a medida que transcurra el curso. salu2. Programación III: Estructuras de control Ejercicios 1. Escriba un programa que lea un dato de la entrada estándar y calcule e imprima su inverso. Considere el caso especial del valor 0, en cuyo caso el programa (¡no el sistema operativo!) deberá mostrar el mensaje "ERROR - división por cero". 2. Escriba un programa que lea un número entero desde la entrada estándar y compruebe si es correcto. En caso negativo, el programa imprimirá el mensaje "ERROR - número incorrecto". Considere los siguientes casos para decidir si un número es o no correcto: a. El número es correcto si se encuentra en el rango definido por dos valores constantes MINIMO y MAXIMO. b. El número es correcto si es uno de los tres valores constantes VALOR1, VALOR2 o VALOR3. c. El número es correcto si se encuentra en el rango definido por dos valores constantes MINIMO y MAXIMO, o bien es igual al valor constante VALOR1. d. El número es correcto si se encuentra en el rango definido por dos valores constantes MINIMO1 y MAXIMO1, o bien en el definido por los valores constantes MINIMO2 y MAXIMO2. 3. Escriba un programa que lea de la entrada estándar el valor de un año e indique si es o no un año bisiesto. Recuerde la regla: "Un año es bisiesto si es divisible por 400, o bien si es divisible por 4 pero no por 100" 4. Escriba un programa que lea un instante de tiempo expresado en horas y minutos y escriba como respuesta uno de los mensajes "Buenos días", "Buenas tardes" o "Buenas noches", de acuerdo con las siguientes reglas: a) Se considera que es de día desde las 7:30 horas hasta las 14:00 horas. b) Se considera que es por la tarde desde las 14:01 horas hasta las 20:30 horas. c) Se considera que es de noche desde las 20:31 horas hasta las 7:29 horas. 5. Escriba un programa que lea dos números de la entrada estándar y los escriba en la salida estándar ordenados de mayor a menor. 6. Escriba un programa que lea un carácter de la entrada estándar e indique su tipo, que podrá ser uno de los siguientes: letra mayúscula (de la 'A' a la 'Z'), letra minúscula (de la 'a' a la 'z'), dígito (del '0' al '9') u otro. Si se trata de una letra minúscula escribirá, además, la correspondiente letra mayúscula. 7. Desarrolle un programa que lea de la entrada estándar las coordenadas cartesianas (x, y) de un punto del plano y calcule e imprima el cuadrante al cual pertenece al punto (no considere los ejes de coordenadas). Hágalo de dos formas distintas: • Utilizando cuatro estructuras selectivas simples independientes. • Utilizando dos estructuras selectivas dobles anidadas. ¿Cuál de las dos soluciones considera más eficiente? ¿Por qué? (Pista: siga la traza de ambos programas con varios casos de ejemplo y cuente las comparaciones realizadas en cada uno de ellos). 8. Modifique el programa anterior para que considere tanto los ejes como el origen de coordenadas. 9. Generalice el programa de las coordenadas al espacio tridimensional. Cada punto tiene ahora 3 coordenadas (x, y, z) y puede estar situado en 8 cuadrantes diferentes. Resuélvalo en primer lugar sin considerar los ejes ni el origen de coordenadas, e incorpore posteriormente estos casos. 10. Escriba un programa que lea un número x de la entrada estándar y lleve a cabo las siguientes operaciones: o si es positivo, calculará e imprimirá su raíz cuadrada (use la función sqrt). o si es distinto de cero, calculará e imprimirá su inverso (1/x). o si es par, calculará e imprimirá su cociente entre 2 (x/2). o si es positivo y menor que 10, imprimirá el mensaje "sólo tiene un dígito". o si está comprendido entre 32 y 127 (ambos inclusive) imprimirá el carácter cuyo código ASCII representa. 11. Se desea escribir un programa para el cálculo del área de diversas superficies: cuadrado, rectángulo, círculo, triángulo y trapecio. El programa mostrará al inicio el siguiente menú: ========================================== CÁLCULO DE SUPERFICIES (versión 1.0) ========================================== Cuadrado lado*lado Círculo pi*radio*radio Rectángulo base*altura Trapecio (base1+base2)*altura/2 Triángulo (base*altura)/2 ========================================== Seguidamente leerá de la entrada estándar un valor que estará comprendido entre 1 y 5, indicando el tipo de superficie cuya área se desea calcular. El programa leerá entonces los datos que necesite para calcular el área en cuestión. El resultado se mostrará en la salida estándar, tras lo cual el programa terminará. 12. El siguiente programa lee dos números enteros de la entrada estándar y calcula e imprime el mayor de ellos. Complételo utilizando una estructura selectiva doble. 13. Modifique el programa anterior para que, en caso de igualdad de los dos números leídos, escriba el mensaje "ambos números son iguales". 14. Escriba un programa que lea tres números a, b, c de la entrada estándar y los escriba en la salida estándar ordenados de mayor a menor. Utilice el siguiente esquema como ayuda: si: abc si: ¿b>c? si: ¿a>c? no: acb no: cab ¿a>b? si: bac no: ¿a>c? si: bca no: ¿b>c? no: cba Considere ahora cuatro números en lugar de tres. Construya un esquema similar al anterior para ayudarse. 15. Escriba un programa que convierta de grados Fahrenheit a Celsius y viceversa. El programa deberá leer en primer lugar un número entero que indicará si se va a convertir de grados Fahrenheit a Celsius (1) o de grados Celsius a Fahrenheit (2). Seguidamente leerá el valor de la temperatura, realizará la conversión aplicando la fórmula adecuada y mostrará el resultado en la salida estándar. 16. Escriba un programa que lea dos fechas dadas por un día, mes y año e indique cuál de ellas es anterior en el tiempo a la otra. 17. Escriba un programa que lea dos fechas de un mismo año dadas por un día y un mes y calcule el número de días transcurridos entre ambas. Tenga en cuenta que el año puede ser bisiesto. 18. Escriba un programa que lea dos instantes de tiempo expresados en horas, minutos y segundos e indique cuál de ellos es anterior al otro. Hágalo de dos formas: • Calcule los segundos transcurridos desde las 00:00 horas hasta cada uno de ellos y compárelos. • Compare directamente las horas, los minutos y los segundos de ambos instantes de tiempo. 19. Escriba un programa que lea de la entrada estándar tres números enteros que representan las longitudes de tres segmentos rectilíneos, e indique si dichos segmentos pueden formar o no un triángulo (la condición necesaria pero no suficiente es que ninguno de los segmentos tenga una longitud superior a la suma de los otros dos). Si les interesa puedo tambien brindarles los apuntes, solo pidan.

Lo encontre en una pagina amiga de un tal "smartgenius" son dos codigos de juegos programados en Batch.... Juego 1º (empujar cajas, 5 niveles): @echo off ÿ@title PushBox v 1 ÿ@mode con cols=21 lines=18 ÿ@::Another Batch Game ÿ@::by ::SmartGenius :: ÿ if not exist "keyboard.exe" (Goto :NoKey) ÿ :load call :Logo setlocal enabledelayedexpansion set LimX=12 set LimY=10 set NLevels=5 ÿ :init for /l %%a in (0,1,%LimX%) do ( for /l %%b in (0,1,%LimY%) do ( set X%%aY%%b=ø)) set Player= set Bound=ê set Box=* set Push=o ÿ :Levels set /a L+=1 Call :Level%L% Call :Graphic set P%L%=%Movs% if "%EOG%"=="True" Goto :End if "%L%"=="%NLevels%" Goto :Win ping -n 1 0.0.0.0 >nul Goto :Init ÿ :Graphic Call :Clear irst cls for /l %%d in (0,1,%LimY%) do ( for /l %%e in (0,1,%LimX%) do ( set Lin_%%d=!Lin_%%d!!X%%eY%%d!)) echo. echo. PushBox v1 by Smart echo. echo. ÿNivel:%L% ÿ Movs:%Movs% echo. ÿ ÖÖÖÖÖÖÖÖÖÖÖÖÖ¯ for /l %%f in (0,1,%LimY%) do (echo. ÿ §!Lin_%%f!§) echo. ÿ ÔÖÖÖÖÖÖÖÖÖÖÖÖÖ¬ keyboard if "%errorlevel%"=="77" (call :MovX+ "%CurPos%" if "%errorlevel%"=="75" (call :MovX- "%CurPos%" if "%errorlevel%"=="80" (call :MovY+ "%CurPos%" if "%errorlevel%"=="72" (call :MovY- "%CurPos%" if "%errorlevel%"=="88" (set EOG=True&Goto :Eof) if "%errorlevel%"=="120" (set EOG=True&Goto :Eof) Call :Check%L% if "%NXL%"=="True" (Goto :Eof) Goto :Graphic ÿ ::Logica de Movimiento en el Plano ::Coded by :: SmartGenius :: ÿ :MovX+ for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( set /a MovX=%%p+1 set /a MovXX=%%p+2 call set NMovX=%%X!MovX!Y%%q%% call set NMovXX=%%X!MovXX!Y%%q%% if "!NMovX!"=="%Bound%" (Goto :Eof) if "!NMovX!"=="%Push%" ( if !%~1!==%Player% set %~1= set X!MovX!Y%%q=%Player% set CurPos=X!MovX!Y%%q) if "!NMovX!"==" " ( if !%~1!==%Player% set %~1= set X!MovX!Y%%q=%Player% set CurPos=X!MovX!Y%%q) if "!NMovX!"=="%Box%" ( if "!NMovXX!"=="%Bound%" (Goto :Eof) if "!NMovXX!"=="%Box%" (Goto :Eof) if !%~1!==%Player% set %~1= set X!MovX!Y%%q=%Player% set X!MovXX!Y%%q=%Box% set CurPos=X!MovX!Y%%q)) set /a Movs+=1 for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%)) Goto :Eof ÿ :MovX- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( set /a MovX=%%p-1 set /a MovXX=%%p-2 call set NMovX=%%X!MovX!Y%%q%% call set NMovXX=%%X!MovXX!Y%%q%% if "!NMovX!"=="%Bound%" (Goto :Eof) if "!NMovX!"=="%Push%" ( if !%~1!==%Player% set %~1= set X!MovX!Y%%q=%Player% set CurPos=X!MovX!Y%%q) if "!NMovX!"==" " ( if !%~1!==%Player% set %~1= set X!MovX!Y%%q=%Player% set CurPos=X!MovX!Y%%q) if "!NMovX!"=="%Box%" ( if "!NMovXX!"=="%Bound%" (Goto :Eof) if "!NMovXX!"=="%Box%" (Goto :Eof) if !%~1!==%Player% set %~1= set X!MovX!Y%%q=%Player% set X!MovXX!Y%%q=%Box% set CurPos=X!MovX!Y%%q)) set /a Movs+=1 for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%)) Goto :Eof ÿ :MovY+ for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( set /a MovY=%%q+1 set /a MovYY=%%q+2 call set NMovY=%%X%%pY!MovY!%% call set NMovYY=%%X%%pY!MovYY!%% if "!NMovY!"=="%Bound%" (Goto :Eof) if "!NMovY!"=="%Push%" ( if !%~1!==%Player% set %~1= set X%%pY!MovY!=%Player% set CurPos=X%%pY!MovY!) if "!NMovY!"==" " ( if !%~1!==%Player% set %~1= set X%%pY!MovY!=%Player% set CurPos=X%%pY!MovY!) if "!NMovY!"=="%Box%" ( if "!NMovYY!"=="%Bound%" (Goto :Eof) if "!NMovYY!"=="%Box%" (Goto :Eof) if !%~1!==%Player% set %~1= set X%%pY!MovY!=%Player% set X%%pY!MovYY!=%Box% set CurPos=X%%pY!MovY!)) set /a Movs+=1 for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%)) Goto :Eof ÿ :MovY- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( set /a MovY=%%q-1 set /a MovYY=%%q-2 call set NMovY=%%X%%pY!MovY!%% call set NMovYY=%%X%%pY!MovYY!%% if "!NMovY!"=="%Bound%" (Goto :Eof) if "!NMovY!"=="%Push%" ( if !%~1!==%Player% set %~1= set X%%pY!MovY!=%Player% set CurPos=X%%pY!MovY!) if "!NMovY!"==" " ( if !%~1!==%Player% set %~1= set X%%pY!MovY!=%Player% set CurPos=X%%pY!MovY!) if "!NMovY!"=="%Box%" ( if "!NMovYY!"=="%Bound%" (Goto :Eof) if "!NMovYY!"=="%Box%" (Goto :Eof) if !%~1!==%Player% set %~1= set X%%pY!MovY!=%Player% set X%%pY!MovYY!=%Box% set CurPos=X%%pY!MovY!)) set /a Movs+=1 for %%u in (%Pushes%) do (if "!%%u!"==" " (set %%u=%Push%)) Goto :Eof ÿ :Clear for /l %%m in (0,1,%LimY%) do (set Lin_%%m=) Goto :Eof ÿ :Win cls echo. ÿ Introduce tu echo. ÿ ÿ ÿNombre echo. set /p Nom=">>" if not defined Nom Goto :Win echo. echo. Felicitaciones ! echo. %Nom% echo. for /l %%v in (1,1,%NLevels%) do ( echo ÿNivel: %%v Movs: !P%%v!) pause >nul ÿ :End msg * Gracias por Jugar PushBox v1 by :: SmartGenius:: endlocal exit ÿ ::Niveles del Juego PushBox ::Coordenadas Cartesianas ::Coded by :: SmartGenius :: ÿ ::Inicio Nivel 1 :Level1 set Movs=0 set X4Y2=%Player% set CurPos=X4Y2 set Pushes=X5Y2,X6Y2,X7Y2 for %%g in (%Pushes%) do (set %%g=%Push%) for %%h in (X4Y4,X6Y5,X3Y6) do (set %%h=%Box%) for %%i in (X2Y1,X3Y1,X4Y1,X5Y1,X6Y1,X7Y1,X8Y1,X2Y2,X8Y2,X2Y3,X6Y3,X7Y3,X8Y3,X9Y3) do (set %%i=%Bound%) for %%j in (X1Y4,X2Y4,X3Y4,X9Y4,X1Y5,X5Y5,X7Y5,X9Y5,X1Y6,X5Y6,X9Y6,X1Y7,X5Y7,X6Y7) do (set %%j=%Bound%) for %%k in (X7Y7,X8Y7,X9Y7,X1Y8,X2Y8,X3Y8,X4Y8,X5Y8,X6Y8) do (set %%k=%Bound%) for %%l in (X3Y2,X3Y3,X4Y3,X5Y3,X5Y4,X6Y4,X7Y4,X8Y4,X2Y5,X3Y5) do (set %%l= ) for %%m in (X4Y5,X8Y5,X2Y6,X4Y6,X6Y6,X7Y6,X8Y6,X2Y7,X3Y7,X4Y7) do (set %%m= ) Goto :Eof ÿ :Check1 set NXL=False if "!X5Y2!"=="%Box%" ( if "!X6Y2!"=="%Box%" ( if "!X7Y2!"=="%Box%" set NXL=True)) Goto :Eof :in Nivel 1 ÿ ::Inicio Nivel 2 :Level2 set Movs=0 set X4Y2=%Player% set CurPos=X4Y2 set Pushes=X3Y5,X3Y6,X3Y7 for %%g in (%Pushes%) do (set %%g=%Push%) for %%h in (X5Y3,X4Y6,X7Y7) do (set %%h=%Box%) for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X2Y4,X3Y4,X4Y4,X6Y4) do (set %%i=%Bound%) for %%j in (X8Y4,X9Y4,X2Y5,X4Y5,X6Y5,X9Y5,X2Y6,X7Y6,X9Y6,X2Y7,X9Y7,X2Y8,X3Y8,X4Y8) do (set %%j=%Bound%) for %%k in (X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%) for %%l in (X5Y2,X4Y3,X6Y3,X7Y3,X5Y4,X7Y4,X5Y5,X7Y5) do (set %%l= ) for %%m in (X8Y5,X5Y6,X6Y6,X8Y6,X4Y7,X5Y7,X6Y7,X8Y7) do (set %%m= ) Goto :Eof ÿ :Check2 set NXL=False if "!X3Y5!"=="%Box%" ( if "!X3Y6!"=="%Box%" ( if "!X3Y7!"=="%Box%" set NXL=True)) Goto :Eof :in Nivel 2 ÿ ::Inicio Nivel 3 :Level3 set Movs=0 set X3Y5=%Player% set CurPos=X3Y5 set Pushes=X3Y6,X4Y6,X3Y7,X4Y7 for %%g in (%Pushes%) do (set %%g=%Push%) for %%h in (X3Y4,X5Y5,X8Y5,X7Y6) do (set %%h=%Box%) for %%i in (X2Y2,X3Y2,X4Y2,X5Y2,X6Y2,X7Y2,X8Y2,X2Y3,X8Y3,X9Y3,X10Y3,X1Y4,X2Y4,X4Y4) do (set %%i=%Bound%) for %%j in (X5Y4,X6Y4,X10Y4,X1Y5,X10Y5,X1Y6,X5Y6,X9Y6,X10Y6,X1Y7,X2Y7,X5Y7,X9Y7) do (set %%j=%Bound%) for %%k in (X2Y8,X3Y8,X4Y8,X5Y8,X6Y8,X7Y8,X8Y8,X9Y8) do (set %%k=%Bound%) for %%l in (X3Y3,X4Y3,X5Y3,X6Y3,X7Y3,X7Y4,X8Y4,X9Y4,X2Y5,X4Y5) do (set %%l= ) for %%m in (X6Y5,X7Y5,X9Y5,X2Y6,X6Y6,X8Y6,X6Y7,X7Y7,X8Y7) do (set %%m= ) Goto :Eof ÿ :Check3 set NXL=False if "!X3Y6!"=="%Box%" ( if "!X3Y7!"=="%Box%" ( if "!X4Y6!"=="%Box%" ( if "!X4Y7!"=="%Box%" set NXL=True))) Goto :Eof :in Nivel 3 ÿ ::Inicio Nivel 4 :Level4 set Movs=0 set X4Y4=%Player% set CurPos=X4Y4 set Pushes=X7Y3,X7Y4,X7Y5,X7Y6 for %%g in (%Pushes%) do (set %%g=%Push%) for %%h in (X5Y3,X6Y3,X6Y4,X5Y5) do (set %%h=%Box%) for %%i in (X3Y1,X4Y1,X5Y1,X6Y1,X3Y2,X6Y2,X7Y2,X8Y2,X3Y3,X8Y3,X3Y4,X8Y4) do (set %%i=%Bound%) for %%j in (X3Y5,X8Y5,X3Y6,X8Y6,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X5Y6) do (set %%j=%Bound%) for %%l in (X4Y2,X5Y2,X4Y3,X5Y4,X4Y5,X6Y5,X4Y6,X6Y6) do (set %%l= ) Goto :Eof ÿ :Check4 set NXL=False if "!X7Y3!"=="%Box%" ( if "!X7Y4!"=="%Box%" ( if "!X7Y5!"=="%Box%" ( if "!X7Y6!"=="%Box%" set NXL=True))) Goto :Eof ÿ ::Inicio Nivel 5 :Level5 set Movs=0 set X8Y6=%Player% set CurPos=X8Y6 set Pushes=X4Y5,X5Y5,X6Y5,X7Y5 for %%g in (%Pushes%) do (set %%g=%Push%) for %%h in (X2Y4,X3Y5,X8Y4,X9Y5) do (set %%h=%Box%) for %%i in (X1Y2,X2Y2,X3Y2,X4Y2,X7Y2,X8Y2,X9Y2,X10Y2,X11Y2,X0Y3,X1Y3,X4Y3) do (set %%i=%Bound%) for %%j in (X7Y3,X11Y3,X0Y4,X4Y4,X5Y4,X6Y4,X7Y4,X11Y4,X0Y5,X11Y5,X0Y6,X1Y6) do (set %%j=%Bound%) for %%k in (X6Y6,X10Y6,X11Y6,X1Y7,X2Y7,X3Y7,X4Y7,X5Y7,X6Y7,X7Y7,X8Y7,X9Y7) do (set %%k=%Bound%) for %%l in (X2Y3,X3Y3,X8Y3,X9Y3,X10Y3,X1Y4,X3Y4,X9Y4,X10Y4,X1Y5,X2Y5,X8Y5) do (set %%l= ) for %%m in (X10Y5,X2Y6,X3Y6,X4Y6,X5Y6,X7Y6,X9Y6) do (set %%m= ) Goto :Eof ÿ :Check5 set NXL=False if "!X4Y5!"=="%Box%" ( if "!X5Y5!"=="%Box%" ( if "!X6Y5!"=="%Box%" ( if "!X7Y5!"=="%Box%" set NXL=True))) Goto :Eof :in Nivel 5 ÿ :in de Coordenadas ÿ :Logo cls echo. echo. øøøøøøøøøøøøøøøøøøø echo. øøêêêøêøêøêêêøêøøêø echo. øøêøêøêøêøêøøøêøøêø echo. øøêêêøêøêøêêêøêêêêø echo. øøêøøøêøêøøøêøêøøêø echo. øøêøøøêêêøêêêøêøøêø echo. øøøøøøøøøøøøøøøøøøø echo. øøøêêêøøêêêøêøøøêøø echo. øøøêøøêøêøêøøêøêøøø echo. øøøêêêøøêøêøøøêøøøø echo. øøøêøøêøêøêøøêøêøøø echo. øøøêêêøøêêêøêøøøêøø echo. øøøøøøøøøøøøøøøøøøø echo. øø: SmartGenius :øø echo. øø ÿCorp. ÿ2009 ÿøø echo. øøøøøøøøøøøøøøøøøøø ping -n 3 0.0.0.0 >nul Goto :Eof ÿ :::::::::::::::::::: ::Records by Smart:: :: ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ:: ::Nivel 1: 70 Movs:: ::Nivel 2: 50 Movs:: ::Nivel 3:116 Movs:: ::Nivel 4: 25 Movs:: ::Nivel 5: 63 Movs:: :::::::::::::::::::: ÿ :::::::::::::::::::::::::::::::::::::::::::::::: ::El Siguiente Codigo se encarga de Crear el ::archivo necesario para recibir entradas desde ::el teclado..... KEYBOARD.EXE ::Creditos a Carlitos ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ :::::::::::::::::::::::::::::::::::::::::::::::: :NoKey ÿ@mode con cols=30 lines=20 cls echo. echo ÿUno de los archivos necesarios para el echo ÿfuncionamiento de este Script no se echo ÿencuentra. echo. echo ÿA Continuacion sera creado... call :keyboard echo. echo ÿArchivo Creado Satisfactoriamente... echo ÿPor favor reinicie el Script. echo. pause exit ÿ :keyboard ( echo n keyboard.dat echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00 echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21 echo rcx echo 002E echo w0 echo q echo. )>keyboard.dat type keyboard.dat|debug>NUL 2>&1 del /f/q/a "keyboard.exe">NUL 2>&1 ren keyboard.dat "keyboard.exe" Goto :Eof Juego 2 (El conocido buscaminas): @echo off ÿ @title Buscaminas ÿ @mode con cols=18 lines=13 ÿ @::MineSweeper v 1 ÿ @::Coded by ::SmartGenius:: if not exist "keyboard.exe" (Goto :NoKey) :load setlocal enabledelayedexpansion set LimX=9 set LimY=9 set IniX=0 set IniY=0 set MovX=0 set MovY=0 :init for /l %%a in (0,1,%LimX%) do ( for /l %%b in (0,1,%LimY%) do ( set X%%aY%%b=ê )) for /l %%m in (0,1,9) do (set M%%m=X!random:~-1!Y!random:~-1!) set X0Y0= set Last=ê set Curpos=X0Y0 Goto irst :Graphic Call :Clear irst for /l %%d in (0,1,%LimY%) do ( for /l %%e in (0,1,%LimX%) do ( set Lin_%%d=!Lin_%%d!!X%%eY%%d! )) echo. echo. MineSweeper v 1 echo. for /l %%f in (0,1,%LimY%) do (echo.ÿ ÿ!Lin_%%f!) if "%EOG%"=="True" Goto :End keyboard if "%errorlevel%"=="77" (call :MovX+ "%CurPos%" if "%errorlevel%"=="75" (call :MovX- "%CurPos%" if "%errorlevel%"=="80" (call :MovY+ "%CurPos%" if "%errorlevel%"=="72" (call :MovY- "%CurPos%" if "%errorlevel%"=="13" (call :Check "%CurPos%" if "%errorlevel%"=="88" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit) if "%errorlevel%"=="120" (msg * Gracias por Jugar Buscaminas v1 by SmartGenius&exit) Goto :Graphic :MovX+ for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( if "%%p"=="%LimX%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovX=%%p+1 call set Last=%%X!MovX!Y%%q%% set X!MovX!Y%%q= set CurPos=X!MovX!Y%%q ) Goto :Eof :MovX- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( if "%%p"=="%IniX%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovX=%%p-1 call set Last=%%X!MovX!Y%%q%% set X!MovX!Y%%q= set CurPos=X!MovX!Y%%q ) Goto :Eof :MovY+ for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( if "%%q"=="%LimY%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovY=%%q+1 call set Last=%%X%%pY!MovY!%% set X%%pY!MovY!= set CurPos=X%%pY!MovY! ) Goto :Eof :MovY- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1" do ( if "%%q"=="%IniY%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovY=%%q-1 call set Last=%%X%%pY!MovY!%% set X%%pY!MovY!= set CurPos=X%%pY!MovY! ) Goto :Eof :Check for /l %%h in (0,1,9) do ( if "%~1"=="!M%%h!" ( set %~1= set EOG=True Goto :Eof )) set %~1=ø Goto :Eof :End msg * Perdiste ! pause>nul exit :Clear for /l %%m in (0,1,%LimY%) do (set Lin_%%m=) Goto :Eof :NoKey cls echo. echoÿ Uno de los archivos necesarios para el echoÿ funcionamiento de este Script no se echoÿ encuentra. echo. echoÿ A Continuacion sera creado... call :keyboard echo. echoÿ Archivo Creado Satisfactoriamente... echoÿ Por favor reinicie el Script. echo. pause exit :keyboard ( echo n keyboard.dat echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00 echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21 echo rcx echo 002E echo w0 echo q echo. )>keyboard.dat type keyboard.dat|debug>NUL 2>&1 del /f/q/a "keyboard.exe">NUL 2>&1 ren keyboard.dat "keyboard.exe" Goto :Eof Nada mas por ahora...salu2

EL MAS FAMOSO: "EL DINOSAURIO" Título: El dinosaurio Texto completo: "Cuando despertó, el dinosaurio todavía estaba allí." Fin. (1959) Autor: Augusto Monterroso OTRO MAS: Título: El emigrante Texto completo: "-¿Olvida usted algo? - Ojalá." Fin. Autor: Luis Felipe G. Lomelí. Y OTRO: Titulo : S/D Texto completo: "¿Y qué pretendes? ¿Qué viva desnudo en el tejado?." Fin. Autor: Antonio Skarmeta. Y PARA NO SER MENOS, UNOS POCOS SEGUNDOS MAS DE LECTURA, AUNQUE ES CIERTO, ESTOS SON UN POQUITITO MAS LAAAARGOS: El sueño de Chuang Tzu. Chuang Tzu soñó que era una mariposa y no sabía al despertar si era un hombre que había soñado ser una mariposa o una mariposa que ahora soñaba ser un hombre. Herbert Allen Giles El hombre invisible. Aquel hombre era invisible, pero nadie se percató de ello. Gabriel Jiménez Emán Toda una vida Lo vio pasar en un vagón de metro y supo que era el hombre de su vida. Imaginó hablar, cenar, ir al cine, yacer, vivir con él. Dejó de interesarle. Beatriz Pérez-Moreno Memorias de Juan Charrasqueado. -Yo no lo maté: él solito se le atravesó a la bala. José Emilio Pacheco Palabras Parcas. Abelardo, Arsaín, astuto abogado argentino, asesino agudo, apuesto, ágil aerobista acicalado. Atento. Amable. Amigo asiduo, afectuoso, acechante. Ambicioso. Amante ardiente, arrecho. Autoritario. Abrazos asfixiantes, ansiosos, asustados. Aluvión apagado, artefacto ablandado, apocado. Agravado. Altamente agresivo, al acecho. Abelardo Arsaín. Arma al alcance, arremete artero, ataca arrabiado, asesina. Atrapado. Absuelto: autodefensa. ¡Ay! Luisa Valenzuela BUENO AMIGOS, COMO QUIEN DICE: "HABIA UNA VEZ UN COLORIN COLORADO"...HASTA LA PROXIMA !