Universidad Nacional Del Santa

UNIVERSIDAD NACIONAL DEL SANTA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁT

Views 69 Downloads 4 File size 837KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD NACIONAL DEL SANTA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

Curso: “PROGRAMACIÓN”

Tema: Pilares de la programación

Estudiantes: CABANA HERRERA ANGEL MANUEL

(0201814027)

GAMBOA GONZALES ALEXIS IGINIO

(0201814019)

PEREZ GONZALES ANTHONY

(0201814028)

SOLES SOTO JHONNY

(0201814002)

Escuela: Escuela Profesional de Ingeniería de Sistemas e Informática - III Ciclo

Docente: Mg. Carlos Eugenio Vega Moreno

Nuevo Chimbote-Perú

2019

PILARES DE LA PROGRAMACIÓN La programación orientada a objetos tiene varios pilares para asegurar la simplicidad de código y su reutilización, y aunque diversos autores señalan diversos pilares, en este informe se considerarán los cuatro que son comunes en la mayoría de textos, estos son: Abstracción, Encapsulamiento, Herencia y Polimorfismo, las dos primeras están más relacionadas con la búsqueda de códigos simples y las dos siguientes con la reutilización. a) ABSTRACCIÓN Es el pilar de la programación orientada a objetos, que permite identificar las características y comportamientos de un objeto y con los cuales se construirá la clase. Esto quiere decir que a través de este pilar o fundamento es posible reconocer los atributos y métodos de un objeto. b) ENCAPSULAMIENTO Es la característica de la programación orientada a objetos que permite el ocultamiento de la complejidad del código, pertenece a la parte privada de la clase y que no puede ser vista desde ningún otro programa. c) HERENCIA Es la característica de Es el pilar más fuerte que asegura la reutilización de código, ya que a partir de esta característica es posible reutilizar las características y comportamientos de una clase superior llamada clase padre, a sus clases hijas, denominadas clases derivadas. Esto implica que una vez desarrollado el código de una clase base, su código puede ser reutilizado por las clases derivadas. d) POLIMORFISMO A través de esta característica es posible definir varios métodos o comportamientos de un objeto bajo un mismo nombre, de forma tal que es posible modificar los parámetros del método, o reescribir su funcionamiento, o incrementar más funcionalidades a un método.

Arrays POO Un arreglo es una estructura de datos que permite almacenar un grupo de datos de un tipo similar. Con un único nombre se define un arreglo y por medio de un subíndice hacemos referencia a cada elemento del arreglo. Para empezar los arrays se realizan con componentes de tipo Int, Char, Float, Double etc., para trabajar con la POO los arreglos se definen con componentes de una determinada clase que declara el propio programador. A continuación, un ejemplo. Se pide un código en el cual se declara una clase Persona con las propiedades nombre y edad, definir como métodos su impresión y otra que retorna mayor si es mayor de edad o menor en caso contrario En la función main definir un arreglo con cuatro elementos de tipo Persona y calcular cuantas personas son mayores de edad. Para este problema utilizaremos lo siguiente: La declaración de la clase Persona define 2 propiedades en el mismo constructor y sus dos métodos: class Persona(val nombre: String, val edad: Int) { fun imprimir() { println("Nombre: $nombre Edad: $edad") } fun esMayor() = if (edad >= 18) mayor else menor }

En la función main definimos una variable llamada personas que es un Array con componentes de tipo Persona. Para definir sus componentes utilizamos la función arrayOf que nos provee la librería estándar de Kotlin: val personas: Array = arrayOf(Persona("ana", 22), Persona("juan", 13), Persona("carlos", 6), Persona("maria", 72))

A la función arrayOf se le pasa cada uno de los objetos de tipo Persona.

La forma más fácil de recorrer el Array es mediante un for: for(per in personas) per.imprimir()

En cada ciclo del for en la variable per se almacena una de las componentes del arreglo. De forma similar para contar la cantidad de personas mayores de edad procedemos a definir un contador y mediante un for recorremos el arreglo y llamamos al método esMayor para cada objeto: var cant = 0 for(per in personas) if (per.esMayor()) cant++ println("Cantidad de personas mayores de edad: $cant")

OPERADORES Operadores aritméticos  Suma (+)  Resta (-)  Multiplicación (*)  División (/)  Residuo (%)  Pre incremento (++var)  Pre decremento (--var)  Post incremento (var++)  Post decremento (var--) Operadores de asignación  Asignación (=)  Asignación de suma (+=)  Asignación de resta (-=)  Asignación de multiplicación (*=)  Asignación de división (/=)  Asignación de residuo (%=)

Operadores relacionales  Menor que (=)  Igual a (==)  Diferente a (¡=) Operadores lógicos  AND (&&)  OR (| |)  NOT (¡)  OR exclusivos (^) EXPRESIONES Está representada e interpretada por una serie de variables, operadores lógicos que son llamadas métodos, hechas de acuerdo a la sintaxis del lenguaje y que regresará un solo valor. Una expresión es lo se puede escribir a la derecha de una declaración de asignación. Ejemplo Salida= “Hola mundo” i=j=3;

//Se pueden realizar asignaciones múltiples

distancia=x2 - x1;

//Se pueden utilizar los operadores

SENTENCIAS DE CONTROL El propósito de las sentencias de control es determinar el orden en que se ejecutaran las distintas sentencias del programa. Tipos de sentencias: -

De selección: if – else, switch - case.

-

De iteración o bucles: for, while, do – while.

-

Excepciones: try, catch – finally, throw.

-

De salto: break, continue, return.

if – else

Se utiliza para para dirigir la ejecución del programa hacia dos caminos diferentes: if (condición) sentencia1; else sentencia2;

La clausula else es opcional, lo que significa que solo se ejecutará la condición if siempre y cuando la condición sea verdadera.

switch – case Es una forma de dirigir la ejecución del programa a diferentes partes del programa en función del valor de una expresión. switch (expresión) {sentencia1; case valor1; //secuncia de sentencias break; case valor2; //secuncia de sentencias break; case valorN; //secuncia de sentencias break; default;} while Este bucle repite una sentencia siempre y cuando la condición sea verdadera. while (condición) { cuerpo del bucle}

El cuerpo del bucle se ejecutará mientras que la condición sea verdadera, al convertirse en falsa, la ejecución pasará a la siguiente línea de código. do – while Se utiliza cuando se quiere evaluar la condición al final del bucle, en lugar de hacerlo al principio. do {cuerpo del bucle } while (condición); Este bucle es muy útil cuando se procesan menús de selección, ya que se requiere que el cuerpo del menú se ejecute al menos una vez. for Este bucle se utiliza cuando se sabe cuántas veces se quiere repetir una acción. for (inicialización;condición;iteración) { cuerpo}

break Esta sentencia tiene 3 tipos de usos en java: finaliza una sentencia de secuencias en una sentencia switch, la salida de un bucle y se usa como forma de goto. continue Permite usar una nueva iteración del bucle sin haber concluido completamente el procesamiento de la iteración actual. return Se utiliza explícitamente para salir de un método.

Bibliografía Anónimo. (2008). Operadores. Obtenido de https://sites.google.com: https://sites.google.com/a/cap-dgeti.edu.mx/programacion-orientada-a-objetos/home/18-operadores Arenas, L. (5 de Agosto de 2008). Programación orientada a objetos en java. Obtenido de http://fcasua.contad.unam.mx: http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/opt/java.pdf Hernández, R. (Junio de 2013). Sentencias de Control. Obtenido de docs.google.com: https://docs.google.com/file/d/0B2klD3UkwELLWDNVdkk3YXRac0k/edit