Logo Studenta

cuadro pseudocodigo

¡Estudia con miles de materiales!

Vista previa del material en texto

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++
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 } }
VAR <variables>: tipo de dato VAR nro:ENTERO tipo de dato <variables>; int nro;
CONST <nombre>=<valor> CONST TITULO="Algoritmos" #define <NOMBRE> <valor> #define TITULO "Algoritmos"
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 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
Formato de un algoritmo 
Declaración de variables 
Tipos de datos
Declaración de constantes 
Operadores
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
//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 sentenciafloat total //total a pagar
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;
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;
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 }; };
Sentencias de asignación
Comentarios
Sentencias de entrada y salida
Sentencias selectivas
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++
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); 
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"
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
Tipos de datos estructurados Variables Dimensionadas: Vectores y Matrices
Sentencias iterativas
Tipos definidos por el usuario
Página 3 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++
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 de dato;FUNCION 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
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
<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 REALfloat 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
Invocar Subprogramas
Declarar Subprogramas
Tipos de datos estructurados: Registros
Página 4 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++
CONST CANTMAX=100 #define CANTMAX 100
VAR <variable>: tipo de dato registro VAR empleados: MATRIZ[CANTMAX] DE regpersonastiporegistro <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;
Declaracion de variables de tipo Registro y referencias a registros
Página 5 de 5

Continuar navegando