Dudas basicas de Basic

Programando el Amstrad en BASIC, C, etc.
Avatar de Usuario
EnriquePbart
Me voy lanzando
Me voy lanzando
Mensajes: 54
Registrado: Lun 31 Dic , 2018 7:44 pm
Contactar:

Dudas basicas de Basic

Mensajepor EnriquePbart » Dom 06 Ene , 2019 11:49 am

Hola muy buenos dias a tod@s.

Disculpad que pregunte cosas asi pero el problema que tengo es que estoy escribiendo un programa , y de repente pues ejecuto y da un error o simplemente ejecuto todo funciona pero quiero volver atras para añadir cosas o cambiar cosas, ¿como se hace?, no me deja volver al codigo escrito anteriormente despues de haber ejecutado...

¿que tengo que volver a escribir todo de nuevo? :shock:
Racing Is life... Anithing that happens before or after is just waiting.

Avatar de Usuario
6128
Moderador
Moderador
Mensajes: 7918
Registrado: Lun 12 Dic , 2005 6:08 pm

Re: Dudas basicas de Basic

Mensajepor 6128 » Dom 06 Ene , 2019 12:02 pm

Para ver las líneas del código que llevas escritas usa el comando LIST.

Graba el programa con SAVE y después retoca las líneas que necesites con EDIT. Por ejemplo EDIT 10 te permite editar la línea 10 del programa.

Tras editar lo que necesites te recomiendo volver a usar SAVE para guardar el programa.
La versión anterior quedará guardada con la extensión BAK.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Dudas basicas de Basic

Mensajepor Poliyo » Dom 06 Ene , 2019 6:24 pm

Como bien te explica 6128 usa LIST, SAVE.
Si vas ha hacer un programa yo primero haría
AUTO (generar automaticamente lineas de 10 en 10 con lo que te ahorras tener que teclear el numero de linea
Luego, antes de ejecutar SIEMPRE haz un SAVE nombreprograma
Despues ya puedes hacer el RUN
Una vez visto lo que has de cambiar hace LOAD nombreprograma y buscas con LIST lo que has de modifcar y o bien con EDIT numero de linea (para lineas sueltas no consecutivas, o con un AUTO numerodelinea (si es que tienes que corregir varias lineas correlativas)
Si has de añadir lineas simplemente añadelas
11 Instruccion
14 Instruccion
...
Si luego quieres seguir en un formato de linea de 10 en 10 puedes hacer un RENUM y te lo pone de 10 en 10

Avatar de Usuario
EnriquePbart
Me voy lanzando
Me voy lanzando
Mensajes: 54
Registrado: Lun 31 Dic , 2018 7:44 pm
Contactar:

Re: Dudas basicas de Basic

Mensajepor EnriquePbart » Lun 07 Ene , 2019 11:56 am

Gracias gracias, si ya he estado haciendo cosas con ficheros y demas, ya me aclaro con el Cat el list, edit, load, save y con el for, if then etc, este finde he estado trasteando bastante y haciendo ejercicios basicos.

Me cuesta un poco ya que estaba acostumbrado a programar en C, y claro por lo que veo aqui nada de corchetes. (que no toco C desde hara 12 años que termine, y claro como deje la programacion por el 3D pues tampoco es que me acuerde de mucho).

Lo que me marea un poco es el GOTO, jaja siempre me decian que eso era "inestable" usarlo y ahora lo veo en todos lados.

Pero bueno poco a poco.
Racing Is life... Anithing that happens before or after is just waiting.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Dudas basicas de Basic

Mensajepor Poliyo » Lun 07 Ene , 2019 1:17 pm

Y eso que no has visto el que estoy traduciendo, en el que fácilmente ves:
70 GOTO 80
80 instrucciones
Una buena depuración le vendrá bien en un futuro a ese juego.

Avatar de Usuario
EnriquePbart
Me voy lanzando
Me voy lanzando
Mensajes: 54
Registrado: Lun 31 Dic , 2018 7:44 pm
Contactar:

Re: Dudas basicas de Basic

Mensajepor EnriquePbart » Lun 07 Ene , 2019 4:29 pm

Lo que no me deja es poner:

50 If num>opcion print"el nunero introducido esta por encima" Then goto 30

Me da error, es el tipico ejercicio basico de "acierta el número" donde opcion es 5 por ejemplo y tu vas poniendo y te dice por encima o por debajo.

El tema es que puedo poner el GOTO pero no el GOTO y el print
Racing Is life... Anithing that happens before or after is just waiting.

Avatar de Usuario
6128
Moderador
Moderador
Mensajes: 7918
Registrado: Lun 12 Dic , 2005 6:08 pm

Re: Dudas basicas de Basic

Mensajepor 6128 » Lun 07 Ene , 2019 4:37 pm

Copia y pega el listado aquí para ver por qué no te deja.

Aunque a ojo creo que te funcionaría así:

50 IF num>opcion THEN PRINT"el numero introducido esta por encima":GOTO 30

Avatar de Usuario
EnriquePbart
Me voy lanzando
Me voy lanzando
Mensajes: 54
Registrado: Lun 31 Dic , 2018 7:44 pm
Contactar:

Re: Dudas basicas de Basic

Mensajepor EnriquePbart » Lun 07 Ene , 2019 4:46 pm

Vale subo a casa y lo pongo.

Y una duda, en aquella epoca como me dijisteis cada maquina tenia su propia version de Basic, pero eran compatibles entre si?, lo digo porque he encontrado un libro de códigos de juegos "basicos" pero para Zx espectrum...

A dia de hoy es mas facil, Unity es C# y Unreal engine C++, ahi no hay lios, pero antes...
Racing Is life... Anithing that happens before or after is just waiting.

Avatar de Usuario
6128
Moderador
Moderador
Mensajes: 7918
Registrado: Lun 12 Dic , 2005 6:08 pm

Re: Dudas basicas de Basic

Mensajepor 6128 » Lun 07 Ene , 2019 4:51 pm

Hay muchos comandos comunes pero el BASIC de Spectrum no es igual que el de Amstrad. Aunque muchas veces es fácil convertir un programa en BASIC de Spectrum en uno de AMSTRAD si conoces los comandos equivalentes que no hay en Spectrum y viceversa.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Dudas basicas de Basic

Mensajepor Poliyo » Lun 07 Ene , 2019 4:58 pm

La sintaxis es como te la pone 6128
IF condición THEN instrucción (si hay más de una instrucción 1:(dos puntos) instrucción 2) ELSE instrucción para el caso contrario

Avatar de Usuario
EnriquePbart
Me voy lanzando
Me voy lanzando
Mensajes: 54
Registrado: Lun 31 Dic , 2018 7:44 pm
Contactar:

Re: Dudas basicas de Basic

Mensajepor EnriquePbart » Lun 07 Ene , 2019 5:05 pm

Aqui lo pongo:

1 REM Este programa trata de que el usuario adivine un numero ya establecido
2 REM por el programador. El usuario debe de adivinarlo insertando tantos
3 REM numeros hasta dar con el Numero en cuestion. El programa avisara
4 REM de si esta por arriba o por debajo de ese numero

10 PRINT"BIENVENIDO AL PROGRAMA ADIVINA EL NUMERO ."
20 adivina=7
30 INPUT "Introduce el numero que cree correcto (1 al 10).";numero
40 IF numero = adivina THEN PRINT"el numero ha sido acertado"
50 IF numero>adivina THEN GOTO 30
60 IF numero<adivina GOTO 30
70 PRINT " GRACIAS POR CONCURSAR "

Yo puse originalmente en la 50 y la 60 IF numero > adivina PRINT"El numero es mayor" THEN GOTO 30

Pero me daba error.

Ah vale entonces seria :

50 IF numero > adivina PRINT"El numero es mayor" : THEN GOTO 30
¿poniendole los dos puntos no?.
Racing Is life... Anithing that happens before or after is just waiting.

Avatar de Usuario
robcfg
Master of The Forum
Master of The Forum
Mensajes: 1308
Registrado: Jue 03 Abr , 2008 5:32 pm
Ubicación: Estocolmo
Contactar:

Re: Dudas basicas de Basic

Mensajepor robcfg » Lun 07 Ene , 2019 5:14 pm

THEN va despues de la condición.

Sería:

50 IF numero>adivina THEN PRINT “El numero es mayor”:GOTO 30

Avatar de Usuario
6128
Moderador
Moderador
Mensajes: 7918
Registrado: Lun 12 Dic , 2005 6:08 pm

Re: Dudas basicas de Basic

Mensajepor 6128 » Lun 07 Ene , 2019 5:18 pm

Vamos, lo que le dije antes.

Avatar de Usuario
EnriquePbart
Me voy lanzando
Me voy lanzando
Mensajes: 54
Registrado: Lun 31 Dic , 2018 7:44 pm
Contactar:

Re: Dudas basicas de Basic

Mensajepor EnriquePbart » Lun 07 Ene , 2019 5:32 pm

Perfecto, muchas gracias :wink: y perdonad que pregunte este tipo de cosas :oops:
Racing Is life... Anithing that happens before or after is just waiting.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Dudas basicas de Basic

Mensajepor Poliyo » Lun 07 Ene , 2019 6:11 pm

Para nada hombre, si en su momento no hubiera preguntado yo aún estaría con el print y no habría llegado ni al input.


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic