5.1 Convenciones
5.2 Tipos de datos
5.3 Estructuras de datos
5.4 Operadores
5.5 Operaciones de cadenas
5.6 Comentarios
5.7 Estructuras de control
5.8 Funciones y procedimientos
5.9 Operaciones de entrada/salida
- El Consejo Técnico del EGEL Info-Comp decidió establecer un pseudocódigo, con el objeto de que los reactivos que se expresen conforme a éste cumplan con la gramática y sintaxis establecidas y, de esta manera, todos los sustentantes del examen puedan resolver los reactivos expresados en pseudocódigo.
La relación de convenciones empleadas en el pseudocódigo es la siguiente:
- El pseudocódigo se escribe empleando la fuente Times New Roman
- Las palabras reservadas del pseudocódigo se muestran en negritas
- Los puntos “...” indican la posibilidad de repetir algún elemento del pseudocódigo
- Cuando exista la posibilidad de elegir algún elemento a partir de un conjunto de elementos, éstos se listarán separados por el símbolo “|”
- Las diferentes opciones o posibilidades de uso del pseudocódigo se listan con viñetas
- El pseudocódigo posee las características siguientes:
- Se emplean oraciones en lenguaje natural, donde cada una se refiere a una actividad general o específica
- Se utiliza un lenguaje común, sin palabras rebuscadas
- Se evitan errores gramaticales, abreviaciones y puntuaciones
Los tipos de datos básicos son:
-
string cadena de caracteres
-
integer número entero
-
real número real
-
boolean falso o verdadero
Estos tipos de datos se declaran de acuerdo con las formas siguientes:
- tipo variable1
- tipo variable2, variable3,...,variablen
- tipo variablen1, variablen2,...,variablenm = valor
donde: tipo puede ser string, integer, real o boolean.
Las estructuras de datos son:
tipo array1[rango1,...,rangon], ... ,array2[rango1,...,rangon]
donde: rangon: número de localidades deseadas. La primera localidad se referencia con uno.
tipo: es alguno de los tipos de datos básicos o alguna estructura de datos.
Declaración:
record nombre_registro
tipo variable1
.. ...
tipo variablen
end
Creación de un registro:
nombre_registro registro
La referencia a un campo de un registro se efectúa de la forma: registro.nombre_campo
Declaración:
file nombre_archivo
Declaración:
class nombre_clase
variables y funciones miembros
Instanciación de un objeto:
nombre_clase objeto
La referencia a un campo de una clase se efectúa de la forma: objeto.nombre_campo. El llamado a una función de una clase se efectúa de la forma: objeto.nombre_función(lista_parámetros)
-
- 5.4 Operadores
-
- Aritméticos:
- + suma
- - resta
- * multiplicación
- / división
-
mod módulo
-
div división entera
- = igual
- <> diferente
- < menor que
- > mayor que
- <= menor o igual que
- >= mayor o igual que
-
AND La expresión será verdadera si y sólo si ambas expresiones son verdaderas
-
OR La expresión será verdadera si al menos una expresión es verdadera
-
XOR La expresión será verdadera si y sólo si ambas expresiones son diferentes (verdadero y falso, o viceversa)
-
NOT El valor de la expresión es la negación de la expresión original
-
NOTA: LA PRECEDENCIA DE LOS OPERADORES LA ESTABLECERÁN LOS PARÉNTESIS.
- 5.5 Operaciones de cadenas
-
Las funciones para cadenas son las siguientes:
-
length(nombre_de_la_cadena) Regresa un valor entero que “contiene” la longitud de la cadena nombre_de_la_cadena
-
-
substring(nombre_de_la_cadena,posición_inicial,longitud) Regresa una cadena, en donde:
-
- posición_inicial es la posición a partir de la cual se copiará el contenido de nombre_de_la_cadena
- longitud es el número de caracteres que se copiarán
La forma para copiar el contenido de una cadena hacia otra es:
cadena_1 = cadena_2
La concatenación de cadenas puede ser:
- cadena_1 = cadena_2 + cadena_3
- cadena_1 = cadena_1 + cadena_2
-
- 5.6 Comentarios
-
- --comentario
- /*línea1
línea2
...
línean*/
-
- 5.7 Estructuras de control
-
- Asignación:
variable = valor | expresión | variable
e2
.
en
e1
e1
else
e2
-
case variable | expresión of
valor1: e1
valor2: e2
. . .
valorn: en
otherwise: ex
end
donde: otherwise es opcional
- Iteraciones condicionales:
e1
e1
until c1
-
for variable = valor_inicial to c1, incremento | decremento
e1
Notas:
- Es posible efectuar combinaciones de las estructuras de control de secuenciación, condición e iteración condicional
- en puede ser una asignación, alguna estructura de control, combinación de estas últimas o una secuenciación delimitada por las palabras reservadas de: begin y end
- cn es una condición
- Se recomienda que los pseudocódigos posean una indentación consistente
- 5.8 Funciones o procedimientos
-
func nombre_función (lista_parámetros): tipo
begin
e1
.
en
return variable | expresión | valor
end
donde:
- lista_parámetros, : tipo y return son opcionales
- Para llamar a una función o procedimiento se escribe: nombre_función (lista_parámetros)
- lista_parámetros en la definición de la función es de la forma:
tipo variable1, tipo variable2, ..., tipo variablen
- lista_parámetros en el llamado a la función es de la forma:
variable1, variable2, ..., variablen
- 5.9 Operaciones de entrada/salida
-
-
read(variable1, variable2, ..., variablen)
- Lee una(s) variable(s) del teclado
-
-
write(“texto1”,..., “texton”, variable1,..., variablen)
- Despliega texto(s) o el valor de una(s) variable(s) en el monitor
-
-
open(archivo, read | write | append | read/write)
Abre un archivo en algún modo (escritura, lectura, adición o lectura/escritura, respectivamente)
-
-
close(archivo)
- Cierra un archivo previamente abierto
-
-
readfile(archivo, nombreRegistro)
- Lee un registro de archivo dejando la información leída en nombreRegistro
-
-
writefile(archivo, nombreRegistro)
Escribe o sobreescribe el contenido de nombreRegistro en el registro actual de archivo
-
EOF(archivo)
- Regresa verdadero si es el fin de archivo y falso en caso contrario
-
-
ERROR(archivo)
- Regresa verdadero si se presentó un error en la última instrucción ejecutada en un archivo y falso en caso contrario
-
-
seek(archivo, inicio | final | registro n)
Se posiciona al inicio, al final o en un registro x de archivo
Regresa el número de registro actual en archivo
|