Algoritmos - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Algoritmos

Description:

... con los siguientes m todos 'Ladrar', 'correr', etc.; pero jam s esperar amos ... (el objeto perro, para poder 'Ladrar', necesita poder 'mover las cuerdas vocales' ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 22
Provided by: eduardog2
Category:

less

Transcript and Presenter's Notes

Title: Algoritmos


1
Algoritmos
  • CC10BProfesor Eduardo Godoy Vegaegodoy_at_dcc.uchi
    le.cl

2
Definición
  • Un algoritmo es una secuencia de acciones que
    llevan a un final conocido.
  • Una de las técnicas mas conocidas es Dividir
    para conquistar, es decir, dividir el problema
    en un conjunto de problemas más simples, iterando
    hasta que la solución del problema es trivial o
    conocido.

3
Ejemplo.
  • Algoritmo para Preparar Desayuno.

1.-Hervir agua. 2.-Colocar café en la
taza. 3.-Colocar azucar en la taza. 4.-Colocar
agua hervida en la taza
PrepararCafé
PrepararDesayuno
1.-Prender tostadora 2.-Colocar el pan3.-Colocar
el tiempo
Preparar Tostadas
4
Ejemplo (cont.)
Preparar_Café() Hervir_Agua() Colocar_café(taz
a) Colocar_azucar(taza) Colocar_Agua_hervida
(taza)
  • Preparar_Desayuno()
  • Preparar_Café()
  • Preparar_Tostadas()

Preparar_tostadas() Prender_tostadora() Coloc
ar_pan(tostadora) Colocar_tiempo(tostadora)
5
Trabajo en clases
  • Describir un algoritmo para
  • Trasladarse de la casa a la Universidad.
  • Preparar un Pisco Sour.
  • Preparar un asado.

6
Otra perspectiva
  • Otra forma de pensar un problema es
  • Qué elementos participan del problema a resolver?
  • Cómo se comportan esos elementos?
  • A esos elementos los llamaremos Objectos.
  • A esos comportamientos los llamaremos métodos.
  • Luego, definiremos Objetos y métodos, y al ir
    entrelazandos resolvemos el problema.

7
Ejemplo Desayuno
  • Objectos
  • Tetera.
  • Poner_Agua, Hervir, Sacar_Agua
  • Tostadora.
  • Cargar_Pan, Prender, Apagar, Colocar_Timer
  • Taza.
  • Vertir, revolver
  • Azucar.

8
Ejemplo Desayuno (cont)
  • Preparar_desayuno()
  • Tetera tetera new Tetera()
  • Tostadora tostadora new Tostadora()
  • Pan pan new Pan()
  • Taza taza new Taza()
  • Azucar azucarnew Azucar(2)
  • Café café new Café()
  • tetera.poner_agua()
  • tetera.hervir()
  • tostadora.cargar_pan(pan)
  • tostadora.prender()
  • tostadora.colocar_timer(100)
  • taza.vertir(tetera.sacar_agua())
  • taza.vertir(azucar)
  • taza.vertir(café)
  • taza.revolver()

9
Trabajo en clases
  • Describir un algoritmo basado en objectos y
    métodos para
  • Trasladarse de la casa a la Universidad.
  • Preparar un Pisco Sour.
  • Preparar un asado.

10
Objetos
  • Nosotros usaremos la técnica de objetos para
    nuestros algoritmos.
  • Objecto
  • Corresponde a un trozo de código que emula o
    simula un determinado objeto de la realidad (ya
    sea físico o imaginario).
  • Los objetos tienen como misión, ocultar la
    implementación del mismo, es decir, da lo mismo
    el COMO FUE CREADO el objeto, lo importante es
    QUE HACE el objeto.

11
Objectos (2)
  • Un objeto se divide en dos partes
  • Implementación
  • API (o interfaz).
  • La implementación es importante para quien CREA o
    INVENTA el objeto.
  • La API es importante para quien USA el objeto.
  • La API está compuesta por un conjunto de métodos
    públicos, es decir, métodos conocidos por todos.

12
Objetos (3)
  • En Java, para crear un objeto se utiliza la
    siguiente sintaxis.
  • Objeto instancia new Objeto()
  • Una instancia es un caso particular del objeto,
    por ejemplo, cachupin es un caso particular del
    objeto Perro.
  • Perro cachupin Perro()

13
Objectos - Métodos
  • Los métodos corresponden a las cosas u
    operaciones que un objeto sabe realizar, éstas
    son propias del objeto.
  • Por ejemplo, si tengo un objeto Perro (que
    pretende modelar en parte el comportamiento
    clásico de un perro), podríamos esperar contar
    con los siguientes métodos Ladrar, correr,
    etc. pero jamás esperaríamos contar con el
    método volar.

14
Métodos
  • Un objeto puede tener tres tipos de métodos
  • Públicos Son conocidos por todos aquellos que
    desean usar el objeto.
  • Privados Sólo los conoce el objeto mismo (el
    objeto perro, para poder Ladrar, necesita poder
    mover las cuerdas vocales, esto sólo le
    interesa al objeto).
  • Reservados Que son conocidos por todos los
    objetos de la misma especie. (de esto hablaremos
    hacia el final del curso).

15
Métodos (2)
  • Invocación de un método.
  • En java la invocación de un método utiliza la
    siguiente sintaxis
  • Instancia.metodo(parametros)
  • Es decir, para invocar un método, debo contar con
    una instancia del objeto, o sea, para decirle a
    un perro que ladre, primero debo tener un perro a
    quien decírselo.

16
Trabajo Práctico
  • Deseamos poder modelar y programar un pizarrón
    electrónico.
  • Las operaciones que se desean tener son
  • Escribir en una determinada posición.
  • Borrar una determinada superficie.
  • Borrar todo el pizarrón.
  • Usar diferentes tipos de colores de plumones.

17
Trabajo Práctico (2)
  • Actividades
  • Lista de los objetos implicados.
  • Métodos públicos que debe tener cada uno de ellos.

18
Solución (una alternativa)
  • Objetos
  • Pizarrón
  • Plumón
  • Borrador

19
Solución (2)
  • Métodos
  • Plumón
  • setColor(String nombrecolor) Define el color del
    plumón.
  • setPunta(int tipopunta) Define el tipo de punta
    del plumón (grueso0, delgado1, biselado2,
    etc).
  • Pizarrón
  • EscribirEn(int x, int y,Plumón p,String texto)
    Escribe el texto en la posición (x,y), la
    posicion (0,0) corresponde al vertice izquierdo
    superior.
  • BorrarEn(int x, int y, Borrador b, int largo)
  • BorrarTodo()
  • Borrador
  • Superficie(int largo,int ancho) Define la
    superficie que borra.

20
Solución (3)
  • Qué hace el siguiente ejemplo?
  • void ejemplo()
  • Pizarron p new Pizarron()
  • Borrador b new Borrador()
  • Plumon pl1 new Plumon()
  • pl1.setColor(rojo)
  • pl1.setPunta(1)
  • Plumon pl2 new Plumon()
  • pl2.setColor(azul)
  • pl2.setPunta(2)
  • p.EscribirEn(1,1,pl1,Lenguaje Jaba)
  • p.EscribirEn(1,2,pl2,----------------)
  • b.Superficie(1,1)
  • p.BorrarEn(12,1,b,1)
  • p.EscribirEn(12,1,pl2,v)

21
Solución (4)
Lenguaje Jaba
Lenguaje Ja a ------------------
Lenguaje Jaba ------------------
Lenguaje Java ------------------
Write a Comment
User Comments (0)
About PowerShow.com