Ceneval de Computación - Pseudocódigo

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

 

 

  • 5. Pseudocódigo
  • 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.

 

  • 5.1 Convenciones

 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

 

  • 5.2 Tipos de datos

 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.

 

  

  • 5.3 Estructuras de datos

 Las estructuras de datos son:

  • arreglos

 

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.

  • registros

 

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

  • archivos
  •  

Declaración:

file nombre_archivo

  • clases

Declaración:

class nombre_clase
variables y funciones miembros

  • end

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

 

  • de comparación:
  • =          igual
  • <>        diferente
  • <          menor que
  • >          mayor que
  • <=        menor o igual que
  • >=        mayor o igual que

 

  • lógicos:
  • 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

  • Secuenciación:

 

  • e1

e2
 .
en

  • o bien: e1, e2, ..., en
  • Condición:

 

  • if c1 then

e1

  • if c1 then

e1
else
e2

  • case variable | expresión of

valor1: e1
valor2: e2
    .     .    .
valorn: en
otherwise: ex
end

donde: otherwise es opcional

  • Iteraciones condicionales:

 

  • while c1

e1

 

  • do

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

  •  
  • position(archivo)

Regresa el número de registro actual en archivo