Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Números de líneas en el código basic
#1

Buenas!.

Es una pregunta para programadores que peinan canas. Wink

Como saben, los programas de basic antiguamente incorporaban números de líneas.
Cuando usábamos las instrucciones tales como GOTO y GOSUB le indicábamos a que línea debía continuar
el flujo del programa.

Estuve haciendo un programa en el basic antiguo del Sinclair que convierte de decimal a binario.
Carece de las funciones para poder hacerlo.

Captura en el editor BasinC.

[Imagen: b3RQYMP.png]

Es un programa pequeño que hace su función. ( Siempre me gustan las rutinas cortas ).
Como ven, tiene distintas partes. En este caso estoy usando un Pc para programar en un basic de otro ordenador.
Las herramientas que dispone este editor no tenían por que existir en la época del ordenador que tenía este basic.

Mi cuestión es esta: ¿ Cómo los programadores organizaban el código con los números de líneas ?.
Fijaros en el salto de número de línea que tiene el programa, de la 120 pasa a la 1080. Esto no es por gusto.

La pregunta hace referencia a que el programa "podía" ser mas grande, el número de funciones que realizaban las subrutinas
podían ser mucho mayor y se podía dar el caso de que el número de lineas que llama a las subrutinas podían sobrepasar el
área de líneas donde estaban incluidas las subrutinas. Era como un programa partido en dos.

Existían herramientas para "renumerar" las líneas. Eran herramientas añadidas al lenguaje, principalmente eran
en lenguaje ensamblador (nunca "invadían" el área donde estaba almacenado el programa basic).

El problema de renumerar. Es que es probable que renumerase todo el programa, lo que era un problema.
No es como esto: ( Esto lo hace un programa de pc. Este editor en concreto).

[Imagen: sziAqtb.png]

¿ Cómo el programador evitaba el problema de los números de línea ?. ( Cuando ibas añadiendo líneas y más líneas ).
Como es normal, una técnica es que las líneas iban incrementándose de diez en diez,normalmente.

¿ Como lo solucionaban ustedes en esa época ?.
¿ Imaginaban un programa sin líneas y luego las numeraban ?.

A pesar de tener libros de basic de la epoca de los 80, no encuentro algo que hable más de técnicas aunque si he visto
algo en páginas de Internet.

Saludos

"El lobo siempre será malo si sólo escuchamos a Caperucita.". El lobo.
    ¡Gracias!
#2

Con el Vic20 enfrenté a ese problema y decidí incrementar de 100 en 100... pero mi gozo en un pozo cuando me encontré que con más de 3 gosub anidados se colgaba por falta de memoria... es una de las cosas que me llevó a regalárselo a mi cuñado.

Rolleyes Rolleyes

No podemos regresar
    ¡Gracias!
#3

Shell:
Cita:¿ Como lo solucionaban ustedes en esa época ?.
¿ Imaginaban un programa sin líneas y luego las numeraban ?.

Yo me hice un programa que dado un archivo sin enumerar (con funciones, goto, gosub, y etiquetas (en vez de numeros, para ir a sitios concretos o usarlas en los gosub) [lo editaba desde un procesador de texto], generaba un listado en basic con las lineas numeradas (y el programa se encargaba de sustituir las etiquetas por los numeros de lineas.)

Era muy chulo  Cool , creaba unos listados muy ordenados y con muchos comentarios tipo "rem ****Subrutina***".
Si tenia que cambiar o añadir algo del programa, me tenia que ir al listado "sin enumerar", cambiar lo que fuera, y volver a generar el listado numerado. 

He escuchado a un programador (rfog) que en unos de sus podcast, comentaba haber hecho algo parecido.

Saludos

Julio

Julio
    ¡Gracias!
#4

(01-02-2022, 19:17)Shordi escribió:  es una de las cosas que me llevó a regalárselo a mi cuñado.

Que malo eres con tus cuñados. Big Grin
Probablemente "a lo mejor" esa memoria se podía haber ampliado hoy en día por poco precio.
Podía haber usado de 10 en 10 o un poco más.

Remake:


Lo venden algo caro. Fue el segundo después del Commodore Maxi, sin contar con las versiones "mini".
 
(01-02-2022, 21:44)jsbsan escribió:  Yo me hice un programa que dado un archivo sin enumerar (con funciones, goto, gosub, y etiquetas (en vez de numeros, para ir a sitios concretos o usarlas en los gosub) [lo editaba desde un procesador de texto], generaba un listado en basic con las lineas numeradas (y el programa se encargaba de sustituir las etiquetas por los numeros de lineas.)

Que bien. Es lo mejor. El mayor problema que veo es en esto, no poder usar un complemento que te permita escribir los comandos rápidamente.
Hoy en día algunos de los editores de programación modernos, permiten con un complemento escribir en el antiguo basic (según máquina ).
El juego de instrucciones. De esta forma te corrige mientras escribes.

Saludos

"El lobo siempre será malo si sólo escuchamos a Caperucita.". El lobo.
    ¡Gracias!
#5

Cita:Que malo eres con tus cuñados. Big Grin
Probablemente "a lo mejor" esa memoria se podía haber ampliado hoy en día por poco precio.
Podía haber usado de 10 en 10 o un poco más.

De eso nada. Con las máquinas me pasa como con los libros: Soy lector pero no bibliófilo. En cuanto un libro no me gusta o sé que no lo voy a volver a leer, lo regalo o lo uso para encender la chimenea. Nada de criaderos de polvo en casa, gracias.
Con las máquinas igual o las regalo o a la basura (una excepción son las raspberry pi, que al ser pequeñitas van a un cajón y ya tengo como cinco. Un odroid 1, una raspberripi 2 b, una 3.b y dos 4.b (una de dos gigas de ram y otra de cuatro).

Saludos

Por cierto ese Vic 20 del vídeo y el original se parecen como un gorila y una sardina, o sea: na.  Ya hubiésemos querido esas interfaces con imágenes y menús... por no mencionar que nada de uesebes, hdmises ni nada por el estilo...

No podemos regresar
    ¡Gracias!
#6

(29-05-2022, 17:39)Shordi escribió:  De eso nada. Con las máquinas me pasa como con los libros: Soy lector pero no bibliófilo. En cuanto un libro no me gusta o sé que no lo voy a volver a leer, lo regalo o lo uso para encender la chimenea. Nada de criaderos de polvo en casa, gracias.

Big Grin 

Si que tienes mini pc's.
 
(29-05-2022, 17:39)Shordi escribió:  Por cierto ese Vic 20 del vídeo y el original se parecen como un gorila y una sardina, o sea: na.  Ya hubiésemos querido esas interfaces con imágenes y menús... por no mencionar que nada de uesebes, hdmises ni nada por el estilo...

Es más cómodo que usar un emulador, sobre todo por como asimilar donde queda cada tecla del vic20/commodore en un teclado de pc.

En parte está máquina es que es más una consola más que un ordenador (por el tema de jugar), si no se quiere llegar a más.
Entonces le añaden el tema de que tiene un teclado ( de verdad, operativo. Ya que existe la versión "mini" del ordenador que es solo para jugar)
y con esto puedes programar en el basic antiguo del ordenador, luego grabas los programas en un usb.

THEVIC20

Es solo para los "enamorados" de estás máquinas. Si, existen los emuladores, indiscutiblemente.
Pero estamos hablando de  no necesitar un pc.

Saludos

"El lobo siempre será malo si sólo escuchamos a Caperucita.". El lobo.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)