SlideShare una empresa de Scribd logo
1 de 46
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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:
     Precisos
     Finitos
     Repetibles




                     Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
Introducción. Pasos para crear algoritmos

   Análisis del problema. Hay que
   comprender el problema
   Diseño del algoritmo. Pasos para
   resolver el problema. Es mejor
   solucionar problemas pequeños
   Prueba del algoritmo




                      Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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
   Comparaciones: < > ≠ ≤ ≥



                     Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 1001011000101010




                    Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
Programación orientada a objetos.
Creación de programas

•   Escribir en papel lo que queremos hacer de forma
    directa
•   Identificar las clases y objetos
•   Identificar las relaciones entre las clases (mensajes)
•   Identificar las propiedades y estados de los objetos
•   Identificar la secuencia correcta de mensajes
•   Estudiar cada clase e intentar definir su código de
    forma independiente
•   Definir el código de inicio de la aplicación




                          Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 (www.omg.org)
   La especificación está disponible en
   www.omg.org/uml
   UML define 12 tipos de diagramas, cada uno
   representa un aspecto del funcionamiento
   de una aplicación

                    Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
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 – www.jorgesanchez.net
Metodologías. UML. Clases. Forma simplificada




                   Coche




                       Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
Metodologías. UML. Objeto


   Objeto: Elemento con
   significado concreto en una
   aplicación
   Representación:


             Coche19:Coche


                     Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
Metodologías. UML

  Paquete: Estructura que sirve para
  agrupar clases
  Pueden agrupar otros paquetes
  Representación:

                   Nombre

          Clase1          Clase2



                      Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
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 – www.jorgesanchez.net
Metodologías. UML. Diagrama de clases.
Relación



   Programador                                        Ordenador
                           Maneja
Nombre:texto;                                 Identificador:texto;
                                              Modelo:texto;
                    1..*            0..*
                                              Velocidad:entero




                 Nombre de la asociación




                           Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
Metodologías. UML. Diagrama de clases.
Agregación



                 Matriculado en
      Alumno                                             Asignatura
                1..*                    1..11
                                                        1..6

                                                        1..2      Imparte

                                                          Profesor




                         Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
Metodologías. UML. Diagrama de clases.
Composición/Agregación


        Punto                                            Polígono

X:entero;                                       Regular:lógico;
Y:entero;
                                                Borrar()
Mover(despl_x,                                  Mover(p:Punto)
                                                Rellenar(c:color)
despl_y:entero)
Mover(p:Punto)        3..*

Representa un punto                             Representa un
en el espacio                                   polígono en el espacio


Expresa una relación todo/parte.
El punto es parte del polígono
                             Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
Metodologías. UML. Diagrama de clases.
Generalización




     Automóvil                                   Motocicleta




                       Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
Metodologías. UML. Diagrama de clases.
Generalización




                     Trabajador




  Encargado         Administrativo                         Peón




                       Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Más contenido relacionado

La actualidad más candente

lenguajes de programación
lenguajes de programación lenguajes de programación
lenguajes de programación lizethmtz01
 
Intropseint
IntropseintIntropseint
IntropseintTensor
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN Karol Moreno
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Marquina, Santiago
 
Pseudocodigo
PseudocodigoPseudocodigo
PseudocodigoTensor
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNKarol Moreno
 
Programacion web introduccion
Programacion web introduccionProgramacion web introduccion
Programacion web introduccionbcrra_lms
 
Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)   Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc) Angel1309
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c Liz O
 
Practica 1
Practica 1Practica 1
Practica 1Tensor
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacionTensor
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaIEO Santo Tomás
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladoresCJAO
 

La actualidad más candente (16)

lenguajes de programación
lenguajes de programación lenguajes de programación
lenguajes de programación
 
Intropseint
IntropseintIntropseint
Intropseint
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
Diseno dealgoritmos
Diseno dealgoritmosDiseno dealgoritmos
Diseno dealgoritmos
 
Presentacion
PresentacionPresentacion
Presentacion
 
Programacion web introduccion
Programacion web introduccionProgramacion web introduccion
Programacion web introduccion
 
Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)   Principios basicos de la programacion (pc)
Principios basicos de la programacion (pc)
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c
 
Practica 1
Practica 1Practica 1
Practica 1
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimia
 
Cap4 compiladores
Cap4 compiladoresCap4 compiladores
Cap4 compiladores
 

Destacado

Partes de la ventana jorge sanchez
Partes de la ventana jorge sanchezPartes de la ventana jorge sanchez
Partes de la ventana jorge sanchezpecas14
 
BASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCIONBASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCIONejjsm
 
Galeria fotografica de screen
Galeria fotografica de screenGaleria fotografica de screen
Galeria fotografica de screenyamile09
 
La reforma de Marianico "El Corto"
La reforma de Marianico "El Corto"La reforma de Marianico "El Corto"
La reforma de Marianico "El Corto"INFOESTIBA
 
Proyecto con normas de icontec e
Proyecto con normas  de icontec eProyecto con normas  de icontec e
Proyecto con normas de icontec eJhony Bolaños
 
Santiago y yeral
Santiago y yeralSantiago y yeral
Santiago y yeralgeloal
 
Manoj jain chandigarh
Manoj jain chandigarhManoj jain chandigarh
Manoj jain chandigarhManoj Jain
 
Obligaciones condicionales
Obligaciones condicionalesObligaciones condicionales
Obligaciones condicionalesZgeaniZ
 
Design e Artesanato Contemporâneo
Design e Artesanato ContemporâneoDesign e Artesanato Contemporâneo
Design e Artesanato Contemporâneoguest999fee
 
Power point txema
Power point txemaPower point txema
Power point txemapolechu
 
Avis p 5
Avis p 5Avis p 5
Avis p 5arrels1
 
A a Z de atendimento
A a Z de atendimentoA a Z de atendimento
A a Z de atendimentoEdmour Saiani
 
Bom atendimento faz toda a diferença
Bom atendimento faz toda a diferençaBom atendimento faz toda a diferença
Bom atendimento faz toda a diferençaEdmour Saiani
 
As Maravilhas Antigas
As  Maravilhas AntigasAs  Maravilhas Antigas
As Maravilhas AntigasJoseSimas
 

Destacado (20)

Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
Partes de la ventana jorge sanchez
Partes de la ventana jorge sanchezPartes de la ventana jorge sanchez
Partes de la ventana jorge sanchez
 
BASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCIONBASE DE DATOS INTRODUCCION
BASE DE DATOS INTRODUCCION
 
Galeria fotografica de screen
Galeria fotografica de screenGaleria fotografica de screen
Galeria fotografica de screen
 
Formación informática, sl descriptiva
Formación informática, sl   descriptivaFormación informática, sl   descriptiva
Formación informática, sl descriptiva
 
S M Picasso
S M PicassoS M Picasso
S M Picasso
 
La reforma de Marianico "El Corto"
La reforma de Marianico "El Corto"La reforma de Marianico "El Corto"
La reforma de Marianico "El Corto"
 
Procedimiento del Sandwich
Procedimiento del SandwichProcedimiento del Sandwich
Procedimiento del Sandwich
 
Proyecto con normas de icontec e
Proyecto con normas  de icontec eProyecto con normas  de icontec e
Proyecto con normas de icontec e
 
Santiago y yeral
Santiago y yeralSantiago y yeral
Santiago y yeral
 
Manoj jain chandigarh
Manoj jain chandigarhManoj jain chandigarh
Manoj jain chandigarh
 
Obligaciones condicionales
Obligaciones condicionalesObligaciones condicionales
Obligaciones condicionales
 
Design e Artesanato Contemporâneo
Design e Artesanato ContemporâneoDesign e Artesanato Contemporâneo
Design e Artesanato Contemporâneo
 
Power point txema
Power point txemaPower point txema
Power point txema
 
Diabetes check - Your Risk Alerts
Diabetes check - Your Risk AlertsDiabetes check - Your Risk Alerts
Diabetes check - Your Risk Alerts
 
Avis p 5
Avis p 5Avis p 5
Avis p 5
 
A a Z de atendimento
A a Z de atendimentoA a Z de atendimento
A a Z de atendimento
 
Bom atendimento faz toda a diferença
Bom atendimento faz toda a diferençaBom atendimento faz toda a diferença
Bom atendimento faz toda a diferença
 
As Maravilhas Antigas
As  Maravilhas AntigasAs  Maravilhas Antigas
As Maravilhas Antigas
 

Similar a Introducción

C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1kfacu
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmascritina26
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasSergio Naspiran
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas94daniel
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmassergiio27
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)dianis22
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)dianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmascritina26
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasCAMINSUASTY
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasmauro38
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasyiyi153
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas94daniel
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasmauro38
 

Similar a Introducción (20)

Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 

Último

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 

Último (20)

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 

Introducción

  • 1. 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 – www.jorgesanchez.net
  • 2. 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 – www.jorgesanchez.net
  • 3. 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: Precisos Finitos Repetibles Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 4. 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 – www.jorgesanchez.net
  • 5. Introducción. Pasos para crear algoritmos Análisis del problema. Hay que comprender el problema Diseño del algoritmo. Pasos para resolver el problema. Es mejor solucionar problemas pequeños Prueba del algoritmo Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 6. 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 – www.jorgesanchez.net
  • 7. 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 – www.jorgesanchez.net
  • 8. 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 – www.jorgesanchez.net
  • 9. 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 – www.jorgesanchez.net
  • 10. 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 – www.jorgesanchez.net
  • 11. 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 – www.jorgesanchez.net
  • 12. 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 Comparaciones: < > ≠ ≤ ≥ Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 13. 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 – www.jorgesanchez.net
  • 14. 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 – www.jorgesanchez.net
  • 15. 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 1001011000101010 Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 16. 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 – www.jorgesanchez.net
  • 17. 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 – www.jorgesanchez.net
  • 18. 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 – www.jorgesanchez.net
  • 19. 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 – www.jorgesanchez.net
  • 20. 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 – www.jorgesanchez.net
  • 21. 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 – www.jorgesanchez.net
  • 22. 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 – www.jorgesanchez.net
  • 23. 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 – www.jorgesanchez.net
  • 24. 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 – www.jorgesanchez.net
  • 25. 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 – www.jorgesanchez.net
  • 26. 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 – www.jorgesanchez.net
  • 27. 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 – www.jorgesanchez.net
  • 28. 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 – www.jorgesanchez.net
  • 29. Programación orientada a objetos. Creación de programas • Escribir en papel lo que queremos hacer de forma directa • Identificar las clases y objetos • Identificar las relaciones entre las clases (mensajes) • Identificar las propiedades y estados de los objetos • Identificar la secuencia correcta de mensajes • Estudiar cada clase e intentar definir su código de forma independiente • Definir el código de inicio de la aplicación Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 30. 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 – www.jorgesanchez.net
  • 31. 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 – www.jorgesanchez.net
  • 32. 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 – www.jorgesanchez.net
  • 33. 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 – www.jorgesanchez.net
  • 34. 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 (www.omg.org) La especificación está disponible en www.omg.org/uml UML define 12 tipos de diagramas, cada uno representa un aspecto del funcionamiento de una aplicación Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 35. 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 – www.jorgesanchez.net
  • 36. 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 – www.jorgesanchez.net
  • 37. Metodologías. UML. Clases. Forma simplificada Coche Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 38. 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 – www.jorgesanchez.net
  • 39. Metodologías. UML. Objeto Objeto: Elemento con significado concreto en una aplicación Representación: Coche19:Coche Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 40. Metodologías. UML Paquete: Estructura que sirve para agrupar clases Pueden agrupar otros paquetes Representación: Nombre Clase1 Clase2 Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 41. 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 – www.jorgesanchez.net
  • 42. Metodologías. UML. Diagrama de clases. Relación Programador Ordenador Maneja Nombre:texto; Identificador:texto; Modelo:texto; 1..* 0..* Velocidad:entero Nombre de la asociación Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 43. Metodologías. UML. Diagrama de clases. Agregación Matriculado en Alumno Asignatura 1..* 1..11 1..6 1..2 Imparte Profesor Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 44. Metodologías. UML. Diagrama de clases. Composición/Agregación Punto Polígono X:entero; Regular:lógico; Y:entero; Borrar() Mover(despl_x, Mover(p:Punto) Rellenar(c:color) despl_y:entero) Mover(p:Punto) 3..* Representa un punto Representa un en el espacio polígono en el espacio Expresa una relación todo/parte. El punto es parte del polígono Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 45. Metodologías. UML. Diagrama de clases. Generalización Automóvil Motocicleta Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net
  • 46. Metodologías. UML. Diagrama de clases. Generalización Trabajador Encargado Administrativo Peón Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net