Lógica de Programación: Clase Nº 02 Formas de programación Clase Nº 02 Algoritmos Variables y Constantes Ejercitación Programación orientada a objetos (POO) La programación orientada a objetos esta basada en: objetos, clases, métodos, envió y recepción de mensajes, herencia, y polimorfismo, donde: OBJETOS: Se define a un objeto como una entidad tangible que exhibe un comportamiento bien definido. En términos de programación, un objeto no necesariamente es algo tangible (como por ejemplo un proceso). Lo que sí puede decirse es que un objeto posee estado, comportamiento e identidad. CLASES: Una clase es una colección de datos y métodos que operan sobre los objetos y sirven para definir el contenido y las capacidades de los mismos. ENCAPSULACION: Es la modularidad y ocultamiento de información (datos y métodos). POLIMORFISMO: Es la cualidad que poseen los objetos para responder de distinto modo ante el mismo mensaje. HERENCIA: La herencia permite definir nuevas clases y comportamientos basados en clases. Algunos lenguajes de este tipo son: C++, Java, etc. Programación orientada al evento Esta programación es el resultado de la programación orientada a objetos. En este tipo de programación se permite trabajar con objetos y clases Standard previamente definidas por la aplicación, las cuales manejan los conceptos de Encapsulación. Las herramientas que trabajan de esta forma por lo general se trabajan con código original de lenguajes imperativos. Algunas herramientas de este tipo son Visual Basic (Basic), Delphi (Pascal) y Power Builder (C). Este es un ejemplo de un formulario en Visual Basic 4 Lógica de Programación: Clase Nº 02 Programación lógica La programación lógica esta basada en la noción de relación, debido a que la relación es un concepto más general de una aplicación. La programación lógica es potencialmente de alto nivel, en donde: Relación: Considera 2 conjuntos de valores S y T, R es la relación entre S y T: Para todo X que pertenece a S e Y que pertenece a T y R (X,Y) es verdadero o falso. Los lenguajes de programación lógica pueden explorar la inteligencia Artificial. Un lenguaje de este tipo es Prolog, Fox. Algoritmo Definición 1: Un algoritmo es una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un problema específico. Definición 2: Un algoritmo se puede definir como una secuencia finita de instrucciones cada una de las cuales tiene un significado claro y puede ser efectuada con una cantidad finita de esfuerzo en una longitud de tiempo también finito. Características de los Algoritmos Finito: Un algoritmo debe terminar siempre después de un número finito de pasos. Definido: Cada paso de un algoritmo debe ser definido en forma precisa, estableciendo las acciones que van a efectuar clara y rigurosamente en cada caso. Entradas: El algoritmo tiene cero o más entradas, es decir cantidades que se entregan inicialmente al algoritmo antes de su ejecución. Salidas: Un algoritmo tiene unas o más salidas, es decir cantidades que tienen una relación específica respecto a las entradas. Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Gráficos: Es la representación de las operaciones que realiza un algoritmo. (Diagramas de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudo código). Pseudo código Definición 1: El Pseudo código es un lenguaje utilizado para definir algoritmos con una sintaxis similar a la de un lenguaje de programación. Definición 2: Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. Operadores y Operandos Operadores: Son elementos que se relacionan en forma diferente, los valores de una o más variables y/o constantes, es decir, los operadores nos permiten manipular valores. Operadores Aritméticos: Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes). Ejemplos: 4+2*5=14 23*2/5 =9.2 Operadores relacionales <= Menor o igual que > Mayor que <> Diferente < Menor que = Igual >= Mayor o igual que Operadores Lógicos: Estos operadores se utilizan para establecer relaciones entre valores lógicos y pueden ser resultado de una relacional. Not = No And = Y Or = O 5 Lógica de Programación: Clase Nº 02 Constantes y Variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3,1416 Variable: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: A = spaces (20) Indicamos que la variable A podrá guardar datos alfanuméricos hasta 20 caracteres. B = 0 Indicamos que la variable es numérica, podrá guardar datos numéricos, decimales. Suma = A+B Indicamos que esta variable guardará el resultado de la suma, se llaman variables de trabajo. Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno. Ejemplo: con = con + 1 Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente. Ejemplo: acu = acu + a Ejemplos de algoritmos gráficos y en pseudo código El siguiente algoritmo muestra que al ingresar dos números podemos calcular la suma de ellos y mostrarla por pantalla. Variable A = 0 Variable B = 0 Variable Sum = 0 Ingrese el primer número Ingrese el segundo número Sumar variable A + variable B Mostrar resultado Imprimir resultado Ejemplos prácticos de algoritmos Imprimir una lista de valores conociendo su cantidad INICIO Por razones de simplicidad se utilizará en este caso un contador regresivo para controlar el ciclo. El proceso inicial consiste en el ingreso de la cantidad de valores. Obtener la suma de un conjunto de valores. Para obtener la suma de un conjunto de valores se debe acumular cada uno de ellos en una variable destinada a almacenar la sumatoria que debe tener por lo tanto un valor inicial nulo, por lo que reciben todos un tratamiento idéntico. Para controlar el ciclo se utiliza en este caso un contador regresivo. ING RESAR CANTIDAD ACUM = 0 CAN > 0 SI LEER VALOR NO ACUM = ACUM + VALOR MOSTRAR ACUM CAN = CAN - 1 SALIR 5 Lógica de Programación: Clase Nº 02 Ejercicios 11.. Crear un algoritmo gráfico que permita ingresar dos números y multiplicarlos, visualizando el resultado por pantalla e impresora. 22.. Transcribir dicho algoritmo gráfico a pseudo código de programación basándose en el ejercicio del ejemplo anterior en FoxPro. 33.. Crear un algoritmo gráfico en donde se pueda ingresar tres números y calcular el promedio, visualizar el resultado por pantalla e impresora el resultado. 44.. Transcribir dicho algoritmo gráfico a pseudo código de programación basándose en el ejercicio del ejemplo anterior en FoxPro. 55.. Crear un algoritmo gráfico en donde se pueda calcular la superficie del rectángulo (teniendo en cuenta que debe ingresar la base y la altura). Mostrar los resultados por pantalla y por impresora. 66.. Transcribir dicho algoritmo gráfico a pseudo código de programación basándose en el ejercicio del ejemplo anterior en FoxPro RESUMEN… En esta clase hemos aprendido el significado de la Programación Orientada a Objetos y los elementos que la componen. Comprendimos el significado de la Programación Orientada al Evento y la Programación Lógica. Aprendimos la importancia de los algoritmos en una estructura de programación y sus características. Hemos diferenciado claramente los distintos tipos de operadores (aritméticos, relacionales y lógicos). Hemos utilizado constantes y variables, elementos tan importantes para la realización de cualquier algoritmo. Hemos realizado prácticas de algoritmos utilizando pseudocódigo. Vectores. Definición, creación y utilización Ejemplos y Ejercitación práctica… CONTENIDO PRÓXIMA CLASE Matrices. Definición, creación y utilización 6