Shell 01-02-2022, 17:03
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
portaro 01-02-2022, 00:17
Alguien sabe como resolver esto ?

Me monte un robot de rasptank lo he montado todo va bien pero al momento de instalar el setup.py que trae en el robot me da errores y al conectar por ssh y intentar levantar el servidor de comunicacion via browser del robot via una maquina externa me da este error →
Cita:sudo python3 adeept_rasptank/server/webServer.py
Traceback (most recent call last):
  File "/home/pi/adeept_rasptank/server/webServer.py", line 14, in <module>
    import RPIservo
  File "/home/pi/adeept_rasptank/server/RPIservo.py", line 17, in <module>
    pwm = Adafruit_PCA9685.PCA9685()
  File "/usr/local/lib/python3.9/dist-packages/Adafruit_PCA9685-1.0.1-py3.9.egg/Adafruit_PCA9685/PCA9685.py", line 74, in __init__
  File "/usr/local/lib/python3.9/dist-packages/Adafruit_GPIO-1.0.4-py3.9.egg/Adafruit_GPIO/I2C.py", line 66, in get_i2c_device
  File "/usr/local/lib/python3.9/dist-packages/Adafruit_GPIO-1.0.4-py3.9.egg/Adafruit_GPIO/I2C.py", line 98, in __init__
ModuleNotFoundError: No module named 'Adafruit_PureIO'

No se que problema es.

[Imagen: 300120221252.jpg]


No tengo mucha idea que problema podria ser he intentado instalar adafruit pero me da otro error →
Cita:$ sudo pip install Adafruit-PureIO
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper
    status = run_func(*args)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/commands/install.py", line 339, in run
    requirement_set = resolver.resolve(
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 94, in resolve
    result = self._result = resolver.resolve(
  File "/usr/local/lib/python3.9/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 481, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/usr/local/lib/python3.9/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 348, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/usr/local/lib/python3.9/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 172, in _add_to_criteria
    if not criterion.candidates:
  File "/usr/local/lib/python3.9/dist-packages/pip/_vendor/resolvelib/structs.py", line 151, in __bool__
    return bool(self._sequence)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__
    return any(self)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in <genexpr>
    return (c for c in iterator if id© not in self._incompatible_ids)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 44, in _iter_built
    for version, func in infos:
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 294, in iter_index_candidate_infos
    result = self._finder.find_best_candidate(
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/package_finder.py", line 868, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/package_finder.py", line 809, in find_all_candidates
    page_candidates = list(page_candidates_it)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/sources.py", line 134, in page_candidates
    yield from self._candidates_from_page(self._link)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/package_finder.py", line 773, in process_project_url
    page_links = list(parse_links(html_page, self._use_deprecated_html5lib))
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/collector.py", line 310, in wrapper_wrapper
    return list(fn(page, use_deprecated_html5lib))
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/collector.py", line 350, in parse_links
    parser.feed(page.content.decode(encoding))
  File "/usr/lib/python3.9/html/parser.py", line 110, in feed
    self.goahead(0)
  File "/usr/lib/python3.9/html/parser.py", line 178, in goahead
    k = self.parse_html_declaration(i)
  File "/usr/lib/python3.9/html/parser.py", line 269, in parse_html_declaration
    self.handle_decl(rawdata[i+2:gtpos])
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/collector.py", line 405, in handle_decl
    self._raise_error()
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/index/collector.py", line 426, in _raise_error
    raise ValueError(
ValueError: HTML doctype missing or incorrect. Expected <!DOCTYPE html>.

If you believe this error to be incorrect, try passing the command line option --use-deprecated=html5lib and please leave a comment on the pip issue at https://github.com/pypa/pip/issues/10825.

Si alguien sabe que puede ser o si supiera decirme si es problema de software o bien seria algo de mi montaje decidmelo, muchas gracias.
AlfredoSC 28-01-2022, 18:22
Hola  todos:

Acostumbrado desde hace muchos años a la programación lineal, me veo "obligado" [aunque con cierta curiosidad], a desentrañar el por qué la POO es mas "conveniente".

He buscado en la web, las ventajas y desventajas de la POO, pero las explicaciones son tan ambiguas como la propia POO. No obstante saltan a la vista las desventajas, y la mas importante: Es mas lenta la ejecución de un proyecto o programa elaborado con POO.

Será cierto? De todos modos, me gustaría mirar un diagrama de Clases, Constructores, métodos y propiedades en donde se observe que "hay ganancia" en la Programación Orientada a Objetos....

Saludos..
Páginas (557):    1 321 322 323 324 325 557   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 285
Último miembro: XLRG
Temas del foro: 1,720
Mensajes del foro: 8,928
Últimos temas
Archivos .ods
Foro: General
Último mensaje por: vuott, Hace 1 hora
Respuestas: 4 - Vistas: 56
Un sistema de ayudas cont...
Foro: Videotutoriales
Último mensaje por: guizans, 22-06-2025, 19:55
Respuestas: 3 - Vistas: 255
Publicidad
Foro: Sobre gambas-es.org
Último mensaje por: Shordi, 18-06-2025, 07:35
Respuestas: 5 - Vistas: 259
Web con gambas, a ver si ...
Foro: WebApp/WebForms
Último mensaje por: jackrobot, 16-06-2025, 17:11
Respuestas: 40 - Vistas: 32,313
Crear una aplicación para...
Foro: Bases de Datos
Último mensaje por: Shell, 29-05-2025, 20:11
Respuestas: 11 - Vistas: 1,390
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.