Descarga la aplicación para disfrutar aún más
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
Compartir