Esta obra está bajo una licencia de Creative Commons. Creative CommonsCreative Commons Autor: Jorge Sánchez Asenjo (año 2005)

Slides:



Advertisements
Presentaciones similares
Introducción a la programación
Advertisements

Copyright, copyleft y licencias Creative Commons
© 2010 Michigan State University and DQS-UL MSS, original at CC-BY-SA Especificaciones FSKN 7.
Algoritmos y Programas
Resolución de Problemas Algoritmos y Programación
PROF. ING. JULIO CESAR CANO RAMIREZ
Conceptos preliminares
© 2010 Michigan State University and DQS-UL MSS, original at CC-BY-SA Acción Correctiva FSKN 12.
© 2010 Michigan State University and DQS-UL MSS, original at CC-BY-SA Trazabilidad FSKN 14.
Esta obra está bajo una licencia de Creative Commons.
EXPERIENCIAS EN LA INTEGRACIÓN DE SERVICIOS DE INFORMACIÓN ABIERTOS PARA POTENCIAR EL OPAC 5ta. Conferencia Regional sobre Catalogación y 3er. Seminario.
Estructuras de Decisión I IF - THEN - ELSE
ING. GERARDO ANSELMO MARTÍNEZ VIDALES San Luis Potosí, SLP, México
TEMA 1: Fundamentos Temario: Introducción a la informática
Informática I – 4to año Volumen II.
Unidad 1 Conceptos básicos de computación
Sistema de administración de bibliotecas para la gestión y el desarrollo de catálogos. Ing. Gerardo Mtz. Esta obra está licenciada bajo una Licencia Creative.
MECANISMOS DE REPARACIÓN DEL ADN
Arquitectura de computadoras
Introducción a los Algoritmos
ESTABILIDAD DEL GENOMA
COMPUTACIÓN BÁSICA Nombre: Anderson cueva Carrera: Contabilidad y auditoria Fecha: Profesor evaluador: LIC. Fani Ceballos.
INFORMÁTICA II.
Informática Educativa Bogotá 2011 – Universidad de Santander UDES
Técnico en programación de Software
Introducción a la Estadística Informática
Esta obra está bajo una licencia de Creative Commons. Creative CommonsCreative Commons Autor: Jorge Sánchez Asenjo (año 2005)
INFORMACIÓN AUTOMÁTICA Ciencia que estudia el tratamiento
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Metodología de la Programación
Programación 1 Introducción
Esta obra está bajo una licencia de Creative Commons. Creative CommonsCreative Commons Autor: Jorge Sánchez Asenjo (año 2005)
Esta obra está licenciada bajo una Licencia Creative Commons Atribución-No Comercial - CompartirIgual 3.0 Unported. Para ver una copia de esta licencia,
Esta obra está bajo una licencia de Creative Commons. Creative CommonsCreative Commons Autor: Jorge Sánchez Asenjo (año 2005)
Conceptos Fundamentales
Fundamentos de Programación
LA COMPUTACIÓN.
Diseño de diagramación Diagrama: es una representación gráfica del flujo información de y el proceso de ejecución del programa. Plateo del problema en.
Aviso legal Derechos de autor del recurso: Esta obra está sujeta a la licencia Reconocimiento-NoComercial- CompartirIgual 3.0 Unported de Creative Commons.
Bogotá, Agosto 2010 Derechos de autor o de publicación: Experiencia de revistas científicas colombianas Carlos A. Agudelo C. Universidad Nacional de Colombia.
Programación I Universidad Nacional de Luján
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Juego de Preguntas y Respuestas
Introducción a la Ingeniería de Sistemas
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Programación de Computadores (IWI-131)
POR: MÓNICA MARÍA RÚA BLANDÓN
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Esta obra está bajo una licencia de Creative Commons. Creative CommonsCreative Commons Autor: Jorge Sánchez Asenjo (año 2005)
ARQUITECTURA DE LOS SISTEMAS DE INFORMACIÓN
EL CUMPUTADOR LUZ DARY URREGO.
ALGORITMOS PRESENTADO POR: FERNANDA LEURO TATIANA CONTRERAS 1004
INTRODUCCION A LA PROGRAMACIÓN
Definición de computadora: Máquina electrónica rápida y exacta que es capaz de aceptar datos a través de un medio de entrada, procesarlos automáticamente.
Escuela de Geografía Asignatura: Programación Digital Asignatura: Programación Digital Profesora: Nelly García Mora Semestre: B-2010 Sem B-2010Ing. Nelly.
Metodología de la programación
Universidad Nacional Experimental de Guayana
Esta obra está bajo una licencia de Creative Commons. Creative CommonsCreative Commons Autor: Jorge Sánchez Asenjo (año 2005)
INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa.
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
Yesica Julieth Martínez. CONTENIDO 1. Definición Definición 2. Partes del computador Partes del computador 3. Software Software 4. Hardware Hardware 5.
Unidad 1 Introduccion a los programas Concepto de Programa El término programa (del latín programma, que a su vez proviene de un vocablo griego) tiene.
COMPUTER SCIENCE PARCIAL 1 Introducción a los programas.
INGENIERIA EN SISTEMAS FUNDAMENTOS DE COMPUTACION B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
Conalep 150 Tehuacán inmi 309 soma
ALGORITMOS Convenio SENA Institución Educativa Técnica Atanasio Girardot Docente: José Manuel Hernández R. Correo: AÑO.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

Esta obra está bajo una licencia de Creative Commons. Creative CommonsCreative Commons Autor: Jorge Sánchez Asenjo (año 2005) Esta obra está bajo una licencia de Reconocimiento-NoComercial- CompartirIgual de CreativeCommons. Para ver una copia de esta licencia, visite: o envíe una carta a: Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Copyleft - Jorge Sánchez 2005 – Introducción. Conceptos previos Informática (RAE): Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de computadoras electrónicas. Computadora: máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a través de un medio de salida.

Copyleft - Jorge Sánchez 2005 – Introducción. Algoritmos Un ordenador por sí sólo no es capaz de hacer nada. Hace falta la ayuda de un programador. El programador es que programa las instrucciones necesarias al ordenador para realizar una tarea Algoritmo (RAE): Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.

Copyleft - Jorge Sánchez 2005 – Introducción. Algoritmos Mediante algoritmos se solucionan los problemas Los algoritmos son independientes del ordenador en el que se realizan las operaciones Los algoritmos deben de ser: PrecisosFinitosRepetibles

Copyleft - Jorge Sánchez 2005 – Introducción. Algoritmos Los algoritmos conviene que sean: Válidos (hacen lo que deben hacer) Eficientes (no tardan un tiempo excesivo) Óptimos (es la mejor solución al problema) Un algoritmo posee: Datos de entrada Cálculos para conseguir el resultado Datos de salida o resultantes A partir de unos datos de entrada se consigue la salida

Copyleft - Jorge Sánchez 2005 – Introducción. Pasos para crear algoritmos 1.Análisis del problema. Hay que comprender el problema 2.Diseño del algoritmo. Pasos para resolver el problema. Es mejor solucionar problemas pequeños 3.Prueba del algoritmo

Copyleft - Jorge Sánchez 2005 – Introducción. Algoritmos. Datos formales Los algoritmos se construyen utilizando elementos simples para que el lenguaje se parezca más al de las computadoras Los datos de los algoritmos son: Números (10, 25, 5.32) Textos (Hola mundo) Lógicos (VERDADERO, FALSO, true, false) Datos compuestos (registros, listas)

Copyleft - Jorge Sánchez 2005 – Introducción. Algoritmos. Datos formales Los algoritmos pueden tener expresiones, las cuales se componen de: Variables (x, resta, saldo) Operadores (+, -, *, >,, <, Y(AND)) Las instrucciones de los algoritmos pueden ser Primitivas (entrada, salida, asignación) De control (bucle, condición)

Copyleft - Jorge Sánchez 2005 – Introducción. Representación de algoritmos Existen códigos especiales que sirven para representar algoritmos La razón de su uso es normalizar la escritura de algoritmos Hay diagramas de flujo y pseudocódigo El primero trabaja con representaciones gráficas, el segundo con un lenguaje especial

Copyleft - Jorge Sánchez 2005 – Introducción. Representación de algoritmos Existen códigos especiales que sirven para representar algoritmos La razón de su uso es normalizar la escritura de algoritmos Hay diagramas de flujo y pseudocódigo El primero trabaja con representaciones gráficas, el segundo con un lenguaje especial

Copyleft - Jorge Sánchez 2005 – Introducción. Diagramas de flujo Inicio Representa el principio del algoritmo Fin Representa el final del algoritmo Operación Entrada o salida de datos Condición Dirección del flujo del programa Subprograma

Copyleft - Jorge Sánchez 2005 – Introducción. Pseudocódigo Es otra forma de representar algoritmos Se asemeja más a los lenguajes de programación de alto nivel

Copyleft - Jorge Sánchez 2005 – Introducción. Pseudocódigo. Instrucciones ESCRIBIR. Muestra algo en el dispositivo de salida (la pantalla normalmente) LEER variable. Lee un dato (del teclado) y lo almacena en esa variable. Asignar valor. Asignar valor Comparaciones: Comparaciones:

Copyleft - Jorge Sánchez 2005 – Introducción. Pseudocódigo. Instrucciones SI condición ENTONCES instrucciones [SINO instrucciones] FIN SI EN CASO DE variable valor1:instrucciones valor2:instrucciones... EN OTRO CASO: instrucciones FIN EN CASO DE

Copyleft - Jorge Sánchez 2005 – Introducción. Pseudocódigo. Instrucciones MIENTRAS condición HACER instrucciones FIN MIENTRAS REPETIR instrucciones HASTA condición PARA variable DE valorInicial A valorFinal [INCREMENTO valor] instrucciones FIN PARA

Copyleft - Jorge Sánchez 2005 – Lenguajes. Código máquina El ordenador sólo puede ejecutar instrucciones en un lenguaje muy simple conocido como código máquina Programar en ese lenguaje es muy complejo Ejemplo, sumar 5+2 podría ser algo como

Copyleft - Jorge Sánchez 2005 – Lenguajes. Ensamblador Es código escrito en un lenguaje que tiene representación exacta en el código máquina Cada programa creado en ensamblador sirve para una sola máquina Muy difícil de escribir

Copyleft - Jorge Sánchez 2005 – Lenguajes. Alto nivel Los lenguajes de alto nivel se alejan de la máquina y se parecen más al pseudocódigo Se escriben programas que luego habrá que ensamblar para convertirles en código máquina

Copyleft - Jorge Sánchez 2005 – Lenguajes. Cuarta generación Se alejan aún más de la máquina y se centran en la resolución del problema Permiten crear programas sin apenas escribir código Son más limitados pero mucho más rápidos de desarrollar

Copyleft - Jorge Sánchez 2005 – Lenguajes. Intérpretes El intérprete es un software capaz de interpretar instrucciones escritas en un lenguaje de alto nivel. Interpretan el código línea a línea de la primera a la última Optimizan menos el código

Copyleft - Jorge Sánchez 2005 – Lenguajes. Compilador Software que traduce un programa pero interpretando todo el código a la vez El código es más eficiente Se tarda más en ejecutar el resultado

Copyleft - Jorge Sánchez 2005 – Lenguajes. Historia Fortran. Primer lenguaje, orientado a problemas matemáticos Lisp. Crea las funciones Cobol. Orientado a aplicaciones de gestión. Basic. Ideado para ser fácil de aprender Pascal. Ideado también para ser sencillo de aprender, potencia la legibilidad del código

Copyleft - Jorge Sánchez 2005 – Lenguajes. Historia C. Lenguaje de nivel medio que otorga una gran libertad al programador SQL. Lenguaje de consulta de bases de datos Visual Basic y Delphi. Lenguajes orientados a la creación mediante sintaxis sencilla de entornos gráficos de usuario. Prolog. Ideado para resolver problemas de inteligencia artificial C++ Mejora de C para soportar el uso de objetos

Copyleft - Jorge Sánchez 2005 – Lenguajes. Historia Perl. Lenguaje que facilita el uso de las expresiones normales (para crear consultas complicadas). HTML y XML. Lenguajes de marcado para la maquetación y definición de documentos Java. Sintaxis heredada de C++. Pensado para crear aplicaciones de red. PHP, ASP y JSP. Lenguajes combinados para ejecutar instrucciones en un servidor web

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos La programación clásica (estructurada) se complica enormemente cuanto mayor es el problema Una solución fue la programación modular Una solución mejor es la POO (OOP)

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos. Idea general La POO consiste en definir objetos Cada objeto consta de una serie de propiedades (variables) y de una serie de métodos (funciones) El código se reparte entre los objetos

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos. Clases y objetos Clase: Definición teórica de los objetos. Identifican tipos de objetos Objeto: Una instancia particular de una clase Mensajes: Comunicación entre un objeto y otro. En realidad son llamadas a procedimientos o variables públicas del objeto

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos. Propiedades Encapsulamiento: El hecho de integrar en el objeto tanto métodos como propiedades Ocultación: Hay métodos y propiedades públicos y métodos y propiedades privados Herencia: Las clases pueden heredarse de otras previas Polimorfismo: El mismo método puede estar presente en varios objetos y su significado ser distinto

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos. Creación de programas Todo es un objeto Un programa es un conjunto de objetos que se comunican Todo objeto posee una clase Todos los objetos de una clase reciben los mismos mensajes

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos. Creación de programas 1.Escribir en papel lo que queremos hacer de forma directa 2.Identificar las clases y objetos 3.Identificar las relaciones entre las clases (mensajes) 4.Identificar las propiedades y estados de los objetos 5.Identificar la secuencia correcta de mensajes 6.Estudiar cada clase e intentar definir su código de forma independiente 7.Definir el código de inicio de la aplicación

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos. Lenguajes A partir de la idea de esta programación aparecen lenguajes más o menos implicados con esta idea El primer lenguaje que incorporó esta idea fue Simula 67 Poco a poco incluso los lenguajes clásicos se han adaptado a esta idea

Copyleft - Jorge Sánchez 2005 – Programación orientada a objetos. Lenguajes. Tipos Puros. Sólo se puede hacer programación orientada a objetos (por ejemplo Java) Híbridos. Permiten también hacer programación estructurada (por ejemplo C++) Basados en objetos. Soportan algunos objetos (algunos lenguajes de macro) Basados en clases. Permiten usar objetos y clases (por ejemplo JavaScript) Orientados a objetos. Incluyen herencia (Visual Basic)

Copyleft - Jorge Sánchez 2005 – Metodologías. Introducción Técnicas que permiten realizar un modelo previo de un programa Hay metodologías de todo tipo que modelan tanto instrucciones como datos Las metodologías intentar simplificar el diseño de una aplicación Al final el modelo hay que implementarle (escribirle en un determinado lenguaje)

Copyleft - Jorge Sánchez 2005 – Metodologías. UML UML = Unified modelling language, lenguaje de modelado universal No es una metodología completa (una metodología completa indica los pasos a realizar durante el desarrollo del software) Es una notación, una forma de expresar modelos informáticos Es un estándar de facto para diseñar aplicaciones orientadas a objetos Se basa en diagramas que pueden servir tanto al diseñador como al cliente.

Copyleft - Jorge Sánchez 2005 – Metodologías. UML Es una metodología diseñada por los principales creadores de metodologías Estamos en la versión 1.3 (a punto de aparecer la 2.0) Sus responsables son el Object Management Group ( La especificación está disponible en UML define 12 tipos de diagramas, cada uno representa un aspecto del funcionamiento de una aplicación

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Clases Clase: Descripción de una serie de objetos con propiedades, métodos, relaciones y semántica muy parecida Representación: Nombre Atributos Métodos Responsabilidades

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Clases Nombre: Nombre de la clase Atributos: Datos que definen las propiedades de la clase. Métodos: Capacidades que puede realizar la clase. Pueden devolver datos y pueden requerir datos para su uso Responsabilidades: Opcional. Indica para qué se utiliza la clase

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Clases. Forma simplificada Coche

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Clases. Ejemplo Coche marca:String modelo:String matricula:String color:String kilómetros:int velocidad:int acelerar(cantidad:int) frenar(cantidad:int) arrancar() obtenerVelocidad():int Transporta gente Consume gasolina

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Objeto Objeto: Elemento con significado concreto en una aplicación Representación: Coche19:Coche

Copyleft - Jorge Sánchez 2005 – Metodologías. UML Paquete: Estructura que sirve para agrupar clases Pueden agrupar otros paquetes Representación: Nombre Clase1Clase2

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Diagramas En UML hay varios tipos de diagramas que modelizan las clases y objetos En total hay 12 diagramas Cuatro representan la estructura estática Cinco el comportamiento dinámico Tres se refieren a la organización modular

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Diagrama de clases. Relación Programador Nombre:texto; Ordenador Identificador:texto; Modelo:texto; Velocidad:entero 1..*0..* Maneja Nombre de la asociación

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Diagrama de clases. Agregación Alumno Asignatura Matriculado en 1..*1..11 Profesor Matriculado en Imparte

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Diagrama de clases. Composición/Agregación Punto X:entero; Y:entero; Mover(despl_x, despl_y:entero ) Mover ( p:Punto ) Representa un punto en el espacio Polígono Regular:lógico; Borrar() Mover(p:Punto) Rellenar(c:color) Representa un polígono en el espacio 3..* Expresa una relación todo/parte. El punto es parte del polígono

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Diagrama de clases. Generalización AutomóvilMotocicleta

Copyleft - Jorge Sánchez 2005 – Metodologías. UML. Diagrama de clases. Generalización Trabajador EncargadoAdministrativoPeón