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
Instrucciones matemáticas
ADDlocationo bien, añade el valor de la ubicación o constante dada al acumulador. [ 18 ]ADDconstantSUBTRACTlocationo bien, resta el valor de la ubicación o constante dada del acumulador. [ 19 ]SUBTRACTconstantMULTIPLYlocationo bien, multiplica el acumulador por el valor de la ubicación o constante dada. [ 20 ]MULTIPLYconstantDIVIDElocationo 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
- Alfabetización informática
- Ordenadores en el aula
- Historia de la informática
- HAGGIS : lenguaje inventado para estandarizar la evaluación de trabajos de programación en las escuelas escocesas.
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
Referencias
- ↑ Estudios de Informática , página 71
- 1 2 Sewell, Ian, ed. (enero de 1980). "CES entra en su segunda década" . Boletín informativo de ICL-CES . pág. 1.
- ↑ "ICL_CES_Newletter_11_73_Electronics Weekly April 1969_CyrilCESIL.png" . Google Docs . Consultado el 15-12-2024 .
- 1 2 3 4 Estudios de Informática , página 72
- ↑ "Mi primer programa" . Archivado del original el 24 de junio de 2021. Consultado el 16 de junio de 2021 .
- ↑ Estudios de Informática , página 82
- ↑ Estudios de Informática , página 76
- 1 2 Estudios de Computación , páginas 93–94
- 1 2 Estudios de Computación , página 148
- 1 2 Estudios de Informática , página 77
- 1 2 Estudios de Informática , página 74
- ↑ Estudios de Computación , páginas 96, 148
- ↑ Estudios de Computación , páginas 97–99
- ↑ Estudios de Informática , página 201
- 1 2 3 Estudios de Computación , página 73
- ↑ Estudios de Computación , páginas 199–200
- ↑ Estudios de Computación , páginas 80, 97–98
- ↑ Estudios de Computación , páginas 84, 97–98
- ↑ Estudios de Computación , páginas 86, 97–98
- ↑ Estudios de Computación , páginas 90, 97–98
- ↑ Estudios de Computación , páginas 92, 97–98
- ↑ Estudios de Computación , página 145
- ↑ Estudios de Computación , página 198
- ↑ Estudios de Computación , página 154
- ↑ Estudios de Informática , página 83
- ↑ Estudios de Informática , página 164
- ↑ 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 .
- ↑ 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 .
- Lenguajes de programación educativa
- Historia de la informática