Creación de una librería propia. Conceptos Básicos Interfaz –El concepto formal se refiere al límite entre dos entidades distintas. –Al hablar de librerías,

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

CLASIFICACIÓN DE CLASES Orientación a objetos UNIVERSIDAD DEL VALLE DEL FUERTE Análisis y Diseño Orientado a Objetos Cañedo Encinas Fernando Onorat. Ingeniería.
Clases en C++.
Definición de Clases y Variables de referencia.
Lenguaje de programación Java
Servicios Web.
Arquitectura CLARO-TECNOTREE
Estructuras de control
Funciones. Programación, Algoritmos y Estructuras de Datos.
DECISIONES DE MERCADOTECNIA “Proceso de la toma de decisiones”
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
INFORMATICA I Funciones CLASE 13.
Programación en C (Segunda Parte) DATSI, FI, UPM José M. Peña
Aplicación del paradigma orientado a objetos
Diseño y programación de
Algoritmos y Estructuras de Datos
Funciones Funciones De biblioteca Definidas por el usuario
EXPERIMENTO, ESPACIO MUESTRAL Y EVENTOS
DEFINICIÓN MATEMÁTICA DE UNA FUNCIÓN DE VARIABLE REAL.
Acciones y funciones Concepto
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones en lenguaje C
Funciones y procedimientos
Funciones Computación.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
El lenguaje de programación C - Funciones -
Programación Orientada a Objetos usando C++
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Grado en Ingeniería electrónica y comunicaciones Facultad de Físicas Universidad Complutense P1 Fundamentos de Programación.
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
Patrones de Comportamiento: Patrón de Diseño Observer
Semana 5 Subprogramas..
Funciones1 PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO Profr. Miguel Rodríguez Hernández PROGRAMACIÓN MODULAR O FUNCIONAL.
APUNTADORES EN C. MENU DEL DIA Repaso clase anterior Apuntadores. Eso pa que? Solución al problema: Funciones. Ventajas de trabajar un programa usando.

Estructura de Datos y Algoritmos
TIPOS DE DATOS ABSTRACTOS
ANDRES FELIPE BORRERO SALAZAR COD ALEXANDRA CARREÑO SALAS COD LUCIO ANIBAL CRIOLLO COD ALEJANDRO RUIZ IDROBO COD
DISEÑO DE SOFTWARE 1ª. Parte
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Material de apoyo Unidad 4 Estructura de datos
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Unidad II Introducción a la programación en C++
MATEMATICAS COMPETENCIAS MATEMATICAS
Organización de los ficheros  El fichero nombre_clase.h contiene la definición de la clase.  nombre_clase.cpp contiene la definición de las funciones.
MICROSOFT OFFICE Power Point.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
Definición de subprogramas en C
Interfaces ELO329: Diseño y Programación Orientados a Objetos.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Metodología de Desarrollo Unidad Educativa Bolívar Sebastián Torres 6° 18°
Alexander Aristizabal Ángelo flores herrera
INTRODUCCION A LA PROGRAMACION
Interfaces y Clases Internas
Fundamentos de Programación
Capítulo 2 “Subprogramas/Funciones - Arreglos”
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Entrenamiento de Guía Mayor.
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
MEMORIA DINÁMICA.
Desarrollador Profesional de Juegos Programación III Unidad I Capturar Excepciones.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Curso de programación Visual Chart 6 (1ªEd.)
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Transcripción de la presentación:

Creación de una librería propia

Conceptos Básicos Interfaz –El concepto formal se refiere al límite entre dos entidades distintas. –Al hablar de librerías, debemos reconocer la existencia de dos partes bien divididas: Los programas clientes, aquellos que usan las librerías La implementación de las librerías, lo que determina como funciona internamente cada herramienta –En términos de librerías, la interfaz se refiere al limite entre la implementación y los programas clientes

Conceptos Básicos Interfaz –Recordemos lo siguiente: Al “llamar” a una función de librería(como cliente), se pasa información(argumentos) a la implementacion(creador) a a traves de la interfaz. –Una interfaz es entonces el medio a través del cual, estas dos partes se comunican Programa Interfaz Librería Envía argumentos Envía resultados

Diseño de una interfaz Las funciones y los procedimientos nos ayudan a reducir la complejidad de los programas. Una interfaz le da a un programador cliente, acceso a un grupo de funciones. Para añadir una función a una interfaz, debemos hacerlo con cierto criterio.

Criterios para diseñar una interfaz Una interfaz bien diseñada, debe cumplir los siguientes requisitos: –Unificación: escogidas de acuerdo a cierto tema, el enfoque se debe mantener. –Simplicidad: número de parámetros, nombre adecuado, número de implementaciones. –Suficiencia: proveer cantidad de trabajo. –Generalidad: resolver un buen grupo de posibilidades. –Estabilidad: se pueden realizar cambios en la librería pero no necesariamente en el cliente.

Aplicación: Números aleatorios

Ejercicio en Clase Escribir un programa que simule el lanzamiento de una moneda. El programa deber “lanzar” 10 veces una moneda e indicar si cayo “Cara” o “Cruz” Para resolver este problema debemos recordar que rand() nos da un numero entre 0 y RAND_MAX, es decir, RAND_MAX + 1 posibilidades. Nosotros… no deseamos RAND_MAX +1 posibilidades, deseamos sólo 2. RAND_MAX 0 RAND_MAX/2 CARACRUZ td2*td 3*td 4*td5*td 0 RAND_MAX

Implementación void Randomize(void) { srand((int) time(NULL)); } int RandomInteger(int v_inf, int v_sup) { int r,k; double d; r = rand(); d = (double) r / (double) (RAND_MAX +1); d = d * (v_sup-v_inf+1); k = (int) d + v_inf; return k; }

¿Cómo crear la interfaz? La interfaz, como ya sabemos, es la cara que una librería, da a un cliente. En una interfaz se pueden incluir: –Prototipos de funciones –Declaraciones de constantes (usando #define) –Declaraciones de nuevos tipos de datos (enumeraciones y otros que veremos más adelante) Esto quiere decir que jamás se incluirá una implementación en una interfaz. El formato general de una interfaz es: #ifndef _nombre_h #define _nombre_h /*Líneas de #include para librerías que se vaya a usar*/ /*prototipos de funciones o procedimientos*/ /*definición de constantes*/ /*declaraciones de nuevos tipos de datos*/ #endif El nombre de la librería En programas complejos, una interfase puede ser incluida en varios archivos.c, para evitar “confusiones” se pregunta si la intefase no ha sido usada aun (ifndef: if not defined) Si no ha sido usada, se define, caso contrario, se ignoran todas las declaraciones de la misma