Você está na página 1de 9

PSEUDOCODIGO

Introduccin
La especificacin de algoritmos mediante pseudocdigo, es una de las formas ms utilizadas hoy en da. Su ventaja es que se hace en un lenguaje natural, similar a las representaciones mentales que podramos tomar para resolver un problema. Originalmente este lenguaje se represent en idioma ingls, pero tambin hay una variante totalmente en espaol y por ltimo, utiliza estructuras lxicas y sintcticas similares a las de cualquier lenguaje de programacin imperativo.
Arriba Presentacin

Estructura de un algoritmo en pseudocdigo


Todo algoritmo cumple con una estructura sintctica establecida, de manera que se puedan reconocer fcilmente sus partes y componentes. A continuacin se presenta y explica la estructura de un algoritmo en pseudocdigo: Algoritmo nombre Const Area de declaracin de constantes Var Area de declaracin de variables Inicio Cuerpo de instrucciones del algoritmo el cual cumple normalmente con la estructura Entrada de datos, procesamiento y salida de resultados Fin
Arriba Presentacin

Conceptos bsicos de pseudocdigo


Comentarios: Los comentarios se refieren a todo texto que no debe hacer parte del programa y que se utiliza con fines informativos o explicativos nicamente. Un comentario puede ir en cualquier parte del algoritmo, y no debe interpretarse en ninguna situacin. Un comentario sirve para explicar por ejemplo que hace un algoritmo, quien fue el creador, cuando lo hizo o que funcin cumple una variable. Para nuestro caso, utilizaremos dos tipos de comentarios:

Comentarios de lnea: Este tipo de comentario se hace para solo una lnea de texto, termina cuando se pasa a una nueva lnea. Comienza con el smbolo // (barra inclinada doble) y no debe cerrarse con nada. ejemplo. Algoritmo xxxxx // este es un comentario de linea inicio Fin Comentarios de bloque: Este tipo de comentarios se hace para un bloque de texto, puede contener ms de una lnea, necesita smbolo de inicio y smbolo de fin de bloque. Se abre con /* y se cierra con */. Algoritmo xxxxx inicio /* este es un comentario de linea Tiene tres lineas comentadas Y todas hacen parte de un solo comentario */ Fin Identificadores: Un identificador es un nombre que representa algn valor importante del programa. Con un identificador, se pueden nombrar algoritmos, variables, constantes simblicas, arreglos, registros, funciones o procedimientos. Para construir identificadores pseudocdigo propone 1 regla obligatoria y 2 opcionales: Reglas obligatorias: 1. Todo identificador debe iniciar por una letra y puede ir seguida por cero o ms apariciones de nmeros, letras o el carcter subrayado _ Reglas opcionales: 1. Un identificador debera construirse de forma que d una idea aproximada del valor que est representando. 2. Un identificador no debera ser demasiado corto, ni extremadamente largo. Ejemplos de identificadores PI, valor1, sueldo, horas_extras, hed, MAXIMO, suma Aprender a formar y a reconocer identificadores bien formados es un conocimiento bsico que todo estudiante de programacin debe tener.

Tipos de datos: Cualquier valor que se utilice en un algoritmo, sea implcito o explcito, pertenece a un nico conjunto de valores en particular. Es decir, los valores que se usan en el pseudocdigo tienen un slo dominio de valores posibles. Estos dominios se conocen especficamente como tipos de datos. Los tipos de datos existentes en pseudocdigo son:
Categora Numricos Tipo Entero Real Definicin Nmero sin parte decimal Nmero con parte decimal, separada por un punto. Un solo carcter entre comillas sencillas . Rango de valores (- .. +) (- .. +) a, b, , z, A, B, ..., Z, 0, 1, , 9, +, -, *,/, ^, >, =, <, ., , , (, ), [, ], , , , cadena vaca unido con cualquier grupo de caracteres encerrados entre comillas dobles {VERDADERO, FALSO} Ejemplos -23; 0; 2547 -23.09; 1.2798; 0.54 a; A; Z; 0

Texto

Carcter

Cadena

Cualquier grupo de caracteres encerrado entre comillas dobles .

; Hola mundo;

Lgicos

Booleano

Uno de los valores Verdadero o Falso

VERDADERO FALSO

Constantes: Representa un valor que es conocido desde el inicio del algoritmo, no cambia durante la ejecucin del mismo e inclusive, es probable que nunca cambie o se modifique slo despus de largos perodos de tiempo (meses, aos). Las constantes pueden ser valores puntuales, que se conocen como literales, por ejemplo 12, HOLA, A, 3.1416, etc. De otro lado, cuando una constante se usar muchas veces dentro del algoritmo o su valor puede cambiar de una perodo a otro, se acostumbra a usar identificadores para nombrar las variables. Ej: PI = 3.1416, E=1.2128, DIASMES=30, NOMBREEMPRESA=Los Marinillos, etc. Para definir una constante nombrada, basta con escribir dentro del rea de declaraciones de constantes el nombre de esta (que por buena prctica de programacin se acostumbra a escribir en maysculas sostenidas) el operador igual (=) y el valor que posee. Variables: Las variables representan valores que pueden cambiar durante la ejecucin de un algoritmo o programa. La principal funcin de las variables es representar elementos, acciones, cosas, procesos, datos o informacin relevante del problema a resolver. La abstraccin del problema es parte importante para saber reconocer y establecer variables. Un valor puede cambiar por que:

Es el usuario quien lo asigna (variables de entrada) Guarda el resultado intermedio o definitivo de una operacin (variables Internas y de salida)

Toda variable debe tener un nombre que la identifique, el nombre de una variable sigue las reglas de construccin de un identificador. Para nombrar variables es recomendable: Utilizar un nombre que nos d una idea de lo que hace la variable, por ejemplo, si vamos a almacenar la edad de Juan, la variable debe al menos indicarnos que guardar una edad y que ser de Juan. Ej. edadJuan. Utilizar nombres no muy extensos, ya que puede ser molesto para escribir un nombre largo muchas veces en un programa. Por ejemplo, si la variable guardara la edad de Juan, el identificador variablequerepresentalaedaddejuan es demasiado largo para usarlo (escribirlo) muchas veces. No utilizar nombres muy cortos, en contraposicin al caso anterior, un nombre muy corto, puede no ser suficiente para saber que har la variable, en el caso de la edad de Juan, un nombre como j o inclusive ej, pueden no ser suficientes para esto. Por buena prctica de programacin las variable se escriben con minscula, y si lleva varias palabras, el inicio de cada palabra se hace con mayscula. Ej: edadJuan, area, dirCasa, etc.

Adems del nombre, toda variable debe ser de un determinado tipo de datos, lo que indica cuales valores puede almacenar, una variable siempre almacenar valores del mismo tipo y no puede cambiar el tipo de valores, solo puede cambiar su valor durante la ejecucin de un programa. Toda variable debe declararse antes de ser usada. Si no se hace, eso genera un error de sintaxis en el algoritmo. Declarar una variable significa establecer cmo se llamar y que tipo de valores podr contener. Para declarar una variable, basta con escribir dentro del rea de declaraciones de variables el nombre de esta, si se va a declarar ms de una variable del mismo tipo, se escriben todas separadas por coma, el separador dos puntos (:) y el tipo de datos al que pertenecen. Ej Var val1, val2,edadJuan: entero area, altura, base: real

Expresiones: Una expresin corresponde a una operacin que implica operandos (los valores involucrados) y un operador (la forma de relacionar esos valores). Se pueden anidar expresiones, es decir, el operando izquierdo (o derecho) de una expresin, puede ser otra expresin. De otro lado, tambin se considera como una expresin a cualquier expresin encerrada entre parntesis. Existen diversas categoras de expresiones y de acuerdo con cada expresin, se pueden tener operadores y tipos de datos involucrados. Expresiones matemticas: Son aquellas que aplican operadores matemticos e involucran valores numricos (literales, variables numricas u otras expresiones). Al ser evaluadas arrojan un resultado tambin numrico. Para las expresiones matemticas se usan operadores matemticos, estos son: Operador Parntesis Smbolo () / * DIV MOD + Significado Precedencia No es una expresin pero 1 agrupa expresiones 8*(4+5)=72 Elevar un numero a otro 2 3 2=9 Dividir un numero entre 3 otro 6/2=3 Multiplicar un nmero por 3 otro 8*5=40 Devolver el cociente de 3 una divisin 5 DIV 2=2 Devolver el residuo de una 3 divisin 5 MOD 2=1 Sumar un nmero con otro 4 5+4=9 Restar un numero de otro 4 5-4=1

Potenciacin Divisin Multiplicacin Divisin entera Modulo de la divisin Suma Resta

Cualquier expresin matemtica se puede encerrar entre parntesis. Las expresiones matemticas tienen prioridad o precedencia, es decir, existe ms orden de importancia para unos operadores que para otros. Por ejemplo, la expresin 8*4+5 podra dar dos valores diferentes, si primero se evala la multiplicacin que la suma, el resultado sera 37, pero si primero se evala la suma sobre la multiplicacin el resultado sera 72. En general la mayor precedencia la tienen los parntesis, es decir, una expresin entre parntesis es la que primero se evala, luego sigue la potenciacin, en igual orden de precedencia se encuentran las operaciones de multiplicacin (divisin, multiplicacin, divisin entera y residuo) y finalmente en ltimo orden de precedencia las de suma (suma y resta). As que la expresin 3*5+7-22+7 MOD 3=19.

Expresiones relacionales: son aquellas que implican una comparacin entre subexpresiones, entregando como resultado un valor booleano. Las expresiones relacionales buscan comparar operandos de acuerdo con una relacin de orden (mayor, mayor o igual, menor, menor o igual, igual o diferente), Estas son: Operador Mayor Smbolo > Significado Comparacin de un valor mayor que otro 6>5 Comparacin de un valor mayor que otro 5>=6 Comparacin de un valor igual a otro 6=6 Comparacin de un valor diferente de otro 6<>6 Comparacin de un valor menor que otro 6<5 Comparacin de un valor menor que otro 5<=6 Resultado En este caso el resultado de la evaluacin sera verdadero En este caso el resultado de la evaluacin sera falso En este caso el resultado de la evaluacin sera verdadero En este caso el resultado de la evaluacin sera falso En este caso el resultado de la evaluacin sera falso En este caso el resultado de la evaluacin sera verdadero

Mayor o igual

>=

Igual

Diferente

<>

Menor

<

Menor o igual

<=

Conocer y saber aplicar las expresiones relacionales es muy importante en programacin, ya que la mayora de las condiciones que se usan en las estructuras de control, son expresiones relacionales. Vale la pena establecer que no todos los tipos de datos se pueden comparar (ser operandos en una expresin relacional) directamente. Se pueden comparar:

Valores numricos entre si: entero con entero [4<=6], entero con real [5>5.3], real con entero [3.23<>4] y real con real[5.4=5.4]. No importa si uno de los enteros es una variable de tipo entero o uno de los reales, es una variable de tipo real. Valores de texto: carcter con carcter [a=A] y cadena con cadena [Hola<>hola]. Vale anotar que un carcter puede ser mayor o menor que otro, debido a su cdigo ASCII, ej [a<b, b<c, etc] de igual manera una cadena puede ser mayor o menor que otra, por el cdigo ASCII de sus caracteres componentes, ej [cama<casa, burla>aire].

Valores booleanos: Booleano con booleano. [TRUE=TRUE, FALSE=FALSE, TRUE<>FALSE, TRUE>FALSE, FALSE<TRUE]. De igual manera se pueden comparar expresiones matemticas con expresiones matemticas ej:[3+x>2*y], expresiones relacionales con expresiones relacionales [a>b = b>c] y expresiones booleana con expresiones booleanas [p Y q <> r O s]

Expresiones booleanas: Son aquellas que permiten la realizacin de operaciones del lgebra booleana, su resultado siempre es un booleano. Las expresiones booleana pueden ser usadas tambin como uno de los operandos de una condicin en una estructura de control. Tenemos:[

Operador ~

Smbolo NO

Significado Precedencia Niega el valor de cualquier 1 variable o expresin NO FALSO=VERDADERO Operacin del Y lgico 2 FALSO Y VERDADERO = FALSO Operacin del O lgico FALSO O VERDADERO = VERDADERO

Es muy importante saber agrupar expresiones booleanas y en algunos casos saber cual es su negacin, por que algunas estructuras de control como MIENTRAS o HAGA requieren que se cumpla una condicin para terminar su ejecucin, y es comn confundir el caso en que se cumple la condicin, por que se hace una mala negacin de la misma. Por ejemplo si la condicin es: (i) (a>b Y c=d) O (r<> 0) la negacin de toda esta expresin sera (ii) (NO(a>b) O NO(c=d)) Y (no(r<>0)) lo que se podra entender como: (iii) (a<=b O c<>d) Y (r=0) Operacin de asignacin: Esta operacin es muy importante dentro de la programacin, pues es la que permite modificar el valor de una variable. Toda operacin de asignacin consta de tres elementos: Una variable en el lado

izquierdo de la operacin, un operador de asignacin, que para el caso de pseudocdigo se hace con los smbolos <- representando una especie de flecha y una expresin al lado derecho de la operacin. Variable <- expresion Lo que busca simbolizar (y la forma de leer la asignacin) es que la variable toma el valor de la expresin. Es importante decir que: Como ya se dijo antes, la variable debe estar declarada y debe pertenecer a un tipo de datos. El tipo de datos de la expresin debe ser el mismo tipo de datos de la variable. No es posible hacer conversiones de tipos como por ejemplo convertir una cadena en un entero, una cadena en un carcter, un carcter en una cadena, un booleano en una cadena, un booleano en un carcter, o cualquier tipo en booleano. Es posible convertir un entero en un real, pero por el contrario, convertir un real en un entero genera un problema de prdida de precisin, ya que solo se toma la parte entera del valor real. La expresin podra ser: Un literal, es decir un valor exacto, una variable, como ya dijimos, del mismo tipo de la variable de la izquierda; o una expresin cuyo resultado sea del mismo tipo de la variable de la izquierda. Ej var1<-10; var2<-var1; var3<-var1*var2

Instrucciones de entrada y salida: Como ya hemos visto, el esquema general de un algoritmo requiere leer datos de entrada dados por el usuario y mostrar o entregar los resultados al usuario, despus de hacer algn(os) proceso(s). Por lo tanto, es necesario tener instrucciones que nos permitan la entrada o lectura de datos y la salida de resultados. Instruccin de entrada: Utilizaremos una funcin, que se declara propia del pseudocdigo. Esta es leer y lo que hace es recibir entrada de datos por teclado, su formato es: leer(variable1[, variable2, , variablen]) Lo anterior indica que con la misma instruccin de lectura se pueden leer varias variables, los corchetes indican que desde la segunda hasta la ltima son opcionales, solo la primera variable es obligatoria. El caso anterior podra reemplazarse por n instrucciones de lectura, cada una con una sola variable. Ej leer(edadJuan, edadPedro)

Instruccin de salida: Para mostrar informacin, se usar la instruccin escribir que permite presentar informacin en la pantalla; permite mostrar tanto texto, como valores de variables o de expresiones. Su formato es:
escribir([Texto1],var1[,[[Texto2],var2],,[[Texton],Varn]])

en este caso, se muestra como, la instruccin de escritura debe llevar al menos una variable para mostrar, pero lo ideal es que se muestre un texto que acompae la variable, algo as como una presentacin de la salida, y de igual manera se puede hacer con otras variables y sus respectivos textos. En este caso, Textoi es una cadena de caracteres que se escribe y debe ir entre sus respectivas comillas dobles. Y la coma (,) hace las veces de operador de concatenacin, que en este caso une el texto con el valor de la variable.

Você também pode gostar