Articulo de referencia

CESIL

CESIL , o Computer Education in Schools Instruction Language , [ 1 ] es un lenguaje de programación diseñado para introducir a los alumnos de las escuelas secundarias británicas...

CESIL , o Computer Education in Schools Instruction Language , [ 1 ] es un lenguaje de programación diseñado para introducir a los alumnos de las escuelas secundarias británicas a la programación informática elemental . Es un lenguaje sencillo que contiene un total de catorce instrucciones .

Fondo

Computer Education in Schools (CES) fue un proyecto que comenzó en 1968 bajo la dirección del John Hoskyns Group. [ 2 ] CESIL fue desarrollado por Hoskyns como parte del proyecto CES y se introdujo en abril de 1969. [ 3 ] El proyecto fue asumido por International Computers Limited (ICL) en septiembre de 1969 para convertirse en ICL-CES. [ 2 ] En aquellos días, muy pocas escuelas, si es que alguna, tenían computadoras, por lo que los alumnos escribían programas en hojas de código, que luego se transferían a tarjetas perforadas o cinta de papel . [ 4 ] Normalmente, esto se enviaba para ejecutarse en una computadora central , y la salida de una impresora de línea se devolvía posteriormente. [ 5 ]

Estructura

Dado que CESIL no fue diseñado como un lenguaje interactivo, no existe ninguna función para introducir datos en tiempo real. En su lugar, los datos numéricos se incluyen como una sección aparte al final del programa. [ 6 ]

El principio fundamental de CESIL es el uso de un único acumulador , que maneja las operaciones matemáticas. [ 4 ] Los valores numéricos se almacenan en variables , que en CESIL se denominan ubicaciones de almacenamiento. [ 7 ] CESIL solo trabaja con enteros, y los resultados de las operaciones DIVIDE se redondean si es necesario. [ 8 ] No hay ninguna función para estructuras de datos como arreglos , ni para el manejo de cadenas , aunque las constantes de cadena se pueden imprimir mediante la instrucción PRINT. [ 4 ]

Los saltos y bucles pueden ser condicionales o no condicionales, y transfieren la operación del programa a una línea con una etiqueta específica, que se identifica en la primera columna de una hoja de codificación. [ 9 ] La instrucción u operación se indica en la segunda columna, y el operando en la tercera. [ 10 ] En algunas hojas de codificación, los comentarios y el texto de la instrucción PRINT se escribirían en una cuarta columna. [ 11 ]

Instrucciones

Las instrucciones u operaciones se escriben en mayúsculas y pueden tener un único operando, que puede ser una ubicación de almacenamiento, un valor entero constante o una etiqueta de línea. Las ubicaciones de almacenamiento y las etiquetas de línea son alfanuméricas, de hasta seis caracteres, y comienzan con una letra. [ 12 ] Las constantes enteras numéricas deben tener signo + o , donde el cero se denota como +0. [ 13 ] [ a ]

Entrada y salida

  • IN– lee el siguiente valor de los datos y lo almacena en el acumulador. [ 4 ] El mensaje de error *** PROGRAM REQUIRES MORE DATA ***se imprime si el programa intenta leer más allá del final de los datos proporcionados. [ 14 ]
  • OUT– Imprime el valor actual del acumulador. No se imprime ningún retorno de carro . [ 15 ]
  • PRINT "text in quotes"– Imprime el texto dado. No se imprime ningún retorno de carro. [ 15 ]
  • LINE– imprime un retorno de carro, comenzando así una nueva línea. [ 16 ]

Almacenamiento de memoria

  • LOADlocationo bien, copia el valor de la ubicación o constante dada al acumulador. [ 17 ]LOADconstant
  • STORElocation– copia el contenido del acumulador a la ubicación indicada. [ 10 ]

Instrucciones matemáticas

  • ADDlocationo bien, añade el valor de la ubicación o constante dada al acumulador. [ 18 ]ADDconstant
  • SUBTRACTlocationo bien, resta el valor de la ubicación o constante dada del acumulador. [ 19 ]SUBTRACTconstant
  • MULTIPLYlocationo bien, multiplica el acumulador por el valor de la ubicación o constante dada. [ 20 ]MULTIPLYconstant
  • DIVIDElocationo divide el acumulador por el valor de la ubicación o constante dada. [ 21 ] El resultado se redondea hacia abajo si es positivo y hacia arriba si es negativo. [ 8 ] Se imprime un mensaje de error si el divisor es cero. [ 22 ]DIVIDEconstant*** DIVISION BY ZERO ***

En cada caso, el resultado de la operación se almacena en el acumulador, reemplazando el valor anterior.

Control del programa

  • JUMPlabel– transfiere incondicionalmente el control a la ubicación etiquetada. [ 23 ]
  • JINEGlabel( Salto si es negativo ) – transfiere el control a la ubicación etiquetada si el acumulador contiene un valor negativo. [ 24 ]
  • JIZEROlabel( Saltar si es CERO ) – transfiere el control a la ubicación etiquetada si el acumulador contiene cero. [ 9 ]
  • HALT– finaliza el programa. [ 15 ]

Otros símbolos

En CESIL se utilizan tres símbolos especiales al comienzo de las líneas.

  • %Se utiliza para marcar el final del programa y el inicio de los datos. [ 11 ]
  • *se utiliza para marcar el final de los datos. [ 25 ]
  • (se utiliza al inicio de una línea para indicar un comentario . [ 26 ] [ b ]

Herramientas de programación CESIL

Existe un emulador para CESIL, diseñado para ejecutarse en Windows y llamado Visual CESIL, disponible como software gratuito. [ 27 ]

Existe un intérprete para CESIL, diseñado para ejecutarse en la plataforma Android y llamado Wyrm CESIL, que se puede instalar gratuitamente. [ 28 ]

Ejemplo

El siguiente código suma los números enteros en la sección de datos de tiempo de ejecución hasta que encuentra un valor negativo e imprime el total.

 CARGA +0 TOTAL DE LA TIENDA LOOP EN JINEG HECHO AÑADIR TOTAL BUCLE DE SALTO LISTO IMPRIMIR "El total es: " CARGA TOTAL AFUERA LÍNEA DETENER % 1 2 3 -1 * 

El resultado del programa anterior sería:

The total is: 6

Véase también

Bibliografía

Monson, Colin C; Sewell, Ian R; Frances P, Vickers (1978). Estudios de informática . Vol.  Libro 1. ICL Educación informática en las escuelas . ISBN 0-903885-17-4.

Notas

  1. Visual CESIL no requiere que las constantes no negativas tengan signo.
  2. No es compatible con Visual CESIL. En su lugar, se utiliza *.

Referencias

  1. Estudios de Informática , página 71
  2. 1 2 Sewell, Ian, ed. (enero de 1980). "CES entra en su segunda década" . Boletín informativo de ICL-CES . pág. 1. 
  3. "ICL_CES_Newletter_11_73_Electronics Weekly April 1969_CyrilCESIL.png" . Google Docs . Consultado el 15-12-2024 .
  4. 1 2 3 4 Estudios de Informática , página 72
  5. "Mi primer programa" . Archivado del original el 24 de junio de 2021. Consultado el 16 de junio de 2021 .
  6. Estudios de Informática , página 82
  7. Estudios de Informática , página 76
  8. 1 2 Estudios de Computación , páginas 93–94
  9. 1 2 Estudios de Computación , página 148
  10. 1 2 Estudios de Informática , página 77
  11. 1 2 Estudios de Informática , página 74
  12. Estudios de Computación , páginas 96, 148
  13. Estudios de Computación , páginas 97–99
  14. Estudios de Informática , página 201
  15. 1 2 3 Estudios de Computación , página 73
  16. Estudios de Computación , páginas 199–200
  17. Estudios de Computación , páginas 80, 97–98
  18. Estudios de Computación , páginas 84, 97–98
  19. Estudios de Computación , páginas 86, 97–98
  20. Estudios de Computación , páginas 90, 97–98
  21. Estudios de Computación , páginas 92, 97–98
  22. Estudios de Computación , página 145
  23. Estudios de Computación , página 198
  24. Estudios de Computación , página 154
  25. Estudios de Informática , página 83
  26. Estudios de Informática , página 164
  27. Andrew John Jacobs (20 de junio de 2010). "Visual CESIL" . Archivado del original el 12 de septiembre de 2021. Recuperado el 26 de noviembre de 2021 .
  28. Wyrm Software (13 de octubre de 2019). "Wyrm CESIL" . Archivado del original el 25 de noviembre de 2021. Recuperado el 25 de noviembre de 2021 .