CESIL , o C omputer E ducación en S SCUELAS I nstruction L anguage, [1] es un lenguaje de programación diseñado para introducir a los alumnos en las escuelas secundarias británicas a primaria programación informática . Es un lenguaje sencillo que contiene un total de catorce instrucciones .
Fondo
Computer Education in Schools (CES) fue un proyecto desarrollado a fines de la década de 1960 y principios de la de 1970 por International Computers Limited (ICL). [2] ICL desarrolló CESIL como parte del proyecto CES y se introdujo en 1974. [3] En aquellos días, muy pocas escuelas tenían computadoras, por lo que los alumnos escribían programas en hojas de codificación, que luego se transferían a tarjetas perforadas o cinta de papel . [4] Normalmente, esto se enviaría para ejecutarse en una computadora central , y la salida de una impresora de línea se devolvería más tarde. [5]
Estructura
Debido a que CESIL no fue diseñado como un lenguaje interactivo, no existe la posibilidad de ingresar datos en tiempo real. En cambio, los datos numéricos se incluyen como una sección separada al final del programa. [6]
El principio fundamental de CESIL es el uso de un solo acumulador , que maneja operaciones matemáticas. [4] Los valores numéricos se almacenan en variables , que en CESIL se denominan ubicaciones de tiendas. [7] CESIL solo funciona con números enteros, y los resultados de las operaciones DIVIDE se redondean si es necesario. [8] No hay ninguna función para datos estructurados como matrices , ni para el manejo de cadenas , aunque las constantes de cadena se pueden generar 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 columna. [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 solo operando, que puede ser la ubicación de una tienda, un valor entero constante o una etiqueta de línea. Las ubicaciones de las tiendas y las etiquetas de las líneas son alfanuméricas, de hasta seis caracteres y comienzan con una letra. [12] Las constantes enteras numéricas tienen el signo + o -, y el cero se indica 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. [dieciséis]
Almacenamiento de memoria
LOAD location
o - copia el valor de la ubicación dada o constante al acumulador. [17]LOAD constant
STORE location
- copia el contenido del acumulador en la ubicación indicada. [10]
Instrucciones matematicas
ADD location
o - agrega el valor de la ubicación dada o constante al acumulador. [18]LOAD constant
SUBTRACT location
o - resta el valor de la ubicación dada o constante del acumulador. [19]LOAD constant
MULTIPLY location
o - multiplica el acumulador por el valor de la ubicación o constante dada. [20]LOAD constant
DIVIDE location
o - divide el acumulador por el valor de la ubicación o constante dada. [21] El resultado se redondea hacia abajo si el resultado es positivo y hacia arriba si el resultado es negativo. [8] Se imprime un mensaje de error si el divisor es cero. [22]LOAD constant
*** DIVISION BY ZERO ***
En cada caso, el resultado de la operación se almacena en el acumulador, reemplazando el valor anterior.
Control de programa
JUMP label
- transfiere incondicionalmente el control a la ubicación etiquetada. [23]JINEG label
( J ump I f NEG ative): transfiere el control a la ubicación etiquetada si el acumulador contiene un valor negativo. [24]JIZERO label
( J ump I f ZERO ): transfiere el control a la ubicación etiquetada si el acumulador contiene cero. [9]HALT
- finaliza el programa. [15]
Otros simbolos
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 principio de una línea para indicar un comentario . [26] [b]
Visual CESIL
Un emulador de CESIL, diseñado para ejecutarse en Windows y llamado Visual CESIL, está disponible como software gratuito. [27]
Ejemplo
Lo siguiente 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 +0LOOP TIENDA TOTAL EN JINEG HECHO AÑADIR TOTAL BUCLE DE SALTOHECHO IMPRIMIR "El total es:" CARGA TOTAL FUERA LÍNEA DETENER%123-1*
El resultado del programa anterior sería:
The total is: 6
Ver también
- Alfabetización informática
- Historia de la informática
Bibliografía
Monzón, Colin C; Sewell, Ian R; Frances P, Vickers (1978). Estudios de Computación . Libro 1. ICL Educación informática en las escuelas . ISBN 0 903885 17 4.
Notas
- ^ Visual CESIL no requiere que se firmen constantes no negativas.
- ^ No compatible con Visual CESIL. * se utiliza en su lugar.
Referencias
- ^ Estudios de computación , página 71
- ^ "ICL – CES: Educación informática en las escuelas" . Consultado el 16 de junio de 2021 .
- ^ Furber, Steve (enero de 2012). "Apéndice J: Cronología de los principales avances en informática en las escuelas de Inglaterra". ¿Apagar o reiniciar? El camino a seguir para la informática en las escuelas del Reino Unido (PDF) . La Royal Society . pag. 120 . Consultado el 20 de junio de 2021 .
- ^ a b c d Estudios informáticos , página 72
- ^ "Mi primer programa" . Consultado el 16 de junio de 2021 .
- ^ Estudios de computación , página 82
- ^ Estudios de computación , página 76
- ^ a b Computer Studies , páginas 93–94
- ^ a b Estudios de informática , página 148
- ^ a b Estudios de informática , página 77
- ^ a b Estudios de informática , página 74
- ^ Computer Studies , páginas 96, 148
- ^ Computer Studies , páginas 97–99
- ^ Informática , página 201
- ^ a b c Estudios de informática , página 73
- ^ Computer Studies , páginas 199-200
- ^ Computer Studies , páginas 80, 97–98
- ^ Computer Studies , páginas 84, 97–98
- ^ Computer Studies , páginas 86, 97–98
- ^ Computer Studies , páginas 90, 97–98
- ^ Computer Studies , 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 computación , página 83
- ^ Informática , página 164
- ^ Andrew John Jacobs (20 de junio de 2010). "Visual CESIL" . Consultado el 19 de junio de 2021 .