Professional Documents
Culture Documents
1. Estructura de un algoritmo
algoritmo nombre
[const
// declaraciones de constantes]
[tipo
// declaraciones de tipos]
[var
// declaraciones de variables globales]
inicio
// cuerpo del algoritmo
fin
2. Variables y tipos de datos
Una o varias variables de un tipo T, con identificadores v1, v2,, vn, se declaran de la forma:
T v1, v2,, vn
3. Tipos de datos elementales
3.1.
Tipo ordinal
Un tipo elemental T es ordinal slo si sus elementos estn organizados de manera tal que: (1) existen
dos elementos notables en T: el primero y el ltimo, (2) para cada elemento en T, excepto el ltimo;
existe un elemento nico que le sigue llamado sucesor (suc), (3) para cada elemento en T, excepto el
primero; existe un elemento nico que le precede llamado predecesor (pred), y (4) cada elemento de T
tiene un valor entero asociado con l, llamado nmero ordinal (ord), que representa la posicin relativa
del elemento en la secuencia de valores que define a T. Todos los tipos elementales son ordinales, con
excepcin del tipo real que no satisface las tres ltimas propiedades de la definicin.
Operador
=
<
>
Significado
Igual a
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Distinto de
3.2.
Tipo entero
Este tipo es un subconjunto finito del conjunto de los nmeros enteros . Se utiliza la palabra reservada
entero en su declaracin. Este tipo de dato adems de los operadores vistos en la seccin 3.1
presentan las operaciones definidas a continuacin.
Operador
+
*
div
mod
**
Significado
Menos unario
Resta
Suma
Multiplicacin
Divisin entera
Resto de la divisin entera
Exponenciacin
3.3.
Tipo real
Este tipo es un subconjunto finito del conjunto de los nmeros reales . Se utiliza la palabra reservada
real en su declaracin. Este tipo de dato adems de los operadores vistos en la seccin 3.1 presentan
las operaciones definidas a continuacin.
Operador
Significado
Menos unario
Resta
Suma
Extraido del artculo NASPI: UNA NOTACIN ALGORTMICA ESTNDAR PARA PROGRAMACIN
IMPERATIVA. Volumen 9 #1. 2010. Revista Telematique. http://www.urbe.edu/publicaciones/telematica/indice/html-vol83/articulo4.html
*
/
Multiplicacin
Divisin real
3.4.
Tipo lgico
Este tipo de dato comprende dos valores de verdad que estn representados por los identificadores
verdadero y falso. Se utiliza la palabra reservada lgico en su declaracin. A continuacin se
presentan las operaciones definidas sobre elementos de tipo lgico.
Operador
Significado
Negacin lgica
Multiplicacin lgica
Suma lgica
3.5.
Tipo caracter
Este tipo es un conjunto tal que contiene las 26 letras maysculas del alfabeto latino, las 26 letras
minsculas, los 10 dgitos de la numeracin rabe y otros smbolos especiales. Se utiliza la palabra
reservada caracter en su declaracin. A continuacin se presentan las operaciones definidas sobre
elementos de tipo carcter.
Operador
=
<
>
Significado
Igual a
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Distinto de
3.6.
Tipo cadena
Una cadena es una secuencia finita de smbolos con longitud variable. Se utiliza la palabra reservada
cadena en su declaracin. Las cadenas son el nico tipo de dato compuesto que no requiere
declaracin. A continuacin se presentan las operaciones definidas sobre elementos de tipo cadena.
Operador
+
long
=
<
>
Significado
Concatenacin de cadenas
Longitud de la cadena
Igual a
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Distinto de
4. Precedencia de operadores
Los operadores son asociativos a la izquierda. Los operadores binarios utilizan notacin infija. La
precedencia entre los operadores est definida a continuacin de manera ordenada descendentemente,
siendo los operadores primarios los de mayor precedencia.
Tipo
Primarios
Unarios
Multiplicativos
Aditivos
De cadena
De relacin
Operador
( ) [ ] Parntesis en expresiones o en llamadas a procedimientos
o funciones. Corchetes en ndices de arreglos.
-, +,
, /, div, mod, ,
+, ,
+
=, <, >, , ,
Extraido del artculo NASPI: UNA NOTACIN ALGORTMICA ESTNDAR PARA PROGRAMACIN
IMPERATIVA. Volumen 9 #1. 2010. Revista Telematique. http://www.urbe.edu/publicaciones/telematica/indice/html-vol83/articulo4.html
campok: Tk
fregistro
Donde: (1) T es el identificador del nuevo tipo, (2) campoi (1 i k) es un \identificador que se
utilizar para referenciar el i-simo campo del registro; y (3) Ti (1 i k) es el tipo (elemental o
definido por el usuario) del i-simo campo. El acceso al isimo campo de una variable v de tipo registro
se realizar utilizando el punto (.), como en v.campoi.
Un ejemplo para ilustrar el tipo de dato registro sera:
Extraido del artculo NASPI: UNA NOTACIN ALGORTMICA ESTNDAR PARA PROGRAMACIN
IMPERATIVA. Volumen 9 #1. 2010. Revista Telematique. http://www.urbe.edu/publicaciones/telematica/indice/html-vol83/articulo4.html
tipo
Votante = registro
Cdula, telfono: entero
Nombre, direccin: cadena
fregistro
5.5.
Tipo apuntador
Un apuntador es una variable que contiene la direccin de memoria de otra variable de un tipo T0. La
declaracin de un tipo apuntador es de la forma ap_T= apuntador a T0, donde ap_T es el identificador
del nuevo tipo y T0 es el tipo referenciado por ap_T.
El tipo referenciado puede ser elemental o compuesto. El apuntador nulo se denota por el valor
constante nulo. Dada una variable P de tipo apuntador que hace referencia a un tipo T0, las
operaciones permitidas son las siguientes:
6. Equivalencias de tipos
Existen tres posibles relaciones entre dos tipos de datos T1 y T2: igualdad, compatibilidad y
compatibilidad de asignacin.
Igualdad: Dos tipos T1 y T2 son iguales si por lo menos una de las siguientes afirmaciones es
verdadera: (1) T1 y T2 tienen el mismo identificador, o (2) T1 y T2 tienen identificadores
diferentes y tipo T1 = T2 es una declaracin de tipos.
Compatibilidad: Dos tipos T1 y T2 son compatibles si por lo menos una de las siguientes
afirmaciones es verdadera: (1) T1 y T2 son iguales, (2) T1 es un intervalo de T2 o T2 es un
intervalo de T1, o (3) T1 y T2 son intervalos del mismo tipo.
Compatibilidad de asignacin: Dos tipos T1 y T2 son de asignacin compatible si por lo menos
una de las siguientes afirmaciones es verdadera: (1) T1 y T2 son compatibles o (2) uno de ellos
es tipo real y el otro es tipo entero o un intervalo de tipo entero.
7. Constantes
Una constante puede verse como una variable cuyo valor no cambia durante su tiempo de vida. Una
constante es representada y utilizada a travs de un identificador nico (nombre) que la denota. Una
constante c con valor V se declara de la forma const c = V. El tipo T de una constante c siempre es
elemental, y viene dado por el dominio sobre el cual est definido el valor V utilizado en la declaracin.
8. Estructuras de control
8.1.
Condicional
Simple:
si (cond) entonces
S
fsi
Doble:
si (cond) entonces
S1
sino
S2
fsi
Extraido del artculo NASPI: UNA NOTACIN ALGORTMICA ESTNDAR PARA PROGRAMACIN
IMPERATIVA. Volumen 9 #1. 2010. Revista Telematique. http://www.urbe.edu/publicaciones/telematica/indice/html-vol83/articulo4.html
Mltiple:
seleccin (expr)
lst1 : S1
lstk1 : Sk1
[sino : Sk]
fseleccin
Donde lsti (1 i k) consistir de uno o ms valores, separados por comas, del mismo tipo que expr.
Si el valor de expr coincide con alguno de los valores de la primera lista de valores (lst1), entonces se
ejecutan las instrucciones correspondientes (S1) y sale de la estructura. En caso contrario, evala la
siguiente lista de valores, y as sucesivamente. Las acciones de la clusula sino slo se ejecutarn si
ningn valor de lsti (1 i < k) coincide con expr.
8.2.
Iteracin
Estructura mientras
mientras (cond) hacer
S
fmientras
Estructura hacer mientras
hacer
S
mientras (cond)
Estructura para
para cont vi hasta vf en expr hacer
S
fpara
La secuencia de instrucciones S se evala para cada valor de cont comprendido entre vi y vf. expr
especifica, de acuerdo con su signo, la cantidad en la cual se incrementa o decrementa el valor de la
variable cont para la siguiente ejecucin de S. Un ejemplo que realice un ciclo que incremente de 1 en 1
sera:
para i 1 hasta 8 en 1 hacer
prom prom + i
fpara
Un ejemplo que realice un ciclo que decremente de 2 en 2 sera:
para i 8 hasta 0 en -2 hacer
prom prom + i
fpara
9. Entrada / salida
leer (v1, , vk)
escribir (expr1, , exprk)
Ejemplo
leer (i, j)
escribir (Valor de i: , i, Valor de j: , j)
Extraido del artculo NASPI: UNA NOTACIN ALGORTMICA ESTNDAR PARA PROGRAMACIN
IMPERATIVA. Volumen 9 #1. 2010. Revista Telematique. http://www.urbe.edu/publicaciones/telematica/indice/html-vol83/articulo4.html
retornar(expr)
ffunc
Procedimiento
proc nombre([F1, ,Fk])
var
[declaraciones locales]
inicio
fproc
Donde:
Nombre es el identificador de la funcin o procedimiento.
Cada Fi (1 i k) es un grupo de parmetros formales de la siguiente forma:
o {ref} Ti pi, donde:
ref indican si el paso de parmetros se realiza por referencia.
pj (1 j m) es el identificador del j-simo parmetro formal del i-simo grupo.
Ti es el tipo (elemental o definido por el usuario) de los parmetros que forman el i-simo
grupo.
Adems, en el caso de una funcin:
T es el tipo (elemental o definido por el usuario) que retorna la funcin.
expr es el valor de retorno de la funcin. El tipo de expr y T deben ser iguales.
11. Archivos
11.1. Archivos de acceso secuencial
Declaracion
archivo_s f
donde: (1) f es el identificador de la variable y (2) archivo_s es el identificador de tipo archivo de
acceso secuencial. Las operaciones permitidas son las siguientes:
Apertura: abrir(f, modo, nombre), donde f es una variable de tipo archivo secuencial, modo indica el
tipo de operacin que se realizar sobre el archivo, y nombre es una expresin de tipo cadena con el
calificativo que se dar al archivo. Los valores posibles para modo son los siguientes:
l: lectura al comienzo del archivo. El archivo debe existir previamente.
e: escritura al comienzo del archivo. Si el archivo no existe, primero crea un archivo vaco. Si
el archivo existe, sobrescribe los datos que tenga.
a: escritura al final del archivo. Si el archivo no existe, primero crea un archivo vaco.
Lectura: leer(f, v), lee en la variable v el siguiente registro del archivo abierto para lectura
representado por f. El tipo de v debe coincidir con el tipo base del archivo definido en la declaracin de
tipo.
Escritura: escribir(f, expr), escribe el valor de la expresin expr en el archivo abierto para escritura y
representado por f. El tipo de expr debe coincidir con el tipo base del archivo definido en la declaracin
de tipo.
Clausura: cerrar(f1, , fk), cierra los k archivos abiertos previamente.
Deteccin del final del archivo: fda(f) retorna un valor booleano que permite detectar si se ha
Extraido del artculo NASPI: UNA NOTACIN ALGORTMICA ESTNDAR PARA PROGRAMACIN
IMPERATIVA. Volumen 9 #1. 2010. Revista Telematique. http://www.urbe.edu/publicaciones/telematica/indice/html-vol83/articulo4.html
llegado o no a la marca de final del archivo representado por f, la cual se encuentra justo despus del
ltimo registro del archivo.
12. Archivos de acceso directo
Declaracion
archivo_d
Apertura: abrir(f, modo, nombre), Los valores posibles para modo son los siguientes:
Lectura: leer(f, pos, v), lee en la variable v el registro situado en la posicin relativa pos del archivo
abierto para lectura representado por f.
Escritura: escribir(f, pos, v), escribe el contenido de la variable v en la posicin relativa pos del archivo
abierto para escritura representado por f.
Clausura: cerrar(f1, , fk), cierra los k archivos abiertos previamente.
Deteccin del final del archivo: fda(f) retorna un valor lgico que permite detectar si se ha llegado o
no a la marca de final del archivo representado por f, la cual se encuentra justo despus del ltimo
registro del archivo.
Extraido del artculo NASPI: UNA NOTACIN ALGORTMICA ESTNDAR PARA PROGRAMACIN
IMPERATIVA. Volumen 9 #1. 2010. Revista Telematique. http://www.urbe.edu/publicaciones/telematica/indice/html-vol83/articulo4.html