Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Introducción a la programación 1, Apuntes de Ingeniería Infórmatica

Asignatura: IP1, Profesor: Diana Borrego, Carrera: Ingeniería Informática - Ingeniería de Computadores, Universidad: US

Tipo: Apuntes

Antes del 2010

Subido el 14/11/2007

virako
virako 🇪🇸

4.8

(6)

9 documentos

1 / 42

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
1
Curso 07/08. tema 1
Curso 07/08. tema 1 Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Programa de Introducción a
Programa de Introducción a
la Programación 1
la Programación 1
(
(Ip1)
Ip1)
1er. Cuatrimestre
1er. Cuatrimestre
1.
1. Introducción a la Programación Orientada
Introducción a la Programación Orientada
a Objetos
a Objetos
2.
2. Elementos del lenguaje Java
Elementos del lenguaje Java
3.
3. Application Programming Interface
Application Programming Interface
Api
Api-
-
de Java
de Java
4.
4. Tratamientos Secuenciales
Tratamientos Secuenciales
5.
5. Diseño, Implementación y Reutilización
Diseño, Implementación y Reutilización
Temario IP1 e IP2 curso 2007/2008
Temario IP1 e IP2 curso 2007/2008
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Vista previa parcial del texto

¡Descarga Introducción a la programación 1 y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

1

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Programa de Introducción a

Programa de Introducción a

la Programación 1

la Programación 1

(Ip1)

Ip1)

1er. Cuatrimestre 1er. Cuatrimestre

Introducción a la Programación Orientada

Introducción a la Programación Orientada

a Objetos

a Objetos

Elementos del lenguaje Java

Elementos del lenguaje Java

Application Programming Interface

Application Programming Interface –

–Api

Api-

de Java

de Java

Tratamientos Secuenciales

Tratamientos Secuenciales

Diseño, Implementación y Reutilización

Diseño, Implementación y Reutilización

Temario IP1 e IP2 curso 2007/

Temario IP1 e IP2 curso 2007/

2

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Programa de Introducción a

Programa de Introducción a

la Programación 2

la Programación 2

(Ip2)

Ip2)

2º. Cuatrimestre 2º. Cuatrimestre

Factorías e Iterables

Factorías e Iterables

Colecciones

Colecciones

Usos de Colecciones

Usos de Colecciones

Programación Reflexiva

Programación Reflexiva

10. Introducción al Lenguaje C

Introducción al Lenguaje C

Temario IP1 e IP2 curso 2007/

Temario IP1 e IP2 curso 2007/

4

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Introducción a la Programación

Introducción a la Programación

Orientada a Objeto

Orientada a Objeto

Evolución de los lenguajes de Programación.Evolución de los lenguajes de Programación.

Conceptos básicos de Programación Orientada aConceptos básicos de Programación Orientada aObjetos.Objetos.

Objetos Objetos

Interface Interface

Clase Clase

Paquete Paquete

Herencia de Interfaces y Clases.Herencia de Interfaces y Clases.

Ventajas de la POO.Ventajas de la POO.

Convenciones Java. Reglas de estilo.Convenciones Java. Reglas de estilo.

Ejemplo.Ejemplo.

Tema 1

Tema 1

5

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

  • Entenderemos, de manera simplista, que un

Entenderemos, de manera simplista, que un programa

programa es

es

un conjunto de instrucciones o sentencias que permiten un conjunto de instrucciones o sentencias que permiten

a una computadora, en unas ocasiones, realizar una tarea a una computadora, en unas ocasiones, realizar una tarea

y, en otras, una diferente. y, en otras, una diferente.

  • En

las

primeras

computadoras

la

programación

se

En

las

primeras

computadoras

la

programación

se

realizaba modificando el hardware de las mismas. Se realizaba modificando el hardware de las mismas. Se

cableaban cableaban las unidades de memoria y las unidades de

las unidades de memoria y las unidades de

cálculo. cálculo.

  • Más

adelante

se

inventaron

los

lenguajes.

Los

más

Más

adelante

se

inventaron

los

lenguajes.

Los

más

primitivos

fueron

los

denominados

primitivos

fueron

los

denominados

lenguajes

máquina

lenguajes

máquina.

Estos lenguajes se basaban en el hardware, con lo que Estos lenguajes se basaban en el hardware, con lo que

cada

máquina

tenía

su

propio

lenguaje

y

por

ello

la

cada

máquina

tenía

su

propio

lenguaje

y

por

ello

la

programación era un trabajo costoso, válido sólo para programación era un trabajo costoso, válido sólo para

esa máquina en concreto. esa máquina en concreto.

**1. Evolución de los lenguajes de Programación

  1. Evolución de los lenguajes de Programación**

7

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

**1. Evolución de los lenguajes de Programación

  1. Evolución de los lenguajes de Programación**
  • A medida que las necesidades crecían en paralelo con la

A medida que las necesidades crecían en paralelo con la

tecnología se desarrollaron diversos tipos tecnología se desarrollaron diversos tipos

de lenguajes de lenguajes

de programación de alto nivel: de programación de alto nivel:

Lenguajes Lenguajes

Procedurales Procedurales,

cuya

característica

cuya

característica

principal es la de descomponer una tarea a ejecutar principal es la de descomponer una tarea a ejecutar

por la computadora en otras subtareas en las que se por la computadora en otras subtareas en las que se

describe cómo se hacen las operaciones y con qué describe cómo se hacen las operaciones y con qué

datos. Asimismo

y de modo apropiado se indica la

datos. Asimismo

y de modo apropiado se indica la

elección de cada subtarea a ejecutar, así como, en elección de cada subtarea a ejecutar, así como, en

su caso, la repetición de alguna o algunas de ellas. su caso, la repetición de alguna o algunas de ellas.

Lenguajes Declarativos Lenguajes Declarativos, en este caso mediante un

, en este caso mediante un

lenguaje muy natural se indica qué tareas se deben lenguaje muy natural se indica qué tareas se deben

ejecutar sin entrar en cómo. El lenguaje posee una ejecutar sin entrar en cómo. El lenguaje posee una

serie de estructuras predefinidas que resuelven la serie de estructuras predefinidas que resuelven la

tarea elegida. tarea elegida.

8

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

**1. Evolución de los lenguajes de Programación

  1. Evolución de los lenguajes de Programación**

Lenguajes Orientados a Objetos (LOO) Lenguajes Orientados a Objetos (LOO), son los que

, son los que

están basados en la modelización de los objetos del están basados en la modelización de los objetos del

mundo real o incluso virtual. Estos objetos tienen mundo real o incluso virtual. Estos objetos tienen

una representación en el mundo real a base de una una representación en el mundo real a base de una

serie

de

características

que

interesan

para

el

serie

de

características

que

interesan

para

el

problema

a

resolver,

pe.

problema

a

resolver,

pe.

una

persona

una

persona

tiene

un

tiene

un

nombre,

una

fecha

de

nacimiento,

unos

estudios,

nombre,

una

fecha

de

nacimiento,

unos

estudios,

etc.,

o

pe,

etc.,

o

pe,

una

teoría

científica

una

teoría

científica

tiene

un

o

unos

tiene

un

o

unos

creadores,

una

tesis,

un

fundamento,

un

o

unos

creadores,

una

tesis,

un

fundamento,

un

o

unos

detractores, etc. (observemos que los creadores o detractores, etc. (observemos que los creadores o

los detractores son a su vez otros objetos del tipo los detractores son a su vez otros objetos del tipo

persona). persona).

El LOO que vamos a estudiar en Ip1 e Ip2 es JAVA. En el

El LOO que vamos a estudiar en Ip1 e Ip2 es JAVA. En el

aprendizaje de la Programación Orientada a Objeto (POO),

aprendizaje de la Programación Orientada a Objeto (POO),

se harán ejercicios y prácticas en JAVA.

se harán ejercicios y prácticas en JAVA.

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

**1. Evolución de los lenguajes de Programación

  1. Evolución de los lenguajes de Programación**

La principal referencia para estudiar Java es

http://java.sun.com/docs/books/tutorial/index.html

La características principales de Java son:

Neutro con respecto a la Arquitectura, Portable,Distribuido

Orientado a objetos, Seguro,

Multihilos, Dinámico

Características de JAVA Características de JAVA

11

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

**1. Evolución de los lenguajes de Programación

  1. Evolución de los lenguajes de Programación**

La plataforma Java tiene dos componentes:

La máquina virtual (Java Virtual Machine, JVM)

El interfaz de programación (Java ApplicationProgramming Interface (API)

Un programa Java se compone de un conjunto de clasesagrupadas en paquetes

Caracteristicas Caracteristicas de JAVA

de JAVA

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

  • Los

objetos

tienen

un

estado

y

una

funcionalidad

Los

objetos

tienen

un

estado

y

una

funcionalidad

asociada asociada

El estado El estado indica: ¿cómo se encuentra el objeto? Ello

indica: ¿cómo se encuentra el objeto? Ello

se sabe consultado las propiedades del mismo, que se sabe consultado las propiedades del mismo, que

son

las

que

definen

al

objeto.

Las

propiedades

son

las

que

definen

al

objeto.

Las

propiedades

pueden

ser

de

diversos

tipos

(números

enteros,

pueden

ser

de

diversos

tipos

(números

enteros,

reales, textos, reales, textos, booleanos

booleanos,

, etc

etc)

La funcionalidad La funcionalidad de un objeto se ofrece a través de

de un objeto se ofrece a través de

un

conjunto

de

programas

que

se

denominan

un

conjunto

de

programas

que

se

denominan

“métodos”. Los métodos actúan sobre el estado del “métodos”. Los métodos actúan sobre el estado del

objeto

(pueden

consultar

o

modificar

las

objeto

(pueden

consultar

o

modificar

las

propiedades) y son el mecanismo de comunicación del propiedades) y son el mecanismo de comunicación del

objeto con el exterior. objeto con el exterior.

**2. Conceptos básicos de POO.

  1. Conceptos básicos de POO.**

Objeto. Objeto.

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Objeto ( Objeto (cont

cont).

**2. Conceptos básicos de POO.

  1. Conceptos básicos de POO.**

Opel Opel

Astra Astra

Ejemplo de objeto “automóvil” con atributos:Marca, Modelo, Capacidad Depósito, númerode asientos…En

definitiva,

es

una

zona

de

memoria

reservada al objeto y donde están los valoresque tiene cada atributo.

Ejemplo de objeto “automóvil” con atributos: Ejemplo de objeto “automóvil” con atributos:

Marca, Modelo, Capacidad Depósito, número Marca, Modelo, Capacidad Depósito, número

de asientos… de asientos…

En

definitiva,

es

una

zona

de

memoria

En

definitiva,

es

una

zona

de

memoria

reservada al objeto y donde están los valores reservada al objeto y donde están los valores

que tiene cada atributo. que tiene cada atributo.

Llamaremos “propiedades” a Llamaremos “propiedades” a

estos atributos con sus estos atributos con sus

correspondientes valores correspondientes valores

1616

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Objeto ( Objeto (cont

cont).

**2. Conceptos básicos de POO.

  1. Conceptos básicos de POO.**

Encapsulación: Encapsulación:

Es

un

concepto

clave

en

la

POO

y

Es

un

concepto

clave

en

la

POO

y

consiste

en

ocultar

la

forma

en

que

se

almacena

la

consiste

en

ocultar

la

forma

en

que

se

almacena

la

información

que

determina

el

estado

del

objeto.

Ello

información

que

determina

el

estado

del

objeto.

Ello

conlleva,

el

obligar

a

que

toda

la

interacción

con

los

conlleva,

el

obligar

a

que

toda

la

interacción

con

los

atributos

del

mismo

se

haga

a

través

de

ciertos

atributos

del

mismo

se

haga

a

través

de

ciertos

métodos implementados con ese propósito. (Se trata de métodos implementados con ese propósito. (Se trata de

ocultar

información

irrelevante

para

quien

utiliza

el

ocultar

información

irrelevante

para

quien

utiliza

el

objeto). objeto).

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Los métodos Los métodos son unidades de programas que, mediante

son unidades de programas que, mediante

determinados convenios, logra consultar o modificar las determinados convenios, logra consultar o modificar las

propiedades de un objeto determinado. propiedades de un objeto determinado.

Por tanto, para Por tanto, para consultar o modificar

consultar o modificar los valores de los

los valores de los

atributos de un objeto será necesario implementar los atributos de un objeto será necesario implementar los

métodos apropiados. métodos apropiados.

**2. Conceptos básicos de POO.

  1. Conceptos básicos de POO.**

public String toString() {

String s="("+getX()+","+ getY()+")";return s;

}

public String toString() {

String s="("+getX()+","+ getY()+")";return s;

}

Cuerpo

Cabecera

Métodos Métodos

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Interface Interface (

(cont.

cont.). Ejemplo:

). Ejemplo:

**2. Conceptos básicos de POO.

  1. Conceptos básicos de POO.**

Supongamos que queremos modelar un objeto “ Supongamos que queremos modelar un objeto “p

p” que

” que

llamaremos “punto” del plano. Para ello definiremos una llamaremos “punto” del plano. Para ello definiremos una

interfaz

con

un

interfaz

con

un

contrato contrato

(comportamiento

que

(comportamiento

que

obligatoriamente deben tener los objetos de una clase obligatoriamente deben tener los objetos de una clase

que implemente dicho contrato), que permita consultar la que implemente dicho contrato), que permita consultar la

abscisa, la ordenada, modificar la abscisa o la ordenada. abscisa, la ordenada, modificar la abscisa o la ordenada.

interface Punto {

double getX();double getY();void setX(double x1);void setY(double y1);

}

interface Punto {

double getX();double getY();void setX(double x1);void setY(double y1);

}

para que el punto “ para que el punto “p

p” tome el

” tome el

valor (3, valor (3,-

-4), haremos

4), haremos

p p.setX

.setX(3);

p p.setY

.setY(

p

p

Curso 07/08. tema 1

Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Clases Clases

**2. Conceptos básicos de POO.

  1. Conceptos básicos de POO.**

Son las unidades de la POO que permiten, de un lado, Son las unidades de la POO que permiten, de un lado,

definir

las

propiedades

de

los

objetos

(llamados

definir

las

propiedades

de

los

objetos

(llamados

atributos) y, de otro, la funcionalidades ofrecidas por los atributos) y, de otro, la funcionalidades ofrecidas por los

objetos (llamados métodos). objetos (llamados métodos).

La sintaxis responde al siguiente patrón: La sintaxis responde al siguiente patrón:

[Modificadores] class

NombreClase

[extends ...] [implements ...] {

[atributos (propiedades)][métodos (funciones)]

}

[Modificadores] class

class

NombreClase

[extends ...] [implements ...] {

{

[atributos (propiedades)][métodos (funciones)]

} }

A medida que vayamos avanzando iremos viendo cada una de las cláusulas anteriores