Pseudocodigo
Pseudocodigo
Pseudocodigo
Declaración de constantes
CONST <nombre>=<valor> CONST TITULO="Algoritmos" #define <NOMBRE> <valor> #define TITULO "Algoritmos"
Tipos de datos
Carácter
CAR VAR letra:CAR char char letra;
Cadena
CADENA VAR palabra:CADENA string string palabra;
// debe incluir #include <string>
Numéricos
ENTERO VAR cantidad:ENTERO int int cantidad;
REAL VAR suma:REAL float float suma;
Lógico
LOGICO VAR respuesta: LOGICO bool bool respuesta;
[V] [F] // toma el valor 1 para TRUE
// toma el valor 0 para FALSE
Operadores
Operadores aritméticos
exponenciacion ^ 2^3 pow(2,3) // debe incluir #include <cmath>
division / 6/3 / 6/3
multiplicación * 4*5 * 4*5
suma + 23+2 + 23+2
resta - 7-2 - 7-2
Operadores concatenación
de concatenación + "MI"+"CASA" No existe, hay que definirlo
Página 1 de 5
UTN – FRM – Ing. en Sistemas de Información Algoritmos y Estructuras de Datos
Guia de Pseudocódigo y C++
Página 2 de 5
UTN – FRM – Ing. en Sistemas de Información Algoritmos y Estructuras de Datos
Guia de Pseudocódigo y C++
FINVARIAR FINVARIAR } }
total= 600 total=600;
MIENTRAS <condición ejecución> HACER MIENTRAS total < 1000 HACER while(<condición ejecución>) { while (total < 1000) {
<sentencia/s del bucle> total = total + 200 <sentencia/s del bucle>; total=total + 200;
FINMIENTRAS FINMIENTRAS } }
nro=2 nro=2;
REPETIR REPETIR do { do {
<sentencia/s del bucle> nro=nro+2 <sentencia/s del bucle>; nro=nro+2;
HASTA <condición salida> HASTA nro>=10 } while (<condición de salida>); } while (nro<=10);
Tipos definidos por el usuario
Tipo Enumerado
TIPO <nombre del tipo>=(<lista valores>) TIPO semana=(lunes, martes, miércoles, typedef enum { <lista valores> } typedef enum {lunes, martes,
VAR nombre:<nombre del tipo> jueves, viernes, sábado, domingo) <nombre del tipo>; miercoles, jueves, viernes,
VAR diasem: semana sabado, domingo} semana;
Tipo Subrango semana diasem;
TIPO <nombre del tipo>=<minimo>..<maximo> TIPO digito=0..9
TIPO mes=1..31
TIPO letra="a".."z"
Tipos de datos estructurados Variables Dimensionadas: Vectores y Matrices
Declaración CONST FILAS 30 #define FILAS 30
CONST COLUMNAS=50 #define COLUMNAS 10
TIPO matriz2d=MATRIZ[FILAS] [COLUMNAS] DE ENTERO typedef int matriz2d [FILAS]
VAR vector:MATRIZ[FILAS] DE REAL [COLUMNAS];
<tipomatriz>=MATRIZ[<tamaño> VAR unaMatriz : matriz2d <tipoelemento> <tipomatriz> int vector [FILAS];
[,<tamaño>] DE <tipo de datos> [<dimension>] [<dimension>]; matriz2d una Matriz;
<tipomatriz> es el nombre
<tamaño> indica el tamaño de la estructura en esa dimension (fila, columna o plano)
<tipoelemento> es el tipo de todos los elementos de la variable dimensión
Página 3 de 5
UTN – FRM – Ing. en Sistemas de Información Algoritmos y Estructuras de Datos
Guia de Pseudocódigo y C++
FINPROCEDIMIENTO FINPROCEDIMIENTO } }
Función
FUNCION <nombre> (<parámetros>): tipo deFUNCION
dato; miFuncion (nro:ENTERO):ENTERO <tipo de dato><nombre función>(parámetros);int miFuncion (int nro) {
INICIO INICIO { int resultado;
Sentencias mifuncion=nro*3+2 <tipo de dato> valor_devolución; resultado=nro*3+2;
<sentencias>; return(resultado);
RETORNO RETORNO Return(valor_devolución);} }
<parámetros> es <nombre variable>: tipo de dato
Invocar Subprogramas
Llamada
A procedimiento
<nombre del procedimiento>[<parámetros>] miProcedi (nro) <nombre del procedimiento>[<parámetros>];miProcedi(nro);
A Función
<variable>=<nombre funcion>[<parametros>] nro2=miFuncion(nro1) nro2=miFuncion(nro1);
<variable>=<nombre funcion>[<parametros>]
en una expresión suma=total+miFuncion(nro1) en una expresión
Las funciones calculan un valor que se puede emplear directamente en una expresión.
Argumentos
Parámetros de entrada: no se puede modificar su valor original (parámetro por valor)
Parámetros de entrada/salida: su valor puede ser modificado (parámetro por referencia) Se indican con un & en el parámetro formal del subprograma
Tipos de datos estructurados: Registros
<tiporegistro>= REGISTRO regpersonas=REGISTRO struct { struct{
[<campo>:<tipo de datos>;] codigo:ENTERO [<tipo de dato>:<campo>;] int codigo;
sueldo:REAL float sueldo;
pagos:VECTOR[12] DE REAL float pagos[12];
dni:ENTERO int dni;
FINREGISTRO FINREGISTRO } <tiporegistro>; } regpersonas;
Página 4 de 5
UTN – FRM – Ing. en Sistemas de Información Algoritmos y Estructuras de Datos
Guia de Pseudocódigo y C++
Página 5 de 5