Sunteți pe pagina 1din 13

PSEUDOCDIGO

PSEUDOCDIGO.- Es un conjunto de reglas que nos permite expresar claramente un algoritmo, como si se tratara de un lenguaje natural cualquiera(idioma) DATO Son los diferentes objetos de informacin con los que trabaja una computadora. Ejemplo la calificacin de un alumno. TIPO DE DATO.- Coleccin de elementos que se forman de igual manera y que son tratados en forma uniforme. Ejemplo: 1) [-1,1, 4, 199] es una coleccin de elementos de tipo entero. 2) [1.4, 3.1416] es coleccin de elementos de tipo real. Tipo de dato ENTERO REAL CARACTER LGICO TIPOS DE DATOS Ejemplo Identificador en pseudocdigo 128 Entero 7.5 Real b caracter verdadero, falso lgico

ESTRUCTURA DE UN ALGORITMO Un algoritmo consta de dos componentes: Cabecera del algoritmo Bloque del algoritmo Cabecera del Algoritmo.- Indica el nombre identificacin del algoritmo. Formato Algoritmo Nombre del algoritmo Ejemplo: Algoritmo HallaDescuento Bloque del algoritmo.- Consta de dos secciones: Seccin de declaraciones Seccin Ejecutable Seccin de Declaraciones.- Se declaran las variables y constantes. Declaracin de variables.- Se especifican los nombres de las variables y sus tipos de datos. Formato VAR Tipo_1: variable_1, variable_2,..., variable_n Tipo_2: variable_1, variable_2,..., variable_n

. . .
Tipo_n: donde: variable_1, variable_2,..., variable_n

Tipo_n indica el tipo de dato, colocando el identificador que corresponde, segn el tipo. Ejemplo: VAR entero: edad Declaracin de constantes.- Se asocia un identificador con una constante especifica y despus se usa dicho identificador en el programa. Formato CONST identificador=valor donde: o identificador es un nombre o valor es una constante entera, real, de caracter lgico Ejemplo CONST igv= 0.18 pi=3.1416 mes= enero Seccin ejecutable. Contiene enunciados que efectan acciones sobre los datos. Esta delimitada por las palabras reservadas: INICIO y FIN. Formato INICIO enunciados

...
enunciados FIN Comentario.- Informacin que explica lo que esta sucediendo en el programa. Se representa encerrando la informacin entre /* y */ . Formato /*informacin explicativa*/ Ejemplo Areacuad lado*lado /*calcula el rea de un cuadrado */ SENTENCIAS DE ENTRADA Y SALIDA Sentencia de entrada: Leer Formato Leer variable 1, variable 2,..., variable n Leer ( variable 1, variable 2,..., variable n) Sentencia de salida: Escribir Formato Escribir Lista de constante y/o variable Escribir ( Lista de constante y/o variable)

EXPRESIONES ARITMTICAS.- Representan clculos aritmticos. Ejemplo -4*7+2 Operadores Aritmticos Operador + * / ** div mod Operacin Suma Resta Multiplicacin Divisin Potencia Divisin entera Mdulo(Residuo) Operandos Entero real Entero real Entero real Entero real Entero real Entero Entero Resultado Entero real Entero real Entero real Entero real Entero real Entero Entero

Prioridad de los operadores.- Determina el orden en que se ejecutan las operaciones en una expresin. Operador Jerarqua Operacin **, ^ (Mayor) Potencia /, *, div, mod divisin ,multiplicacin, divisin entera, mdulo(residuo) +, (Menor) Suma, resta Las operaciones encerradas entre parntesis se ejecutan primero. EXPRESIONES LGICAS.- Son expresiones cuyo resultado es el valor verdadero falso. Se forman utilizando operadores lgicos y operadores de relacin. Ejemplo 1< 2 es verdadero Operadores de relacin Operador = <> < > <= >= Operacin Igual que Diferente a Menor que Mayor que Menor igual que Mayor igual que Ejemplo sara=zara 4 <>5 5<10 12>4 7<=2 25>=25 Resultado Falso Verdadero Verdadero Verdadero Falso Verdadero

Operadores Lgicos y su jerarqua Operador Lgico NO Y O Expresin Lgica No P PyQ PoQ

SENTENCIA DE ASIGNACIN.- Se usa para asignar el valor del lado derecho del operador de asignacin ( ) a la variable que se encuentra en el lado izquierdo del operador. Formato variable variable|constante|expresin ESTRUCTURA SECUENCIAL.- Los pasos del proceso se procesan en secuencia, uno despus del otro. Formato INICIO /*inicio de estructura secuencia*/ Proceso 1 Proceso 2

...
/*fin de estructura secuencial */ FIN Ejemplo.-Lectura de tres nmeros M, N y P en una sola operacin impresin de su suma en una impresora INICIO Leer(M,N,P) S M+N+P Escribir(El resultado es=,S) FIN ESTRUCTURAS ALTERNATIVAS DE SELECCIN. Evalan una expresin y sealan el camino a seguir segn sea el resultado de la evaluacin, verdadero falso. Se clasifican en: simple, doble y mltiple Estructura de seleccin simple: SI ENTONCES Formato Si condicin Entonces sentencias Finsi ( Fsi Fin_si) Estructura de seleccin doble: SI ENTONCES/SINO Formato Si condicin Entonces sentencias Sino sentencias Finsi ( Fsi Fin_si) Estructura de seleccin mltiple: CASO Formato Caso expresin vale Alternativa 1: sentencias

Alternativa 1: sentencias

...
Alternativa n: sentencias [Sino : sentencias] Fincaso ( Fcaso Fin_caso) SENTENCIAS REPETITIVAS Sentencia Mientras Formato Mientras condicin hacer Sentencias Finmientras ( Fmientras Fin_mientras) Sentencia Repetir Formato Repetir Sentencias Hasta condicin Finrepetir ( Frepetir Fin_repetir)

Sentencia Para Formato Para variable de control desde valor inicial hasta valor final [incremento {+|-} valor del incremento] hacer sentencias Finpara ( Fpara Fin_para)

Clases y Objetos.
Una clase es, al igual que los nmeros, el texto y los booleanos, un tipo especial de datos. En su caso consiste de un nmero fijo de componentes. Una clase puede estar compuesta por atributos y mtodos. Una instancia de una clase es conocida comnmente como objeto. Los objetos se crean utilizando los constructores y se destruyen utilizando los destructores. Cada objeto tiene su copia de los atributos declarados en la clase, pero todos comparten los mismos mtodos.

Declarar Clases.
Las clases se declaran de la siguiente manera: clase IdentificadorClase [viene-de IdentificadorClase { , IdentificadorClase }] atributos IdentificadorAtributo { IdentificadorAtributo } mtodos secuencia de m declaraciones de mtodos fclase IdentificadorMtodo [ ( ListaFormalParmetros ) ] [ ] [ virtual | virtual abstracto | sobreescribir | sobrecargar ] constructor [ ( ListaFormalParmetros ) ] destructor ListaFormalParmetros [ @ ] Identificador {, [ @ ]Identificador } {,
Ilustracin Captulo I. .1. Sintaxis de declaracin de Clase.

La declaracin de un atributo en una clase define un elemento de dato que existe en cada instancia u objeto de la clase. Un mtodo es una rutina que realiza una operacin sobre un objeto. Parte de la llamada a un mtodo (mensaje) especifica el objeto sobre el que debe operar el mtodo. La declaracin de un mtodo dentro de una clase implica la implantacin posterior del mtodo mediante una declaracin de definicin. Dentro de la implantacin de un mtodo, el identificador Este representa un parmetro implcito que referencia al objeto por el cual fue invocado el mtodo. Los constructores y destructores son mtodos especiales que controlan la construccin y destruccin de los objetos. Un constructor define las acciones asociadas con la creacin de objetos. Cuando se invoca ste retorna una referencia a una instancia inicializada de una clase. Un destructor define las acciones asociadas con la destruccin de un objeto. Cuando se invoca, el destructor libera los recursos asignados al objeto. Una clase puede heredar componentes de otra clase. Si C2 hereda de C1, entonces C2 es un descendiente de C1 y C1 es un ancestro de C2. La herencia es transitiva; es decir, si C3

hereda de C2 y C2 hereda de C1, entonces C3 tambin hereda de C1. El dominio de una clase est conformado por ella y todos sus descendientes. Una clase descendiente contiene en forma implcita todos los componentes definidos por sus clases ancestro. Una clase descendiente puede agregar nuevos componentes a los ya heredados. Sin embargo, no puede eliminar la definicin de un componente declarado en una clase ancestro.

Seleccionar atributos.
La manera como podemos accesar a los atributos de una clase es similar a lo anteriormente visto con las variables, excepto que necesitamos especificar a que clase pertenece este atributo.
Identificador_de_Clase.Identificador_Atributo

Esta herramienta del lenguaje de pseudocdigo nos es til para accesar a los atributos de una clase dentro de la definicin de un mtodo amigo de sta. Llamamos mtodo amigo al mtodo que recibe como parte de su interfaz un identificador de otra clase del cual se puede accesar directamente a los valores de los atributos de la clase. El concepto de amigo se entiende como un grado de confianza entre clases, pues una clase confa su intimidad (se supone que los atributos deben encapsularse para el exterior) a otra esperando que la receptora no de un uso indebido a los valores de sus atributos. Dentro de los mtodos de una clase, el acceso a sus atributos propios y heredados no necesita la especificacin del identificador de clase, pues la pertenencia est sobreentendida.

Declaracin de Instancias de Clases (Objetos).


Las instancias de una clase se conocen como los objetos de la clase. Por medio de las clases definimos en nuestro pseudocdigo la estructura y el comportamiento de los objetos que pertenezcan a esa clase, es decir los ejemplares de la clase. Para poder definir objetos en forma clara necesitamos establecer un identificador para el objeto y especificar de qu clase es ejemplar. objeto IdentificadorObjeto ejemplar_de IdentificadorClase
Ilustracin Captulo I. .2. Sintaxis de declaracin de Objeto.

Hay que tomar en cuenta que con esta herramienta del lenguaje de pseudocdigo estamos declarando ante el entorno que el uso de Ident_objeto denota el uso de un objeto de la clase Ident_Clase, pero an no hemos asignado recursos ni inicializado los valores para los atributos propios de su clase. Para esto contamos con los constructores, de los cuales continuaremos hablando ms adelante.

Declaracin de definicin de Mtodos.


Esta parte especifica cmo se implanta el propsito para el cual fue creado el mtodo. Su estructura es similar a una rutina. Aqu utilizamos la palabra Mtodo seguida del identificador y la interfaz (si existiera). El punto (.) nos indica una seleccin de la Clase como entidad global y clarifica la pertenencia del mtodo a dicha Clase. mtodo IdentificadorClase.IdentificadorMtodo

[ ( ListaFormalParmetros ) ] [ ] secuencia de n acciones fmtodo


Ilustracin Captulo I. .3. Sintaxis de declaracin de definicin de Mtodo.

Para los constructores y destructores, la declaracin es similar a la de los mtodos, excepto que la palabra Constructor o Destructor se utiliza como identificador del mtodo. Dentro de un bloque de mtodo, la palabra reservada heredado se puede utilizar para accesar a identificadores de mtodos redeclarados o extendidos. Por ejemplo, en la implantacin del mtodo CEtiquetaConMarco.Dibujar, podemos utilizar heredado para invocar la implantacin heredada del mtodo Dibujar. Cuando un identificador est precedido por heredado, la bsqueda se inicia con el ancestro inmediato de la clase que contiene el mtodo. Veamos:
Clase CEtiquetaConMarco viene-de CEtiqueta Mtodos Dibujar fClase Mtodo CEtiquetaConMarco.Dibujar heredado Dibujar Color clTextoVentana Estilo stSlido fmtodo

Parmetros (Interfaz).
La declaracin de un mtodo especifica una lista formal de parmetros o interfaz. Cada parmetro que se declara en una lista formal de parmetros es local al mtodo en que se declara y se le puede referenciar por su identificador en el bloque asociado con el mtodo. ListaFormalParmetros [ @ ] Identificador {, [ @ ]Identificador } {,
Ilustracin Captulo I. .4. Sintaxis de Lista formal de Parmetros.

A nivel de pseudocdigo, podemos distinguir dos tipos de parmetros, por valor y por referencia. Los parmetros por valor slo requieren el identificador del parmetro, mientras que los parmetros por referencia necesitan ser precedidos del operador @. Un parmetro formal por valor acta como una variable local a la rutina, slo que obtiene su valor inicial de su correspondiente parmetro real al momento de invocarse al mtodo. Los cambios que se realicen al parmetro formal por valor no afectan el valor del parmetro real. El correspondiente parmetro real de un parmetro formal por valor en una sentencia de mtodo debe ser una expresin y su tipo de valor debe concordar con el determinado por el contexto de utilizacin del parmetro. Un parmetro formal por referencia se utiliza cuando se debe pasar un valor desde el mtodo a quin lo invoc. El parmetro formal por referencia representa la variable real durante la invocacin al mtodo, por lo que cualquier cambio al valor del parmetro formal por referencia se reflejan en el parmetro real.

Dentro del mtodo, cualquier referencia al parmetro formal por referencia accesa al parmetro real mismo. El parmetro real debe coincidir en tipo de valor con el parmetro formal por referencia. Cabe recalcar que si bien en el lenguaje de pseudocdigo no se est considerando en forma explcita la existencia de tipos de valores, sta queda determinada por el contexto de utilizacin de las variables, al momento de asignacin de valores y aplicacin de operadores.

Constructores y destructores.
Como hemos adelantado, los constructores y destructores son mtodos que controlan la construccin y destruccin de objetos de una clase. Ellos se especifican como componentes de la clase como un mtodo estndar, excepto que la palabra constructor se utiliza como identificador del mtodo. Al igual que los mtodos, stos se pueden heredar. Los constructores se usan para crear e inicializar nuevos objetos. Por lo general, la inicializacin se basa en los valores que se pasan como parmetros al constructor. Por lo general la primera accin que realiza un constructor es invocar al constructor heredado de su padre. Los destructores se usan para retirar del entorno objetos. Cuando se invoca a un destructor, se ejecutan las acciones definidas por el usuario para el destructor y luego se libera los recursos asignados al objeto. Por lo general las acciones de un destructor son destruir cualquier objeto contenido en l y liberar cualquier recurso solicitado por el objeto. Tpicamente la ltima accin que realiza un destructor es llamar al destructor heredado para deshacerse de los atributos heredados del objeto.
Clase CFigura viene-de CObjeto Atributos Largo Ancho Objeto Lpiz ejemplar-de Clpiz Objeto Brocha ejemplar-de Cbrocha Mtodos Constructor(QueLargo, QueAncho) Destructor fClase Mtodo CFigura.Constructor(QueLargo, QueAncho) heredado Constructor Ancho QueLargo Largo QueAncho Lpiz.Constructor Brocha.Constructor fmtodo Mtodo CFigura.Destructor Lpiz.Destructor Brocha.Destructor heredado Destructor fmtodo

Acceso a los atributos.


Para poder mantener la integridad de la informacin que maneja nuestra solucin lgica, debemos disciplinarnos en el acceso a los atributos definidos en las clases. Conforme utilice el enfoque orientado a objetos para realizar sus algoritmos, coincidiremos en que la manera de evitar que el cliente de un objeto acceda directamente a los valores de los atributos propios

de su clase, es necesario definir mtodos especiales cuya funcin sean obtener el valor del atributo o alterar ste valor. A estos mtodos especiales los denominamos mtodos de lectura y mtodos de escritura. Continuando con la sana poltica de establecer convenciones, a partir de ahora acordaremos que los identificadores de mtodos de lectura, es decir los que retornan el valor de un atributo, estn conformados por la palabra Obtener seguida del nombre del atributo; as mismo, los mtodos de escritura se denotarn por la palabra Colocar seguida del nombre del atributo y tendrn como parmetro por lo menos el valor con el que se desea alterar el atributo.
Clase CFigura viene-de CObjeto Atributos Largo Ancho Objeto Lpiz ejemplar-de Clpiz Objeto Brocha ejemplar-de Cbrocha Mtodos Constructor(QueLargo, QueAncho) Destructor ObtenerLargo ObtenerAncho ColocarLargo(NuevoLargo) ColocarAncho(NuevoAncho) fClase

Envo de Mensajes.
Un mtodo se activa mediante el envo de un mensaje a un objeto consistente de un identificador de mtodo seguido por una lista real de parmetros. Este tipo de llamada se conoce como invocar un mtodo enviar un mensaje. IdentificadorObjeto.IdentificadorMtodo [(ListaRealParmetros)] IdentificadorObjeto. [( ListaRealParmetros)
Ilustracin Captulo I. .5. Sintaxis de Envo de Mensaje.

El identificador de objeto expresado arriba debe denotar una referencia a un objeto existente. La instancia especificada al momento del envo del mensaje se convierte en forma implcita en un parmetro real para el mtodo; corresponde con un parmetro real llamado Este, que tiene el conocimiento de la clase a la que corresponde el mtodo que se est invocando. Cuando invocamos a mtodos de una clase dentro de la declaracin de definicin de otro mtodo de la misma clase se omite la referencia al objeto, quedando slo el identificador del mtodo y la lista real de parmetros.

Comentarios.
Los comentarios son construcciones que no forman parte de la descripcin de la lgica, pero son valiosos elementos para explicar y hacer ms claro nuestro algoritmo. Para insertar un comentario, basta con escribir dos smbolos de divisin seguidos (//) y a continuacin el texto que se desee colocar. Se considera comentario hasta el final de la lnea.
// Este es un ejemplo de un comentario // que ocupa varias lneas.

Ejemplo Ejemplo 1.- Generar una clase que permita ingresar y mostrar los datos de un alumno. Clase cAlumno Atributos Cdigo, Nombre, Sexo Mtodos Constructor Asignar (wcod, wnom, wsex) Getcod Getnom Getsex Destructor Fclase Mtodo Calumno.constructor Fmetodo Metodo Calumno.asignar(wcod, wnom, wsex, wao) Codigo wcod Nombre wnom Sexo wsex Fmetodo Metodo Calumno.getcod Getcod codigo fmetodo Metodo Calumno.getnom

Getnom nombre fmetodo Metodo Calumno.getsex Getsex sexo fmetodo Objeto Oalumno ejemplar_de Calumno Inicio // Programa principal // Botn de ingreso de datos de un alumno Oalumno.constructor Mostrar ingresar codigo, nombre, sexo, fecha de nacimiento xcod Edit1.texto xnom Edit2.texto xsex Edit3.texto xao Edit4.texto oalumno.asignar(xcod, xnom, xsex, xao ) -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. // Botn de recuperacin de datos de un alumno xcod oalumno.getcod xnom oalumno.getnom xsex oalumno.getsex xao oalumno.getao etiqueta1.titulo xcod etiqueta2.titulo xnom etiqueta3.titulo xsex etiqueta4.titulo xao -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-

Ejemplo 2.- Generar una clase que permita ingresar y mostrar los datos de un alumno. Trabajando con herencia

Clase

Calumnito viene_de Calumno Atributos

Aonacim Mtodos Asignar (wcod, wnom, wsex, wao) Getao Getedad (ao_actual) Fclase Metodo Calumnito.asignar(wcod, wnom, wsex, wao) Aonacim wao Heredado asignar(wcod, wnom, wsex) // usando anulacin por refinamiento fmetodo Metodo Calumnito.getao Getao aonacim Fmetodo Metodo Calumnito. Getedad(ao_actual) Getedad ao_actual - aonacim fmetodo Objeto Oalumnito ejemplar_de Calumnito .--.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. // botn de ingreso de datos Oalumnito.constructor Mostrar ingresar codigo, nombre, sexo, fecha de nacimiento xcod Edit1.texto xnom Edit2.texto xsex Edit3.texto xao Edit4.texto oalumnito.asignar(xcod, xnom, xsex, xao ) .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.// botn de calculo de la edad xaoactual Edit5.texto etiqueta5.titulo oalumno.getedad(xaoactual)

S-ar putea să vă placă și