Lección 1 Introducción a los Lenguajes de Programación

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

5 Favorites

Lección 1 Introducción a los Lenguajes de Programación - Presentation Transcript

  1. INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN LECCIÓN 1
  2. introducción
    • El desarrollo de los Lenguajes de Programación (LP) ha sido impresionante a lo largo de los últimos 55 años, llegando a contar con más de 2500 documentados y clasificados
    • El primer lenguaje de programación reconocido como tal es el FORTRAN , el cual surge en 1957 de la mano de un equipo liderado por John Backus.
    • Luego surgirían, entre otros: Algol , Basic , C , Pascal , Scheme , C++ , Mathematica , HTML
    • Que son los que han influenciado el estado actual de los lenguajes que predominan actualmente: C# , VB.NET , Java , PHP , Perl , Python , XHTML , entre otros.
  3. tipos de lenguajes de programación
    • Una computadora no es capaz por si sola de realizar alguna tarea , ella necesita recibir instrucciones para efectuarla.
    • Los LPs surgen para facilitar la programación , de manera que permitan al usuario crear programas que serán entendidos por el ordenador (directa o indirectamente) con el objetivo de realizar alguna tarea .
    • Programar es plantear la solución a un problema computacional mediante un LP, en donde el LP es la herramienta que permite expresar nuestra solución.
  4. tipos de lenguajes de programación (2)
    • A grandes rasgos podemos clasificar los lenguajes de programación en tres categorías :
      • máquina
      • bajo nivel
      • alto nivel.
  5. lenguajes de máquina
    • Los lenguajes máquina son aquellos cuyas instrucciones son directamente entendibles por el ordenador sin la necesidad de traducción alguna.
    • Sus instrucciones son hileras de unos y ceros ( bits ). Estas especifican la operación a realizar, los registros del procesador y celdas de memoria implicadas, etc.
    • A continuación se presenta un ejemplo de una instrucción en lenguaje máquina para un microcontrolador de la arquitectura 8051 de INTEL.
  6. lenguajes de máquina (2)
    • 00101001
    • La instrucción es la suma de dos registros (A y R1).
    • Este es el tipo de lenguaje que “ comprende ” un ordenador, pero obviamente resulta muy difícil de entender para el hombre.
  7. lenguajes de máquina (2)
    • 00101001
    • 11001011
    • 00111100
    • 01011100
    • 11001101
    • 11011011
    • 11011010
  8. lenguajes de bajo nivel
    • Estos son generalmente dependientes de la máquina , es decir, dependen de un conjunto de instrucciones específicas del ordenador.
    • Generalmente al lenguaje de bajo nivel se le conoce como ensamblador o assembler y es específico para cada tipo de procesador. En este, las instrucciones se escriben en códigos alfabéticos conocidos como nemotécnicos (generalmente abreviaturas de palabras inglesas).
    • A continuación se presenta el mismo ejemplo de lenguaje máquina , pero en lenguaje de bajo nivel .
  9. lenguajes de bajo nivel (2)
    • ADD A,R1
    • Cabe resaltar que el lenguaje máquina y el lenguaje de bajo nivel se hayan intrínsecamente relacionados , pues una línea de código de bajo nivel corresponde a una forma organizada de ceros y unos.
  10. lenguajes de bajo nivel (2)
    • CLRF PORTA
    • MOVLW 0x00
    • MOVWF TRISA
    • MOVLW 0X07
    • MOVWF ADCON1
    • CLRF PORTB
    • MOVLW 0xFF
  11. lenguajes de alto nivel
    • Los lenguajes de alto nivel son aquellos en los que las instrucciones o sentencias son escritas con palabras similares a los de los lenguajes humanos (en la mayoría de los casos, el inglés ).
    • Existen muchos lenguajes de alto nivel (como se expuso anteriormente en su historia), por citar algunos: Basic , Fortran , C , Pascal , Java .
    • A continuación se presenta un ejemplo de la suma de dos variables en un lenguaje de alto nivel: C
  12. lenguajes de alto nivel (2)
    • a = a + r1
    • Miremos un ejemplo de una línea de código escrita en Pascal:
    • if (x=y) and (z=w) then write (‘Esto es una prueba’)
    • Si se tienen conocimientos mínimos de inglés, esta línea tiene una comprensión muy fácil: “ Si el contenido de x es igual al de y , y el contenido de z es igua l al de w , entonces escribe Esto es una prueba ”
  13. lenguajes de alto nivel (3)
    • Los lenguajes escritos en lenguaje de alto nivel no son entendibles directamente por la máquina , necesitan ser traducidos a instrucciones en lenguaje máquina que entiendan los ordenadores.
    • Los programas que realizan esta traducción se llaman compiladores , y los programas escritos en lenguaje de alto nivel se les conocen como programa fuente .
  14. lenguajes de alto nivel (3)
    • #include <stdio.h>
    • #include <conio.h>
    • int main(int)
    • {
    • int a,b;
    • scanf(“%i”,a);
    • b=a+5;
    • printf(“%i”,b);
    • return 0;
    • }
  15. INTRODUCCIÓN A LA PROGRAMACIÓN LECCIÓN 1
  16. introducción a la programación
    • Programar una computadora es decirle que hacer y nada más, el resto es el mecanismo para decírselo.
    • Estos mecanismos se escogen porque son:
      • Fáciles de entender para programadores
      • Conveniente para la computadora
    • La primera “cosa” dificil de programar es aprender , estar cómodo y aceptar los mecanismos, ya sea que nos hagan o no sentido.
  17. introducción a la programación (2)
    • Programar no es fácil , pero no por la razones que se asumen normalmente:
      • Programación no es una materia teórica como Física o Matemática
      • No se necesita un grado avanzado para hacerlo
      • No se requiere talento o habilidad innata como la gimnasia, pintura o canto
      • Sin embargo se requiere cuidado , atención y artesanía (como la carpintería)
  18. introducción a la programación (3)
    • Algunas cosas necesarias son:
      • Atención al detalle
      • Estupidez
      • Buena memoria
      • Habilidad de pensar abstractamente (y en varios niveles)
  19. atención al detalle
    • En programación, los detalles importan
    • Los computadores son estúpidos
      • No se puede ser vago
      • No se puede describir el programa ¾ y luego decir “el sabe lo que quiero hacer” y dejar que el compilador haga el resto
      • Hay que puntear la ies y cruzar las tes
      • Si el lenguaje dice que hay que declarar variables antes de usarlas, hay que hacerlo
      • Si el lenguaje dice que hay que usar paréntesis aquí, y corchetes ahí y llaves allá, hay que hacerlo así
  20. estupidez
    • Los computadores son estúpidos : ellos hacen exactamente lo que les dice , no más, no menos.
    • Cuando se programa, ayuda “pensar” estupidamente como lo hace el computador, de manera que todo se pueda especificar con minucia .
    • No esperar que lo correcto va a pasar a menos que se diga.
  21. buena memoria
    • Hay muchas cosas para recordar mientras se programa:
      • La sintaxis del lenguaje
      • El set de funciones pre-escritas que están disponibles
      • Los parámetros de estas funciones
      • Variables y funciones que se han definido en el programa y como se están usando
      • Técnicas que se han usado o se han visto en el pasado que se pueden aplicar a nuevos problemas
      • “ Bugs ” que se han tenido en el pasado, que se pueden tratar de evitar o al menos reconocer por sus sintomas
    • Entre más de estos detalles se tengan en cuenta, más exitoso será programando.
  22. habilidad para abstraerse
    • La habilidad más importante en programación
    • Los computadores son uno de los sistemas más complejos que se han construido.
    • Si al programar hay que tener en cuenta cada aspecto del funcionamiento del computador a cada nivel , es casi imposible escribir un programa simple .
  23. habilidad para abstraerse (2)
    • Una de las técnicas más poderosas para manejar la complejidad de un sistema de software (o cualquier sistema complejo) es mentalmente dividirlo en procesos de “caja negra” que hacen tareas útiles pero que esconden algunos detalles de manera que no se piense en ellos a toda hora.
  24. habilidad para abstraerse (3)
    • La abstracción es vital
    • Un programa grande puede tener 100.000 , 1’000.000 o 10’000.000 de lineas de código
    • Si fuese necesario entender todo el código y al mismo tiempo entender el programa , éste sería imposible de escribir o entender.
    • Solo si se es posible pensar en pequeñas piezas isoladas se podrá trabajar con un programa grande.
  25. habilidad para abstraerse (4)
    • Aunque la abstracción es poderosa , no es automática, ni una cura para los problemas de organización .
    • Asumimos muchas cosas de funcionamiento, y las cosas funcionan bien solo mientras estas asunciones se mantengan.
    • Debemos recordar que podemos y que no podemos esperar de los procesos que llamamos para que hagan tareas
  26. habilidad para abstraerse (5)
    • Pensar en la mecánica de un diseño jerárquico , mientras se usa esa jerarquía para evitar tener que pensar en cada detalle en cada nivel a toda hora, es “pensar en varios niveles ”
  27. para ejercitar
    • Traer un informe en el que se escriba en la pantalla “ hola mundo ”, en los siguientes lenguajes:
      • Basic
      • C
      • C++
      • Java
      • Pascal
      • Perl
      • Phyton
  28. buen día

+ ocasasocasas, 2 years ago

custom

1947 views, 5 favs, 0 embeds more stats

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 1947
    • 1947 on SlideShare
    • 0 from embeds
  • Comments 1
  • Favorites 5
  • Downloads 0
Most viewed embeds

more

All embeds

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories