Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisiónAmbos lados, revisión siguiente | ||
tutorial_de_aventuras_en_basic [2022/01/25 20:59] – peron | tutorial_de_aventuras_en_basic [2022/03/12 04:53] – [GOTO] peron | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Tutorial de BASIC: "Crea tu propia aventura" | ====== Tutorial de BASIC: "Crea tu propia aventura" | ||
- | Este tutorial sencillo te presenta generalidades del [[basic|lenguaje de programación BASIC]] | + | Este tutorial sencillo te presenta generalidades del [[basic|lenguaje de programación BASIC]] para realizar |
===== Introducción ===== | ===== Introducción ===== | ||
+ | ¿Alguna vez has leído uno de esos libros de cuentos de "Sigue tu propia aventura"? | ||
- | ¿Alguna vez has leído uno de esos libros de cuentos de "Sigue tu propia aventura"? | + | === Propuesta === |
+ | El microprograma [[historia.bas]] que abordaremos en este tutorial presentan | ||
- | El programa que abordaremos | + | ==== ¡A programar! ==== |
+ | Para iniciar, abre el intérprete | ||
- | Para comenzar, podrás pegar o tipear estas primeras veintiocho líneas del programa | + | < |
+ | bwbasic | ||
+ | </ | ||
+ | |||
+ | Para comenzar | ||
+ | > Si deseas teclear el código BASIC, te doy una ayuda para ahorrar tiempo: luego de escribir la línea 70 y presionar **Intro**, puedes mover el cursor hacia atrás hasta el número de línea, cambiarlo a 80 y presionar Intro nuevamente. Esto ahorra mucho escribir. Ingresa el comando **LIST** con frecuencia para verificar tu progreso. | ||
- | < | + | == Primera parte del código fuente en BASIC == |
+ | < | ||
10 REM ************************************************************* | 10 REM ************************************************************* | ||
20 REM * HISTORIA | 20 REM * HISTORIA | ||
Línea 45: | Línea 54: | ||
===== Comentarios ===== | ===== Comentarios ===== | ||
- | |||
Observa las líneas 10 a 40. REM es una declaración de BASIC que no hace nada, significa " | Observa las líneas 10 a 40. REM es una declaración de BASIC que no hace nada, significa " | ||
Línea 93: | Línea 101: | ||
Para explorar cómo BASIC maneja las variables enteras, intente ingresarle a la variable varios números, tanto enteros como fraccionales, | Para explorar cómo BASIC maneja las variables enteras, intente ingresarle a la variable varios números, tanto enteros como fraccionales, | ||
- | < | + | < |
10 PRINT " | 10 PRINT " | ||
20 INPUT OPCION% | 20 INPUT OPCION% | ||
Línea 129: | Línea 137: | ||
- | < | + | < |
280 IF OPCION% = 2 THEN CLS ELSE PRINT "Ok! Perfecto!" | 280 IF OPCION% = 2 THEN CLS ELSE PRINT "Ok! Perfecto!" | ||
</ | </ | ||
Línea 154: | Línea 162: | ||
La última parte de la instrucción IF-THEN-ELSE no siempre es necesaria. El ELSE puede omitirse junto con la segunda alternativa. Esto nos dejaría con un tren de instrucciones mucho más sencillo: IF-THEN. Podrías escribir la línea 280 como: | La última parte de la instrucción IF-THEN-ELSE no siempre es necesaria. El ELSE puede omitirse junto con la segunda alternativa. Esto nos dejaría con un tren de instrucciones mucho más sencillo: IF-THEN. Podrías escribir la línea 280 como: | ||
- | < | + | < |
280 IF OPCION% = 2 THEN GOTO 600 | 280 IF OPCION% = 2 THEN GOTO 600 | ||
</ | </ | ||
Línea 174: | Línea 182: | ||
- | < | + | < |
280 IF OPCION% = 2 THEN GOTO 600 ELSE GOTO 300 | 280 IF OPCION% = 2 THEN GOTO 600 ELSE GOTO 300 | ||
290 IF OPCION% <> 2 THEN GOTO 300 ELSE GOTO 600 | 290 IF OPCION% <> 2 THEN GOTO 300 ELSE GOTO 600 | ||
Línea 203: | Línea 211: | ||
Afortunadamente, | Afortunadamente, | ||
- | < | + | < |
280 IF OPCION% = 2 THEN GOTO 600 ELSE GOTO 300 | 280 IF OPCION% = 2 THEN GOTO 600 ELSE GOTO 300 | ||
</ | </ | ||
Línea 211: | Línea 219: | ||
El comando GOTO cobra gran utilidad dentro de una instrucción IF-THEN. También se puede usar un solo GOTO. Para comprender cómo funciona esta declaración, | El comando GOTO cobra gran utilidad dentro de una instrucción IF-THEN. También se puede usar un solo GOTO. Para comprender cómo funciona esta declaración, | ||
- | < | + | < |
10 PRINT "Esta es la línea 10" | 10 PRINT "Esta es la línea 10" | ||
20 GOTO 50 | 20 GOTO 50 | ||
Línea 225: | Línea 233: | ||
Cuando el programita corra, se ejecutará siguiendo este orden: | Cuando el programita corra, se ejecutará siguiendo este orden: | ||
- | < | + | < |
- | 10 PRINT "This is line 10" | + | 10 PRINT "Esta es la linea 10" |
20 GOTO 50 | 20 GOTO 50 | ||
- | 50 PRINT "This is line 50" | + | 50 PRINT "Esta es la linea 50" |
60 GOTO 30 | 60 GOTO 30 | ||
- | 30 PRINT "Esto es la línea 30" | + | 30 PRINT "Esta es la línea 30" |
40 GOTO 70 | 40 GOTO 70 | ||
70 END | 70 END | ||
Línea 237: | Línea 245: | ||
Si has cometido un error al ingresar este programa, es posible que haya dado con algo llamado BUCLE (" | Si has cometido un error al ingresar este programa, es posible que haya dado con algo llamado BUCLE (" | ||
- | < | + | < |
10 PRINT "Hola Humanoide!" | 10 PRINT "Hola Humanoide!" | ||
20 GOTO 10 | 20 GOTO 10 | ||
</ | </ | ||
- | La línea 10 se ejecutará una y otra vez. De hecho, debe presionar las teclas **CTRL-c** para interrumpir la interpretación y ejecución del programa. En este ejemplo, el motivo del bucle es evidente. La línea 20 le pide a BASIC que ejecute la línea 10. Luego, BASIC ejecuta la línea 20 nuevamente. BASIC no sabe que ya ejecutó la línea 20. Recuerda: "El ordenador cumplirá las órdenes que le han dado. ¡Asegúrate de correr tu propio código!. Usa software libre". | + | La línea 10 se ejecutará una y otra vez. De hecho, debe presionar las teclas **CTRL-c** para interrumpir la interpretación y ejecución del programa. En este ejemplo, el motivo del bucle es evidente. La línea 20 le pide a BASIC que ejecute la línea 10. Luego, BASIC ejecuta la línea 20 nuevamente. BASIC no sabe que ya ejecutó la línea 20. Recuerda: "El ordenador cumplirá las órdenes que le han dado". ¡Asegúrate de correr tu propio código!. Usa software libre. |
- | Desafortunadamente, | + | Desafortunadamente, |
> Los programas que utilizaban muchas instrucciones GOTO recibían el apodo de CÓDIGO ESPAGUETI. ¡Dilucidar código espagueti era como seguir un fideo en un plato! | > Los programas que utilizaban muchas instrucciones GOTO recibían el apodo de CÓDIGO ESPAGUETI. ¡Dilucidar código espagueti era como seguir un fideo en un plato! | ||
Línea 254: | Línea 262: | ||
Considere la línea 280 una vez más: | Considere la línea 280 una vez más: | ||
- | < | + | < |
280 IF OPCION% = 2 THEN GOTO 600 ELSE GOTO 300 | 280 IF OPCION% = 2 THEN GOTO 600 ELSE GOTO 300 | ||
</ | </ | ||
Línea 265: | Línea 273: | ||
- | < | + | < |
280 IF OPCION% = 2 THEN GOTO 600 | 280 IF OPCION% = 2 THEN GOTO 600 | ||
281 IF OPCION% = 1 THEN GOTO 300 | 281 IF OPCION% = 1 THEN GOTO 300 | ||
Línea 274: | Línea 282: | ||
No hay nada de malo en usar estas líneas adicionales en el programa HISTORIA. Es cuestión de gustos. La línea original 280 gestiona todas las respuestas posibles usando una única línea de código BASIC. La solución anterior usa cuatro líneas su propósito no resulta tan claro como el original. Sin embargo, puedes hacer tu voluntad. | No hay nada de malo en usar estas líneas adicionales en el programa HISTORIA. Es cuestión de gustos. La línea original 280 gestiona todas las respuestas posibles usando una única línea de código BASIC. La solución anterior usa cuatro líneas su propósito no resulta tan claro como el original. Sin embargo, puedes hacer tu voluntad. | ||
- | > Ten en cuenta | + | > Ten en cuenta |
Al planificar tus programas, no solo debe tener cuidado con los humanos, sino que también debe pensar como una computadora. Tal como has visto, tu ordenador hará lo que le digan que haga. ¡Créeme! Normalmente no será esto lo que quieres que haga! Como humano, es fácil entender que " | Al planificar tus programas, no solo debe tener cuidado con los humanos, sino que también debe pensar como una computadora. Tal como has visto, tu ordenador hará lo que le digan que haga. ¡Créeme! Normalmente no será esto lo que quieres que haga! Como humano, es fácil entender que " | ||
Línea 280: | Línea 288: | ||
Considere este ejemplo: | Considere este ejemplo: | ||
- | < | + | < |
280 IF OPCION% < 1 THEN GOTO 500 | 280 IF OPCION% < 1 THEN GOTO 500 | ||
290 IF OPCION% > 1 THEN GOTO 700 | 290 IF OPCION% > 1 THEN GOTO 700 | ||
Línea 298: | Línea 306: | ||
- | < | + | < |
300 REM ***** PANTALLA 1A ***** | 300 REM ***** PANTALLA 1A ***** | ||
310 CLS | 310 CLS |