Você está na página 1de 62

12/10/2016

PhD. Ana Mara Zambrano V.

ana.zambrano@epn.edu.ec

E 208 Edificio Elctrica

PhD. Ana Mara Zambrano V.

12/10/2016

Las reglas aplican para todos, incluyendo la profesora.


PhD. Ana Mara Zambrano V.

ACEPTO LAS POLTICAS DEL CURSO

PhD. Ana Mara Zambrano V.

12/10/2016

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

12/10/2016

Elemento de
Evaluacin

Descripcin del Elemento de Evaluacion

% Nota
% Nota
Bimestre Bimestre
I
II

Deberes,
consultas y/o
exposiciones

Deberes/consultas breves.

10%

10%

Prueba (s) rpidas. (15 min)

15%

15%

Prueba Prctica

25%

Prueba Terica

Prueba en laboratorio sobre el desarrollo


de un programa

Examen

Evaluacin escrita o prctica (laboratorio)

25%

Proyecto

Desarrollo y defensa de un proyecto de


software.

25%

25%
25%
25%

100%

100%

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

12/10/2016

22 personas

5 grupos

En los grupos
deben haber por
lo menos 1 de
1era matrcula

3 grupos de 4
2 grupos de 5

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

12/10/2016

NOMBRE

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

12/10/2016

PhD. Ana Mara Zambrano V.

Java es un lenguaje de programacin orientado a objetos


creado por Sun Microsystem S.A. a principios de los aos 90.

Se cre como una herramienta de programacin para Set-topbox para el Green-Project de Sun Microsystem.

Creado para uso con electrodomsticos

Desarrollaron

un

cdigo

neutro

que

no

dependa

del

electrodomstico => MAQUINA HIPOTTICA VIRTUAL

PhD. Ana Mara Zambrano V.

12/10/2016

Sencillo

Orientado a Objetos

Distribuido

Interpretado

Robusto

Seguro

Arquitectura neutra

Multithread (multihilo)

Similar en sintaxis a C/C++ y en semntica a SmallTalk

PhD. Ana Mara Zambrano V.

Sencillo Elimina ciertas caractersticas de C y C++:


Punteros
Referencia.
No usa typedef y #define.
No sobrecarga operadores.

Orientado a objetos Los datos son tratados como objetos y con


interfaces a los objetos.

PhD. Ana Mara Zambrano V.

12/10/2016

Distribuido:
Desarrollado para trabajar en un entorno conectado en red.
Proporciona libreras y herramientas para que los programas
puedan ser distribuidos.
Interpretado:
Traduce cdigo fuente a cdigo intermedio.
Robusto:
No se interrumpe fcilmente.
Evita sobre escribir o corromper memoria mediante punteros.
Manejo de excepciones.
PhD. Ana Mara Zambrano V.

Seguro:
Aplicaciones seguras ya que no acceden a zonas delicadas de
memoria o de sistema.
Arquitectura neutra:
El cdigo es compilado a un fichero objeto de formato
independiente de la arquitectura de la mquina en que se
ejecutar.
Multi-hilo:
Ejecucin de varias tareas en forma simultnea.
Proporciona una serie de clases que facilitan su utilizacin.
Mejor rendimiento interactivo y mejor comportamiento en
tiempo real.
PhD. Ana Mara Zambrano V.

12/10/2016

JAVA se cre con 5 objetivos principales

1. Debera usar la metodologa de la programacin orientada a


objetos.
2. Debera permitir la ejecucin de un mismo programa en
mltiples sistemas operativos.
3. Debera incluir por defecto soporte para trabajo en red.
4. Debera disearse para ejecutar cdigo en sistemas remotos de
forma segura.
5. Debera ser fcil de usar y tomar lo mejor de otros lenguajes
orientados a objetos, como C++.
PhD. Ana Mara Zambrano V.

Programa Java
API Java
Mquina Virtual de Java

Plataforma
Java

Plataforma basada en hardware

PhD. Ana Mara Zambrano V.

10

12/10/2016

Java Virtual Machine (JVM):


Mquina que emula por software a una mquina real.
Ejecuta programas compilados en Java.
Dispone de un thread (hilo) que rastrea las operaciones de
memoria.

La Interfaz de Programacin de Aplicaciones de Java


(API) :
Es un conjunto de funciones, procedimientos o clases que un
sistema operativo, librera o servicio proporciona para soportar
peticiones realizadas por un programa.
PhD. Ana Mara Zambrano V.

J2SE (Java 2 Platform Standard Edition):


Es un entorno bsico, proporciona un compilador, herramientas,

mdulos de ejecucin y la API de Java. Estos elementos permiten al


usuario

escribir,

aplicaciones.

probar,

implementar

ejecutar

applets

Est compuesto por el JRE(Java Runtime Environment) y el JDK(Java


Development Kit)

J2EE (Java 2 Platform Enterprise Edition):


Es una plataforma multiusuario y distribuida.
Permite crear aplicaciones para empresas que proveen servicios en la
Web.

PhD. Ana Mara Zambrano V.

11

12/10/2016

J2ME (Java 2 Platform Micro Edition):


Es un conjunto de tecnologas y especificaciones destinados a
dispositivos embebidos, tales como: celulares, PDA, impresoras,
TV.

PhD. Ana Mara Zambrano V.

JRE (Java Runtime Environment, o Entorno en


Tiempo de Ejecucin de Java)
Es el software que se requiere para ejecutar cualquier
aplicacin desarrollada en Java.

SDK o JDK (Java Development Kit, o Kit para


Desarrollo de Java )
Es una distribucin en la cual reside el JRE, contiene
herramientas como el compilador, el generador de
documentacin (javadoc), el depurador, etc.
PhD. Ana Mara Zambrano V.

12

12/10/2016

Compilador javac
Analiza la sintaxis del cdigo fuente.
Anlisis sintctico: Estructura de las lneas de cdigo.
Anlisis semntico: El significado de la lnea programada.
Si no existen errores genera bytecodes.

Interprete != Compilador
PhD. Ana Mara Zambrano V.

Intrprete JVM
Ejecuta bytecodes creados por el compilador.
Los bytecodes tiene extension .class.

PhD. Ana Mara Zambrano V.

13

12/10/2016

Intrprete y Compilador

Un Intrprete es un traductor
que toma el programa fuente
y lo traduce y ejecuta lnea a
lnea.
Basic, Java, Smalltalk.

Un
Compilador
de
un
programa que traduce los
programas
escritos
en
lenguaje de alto nivel a
lenguaje mquina.
C, C++, Pascal, Fortran,
Cobol.

Programa Fuente

Programa Fuente

Intrprete

Compilador

Traduc.y ejec.
Lnea a lnea

Programa Objeto
PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

14

12/10/2016

IDE (Integrated Development Environment)


Entorno de trabajo integrado para facilitar el proceso
completo de desarrollo de aplicaciones.
Incluye

soporte para:
Diseo
Programacin
Documentacin
Verificacin

PhD. Ana Mara Zambrano V.

IDE (Integrated Development Environment)

Existen entornos de distribucin libre como:


Netbeans
Eclipse
Productos comerciales:
JBuilder
JCreatorPro

PhD. Ana Mara Zambrano V.

15

12/10/2016

IDE (Integrated Development Environment)


Contiene:
Editor de cdigo
Compilador
Depurador
Constructor de interfaz grfica GUI

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

16

12/10/2016

Preparacin de entorno
Descargar el paquete.
Instalar de JDK.
Instalar Eclipse.
JRE (JVM, Libreras)
JDK (Compilador, generador
De cdigo, debugger)

PhD. Ana Mara Zambrano V.

Preparacin de entorno

Seleccionar carpeta de trabajo (workspace)


File > Switch WorkSpace

PhD. Ana Mara Zambrano V.

17

12/10/2016

Preparacin de entorno

Java: http://docs.oracle.com/javase/8/

PhD. Ana Mara Zambrano V.

Creacin de un proyecto
Codificacin
Depuracin
Ejecucin

PhD. Ana Mara Zambrano V.

18

12/10/2016

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

19

12/10/2016

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

20

12/10/2016

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

21

12/10/2016

En eclipse se pueden establecer puntos


de interrupcin (breakpoints) con el
fin de analizar errores, en caso de que
existan.

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

22

12/10/2016

PhD. Ana Mara Zambrano V.

REGLA #1: Usar nombres descriptivos

PhD. Ana Mara Zambrano V.

23

12/10/2016

REGLA #2: Usar identacin

PhD. Ana Mara Zambrano V.

REGLA #3: Usar espacios en blanco donde se


requiera

PhD. Ana Mara Zambrano V.

24

12/10/2016

REGLA #4: No duplicar el Cdigo

PhD. Ana Mara Zambrano V.

Como trabaja Java:

10100
111.
JVM

Compilador

Programa .java

Programa .class

Programa

PhD. Ana Mara Zambrano V.

25

12/10/2016

Como trabaja Java:


Inicio

javac

Cdigo-fuente

Compilador

Bytecodes

CdigoIntermedio

Leer
instruccin
Ejecutar
instruccin

Mquina
Virtual
(Intrprete)
PhD. Ana Mara Zambrano V.

Caractersticas del Lenguaje:

Palabras reservadas

Sensible a
maysculas/minsculas.

Soporta comentarios.

Emplea identificadores,
variables y constantes.

Incluye palabras reservadas.

Tiene reglas sobre tipos de


datos.
PhD. Ana Mara Zambrano V.

26

12/10/2016

Caractersticas del Lenguaje:


Identificadores:

Nombres que se asignan a variables, mtodos, clases y


objetos.

El primer caracter puede ser: A-Z, a-z, _ , $.

No se permite vocales acentuadas ni la letra .

Un identificador no puede ser una palabra reservada.

PhD. Ana Mara Zambrano V.

Tipos de Datos:

PhD. Ana Mara Zambrano V.

27

12/10/2016

Tipos de datos:

Primitivos

Lgico Boolean

Texto Char

Entero byte, short, int, long

Real float, double

Referencia

Son punteros a objetos

PhD. Ana Mara Zambrano V.

Variables: Zona de memoria cuyos valores van a cambiar


durante la ejecucin.

<tipo> <identificador>;

Constantes: Zona de memoria cuyos valores no cambian.

final <tipo> <identificador> = <valor>;

PhD. Ana Mara Zambrano V.

28

12/10/2016

Tipos de datos:

Ejemplo

double promedio = 10.0/4.0; //Salida : 2.5


int promedio = 10/5; //Salida: 2
int promedio = 10 /3; //Salida: 3
double promedio = 7/3; //Salida: 2.0

Java siempre verifica que los tipos de datos coincidan


String cadena = 5; //Error

PhD. Ana Mara Zambrano V.

Tipos de datos:

Ejemplo

int a = 2; // a=2
double a = 2; //a = 2.0
int a = 4.56; // Error
int a = (int) 4.56; // a= 4
double a = 2/3; // a = 0.0
double a = 2/3.0; //a= 0.6666
double a = (double) 2/3; //a= 0.6666

PhD. Ana Mara Zambrano V.

29

12/10/2016

Entero a cadena (int to string)

Ejemplo
String numero = 5; //Error
String numero = Integer.toString(5); //OK
String numero = + 5; //OK

Cadena a entero (String to int)

Ejemplo

int numero = 5; //Error


int numero = Integer.parseInt (5); //OK

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

30

12/10/2016

Operadores aritmticos

SMBOLO

FUNCIN

Suma

Resta

Divisin

>

Mayor que

=
<

Multiplicacin
Equivalente
Menor que
PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

31

12/10/2016

Operadores de asignacin:

SMBOLO

FUNCIN

RESULTADO

+=

a+=b

a=a+b

-=

A-=b

a=a-b

/=

a/=b

a=a/b

*=

a*=b

%=

a%=b

a=a*b

PhD. Ana Mara Zambrano V.

Operadores a nivel de bits:

SMBOLO

FUNCIN

&
|
^

AND

OR
XOR
NOT

PhD. Ana Mara Zambrano V.

32

12/10/2016

Signos de puntuacin:

Son usados para marcar el final de una instruccin o indicar


el comienzo y el fin de un conjunto de instrucciones.

Las instrucciones terminan con punto y coma ;

Las cadenas de caracteres (strings) se colocan dentro


de comillas dobles ( ).

Las llaves { }, los parntesis ( ), los corchetes [ ] se


usan para segmentar cdigo.

PhD. Ana Mara Zambrano V.

Nomenclatura:

Variable Primera letra en minscula y la primera


letra de cada palabra en mayscula.
contador, numeroAccesos

Constante Todo en maysculas, si tiene dos


palabras se separa cada palabra por _.
PI

DIMENSION_FIGURA

Clase Primera letra en mayscula de cada palabra.


Empleado, EstadoDeCuentas
PhD. Ana Mara Zambrano V.

33

12/10/2016

IF

PhD. Ana Mara Zambrano V.

IF

NUNCA utilizar el operador == con tipos de datos dobles.


PhD. Ana Mara Zambrano V.

34

12/10/2016

IF

PhD. Ana Mara Zambrano V.

IF

PhD. Ana Mara Zambrano V.

35

12/10/2016

IF

PhD. Ana Mara Zambrano V.

IF

PhD. Ana Mara Zambrano V.

36

12/10/2016

SWITCH

PhD. Ana Mara Zambrano V.

SWITCH

PhD. Ana Mara Zambrano V.

37

12/10/2016

SALTOS DE LAZOS

PhD. Ana Mara Zambrano V.

FOR WHILE DO WHILE

Sentencia Break: Termina un lazo sea while o For

PhD. Ana Mara Zambrano V.

38

12/10/2016

FOR WHILE DO WHILE

Sentencia Continue: Termina la iteracin en curso de


una lazo (while o for) y pasa directamente a la prox.
iteracin

PhD. Ana Mara Zambrano V.

FOR WHILE DO WHILE

Sentencia Continue: Termina la iteracin en curso de


una lazo (while o for) y pasa directamente a la prox.
iteracin

PhD. Ana Mara Zambrano V.

39

12/10/2016

Lazos o Bucles

Permiten ejecutar mltiples veces unas instrucciones.

La cantidad de veces se puede establecer mediante:

PhD. Ana Mara Zambrano V.

WHILE

PhD. Ana Mara Zambrano V.

40

12/10/2016

WHILE

PhD. Ana Mara Zambrano V.

ERROR COMN

PhD. Ana Mara Zambrano V.

41

12/10/2016

DO - WHILE

PhD. Ana Mara Zambrano V.

FOR

PhD. Ana Mara Zambrano V.

42

12/10/2016

FOR

PhD. Ana Mara Zambrano V.

RECOMENDACIONES SOBRE EL LAZO FOR

Debe usarse para lazos con variables de control y de una manera


uniforme.

Es conveniente declarar la variable de control en el lazo.

Es conveniente que la expresin de incremento sea eso.

Es conveniente que la expresin de permanencia sea simple

Nunca cambiar el valor de la variable de control en las


instrucciones

PhD. Ana Mara Zambrano V.

43

12/10/2016

ANIDAMIENTO DE LAZOS

PhD. Ana Mara Zambrano V.

Clasificacin de Arreglos

PhD. Ana Mara Zambrano V.

44

12/10/2016

Inicializacin de Arreglos

Los ndices de un arreglo de longitud n inician en 0 y finalizan en n-1.

PhD. Ana Mara Zambrano V.

Vector (array unidimensional)

Matriz (array bidimensional)

PhD. Ana Mara Zambrano V.

45

12/10/2016

Vector (array unidimensional)

PhD. Ana Mara Zambrano V.

Vector (array unidimensional)

PhD. Ana Mara Zambrano V.

46

12/10/2016

Vector (array unidimensional)

ERROR

Para inicializar un arreglo se emplean las llaves.


La inicializacin nicamente se puede realizar cuando se
declara el arreglo

PhD. Ana Mara Zambrano V.

Vector (array unidimensional)

PhD. Ana Mara Zambrano V.

47

12/10/2016

El acceso a los elementos del arreglo se realiza mediante un ndice


encerrado en corchetes.
El ndice de un vector de tamao n va de 0 a n-1

PhD. Ana Mara Zambrano V.

Ejemplo de un Array

Si el nombre del array es a, entonces a[0] es el nombre del elemento


que est en la posicin 0, a[1] es el nombre del elemento que est en la
posicin 1, etc.

El array a tiene 6 elementos.


a[0] = 25.1, a[1] = 34.2,
= 6.09 y a[5] = 7.54.

a[2]

5.25,

a[3]

7.45,

a[4]

En Java, los ndices de un array siempre tienen como


lmite inferior 0 y como ndice superior el tamao
del array menos1

PhD. Ana Mara Zambrano V.

48

12/10/2016

Matriz (array bidimensional)

PhD. Ana Mara Zambrano V.

Todo arreglo tiene una variable llamada length, que


contiene la longitud de dicho arreglo

PhD. Ana Mara Zambrano V.

49

12/10/2016

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

50

12/10/2016

Matriz (array bidimensional)

PhD. Ana Mara Zambrano V.

Las operaciones se realizan componente a componente


Suma de los elementos de un vector

Suma de los n elementos


de un vector

PhD. Ana Mara Zambrano V.

51

12/10/2016

PhD. Ana Mara Zambrano V.

Para qu sirven las funciones?


Permiten construir programas modulares.

Programas grandes construidos en base a


pequeos mtodos.

Pueden ser desarrollados y probados de manera


individual.

Permiten reusar cdigo evitando redundancia.

El usuario no necesita conocer cmo fue


implementado (Abstraccin)

PhD. Ana Mara Zambrano V.

52

12/10/2016

Tipo de
retorno

Nombre
de la
funcin

Argumentos
de entrada
PhD. Ana Mara Zambrano V.

Llamada
a la
Funcin

Funcin
PhD. Ana Mara Zambrano V.

53

12/10/2016

Funcin

Llamada
a la
Funcin
Llamada
a la
Funcin

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

54

12/10/2016

ERROR ???

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

55

12/10/2016

PhD. Ana Mara Zambrano V.

PhD. Ana Mara Zambrano V.

56

12/10/2016

Estructura de una funcin y procedimiento

Existen dos tipos de subprogramas: Funciones y


procedimientos.

Pasaron a llamarse mtodos con la programacin


orientada a objetos.

PhD. Ana Mara Zambrano V.

Caractersticas

Representa una porcin de cdigo agrupada con un


nombre que describa lo que hace.

Puede ser llamado cuantas veces se requiera.

Un procedimiento puede recibir parmetros de


entrada

NUNCA RETORNA UN RESULTADO

Si puede imprimir en pantalla o salida.

PhD. Ana Mara Zambrano V.

57

12/10/2016

Caractersticas

Dado que no retornan valor, todos ellos deben


utilizar la palabra reservada VOID

PhD. Ana Mara Zambrano V.

Ejemplos

PhD. Ana Mara Zambrano V.

58

12/10/2016

Ejercicios de Papel

Crear un procedimiento llamado hola que despliegue por pantalla hola


todos.

Crear un procedimiento llamado saludo que reciba un parmetro de


tipo String llamado nombre e imprima un mensaje con el siguiente
formato Hola + (valor de la variable nombre).

Crear un procedimiento que reciba un nmero e imprima todos los


nmeros entre el cero y dicho nmero incluyendo los extremos, si el
nmero ingresado es cero o menor debe imprimir error.

Crear un procedimiento que reciba dos nmeros positivos, identifique


el menor de ellos e incremntelo de 10% en 10% hasta llegar al nmero
ms alto posible antes de alcanzar al mayor de ellos, e imprima cada
uno de los incrementos realizados.

Crear un procedimiento que simule el comportamiento de un reloj


digital, imprima desde las 00:00 hasta las 23:59 avanzando en
intervalos de minuto
PhD. Ana Mara Zambrano V.

Caractersticas

Una funcin es muy similar a un procedimiento, con la


salvedad de que puede retornar algn valor.

La funcin utiliza la palabra reservada return para realizar el


retorno del resultado del proceso.

Return siempre debe estar presente y su ejecucin tambin


significa el final de la funcin.

Una vez que se retorna el resultado significa que la funcin ha


finalizado

La funcin puede retornar cualquier tipo de datos conocido


por el lenguaje

PhD. Ana Mara Zambrano V.

59

12/10/2016

Ejemplo

1. Clculo de la edad.
2. Generacin del
correo.
3. Presentacin de la
persona en
impresin

PhD. Ana Mara Zambrano V.

Ejemplo

PhD. Ana Mara Zambrano V.

60

12/10/2016

Ejemplo

Uniendo el cdigo
Para unir todo el mtodo miejemplo ser el encargado llamar a todas
las funciones y dar el orden lgico de ejecucin.
PhD. Ana Mara Zambrano V.

Ejemplo

PhD. Ana Mara Zambrano V.

61

12/10/2016

Ejercicios de Papel

Crear una funcin que permita calcular el valor en dlares de un


producto si como parmetro de entrada recibe un valor en euros.

Crear una funcin que retorne verdadero o falso si el parmetro


ingresado es o no un nmero primo.

Crear una funcin que retorne la cantidad de nmeros primos que


existen entre el cero y el valor de un parmetro ingresado.

Crear una funcin que permita calcular el factorial de un nmero.

Crear una funcin que retorne las horas a las que equivale la cantidad
de das ingresada como parmetros.

Crear una funcin que reciba como parmetros la cantidad total de


personas que asistieron a un evento, el valor de la entrada, la cantidad
de personas VIP y el porcentaje de descuento que los clientes VIP
tienen, la funcin debe retornar la ganancia total del evento
PhD. Ana Mara Zambrano V.

62

Você também pode gostar