Your SlideShare is downloading. ×
Introducción a la Programación
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introducción a la Programación

125
views

Published on

Presentación para el módulo de Introducción a la Programación y Desarrollo con Android del Máster en Desarrollo de Videojuegos para Móviles de la IPECC

Presentación para el módulo de Introducción a la Programación y Desarrollo con Android del Máster en Desarrollo de Videojuegos para Móviles de la IPECC

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
125
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Módulo 4: Creación y diseño de videojuegos móviles Introducción  a  la  programación    En colaboración con la Con la participación deUniversidad de Alcalá Electronic Arts
  • 2. Profesor  •  Enrique  López-­‐Mañas  •  Ingeniero  Informá?ca  UCM  •  Máster  CS  RWTH  •  Developer  @  Sixt  •  Android  &  iPhone  &  mobile  •  eenriquelopez@gmail.com  •  www.neo-­‐tech.es  •  @eenriquelopez     Introducción  a  la  programación  –  Enrique  López  Mañas   2  
  • 3. Planificación  8     9   15   16   22   23  Introducción  a   Introducción  a   Android   Android   Android   Android  la   la  programación   programación     Introducción  a  la  programación  –  Enrique  López  Mañas   3  
  • 4. ¿Qué  es  la  programación?  •  Diseño  •  Codificación  •  Depuración  •  Mantenimiento     Introducción  a  la  programación  –  Enrique  López  Mañas   4  
  • 5. Conceptos  clave:  lenguaje  •  Idioma  ar?ficial  para  expresar  procesos   computacionales  •  Diferentes  lenguajes  •  Diferentes  ?pos       Introducción  a  la  programación  –  Enrique  López  Mañas   5  
  • 6. Conceptos  clave:  entorno  •  Conjunto  de  herramientas  de  desarrollo  •  No  sólo  programación  •  Diferentes  entornos  para  diferentes  lenguajes  •  SDK’s     Introducción  a  la  programación  –  Enrique  López  Mañas   6  
  • 7. Conceptos  clave:  programa  •  Secuencia  de  instrucciones   Introducción  a  la  programación  –  Enrique  López  Mañas   7  
  • 8. Conceptos  clave:  compilar  •  Compilar:  conver?r  el  programa  (código   fuente)  en  una  aplicación  (fichero  ejecutable)  •  Diferentes  plataformas  de  compilación.  •  (Generalmente)  código  depende  de  la   plataforma   Introducción  a  la  programación  –  Enrique  López  Mañas   8  
  • 9. Conceptos  clave:  aplicación  •  Programa  (compilado)  con  funcionalidad   Introducción  a  la  programación  –  Enrique  López  Mañas   9  
  • 10. Ejercicio  •  Abrir  Eclipse.  •  Escribir  HelloWorld  en  Java  y  compilar   Introducción  a  la  programación  –  Enrique  López  Mañas   10  
  • 11. Introducción  a  la  programación  •  Variables  •  Funciones  •  Tipos  de  datos  •  Operadores  •  Expresiones  y  sentencias  •  Estructuras  de  control  •  Estructuras  de  datos  •  Excepciones  •  OO  (Orientación  a  objetos)   Introducción  a  la  programación  –  Enrique  López  Mañas   11  
  • 12. Ejemplo    Introducción  a  la  programación  –  Enrique  López  Mañas   12  
  • 13. Ejemplo  Nombre  de  paquete   Introducción  a  la  programación  –  Enrique  López  Mañas   13  
  • 14. Ejemplo  Declaración  de  clase   Introducción  a  la  programación  –  Enrique  López  Mañas   14  
  • 15. Ejemplo  Declaración  de  método   Introducción  a  la  programación  –  Enrique  López  Mañas   15  
  • 16. Ejemplo  Declaración  e  inicialización  de  variable   Introducción  a  la  programación  –  Enrique  López  Mañas   16  
  • 17. Ejemplo  Declaración  de  variable   Introducción  a  la  programación  –  Enrique  López  Mañas   17  
  • 18. Ejemplo  Asignación  y  expresión   Introducción  a  la  programación  –  Enrique  López  Mañas   18  
  • 19. Ejemplo  Llamada  a  función  con  parámetros   Introducción  a  la  programación  –  Enrique  López  Mañas   19  
  • 20. Variables  •  Espacio  reservado  en  memoria  que  puede   variar  su  valor    •  Constante:  parecido  a  las  variables,  pero  no  se   puede  modificar  el  valor   Introducción  a  la  programación  –  Enrique  López  Mañas   20  
  • 21. Tipos  •  Tipos  de  datos  primi?vos:                    short/int/long                    float/double                    char  (String)                    byte   Introducción  a  la  programación  –  Enrique  López  Mañas   21  
  • 22. Tipos  Introducción  a  la  programación  –  Enrique  López  Mañas   22  
  • 23. Tipos  Introducción  a  la  programación  –  Enrique  López  Mañas   23  
  • 24. Tipos  Introducción  a  la  programación  –  Enrique  López  Mañas   24  
  • 25. Tipos  Introducción  a  la  programación  –  Enrique  López  Mañas   25  
  • 26. Tipos  Introducción  a  la  programación  –  Enrique  López  Mañas   26  
  • 27. Funciones  y  métodos  •  Posibles  entradas  •  Posibles  salidas  •  Define  un  comportamiento      •  Pensar  en  función  matemá?ca   Introducción  a  la  programación  –  Enrique  López  Mañas   27  
  • 28. Funciones  y  métodos  Introducción  a  la  programación  –  Enrique  López  Mañas   28  
  • 29. Funciones  y  métodos  Introducción  a  la  programación  –  Enrique  López  Mañas   29  
  • 30. Funciones  y  métodos  Introducción  a  la  programación  –  Enrique  López  Mañas   30  
  • 31. Funciones  y  métodos  Introducción  a  la  programación  –  Enrique  López  Mañas   31  
  • 32. Funciones  y  métodos  Introducción  a  la  programación  –  Enrique  López  Mañas   32  
  • 33. Funciones  y  métodos  Introducción  a  la  programación  –  Enrique  López  Mañas   33  
  • 34. Funciones  y  métodos  Introducción  a  la  programación  –  Enrique  López  Mañas   34  
  • 35. Ejercicio  •  Abrir  Eclipse  •  Crear  un  método  que  sume  dos  números  y  los   escriba  con  System.out.println();   Introducción  a  la  programación  –  Enrique  López  Mañas   35  
  • 36. Operadores  •  Establecen  relaciones  entre  variables   Introducción  a  la  programación  –  Enrique  López  Mañas   36  
  • 37. Operadores  Introducción  a  la  programación  –  Enrique  López  Mañas   37  
  • 38. Operadores  Introducción  a  la  programación  –  Enrique  López  Mañas   38  
  • 39. Estructuras  de  control  •  Ejecutan  código  basándose  en  condiciones  •  „Si  ocurre  X,  entonces  haz  Y.  Si  no,  haz  Z“  •  „Haz  X  hasta  que  ocurra  Y“  •  „Haz  X  mientras  ocurra  Z“   Introducción  a  la  programación  –  Enrique  López  Mañas   39  
  • 40. Estructuras  de  control  •  „Si  ocurre  X,  entonces  haz  Y.  Si  no,  haz  Z“     Introducción  a  la  programación  –  Enrique  López  Mañas   40  
  • 41. Estructuras  de  control  •  „Haz  X  mientras  ocurra  Z“   Introducción  a  la  programación  –  Enrique  López  Mañas   41  
  • 42. Estructuras  de  control  •  „Haz  X  mientras  ocurra  Z“   Introducción  a  la  programación  –  Enrique  López  Mañas   42  
  • 43. Estructuras  de  control  Introducción  a  la  programación  –  Enrique  López  Mañas   43  
  • 44. Ejercicio  •  Abrir  Eclipse  •  Declarar  una  variable  x  con  valor  igual  a  50.  •  Reducir  su  valor  mediante  un  bucle  „while“  y   un  bucle  „for“  hasta  0.   Introducción  a  la  programación  –  Enrique  López  Mañas   44  
  • 45. Estructuras  de  control  Introducción  a  la  programación  –  Enrique  López  Mañas   45  
  • 46. Estructuras  de  Datos  •  No  sólo  datos  primi?vos  –  Hay  datos   complejos  •  Arrays  •  Tipos  complejos  de  Java  •  (Más  adelante)  Tipos  definidos  por  el  usuario   Introducción  a  la  programación  –  Enrique  López  Mañas   46  
  • 47. Estructuras  de  Datos  •  Matrices  de  N  dimensiones  (N  al  menos  1)   Introducción  a  la  programación  –  Enrique  López  Mañas   47  
  • 48. Estructuras  de  Datos  •  Matrices  de  N  dimensiones  (N  al  menos  1)   Introducción  a  la  programación  –  Enrique  López  Mañas   48  
  • 49. Ejercicio  •  Rellenar  un  array  de  dos  dimensiones  usando   dos  bucles  for  y  pintar  los  valores  por  pantalla       Introducción  a  la  programación  –  Enrique  López  Mañas   49  
  • 50. Estructuras  de  datos  •  ArrayList,    TreeSet,  Scanner...           Introducción  a  la  programación  –  Enrique  López  Mañas   50  
  • 51. Ejercicio  •  Rellenar  un  ArrayList  con  los  datos  que   teníamos  en  el  array  del  ejercicio  anterior.         Introducción  a  la  programación  –  Enrique  López  Mañas   51  
  • 52. Estructuras  de  datos  •  Clases  personalizadas  (introducción  muy   rápida)  •  Uso  de  OO.  •  Creación  de  clases  mul?-­‐atributo  complejas   con  propios  métodos       Introducción  a  la  programación  –  Enrique  López  Mañas   52    
  • 53. Estructuras  de  datos           Introducción  a  la  programación  –  Enrique  López  Mañas   53  
  • 54. Excepciones  •  Ges?ón  de  errores  complejos           Introducción  a  la  programación  –  Enrique  López  Mañas   54  
  • 55. Orientación  a  Objetos  (POO)  •  Paradigma  de  desarrollo  básico  •  Permite  representar  sistemas  complejos  •  Objetos:  elemento  con  atributos  y   comportamiento  •  Reu?lización,  conexión  entre  sistemas       Introducción  a  la  programación  –  Enrique  López  Mañas   55  
  • 56. Orientación  a  Objetos  (POO)  •  Otra  idea:  descomponer  programas  en  piezas   más  pequeñas  y  manejables          (un  coche  se  compone  de  ruedas,  volante,   etc)  •  Nuestros  objetos  serán  „Clases“       Introducción  a  la  programación  –  Enrique  López  Mañas   56    
  • 57. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   57  
  • 58. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   58  
  • 59. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   59  
  • 60. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   60  
  • 61. Orientación  a  Objetos  (POO)           Introducción  a  la  programación  –  Enrique  López  Mañas   61  
  • 62. Orientación  a  Objetos  (POO)  •  Relaciones  de  agregación             Introducción  a  la  programación  –  Enrique  López  Mañas   62  
  • 63. Ejercicio  •  Diseñar  y  programar  clases  para  representar   una  empresa  que  con?ene  trabajadores  (usar   array  o  ArrayList)           Introducción  a  la  programación  –  Enrique  López  Mañas   63    
  • 64. Orientación  a  Objetos  (POO)  •  Conceptos:   –  Encapsulación:  organización  de  datos  y  métodos   –  Herencia:  creación  de  clases  a  par?r  de  otras  ya   existentes   –  Polimorfismo:  (varias  formas)  sobrecarga  de   métodos  con  mismo  nombre  y  dis?nta   funcionalidad.     Introducción  a  la  programación  –  Enrique  López  Mañas   64    
  • 65. Orientación  a  Objetos  -­‐   Herencia  •  Mecanismo  para  extender  clases  a  casos  más   par?culares.  •  Ejemplo:     –  Un  edificio  à  Un  hospital   –  Un  vehículo  à  una  furgoneta   –  Un  persona  à  un  niño     Introducción  a  la  programación  –  Enrique  López  Mañas   65    
  • 66. Orientación  a  Objetos  -­‐   Herencia  •  La  clase  hija  hereda  de  la  clase  padre.  •  Puede  sobreescribir  o  ampliar  sus  métodos.  •  Hereda  todos  los  atributos.  •  Una  „furgoneta“  es  también  un  „vehículo“  •  Herencia  simple       Introducción  a  la  programación  –  Enrique  López  Mañas   66  
  • 67. Orientación  a  Objetos  -­‐   Herencia                 Introducción  a  la  programación  –  Enrique  López  Mañas   67  
  • 68. Ejercicio  •  Crear  la  clase  Taxista,  que  hereda  de  persona.  •  El  taxista  ?ene  licencia  •  El  taxista  ?ene  un  coche.  •  Crear  programa  de  ejemplo         Introducción  a  la  programación  –  Enrique  López  Mañas   68  
  • 69. Orientación  a  objetos  –  Clases   abstractas  •  No  se  pueden  crear  objetos  de  clases   abstractas.  •  Se  usan  para  representar  „ideas“  o   „conceptos“         Introducción  a  la  programación  –  Enrique  López  Mañas   69    
  • 70. Ejercicio  •  Hacer  que  la  clase  persona  sea  abstracta.  •  Probar  a  compilar             Introducción  a  la  programación  –  Enrique  López  Mañas   70  
  • 71. Herencia  -­‐  Interfaces  •  Sólo  definen  comportamiento  •  (especifican  qué  hacer,  no  cómo)   Introducción  a  la  programación  –  Enrique  López  Mañas   71  
  • 72. Herencia  -­‐  Interfaces  Introducción  a  la  programación  –  Enrique  López  Mañas   72  
  • 73. Acceso  en  Java   Misma clase Otra clase Subclase de Otra clase de mismo paquete otro paquete otro paquetepublic X X X Xprotected X X Xdefault X Xprivate X Introducción  a  la  programación  –  Enrique  López  Mañas   73  
  • 74. Mul?threading  •  Hasta  ahora:  ejecución  secuencial.  •  Pero:  existe  ejecución  de  múl?ples  hilos             Introducción  a  la  programación  –  Enrique  López  Mañas   74  
  • 75.  Mul?threading  -­‐  Ventajas  •  Mejor  ?empo  de  respuesta  •  Mejor  aprovechamiento  de  la  CPU             Introducción  a  la  programación  –  Enrique  López  Mañas   75  
  • 76.  Mul?threading  -­‐  Ejemplo               Introducción  a  la  programación  –  Enrique  López  Mañas   76  
  • 77.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   77  
  • 78.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   78  
  • 79.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   79  
  • 80.  Mul?threading         <         Introducción  a  la  programación  –  Enrique  López  Mañas   80  
  • 81.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   81  
  • 82.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   82  
  • 83.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   83  
  • 84.  Mul?threading                 Introducción  a  la  programación  –  Enrique  López  Mañas   84  
  • 85. Ficheros  •  Almacenamiento  en  Java  •  Hoy  día  rudimentario             Introducción  a  la  programación  –  Enrique  López  Mañas   85  
  • 86. Ficheros  -­‐  Escritura               Introducción  a  la  programación  –  Enrique  López  Mañas   86  
  • 87. Ficheros  -­‐  Lectura               Introducción  a  la  programación  –  Enrique  López  Mañas   87  
  • 88.  UML                 Introducción  a  la  programación  –  Enrique  López  Mañas   88  
  • 89.  JavaDoc                 Introducción  a  la  programación  –  Enrique  López  Mañas   89  
  • 90. Gracias  por  su  atención   Contacto  para  dudas  y  sugerencias   Enrique  López  Mañas   eenriquelopez@gmail.com   @eenriquelopez    En colaboración con la Con la participación deUniversidad de Alcalá Electronic Arts