lunes, 22 de noviembre de 2010

.: Sintaxis ALGOL 68 :.

:: Sintaxis ALGOL 68 ::



Materia. Lenguajes de Programación
Hora. M1 - M3 (Martes)

He aquí una de las razones que me impidieron colocar a tiempo mi reporte de imperativos (aclaro, no me estoy justificando, sólo comento).
Vamos a hablar de la sintaxis que me causo problemas en su momento: ALGOL 68
Estructura General del Programa
La estructura general de un programa en ALGOL 68 es la siguiente:
BEGIN
   PROCESO
END
Es decir, la estructura es muy parecida a la de Pascal, sin embargo, permítanme comentar que no use estas palabras reservadas en mi programa (como pudieron o debieron ver ya), y corrió muy bien.
De hecho compare con los códigos que venían ya hechos en la carpeta del compilador y tampoco lo están manejando.
Salida Estándar
Osea lo que se nos puede mostrar en pantalla.
Es muy simple, es sólo un “print”. Pero OJO, tiene su gracia; pues cuando imprimes una sola cosa usas dos paréntesis, al imprimir dos cosas, se usan dobles paréntesis. Ejemplo
Al imprimir una sola cosa:
print("CONVERTIDOR PESOS MEXICANOS-DOLARES");

Al imprimir dos o más cosas (sin importar si es texto con variables u otras cosas):
print((new line, "--->> Monto a cambiar: $ "));
Si se dan cuenta, además de los paréntesis dobles que se deben de usar, usamos comas para separar cada elemento a imprimir.
Al igual que en otros lenguajes el “printf” sigue jugando un papel importante, pues con esta impresión con formato es de gran utilidad al imprimir números, pues de manera general, imprime muchas decimales.
En el tutorial que les dejo en la parte de abajo podrán ver algo sobre esto que les comento. Por lo pronto, les comento que sólo use la conversión para la impresión siguiente: 30zd.2d:
printf(($30zd.2d," DLLS = $",30zd.2d," M.N."$, monto, cambio))
La instrucción ya mencionada me dice que dejo 30 espacios (30z –la z es espacio en blanco-) para los enteros y 2 decimales después del punto (2d).
Éste “rollo” es como colocar el %.2f en C para los punto flotante que sólo queremos que salgan dos decimales.
Entrada Estándar.
Esta sección es la más larga y difícil de esta entrada. Para leer datos desde el teclado y guardarlos en una variable, es de la siguiente forma:
read(variable)
Ejemplo:
read(monto)
Sí que es muy difícil verdad. De acuerdo, no lo es, lo sé.
Declaración de variables
Hay algo que se me hizo muy interesante cuando quería declarar variables en ALGOL, pues en el tutorial que maneje lo hacía con minúsculas, y no me funcionaba el código.
Después de revisar códigos ya hechos, me percate que estaban declaradas con mayúsculas, por lo que también intente hacer lo mismo, y listo, funcionaba mi programa. Ejemplo
int option --------->>> Marca ERROR
INT option --------->>> ¡FUNCIONA!
Otras instrucciones de sintaxis
Generalmente llegamos a un punto en el que estamos acostumbrados a escribir el punto y coma después de cada línea ( ; ).
En ALGOL, si por ejemplo sólo escribimos un print, no es necesario colocar dicho signo de admiración después de esa línea. Demostración:
INT option ----->> Está correcto

Si sigue otra instrucción después de la línea que escribimos, si es necesario colocar el punto y coma al final. Ya hasta el final de la línea. Ya la última línea de código puede quedarse sin el punto y coma.

INT option; ----->> Correctamente escrito.
REAL monto

INT option ----->> Mal escrito. Error de sintaxis.
REAL monto

Lo anterior mencionado aplica para casi cualquier línea de código e instrucción; ya sea entrada o salida estándar, declaración de variables, operaciones, etc.
Hay excepciones en la cuales aunque siga otra línea de código no se usa punto y coma. Esto se presenta cuando después de los llamados identificadores. Estas palabras incluyen por ejemplo las siguientes: FI, ELIF, THEN, etc.
Ustedes mismos se pueden percatar de esto dentro del IF que estoy utilizando en dicho programa.
Uso del IF-ELSE
Aquí seré más breve pues es la única instrucción de selección que hice. La sintaxis del IF-ELSE es la siguiente:
IF condición_1
   THEN proceso_1
ELIF condición_2
     THEN proceso_2
FI
Como se pueden dar cuenta, en lugar de manejar la palabra else a la que estamos acostumbrados, se usa ELIF.
Al igual que en Shell (por si no lo recuerdan muy bien), los IF también se cierran con FI.
La última y nos vamos
Gracias por su visita.
Saludos.

2 comentarios: