Introducción a la programación

877 views

Published on

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
877
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Introducción a la programación

  1. 1. INTRODUCCIÓN A LA PROGRAMACIÓN<br />
  2. 2. ¿Qué es Programación?<br />Definiciones de Programación en la web:<br /><ul><li>Programación es el acto de crear un programa, un conjunto concreto de instrucciones que un ordenador puede ejecutar. El programa se escribe en un lenguaje de programación, aunque también se pueda escribir directamente en lenguaje de máquina, con cierta dificultad. </li></ul>Wikipedia<br /><ul><li>La acción de escribir un programa.</li></li></ul><li>Para qué estudiar Programación?<br /><ul><li>Cultura General
  3. 3. Curiosidad
  4. 4. “Para desarrollar las habilidades que nos permitan crear y diseñar una aplicación que solucione nuestros problemas”.
  5. 5. Conocer el proceso del desarrollo de una aplicación para lograr resultados satisfactorios.</li></li></ul><li>INTRODUCCIÓN<br />USUARIOS<br />DESARROLLADORES<br />TÉCNICOS<br />¿Quiénes son los personajes principales?<br />
  6. 6. SOFTWARE DE DESARROLLO<br /><ul><li>El software o programas de desarrollo se utilizan para crear aplicaciones para resolver problemas científicos, comerciales, administrativos o de cualquier tipo.
  7. 7. Estos programas se denominan lenguajes de programación y están integrados por programas y utilidades que facilitan la construcción de programas.
  8. 8. Utilizan directamente el lenguaje nativo del ordenador.
  9. 9. Debido a la dificultad para usar este lenguaje, se inventaron otros lenguajes que permitieron crear programas en cualquier ordenador y traducirlos al lenguaje máquina.</li></li></ul><li>SOFTWARE DE DESARROLLO<br /><ul><li>Un lenguaje de programación es un conjunto de símbolos, instrucciones y enunciados que están sujetos a una serie de reglas.
  10. 10. Utilizan un léxico, una sintaxis y una semántica.
  11. 11. Léxico: conjunto de símbolos conocido como vocabulario. . Los símbolos también se denominan elementos léxicos o tokens
  12. 12. Sintaxis: reglas para construir el lenguaje
  13. 13. Semántica: conjunto de significados de un lenguaje</li></li></ul><li>LENGUAJE MÁQUINA<br /><ul><li>Es el que entiende la computadora.
  14. 14. Las instrucciones se expresan en forma binaria.
  15. 15. Los programas creados en lenguaje máquina solo pueden ejecutarse en los procesadores para los que fueron creados.</li></li></ul><li>LENGUAJE ENSAMBLADOR<br /><ul><li>El lenguaje ensamblador, o assembler (assemblylanguage en inglés ) es un lenguaje de programación de bajo nivel.
  16. 16. Emplea representación simbólica y utiliza procedimientos mnemotécnicos de funciones matemáticas. Los datos se identifican con nombres.
  17. 17. Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables.</li></li></ul><li>LENGUAJE DE ALTO NIVEL<br /><ul><li>Lenguajes más acorde con el lenguaje humano.
  18. 18. Utilizan palabras y frases (por lo general en inglés).
  19. 19. Permiten modificar los códigos de los programas con facilidad.
  20. 20. Son independientes de la estructura física de la computadora, contando con instrucciones de uso frecuente como las funciones matemáticas.
  21. 21. Son lenguajes de programación alejados del lenguaje máquina y necesitan ser traducidos antes de ejecutarse. Esta tarea se realiza por medio de los intérpretes o los compiladores.</li></li></ul><li>LENGUAJE DE ALTO NIVEL<br /><ul><li>INTÉRPRETES: traducen el programa instrucción por instrucción y este proceso se realiza cada vez que se ejecuta el programa. Permiten al programador realizar correcciones durante el proceso de compilación.
  22. 22. COMPILADORES: funciona en dos etapas: en la primera traducen el programa y en la segunda crean un programa objeto en lenguaje máquina.Indican antes de su ejecución si existen errores para que el programador realice sus correcciones.</li></li></ul><li>Interpretes vs compiladores<br />Inicialmentelosinterpreteseran mas comunes<br />mem(programafuente+ interprete) ≤ mem(compilador) <br />Hoy en dia, los compiladores son mas comunes <br />Compila una vez, ejecuta muchas veces <br />Ejecucion programa objeto mas rapida<br />Compilador tiene una vision mas global del programa <br />Interprete sin embargo da mejor diagnostico de errores<br />+ Información<br />
  23. 23. SOFTWARE DE APLICACIÓN<br /><ul><li>Conjunto de aplicaciones que realizan las funciones más comunes dentro de la casa, escuela u oficina. Son aplicaciones básicas que todo usuario debe conocer.
  24. 24. Procesador de textos: Word, WordPad, Block de Notas, Edit Pad, Ultra Edit 32, …
  25. 25. Hoja de Cálculo: Excel, Quattro Pro, GS-Calc, yCode, …
  26. 26. Programa de Presentaciones: PowerPoint, Freelance Graphics, Corel Presentations, …</li></li></ul><li>SOFTWARE DE APLICACIÓN<br /><ul><li>Editor de gráfico: Corel Draw, Publisher, PageMaker, QuarkXpress, …
  27. 27. Administrador de base de datos: dBase, Access, MySQL, FoxPro, …
  28. 28. Navegador de Internet: Explorer, Netscape Navigator, Mozilla,…
  29. 29. Correo electrónico: Outlook, CC-Mail, Eudora,…
  30. 30. Agenda Electrónica: Outlook, PDA´S,…</li></li></ul><li>Evolución de los Lenguajes de Programación<br /><ul><li>Primera Generación: se relacionan con las máquinas integradas por bulbos. Se programaban con base en instrucciones en lenguaje máquina.
  31. 31. Segunda Generación: se desarrollan los lenguajes ensambladores.
  32. 32. Tercera Generación: aparecen los primero lenguajes de alto nivel, algunos de los cuales están vigentes hasta la fecha como BASIC, PASCAL, FORTRAN, C++ y COBOL entre otros.</li></li></ul><li>Evolución de los Lenguajes de Programación<br /><ul><li>Cuarta Generación: son lenguajes que se relacionan menos con procedimientos y que son aun mas parecidos al ingles que los lenguajes de tercera generación. Algunos incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas.
  33. 33. Ejemplos Visual C++, Visual Basic, PowerBuilder, Delphi, Forte y muchos otros.
  34. 34. Lenguajes de consulta son utilizados para hacer preguntas ala computadora con frases parecidas alas de un idioma, ejemplo el inglés.
  35. 35. Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar consultas y manipulaciones a la base de datos.
  36. 36. Orientados básicamente a las aplicaciones de gestión y al manejo de bases de datos (NATURAL, SQL).</li></li></ul><li>Evolución de los Lenguajes de Programación<br /><ul><li>Quinta Generación: alrededorde la mitad 1998 surgieron grupos de herramientas de lenguajes de quinta generación, los cuales combinan la creación de códigos basadas en reglas, la administración de reutilización y otros avances.</li></ul>Programación basada en conocimiento. Método para el desarrollo de programas de computación en el que se le ordena ala computadora realizar un propósito en vez de instruirla para hacerlo.<br />Orientados a la inteligencia artificial y al procesamiento de los lenguajes naturales (LISP, PROLOG). <br />
  37. 37. Evolución de los Lenguajes de Programación<br /><ul><li>Orientados a objetos:permitenla interacción de objetos de programación incluyendo elementos de datos y las acciones que se realizan en ellos.
  38. 38. Un objeto puede denotar datos respecto a un empleado y todas las operaciones que se pudieran realizar sobre los datos (cálculo de nóminas).
  39. 39. En la programación orientada al objeto, los datos, instrucciones y otros procedimientos de programación se agrupan en un elemento denominado objeto.
  40. 40. Encapsulación: agrupación de elementos dentro de un objeto.
  41. 41. Polimorfismo: permite al programador desarrollar una rutina o grupo de actividades que operaran sobre objetos múltiples.
  42. 42. Herencia: propiedad utilizada para describir objetos en un grupo de este tomando características de otros en el mismo grupo o clase de objetos.
  43. 43. Código reutilizable: código de instrucciones dentro de un objeto que se puede usar repetidamente en diferentes programas de diversas aplicaciones.</li></li></ul><li>Carácterísticas Lenguajes de alto nivel<br /><ul><li>Los programas creados con ellos se pueden ejecutar en computadoras de distinta arquitectura.
  44. 44. El programa escrito debe ser traducido a lenguaje máquina.
  45. 45. Al traducir una instrucción del programa fuente, genera varias instrucciones en lenguaje máquina.</li></li></ul><li>Metodología para la solución de problemas con la computadora<br />ESPECIFICACIÓN DEL PROBLEMA<br />ANLÁLISIS DEL PROBLEMA<br />CODIFICACIÓN<br />DIGITALIZACIÓN<br />COMPILACIÓN<br />VERIFICACIÓN<br />DOCUMENTACIÓN<br />
  46. 46. ESQUEMA DE UN COMPILADOR<br />DATOS<br />Programa<br />fuente<br />Compilador<br />Programa<br />objeto<br />Ejecución del programa<br />Resultados<br />
  47. 47. ESQUEMA DE UN INTÉRPRETE<br />DATOS<br />Resultados<br />Compilador<br />Programa<br />fuente<br />
  48. 48. SOLUCIÓN DE PROBLEMAS APLICANDO MODELOS MATEMÁTICOS<br />FÓRMULAS<br />RESULTADOS<br />DATOS<br />
  49. 49. SOLUCIÓN DE PROBLEMAS APLICANDO MODELOS MATEMÁTICOS<br />
  50. 50. Características y formas de los algoritmos<br />Tres características básicas:<br />Preciso:debe ser concreto, no tener pasos de mas y la solución tiene que ser clara y concreta.<br />Congruente: al probarse varias veces los resultados deben ser los mismos.<br />Finito: al seguir los pasos deben llegar a la solución, es decir, debe tener una finalización.<br />
  51. 51. Características y formas de los algoritmos<br />Los algoritmos pueden ser creados de dos formas distintas:<br />Pseudo-código: es un conjunto pequeño y claro de instrucciones; en secuencia, que permite llevar a cabo una tarea.<br />Diagrama de flujo: es la representación de la secuencia, a través de símbolos, de la tarea que se va a realizar. <br />
  52. 52. Características y formas de los algoritmos<br />En pseudo-código<br />Inicio<br />Escribe: (“calcula el area de cualquier rectangulo”)<br />Escribe: (“de largo mide”)<br />Captura: (largo)<br />Escribe: (“de ancho mide”)<br />Captura: (“ancho”)<br />Formula: área = largo x ancho<br />Escribe: (“ el area mide:” , area)<br />fin<br />
  53. 53. Entrada (in)<br />Entrada (in)<br />ancho<br />largo<br />inicio<br />Salida (out)<br />área<br />Área = largo x ancho<br />fin<br />Características y formas de los algoritmos<br />
  54. 54. JERARQUÍA DE OPERACIONES<br />

×