PSEUDOCÓDIGO

PSEUDOCÓDIGO.- Es un conjunto de reglas que nos permite expresar claramente un
algoritmo, como si se tratara...
Ejemplo:
               VAR
                       entero:         edad

Declaración de constantes.- Se asocia un identifi...
Operadores Aritméticos

Operador     Operación              Operandos       Resultado
+            Suma                   ...
Formato
               variable               variable|constante|expresión

ESTRUCTURA SECUENCIAL.- Los pasos del proceso ...
SENTENCIAS REPETITIVAS
Sentencia Mientras
Formato            Mientras condición hacer
                         Sentencias
...
Declarar Clases.
Las clases se declaran de la siguiente manera:
clase IdentificadorClase
       [viene-de IdentificadorCla...
Seleccionar atributos.
La manera como podemos accesar a los atributos de una clase es similar a lo anteriormente
visto con...
Dentro de un bloque de método, la palabra reservada heredado se puede utilizar para accesar
a identificadores de métodos r...
Constructores y destructores.
Como hemos adelantado, los cons    tructores y destructores son métodos que controlan la
con...
atributo y tendrán como parámetro por lo menos el valor con el que se desea alterar el
atributo.
       Clase CFigura vien...
Ejemplo

Ejemplo 1.- Generar una clase que permita ingresar y mostrar los datos de un alumno.

  Clase cAlumno
       Atri...
Oalumno.constructor
Mostrar “ingresar codigo, nombre, sexo, fecha de nacimiento “
 xcod  Edit1.texto
 xnom  Edit2.texto
...
Getaño  añonacim
Fmetodo

Metodo Calumnito. Getedad(año_actual) 
  Getedad  año_actual - añonacim
fmetodo

Objeto Oalum...
Upcoming SlideShare
Loading in …5
×

SeúDocodigo

4,554 views

Published on

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,554
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
84
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SeúDocodigo

  1. 1. PSEUDOCÓDIGO PSEUDOCÓDIGO.- 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 información con los que trabaja una computadora. Ejemplo la calificación de un alumno. TIPO DE DATO.- Colección de elementos que se forman de igual manera y que son tratados en forma uniforme. Ejemplo: 1) [-1,1, 4, 199] es una colección de elementos de tipo entero. 2) [1.4, 3.1416] es colección de elementos de tipo real. TIPOS DE DATOS Tipo de dato Ejemplo Identificador en pseudocódigo ENTERO 128 Entero REAL 7.5 Real CARACTER “b” caracter LÓGICO verdadero, falso lógico ESTRUCTURA DE UN ALGORITMO Un algoritmo consta de dos componentes:  Cabecera del algoritmo  Bloque del algoritmo Cabecera del Algoritmo.- Indica el nombre ó identificación del algoritmo. Formato Algoritmo Nombre del algoritmo Ejemplo: Algoritmo HallaDescuento Bloque del algoritmo.- Consta de dos secciones:  Sección de declaraciones  Sección Ejecutable Sección de Declaraciones.- Se declaran las variables y constan tes. Declaración 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: variable_1, variable_2,..., variable_n donde: Tipo_n indica el tipo de dato, colocando el identificador que corresponde, según el tipo.
  2. 2. Ejemplo: VAR entero: edad Declaración de constantes.- Se asocia un identificador con una constante especifica y después 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 ó lógico Ejemplo CONST igv= 0.18 pi=3.1416 mes= “enero” Sección ejecutable. Contiene enunciados que efectúan acciones sobre los dato Esta s. delimitada por las palabras reservadas: INICIO y FIN. Formato INICIO enunciados ... enunciados FIN Comentario.- Información que explica lo que esta sucediendo en el programa. Se representa encerrando la información entre /* y */ . Formato /*información 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 ARITMÉTICAS.- Representan cálculos aritmético s. Ejemplo -4*7+2
  3. 3. Operadores Aritméticos Operador Operación Operandos Resultado + Suma Entero ó real Entero ó real - Resta Entero ó real Entero ó real * Multiplicación Entero ó real Entero ó real / División Entero ó real Entero ó real ** Potencia Entero ó real Entero ó real div División entera Entero Entero mod Módulo(Residuo) Entero Entero Prioridad de los operadores.-Determina el orden en que se ejecutan las operaciones enuna expresión. Operador Jerarquía Operación **, ^ (Mayor) Potencia /, *, div, mod división ,multiplicación, división entera, módulo(residuo) +, - (Menor) Suma, resta Las operaciones encerradas entre paréntesis se ejecutan primero. EXPRESIONES LÓGICAS.- Son expresiones cuyo resultado es el valor verdadero ó falso. Se forman utilizando operadores lógicos y operadores de relación. Ejemplo 1< 2 es verdadero Operadores de relación Operador Operación Ejemplo Resultado = Igual que “sara”=”zara” Falso <> Diferente a “4” <>”5” Verdadero < Menor que 5<10 Verdadero > Mayor que 12>4 Verdadero <= Menor ó igual que 7<=2 Falso >= Mayor ó igual que 25>=25 Verdadero Operadores Lógicos y su jerarquía Operador Lógico Expresión Lógica NO No P Y PyQ O PoQ SENTENCIA DE ASIGNACIÓN.- Se usa para asignar el valor del lado derecho del operador de asignación ( ) a la variable que se encuentra en el lado izquierdo del operador.
  4. 4. Formato variable variable|constante|expresión ESTRUCTURA SECUENCIAL.- Los pasos del proceso se procesan en secuencia, uno después del otro. Formato INICIO /*inicio de estructura secuencia*/ Proceso 1 Proceso 2 ... /*fin de estructura secuencial */ FIN Ejemplo.-Lectura de tres números M, N y P en una sola operación é impresión de su suma en una impresora INICIO Leer(M,N,P) S M+N+P Escribir(“El resultado es=”,S) FIN ESTRUCTURAS ALTERNATIVAS Ó DE SELECCIÓN. Evalúan una expresión y señalan el camino a seguir según sea el resultado de la evaluación, verdadero ó falso. Se clasifican en: simple, doble y múltiple Estructura de selección simple: SI ENTONCES Formato Si condición Entonces sentencias Finsi (ó Fsi ó Fin_si) Estructura de selección doble: SI ENTONCES/SINO Formato Si condición Entonces sentencias Sino sentencias Finsi (ó Fsi ó Fin_si) Estructura de selección múltiple: CASO Formato Caso expresión vale Alternativa 1: sentencias Alternativa 1: sentencias ... Alternativa n: sentencias [Sino : sentencias] Fincaso (ó Fcaso ó Fin_caso)
  5. 5. SENTENCIAS REPETITIVAS Sentencia Mientras Formato Mientras condición hacer Sentencias Finmientras ( ó Fmientras ó Fin_mientras) Sentencia Repetir Formato Repetir Sentencias Hasta condición 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 números, el texto y los booleanos, un tipo especial de datos. En su caso consiste de un número fijo de componentes. Una clase puede estar compuesta por atributos y métodos. Una instancia de una clase es conocida comúnmente 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 métodos.
  6. 6. Declarar Clases. Las clases se declaran de la siguiente manera: clase IdentificadorClase [viene-de IdentificadorClase { , IdentificadorClase }] atributos IdentificadorAtributo { IdentificadorAtributo } métodos secuencia de “m” declaraciones de métodos fclase IdentificadorMétodo [ ( ListaFormalParámetros ) ] [  ] [ virtual | virtual abstracto | sobreescribir | sobrecargar ] constructor [ ( ListaFormalParámetros ) ] destructor ListaFormalParámetros  [ @ ] Identificador {, [ @ ] {, Identificador } Ilustración Capítulo I. .1. Sintaxis de declaración de Clase. La declaración de un atributo en una clase define un elemento de dato que existe en cada instancia u objeto de la clase. Un método es una rutina que realiza una operación sobre un objeto. Parte de la llamada a un método (mensaje) especifica el objeto sobre el que debe operar el método. La declaración de un método dentro de una clase implica la implantación posterior del método mediante una declaración de definición. Dentro de la implantación de un método, el identificador Este representa un parámetro implícito que referencia al objeto por el cual fue invocado el método. Los constructores y destructores son métodos especiales que contro la construcción y lan destrucción de los objetos. Un constructor define las acciones asociadas con la creación de objetos. Cuando se invoca éste retorna una referencia a una instancia inicializada de una clase. Un destructor define las acciones asociadas con la destrucción de un objet Cuando se o. 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 también hereda de C1. El dominio de una clase está conformado por ella y todos sus descendientes. Una clase descendiente cont ene en forma implícita todos los componentes defin i idos por sus clases ancestro. Una clase descendiente puede agregar nuevos componentes a los ya heredados. Sin embargo, no puede eliminar la definición de un componente declarado en una clase ancestro.
  7. 7. Seleccionar atributos. La manera como podemos accesar a los atributos de una clase es similar a lo anteriormente visto con las variables, exceptoque necesitamos especificar a que clase pertenece este atributo. Identificador_de_Clase.Identificador_Atributo Esta herramienta del lenguaje de pseudocódigo nos es útil para accesar a los atributos de una clase dentro de la definición de un método amigo de ésta. Llamamos método amigo al método 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 confía 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 métodos de una clase, el acceso a sus atributos propios y heredados no necesita la especificación del identificador de clase, pues la pertenencia está sobreentendida. Declaración 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 pseudocódigo 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 Ilustración Capítulo I. .2. Sintaxis de declaración de Objeto. Hay que tomar en cuenta que con esta herramienta del lenguaje de pseudocódigo estamos declarando ante el entorno que el uso de Ident_objeto denota el uso de un objeto de la clase Ident_Clase, pero aún 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 más adelante. Declaración de definición de Métodos. Esta parte especifica cómo se implanta el propósito para el cual fue creado el método. Su estructura es similar a una rutina. Aquí utilizamos la palabra Método seguida del identificador y la interfaz (si existiera). El punto (.) nos indica una selección de la Clase como entidad global y clarifica la pertenencia del método a dicha Clase. método IdentificadorClase.IdentificadorMétodo [ ( ListaFormalParámetros ) ] [  ] secuencia de “n” acciones fmétodo Ilustración Capítulo I. .3. Sintaxis de declaración de definición de Método. Para los constructores y destructores, la declaración es similar a la de los métodos, excepto que la palabra Constructor o Destructor se utiliza como identificador del método.
  8. 8. Dentro de un bloque de método, la palabra reservada heredado se puede utilizar para accesar a identificadores de métodos redeclarados o extendidos. Por ejemplo, en la implantación del método CEtiquetaConMarco.Dibujar, podemos utilizar heredado para invocar la implantación heredada del método Dibujar. Cuando un identificador está precedido por heredado, la búsqueda se inicia con el ancestro inmediato de la clase que contiene el método. Veamos: Clase CEtiquetaConMarco viene-de CEtiqueta Métodos Dibujar fClase Método CEtiquetaConMarco.Dibujar heredado Dibujar Color  clTextoVentana Estilo  stSólido fmétodo Parámetros (Interfaz). La declaración de un método especifica una lista formal de parámetros o interfaz. Cada parámetro que se declara en una lista formal de parámetros es local al método en que se declara y se le puede referenciar por su identificador en el bloque asociado con el método. ListaFormalParámetros  [ @ ] Identificador {, [ @ ] {, Identificador } Ilustración Capítulo I. .4. Sintaxis de Lista formal de Parámetros. A nivel de pseudocódigo, podemos distinguir dos tipos de parámetros, por valor y por referencia. Los parámetros por valor sólo requieren el identificador del parámetro, mientras que los parámetros por referencia necesitan ser precedidos del operador @. Un parámetro formal por valor actúa como una variable local a la rutina, sólo que obtiene su valor inicial de su correspondiente parámetro real al momento de invocarse al método. Los cambios que se realicen al parámetro formal por valor no afectan el valor del parámetro real. El correspondiente parámetro real de un parámetro formal por valor en una sentencia de método debe ser una expresión y su tipo de valor debe concordar con el determinado por el contexto de utilización del parámetro. Un parámetro formal por referencia se utiliza cuando se debe pasar un valor desde el método a quién lo invocó. El parámetro formal por referencia representa la variable real durante la invocación al método, por lo que cualquier cambio al valor del parámetro formal por referencia se reflejan en el parámetro real. Dentro del método, cualquier referencia al parámetro formal por referencia accesa al parámetro real mismo. El parámetro real debe coincidir en tipo de valor con el parámetro formal por referencia. Cabe recalcar que si bien en el lenguaje de pseudocódigo no se está considerando en forma explícita la existencia de tipos de valores, ésta queda determinada por el contexto de utilización de las variables, al momento de asignación de valores y aplicación de operadores.
  9. 9. Constructores y destructores. Como hemos adelantado, los cons tructores y destructores son métodos que controlan la construcción y destrucción de objetos de una clase. Ellos se especifican como componentes de la clase como un método estándar, excepto que la palabra constructor se utiliza como identificador del método. Al igual que los métodos, éstos se pueden heredar. Los constructores se usan para crear e inicializar nuevos objetos. Por lo general, la inicialización se basa en los valores que se pasan como parámetros al constructor. Por lo general la primera acción 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. Típicamente la última acción 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 Lápiz ejemplar-de Clápiz Objeto Brocha ejemplar-de Cbrocha Métodos Constructor(QueLargo, QueAncho) Destructor fClase Método CFigura.Constructor(QueLargo, QueAncho) heredado Constructor Ancho  QueLargo Largo  QueAncho Lápiz.Constructor Brocha.Constructor fmétodo Método CFigura.Destructor Lápiz.Destructor Brocha.Destructor heredado Destructor fmétodo Acceso a los atributos. Para poder mantener la integridad de la información que maneja nuestra solución lógica, 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 métodos especiales cuya función sean obtener el valor del atributo o alterar éste valor. A estos métodos especiales los denominamosmétodos de lectura y métodos de escritura. Continuando con la sana política de establecer convenciones, a partir de ahora acordaremos que los identificadores de métodos de lectura, es decir los que retornan el valor de un atributo, estén conformados por la palabra Obtener seguida del nombre del atributo; así mismo, los métodos de escritura se denotarán por la palabra Colocar seguida del nombre del
  10. 10. atributo y tendrán como parámetro por lo menos el valor con el que se desea alterar el atributo. Clase CFigura viene-de CObjeto Atributos Largo Ancho Objeto Lápiz ejemplar-de Clápiz Objeto Brocha ejemplar-de Cbrocha Métodos Constructor(QueLargo, QueAncho) Destructor ObtenerLargo  ObtenerAncho  ColocarLargo(NuevoLargo) ColocarAncho(NuevoAncho) fClase Envío de Mensajes. Un método se activa mediante el envío de un mensaje a un objeto consistente de un identificador de método seguido por una lista real de parámetros. Este tipo de llamada se conoce como invocar un método ó enviar un mensaje. IdentificadorObjeto.IdentificadorMétodo IdentificadorObjeto. [(ListaRealParámetros)] ListaRealParámetros) Ilustración Capítulo I. .5. Sintaxis de Envío de Mensaje. El identificador de objeto expresado arriba debe denotar una referencia a un objeto existente. La instancia especificada al momento del envío del mensaje se convierte en forma implícita en un parámetro real para el método; corresponde con un parámetro real llamado Este, que tiene el conocimiento de la clase a la que corresponde el método que se está invocando. Cuando invocamos a métodos de una clase dentro de la declaración de definición de otro método de la misma clase se omite la referencia al objeto, quedando sólo el identificador del método y la lista real de parámetros. Comentarios. Los comentarios son construcciones que no forman parte de la descripción de la lógica, pero son valiosos elementos para explicar y hacer más claro nuestro algoritmo. Para insertar un comentario, basta con escribir dos símbolos de división seguidos (//) y a continuación el texto que se desee colocar. Se considera comentario hasta el final de la línea. // Este es un ejemplo de un comentario // que ocupa varias líneas.
  11. 11. Ejemplo Ejemplo 1.- Generar una clase que permita ingresar y mostrar los datos de un alumno. Clase cAlumno Atributos Código, Nombre, Sexo Métodos Constructor Asignar (wcod, wnom, wsex) Getcod  Getnom  Getsex  Destructor Fclase Método Calumno.constructor Fmetodo Metodo Calumno.asignar(wcod, wnom, wsex, waño) 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 // Botón de ingreso de datos de un alumno
  12. 12. Oalumno.constructor Mostrar “ingresar codigo, nombre, sexo, fecha de nacimiento “ xcod  Edit1.texto xnom  Edit2.texto xsex  Edit3.texto xaño  Edit4.texto oalumno.asignar(xcod, xnom, xsex, xaño ) -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. // Botón de recuperación de datos de un alumno xcod  oalumno.getcod xnom  oalumno.getnom xsex  oalumno.getsex xaño  oalumno.getaño etiqueta1.titulo  xcod etiqueta2.titulo  xnom etiqueta3.titulo  xsex etiqueta4.titulo  xaño -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.- Ejemplo 2.- Generar una clase que permita ingresar y mostrar los datos de un alumno. Trabajando con herencia Clase Calumnito viene_de Calumno Atributos Añonacim Métodos Asignar (wcod, wnom, wsex, waño) Getaño  Getedad (año_actual) Fclase Metodo Calumnito.asignar(wcod, wnom, wsex, waño) Añonacim  waño Heredado asignar(wcod, wnom, wsex) // usando anulación por refinamiento fmetodo Metodo Calumnito.getaño 
  13. 13. Getaño  añonacim Fmetodo Metodo Calumnito. Getedad(año_actual)  Getedad  año_actual - añonacim fmetodo Objeto Oalumnito ejemplar_de Calumnito .--.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. // botón de ingreso de datos Oalumnito.constructor Mostrar “ingresar codigo, nombre, sexo, fecha de nacimiento “ xcod  Edit1.texto xnom  Edit2.texto xsex  Edit3.texto xaño  Edit4.texto oalumnito.asignar(xcod, xnom, xsex, xaño ) .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- // botón de calculo de la edad xañoactual  Edit5.texto etiqueta5.titulo  oalumno.getedad(xañoactual)

×