Viendo programas para el Sinclair QL con la IA

Foro dedicado a la programación en todo tipo de sistemas clásicos.
Avatar de Usuario
Oldcomput
Amiga 2500
Amiga 2500
Mensajes: 2195
Registrado: 01 Nov 2004, 16:00
Gracias dadas: 208 veces
Gracias recibidas: 169 veces

Viendo programas para el Sinclair QL con la IA

Mensajepor Oldcomput » 26 Mar 2024, 00:55

Muy buenas noches

De eso que he escuchado que las IAs están haciendo programas informáticos, y digo, voy a probar una chorrada a ver lo que sale. Y tal que así:
Usted
Crea un programa para el ordenador sinclair QL que pregunte la hora y diga buenos días o buenas tardes
Copilot
¡Claro! El Sinclair QL fue un ordenador lanzado por Sinclair Research en 1984. Aunque no tengo acceso directo a un Sinclair QL, puedo proporcionarte un ejemplo de cómo podrías crear un programa simple en SuperBASIC para lograr lo que estás buscando.

100 INPUT "¿Qué hora es? (HH:MM) "; HORA$
110 LET HORA$ = LEFT$(HORA$, 2)
120 IF VAL(HORA$) >= 6 AND VAL(HORA$) < 12 THEN PRINT "¡Buenos días!"
130 IF VAL(HORA$) >= 12 AND VAL(HORA$) < 18 THEN PRINT "¡Buenas tardes!"
140 IF VAL(HORA$) >= 18 OR VAL(HORA$) < 6 THEN PRINT "¡Buenas noches!"
150 END

Este programa solicita la hora en formato HH:MM y luego verifica si está dentro de los rangos de la mañana, tarde o noche. Dependiendo de la hora ingresada, mostrará el saludo correspondiente.

Recuerda que debes adaptar este código al entorno específico del Sinclair QL y su lenguaje SuperBASIC. ¡Espero que te sirva como punto de partida!
------------------------------------------------------
Al final lo único que vamos a necesitar es saber expresar las peticiones ;)

Quiero un prgrama en superbasic para el sinclair QL que muestre el catálogo del microdrive en dos columnas
Copilot
¡Por supuesto! A continuación, te proporciono un programa en SuperBASIC para el Sinclair QL que mostrará el catálogo del Microdrive en dos columnas:

100 REM Programa para mostrar el catálogo del Microdrive en dos columnas
110 REM Asume que los archivos están en MDV1_
120 REM Cambia MDV1_ según la unidad de Microdrive que desees listar

130 INPUT "Presiona ENTER para mostrar el catálogo: "; DUMMY$
140 CLS
150 LET FILES = CAT MDV1_
160 LET NUM_FILES = LEN(FILES)
170 LET COL_WIDTH = 32

180 FOR I = 1 TO NUM_FILES STEP 2
190 PRINT LEFT$(FILES, COL_WIDTH);
200 IF I + 1 <= NUM_FILES THEN PRINT MID$(FILES, COL_WIDTH + 1, COL_WIDTH);
210 PRINT
220 NEXT I

230 END

Este programa solicita que presiones ENTER para mostrar el catálogo del Microdrive. Asegúrate de cambiar MDV1_ según la unidad de Microdrive que deseas listar. Los nombres de los archivos se mostrarán en dos columnas, con un ancho de columna de 32 caracteres cada una.

Recuerda adaptar este código al entorno específico del Sinclair QL y su lenguaje SuperBASIC. ¡Espero que te sea útil!

Avatar de Usuario
cacharreo
Amstrad CPC 464
Amstrad CPC 464
Mensajes: 61
Registrado: 15 Feb 2022, 23:11
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: (Otro)
Gracias dadas: 14 veces
Gracias recibidas: 35 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor cacharreo » 27 Mar 2024, 07:40

Oldcomput escribió:De eso que he escuchado que las IAs están haciendo programas informáticos, y digo, voy a probar una chorrada a ver lo que sale. Y tal que así:

Oldcomput escribió:Al final lo único que vamos a necesitar es saber expresar las peticiones ;)

Y conocer al dedillo el lenguaje sobre el que se solicita ayuda porque, como hacen todas las IA, se inventa lo que necesita.

En el caso del primer programa usa una función LEFT$ que, aunque exista en otros dialectos del BASIC para otras máquinas, no existe en el QL. Ocurre lo mismo con la función VAL.

En el segundo,
1) se inventa el comando CAT (en QL sería DIR), y
2) asigna su valor a una variable numérica, lo que es una burrada de manual, primero porque sería necesario una variable alfanumérica para recibir el directorio del microdrive (p.e. file$) pero, aparte,
3) la salida del comando DIR no puede asignarse a una variable;
4) la línea 160 pretende obtener el número de ficheros del directorio con la función LEN que solo devolvería la longitud de la cadena, nunca el número de ficheros, y además,
5) utiliza funciones inventadas como LEFT$ y MID$ que, insisto, existen en otros sistemas pero no en SUPERBASIC.

De momento, es más fácil escribir el programa desde cero que lidiar con la salida para descubrir qué salvajadas ha escrito.
© cacharreo

Avatar de Usuario
Oldcomput
Amiga 2500
Amiga 2500
Mensajes: 2195
Registrado: 01 Nov 2004, 16:00
Gracias dadas: 208 veces
Gracias recibidas: 169 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor Oldcomput » 27 Mar 2024, 14:53

El primer programa era muy obvio y no le costó trabajo, pero en cuanto se complica la cosa, tienes razón, se inventa cosas :mrgreen:
Nada, que tendré que ponerme a estudiar si quiero programar algo en el QL, aunque primero he de ponerme con el Arduino, que compré un libraco, y he de amortizarlo :roll:
Y se me olvidaba un libro de PC: https://amzn.eu/d/hxLqgVu para matar el rato si me aburro, dos kilos de libro :D

Saludos

Avatar de Usuario
cacharreo
Amstrad CPC 464
Amstrad CPC 464
Mensajes: 61
Registrado: 15 Feb 2022, 23:11
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: (Otro)
Gracias dadas: 14 veces
Gracias recibidas: 35 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor cacharreo » 27 Mar 2024, 21:34

Básicamente se inventa todo, tanto el primero como el segundo, lo que implica tener que probarlo y corregir los programas casi línea por línea por lo que, si se conoce el lenguaje, es más rápido teclearlos desde cero.

Lo hace con cualquier cosa, con preguntas normales, con SUPERBASIC, C, C++, Ruby, Rust, PHP,... incluso se atreve con VHDL y Verilog. A cualquier pregunta, responde con la típica estructura/ciclo tipo trivial que, aunque fuese correcta -que no es lo habitual-, se apoya en una función o varias funciones que hacen todo el trabajo pero que no especifica y, cuando se le pide que especifique alguna de esas funciones concretamente, peta y no contesta.

A mí no me gusta particularmente que los resultados son verosímiles pero difícilmente verdaderos. No quiero ni pensar los destrozos que podría causar si alguien pidiera ayuda para modificar una placa electrónica o algo parecido.
© cacharreo

Avatar de Usuario
Oldcomput
Amiga 2500
Amiga 2500
Mensajes: 2195
Registrado: 01 Nov 2004, 16:00
Gracias dadas: 208 veces
Gracias recibidas: 169 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor Oldcomput » 27 Mar 2024, 22:37

cacharreo escribió:Básicamente se inventa todo, tanto el primero como el segundo, lo que implica tener que probarlo y corregir los programas casi línea por línea por lo que, si se conoce el lenguaje, es más rápido teclearlos desde cero.

Lo hace con cualquier cosa, con preguntas normales, con SUPERBASIC, C, C++, Ruby, Rust, PHP,... incluso se atreve con VHDL y Verilog. A cualquier pregunta, responde con la típica estructura/ciclo tipo trivial que, aunque fuese correcta -que no es lo habitual-, se apoya en una función o varias funciones que hacen todo el trabajo pero que no especifica y, cuando se le pide que especifique alguna de esas funciones concretamente, peta y no contesta.

A mí no me gusta particularmente que los resultados son verosímiles pero difícilmente verdaderos. No quiero ni pensar los destrozos que podría causar si alguien pidiera ayuda para modificar una placa electrónica o algo parecido.


Yo creo sería buen ligón de discoteca la IA, como un amigo que prácticamente se inventa todo para ligar, incluso llegó a decir
que era controlador aéreo, ante lo que la chica empezó a hablarle en inglés y ahí lo pilló enseguida <XX
El caso es que de 100 únicamente engañaba a una, creo yo, pero él si era necesario le tiraba los tejos a 300.
Resumiendo, la IA tiene su público y su utilidad. A mí me ha servido para confeccionar alguna carta por ejemplo. Pero ya cosa técnica es verdad que se gripa a veces. Y en cuanto programación, pues unos sobrehilados muy generalistas, nada que se pueda teclear directamente sin correcciones, ahí tienes toda la razón.

Saludos


Volver a “Programación”

¿Quién está conectado?

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