Vous êtes sur la page 1sur 5

UTN – FRM – Ing.

en Sistemas de Información Algoritmos y Estructuras de Datos


Guia de Pseudocódigo y C++

Seudocódigo Ejemplo seudocódigo C++ Ejemplo C++


Formato de un algoritmo
PROGRAMA nombrealgoritmo; PROGRAMA primero; main() main()
declaración de variables VAR nro:ENTERO { declaración de variables {int nro;
INICIO INICIO Sentencias;
sentencias Leer(nro) cin>>nro;
nro=nro+1 nro=nro+1;
Escribir(nro) cout<<nro;
FINPROGRAMA FINPROGRAMA } }
Declaración de variables
VAR <variables>: tipo de dato VAR nro:ENTERO tipo de dato <variables>; int nro;

Declaración de constantes
CONST <nombre>=<valor> CONST TITULO="Algoritmos" <NOMBRE> <valor> TITULO "Algoritmos"

Tipos de datos
Carácter
CAR VAR letra:CAR char char letra;
Cadena
CADENA VAR palabra:CADENA No existe, hay que definirlo MAXLONG 50
typedef char cadenas [MAXLONG];
cadenas palabra;
Numéricos
ENTERO VAR cantidad:ENTERO int int cantidad;
REAL VAR suma:REAL float float suma;
Lógico
LOGICO VAR respuesta: LOGICO No existe, hay que definirlo typedef int logico;
[V] [F] TRUE 1
FALSE 0
logico respuesta;
Operadores
Operadores aritméticos
exponenciacion ^ 2^3 No existe, hay que definirlo
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++

Seudocódigo Ejemplo seudocodigo C++ Ejemplo C++


Operadores lógicos (ver Tipo de datos lógico)
negación [NO] [NO] [V] ! ! respuesta
conjunción [Y] [V] [Y] [V] && respuesta && TRUE
disyunción [O] [V] [O] [F] II respuesta II TRUE
Operadores de relación
igual = 2=nro == 2==nro
mayor > 12>nro > 12>=nro
mayor-igual >= nro>=25 >= nro>=25
menor < nro<5 < nro<5
menor-igual <= nro<=6 <= nro<=6
distinto <> 6<>nro != 6!=nro
Comentarios
//de linea //se ingresan los numeros //de linea //se ingresan los numeros
<sentencia> //a continuacion de sentencia VAR total:REAL //total a pagar <sentencia> //a continuacion de sentencia float total //total a pagar
Sentencias de asignación
variable=otravariable total=nro variable=otravariable; total=nro;
variable=constante nombre="titulo" variable=constante; nombre="titulo";
variable=expresión nro=nro+1 variable=expresión; nro=nro+1;
Sentencias de entrada y salida
Leer(<lista de variables>) Leer(nro1,nro2) cin>>variables; cin>>nro1>>nro2;
Escribir(<lista de variables>) Escribir("El resultado es:",nro) cout<<variables; cout<<"el numero es:"<<nro;
Sentencias selectivas
SI <expresión condicional> ENTONCES SI nro > 20 ENTONCES if (expresión condicional) if (nro>20)
<sentencias por verdadero> nro=nro+1 {sentencias por verdadero} {nro=nro+1;}
[SINO SINO [else else
<sentencias por falso>] Escribir("no puedo sumar") {sentencias por falso}] {cout<<"no puedo sumar";
Escribir("faltan valores") cout<<"faltan valores";}
FINSI FINSI
Lo que este entre corchetes es opcional, puede usarse o no en la sentencia.
Tanto "sentencias por verdadero" como "sentencias por falso" pueden ser sentencias compuestas, es decir formadas por más de una sentencia simple.
SEGÚN CASO <expresión> HACER SEGÚN CASO nro HACER switch <expresión> { switch (nro) {
<lista de constantes i>: <sentencia i> 1,2: Escribir("nro vale 1 o 2") case <constantes i>: <sentencia i>; case 1:case 2: cout<<"vale 1 o 2";
3: Escribir("nro vale 3") break; break;
case 3: cout<<"vale 3";
[DE OTRO MODO DE OTRO MODO break;
<sentencia si no es ningun caso>] Escribir("nro no vale 1,2 o 3") [default: <sentencias>; default:cout<<"no vale 1,2 o 3";
break;] break;
FINSEGUN FINSEGUN }; };

Página 2 de 5
UTN – FRM – Ing. en Sistemas de Información Algoritmos y Estructuras de Datos
Guia de Pseudocódigo y C++

Seudocódigo Ejemplo seudocodigo C++ Ejemplo C++


Sentencias iterativas
VARIAR <contador> DE <expresión inicial> VARIAR nro DE 1 HASTA nro=10 for (<contador>=<expresión inicial>; for (nro=1;nro<=10;nro++) {
[HASTA ] <expresión final> <expresión final>;<incremento>){
[ SALTO <incremento>]
<sentencia/s del bucle> Escribir("vuelta", nro) <sentencia/s del bucle>; cout<<" vuelta: "<<nro<<endl;

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);

ITERAR ITERAR do { do {
<sentencia/s 1> LEER(nro) <sentencia/s 1> cin>>nro;
SALIR SI <condición salida> SALIR SI nro==0 IF (!<condición de salida>) { IF (nro>0) {
<sentencia/s 2> ESCRIBIR(nro) <sentencia/s 2> cout<<nro<<endl;
FINITERAR FINITERAR } }
} while (!<condición de salida>); } while(nro>0);
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]

Página 3 de 5
UTN – FRM – Ing. en Sistemas de Información Algoritmos y Estructuras de Datos
Guia de Pseudocódigo y C++

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

Seudocódigo Ejemplo seudocodigo C++ Ejemplo C++


Declarar Subprogramas
Procedimiento
PROCEDIMIENTO <nombre> (<parámetros>); PROCEDIMIENTO miProcedi (nro:ENTERO)Void <nombre procedim>(parámetros); void miProcedi (int nro) {
INICIO INICIO {
sentencias Escribir("entro",nro) <sentencias>; cout<<"entro "<<nro;

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) <variable>=<nombre funcion>[<parametros>] nro2=miFuncion(nro1);
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
TIPO TIPO
<tiporegistro>= REGISTRO regpersonas=REGISTRO struct { struct{
[<campo>:<tipo de datos>;] codigo:ENTERO [<tipo de dato>:<campo>;] int codigo;

Página 4 de 5
UTN – FRM – Ing. en Sistemas de Información Algoritmos y Estructuras de Datos
Guia de Pseudocódigo y C++

sueldo:REAL float sueldo;


pagos:VECTOR[12] DE REAL float pagos[12];
dni:ENTERO int dni;
FINREGISTRO FINREGISTRO } <tiporegistro>; } regpersonas;

<tiporegistro> es el nombre del tipo definido como registro


<campo> el nombre de cada campo que componen el registro
<tipo de datos> el tipo de datos del campo
Seudocódigo Ejemplo seudocodigo C++ Ejemplo C++
Declaracion de variables de tipo Registro y referencias a registros
CONST CANTMAX=100 #define CANTMAX 100
VAR <variable>: tipo de dato registro VAR empleados: MATRIZ[CANTMAX] DE regpersonas
tiporegistro <nombrevar>; regpersonas empleados [CANTMAX];
i : ENTERO int I;
variable.nombrecampo empleados[I].codigo= 100 <nombrevar>.campo empleados[I].codigo= 100;
empleados[I].pagos[1]= 1500.00 empleados[I].pagos[1]= 1500.00;

Página 5 de 5

Vous aimerez peut-être aussi