• Like
Introduccion a los lenguajes de programacion
Upcoming SlideShare
Loading in...5
×

Introduccion a los lenguajes de programacion

  • 148 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
148
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
2
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. MARIA GUADALUPE GARCIA TURRUBIATES4°A INFORMATICAINTRODUCCION A LOS LENGUAJES DEPROGRAMACIONLa solución de problemas mediante el uso de un computador nos lleva adesarrollar programas o aplicaciones, la construcción de estos programas debeser realizada mediante una metodología, los pasos para la construcción deprogramas son:1. Diseñar el algoritmo, consiste en analizar el problema y describir losinstrucciones de forma ordenada que resuelven el problema.2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.3. Ejecutar y validar el programa en un computador (verificación)Para codificar de forma sistemática un algoritmo se necesita de un lenguajeprogramación que la computadora comprenda.1. Historia:Charles Babbage, profesor de matemáticas en la universidad de Cambridge en losaños de 1828 a 1839. Puede ser considerado como el padre de las computadores,entre 1833 y 1842 Babbage intento construir una máquina que fuese programable,esta máquina lleva por nombre la maquina Analítica.El diseño se basaba en una máquina calculadora, controlada por una secuenciade instrucciones, con una unidad de proceso, una memoria central, facilidades deentrada y salida de datos, y posibilidades de control paso a paso, la secuencia deinstrucciones usaba tarjetas perforadasAda Augusta Byron (Lady Ada Lovelace), Condesa de Lovelace, matemática;colaboro con Babbage económicamente y promovió activamente la maquinaanalítica de Babbage.Lady Ada Lovelace escribió programas para la maquina analítica, estas primerasinstrucciones hacen de Ada Lovelace la primera programadora de computadorasen el mundo.
  • 2. MARIA GUADALUPE GARCIA TURRUBIATES4°A INFORMATICA2. ¿Qué es un lenguaje de programación?Un lenguaje de programación es una técnica estándar de comunicación quepermite expresar las instrucciones que han de ser ejecutadas en unacomputadora.Estas instrucciones permiten la construcción de programas con los cualespodemos realizar operación de entrada y salida, almacenamiento, cálculos y lógicade comparación.Un lenguaje de programación permite a un programador especificar de maneraprecisa: sobre qué datos una computadora debe operar, cómo deben ser estosalmacenados y transmitidos y qué acciones debe tomar bajo una variada gama decircunstancias. Todo esto, a través de un lenguaje que intenta estar relativamentepróximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico.3. Clasificación de los lenguajes deprogramación.Los lenguajes de programación son clasificados de muchas formas, dentro deestas se encuentran:3.1. Clasificación según nivel de abstracción.• Los lenguajes de bajo nivel:Son lenguajes de programación que se acercan al funcionamiento de unacomputadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina.A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador setrabajan con los registros de memoria de la computadora de forma directa. [1]• Lenguajes de medio nivel:Hay lenguajes de programación que son considerados por algunos expertos comolenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertascaracterísticas que los acercan a los lenguajes de bajo nivel pero teniendo, almismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano alhumano y, por tanto, de alto nivel.• Lenguajes de alto nivel:Los lenguajes de alto nivel son normalmente fáciles de aprender porque estánformados por elementos de lenguajes naturales, como el inglés.En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IFCONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadoraque pare si CONTADOR es igual a 10. Por desgracia para muchas personas estaforma de trabajar es un poco frustrante, dado que a pesar de que lascomputadoras parecen comprender un lenguaje natural, lo hacen en realidad deuna forma rígida y sistemática.
  • 3. MARIA GUADALUPE GARCIA TURRUBIATES4°A INFORMATICA3.2. Clasificación según su paradigma• Paradigma Imperativo:Describe la programación como una secuencia instrucciones o comandos quecambian el estado de un programa. El código máquina en general está basado enel paradigma imperativo. Su contrario es el paradigma declarativo. En esteparadigma se incluye el paradigma procedimental (procedural) entre otros.• Paradigma Declarativo:No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sinoque describe (declara) cómo es algo. En otras palabras, se enfoca en describir laspropiedades de la solución buscada, dejando indeterminado el algoritmo (conjuntode instrucciones) usado para encontrar esa solución. Es más complicado deimplementar que el paradigma imperativo, tiene desventajas en la eficiencia, peroventajas en la solución de determinados problemas.• Paradigma Estructurado:La programación estructurada se basa en una metodología de desarrollo deprogramas llamada refinamientos sucesivos: Se plantea una operación como untodo y se divide en segmentos más sencillos o de menor complejidad. Una vezterminado todos los segmentos del programa, se procede a unificar lasaplicaciones realizadas por el pool deProgramadores. Si se ha utilizado adecuadamente la programación estructurada,esta integración debe ser sencilla y no presentar problemas al integrar la misma, yde presentar algún problema, será rápidamente detectable para su corrección.La representación gráfica de la programación estructurada se realiza a través dediagramas de flujo o flow chart, el cual representa el programa con sus entradas,procesos y salidas.La programación estructurada propone segregar los procesos en estructuras lomás simple posibles, las cuales se conocen como secuencia, selección einteracción. Ellas están disponibles en todos los lenguajes modernos deprogramación imperativa en forma de sentencias. Combinando esquemassencillos se pueden llegar a construir sistemas amplios y complejos pero de fácilentendimiento.• Paradigma Orientado a Objetos:La programación orientada a objetos, intenta simular el mundo real a través delsignificado de objetos que contiene características y funciones. Los lenguajesorientados a objetos se clasifican como lenguajes de quinta generación. [4]En la Programación Orientada a Objetos (POO u OOP según siglas en inglés) sedefinen los programas en términos de "clases de objetos", objetos que sonentidades que combinan estado (es decir, datos) comportamiento (esto es,procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia delresto). La programación orientada a objetos expresa un programa como unconjunto de estos objetos, que colaboran entre
  • 4. MARIA GUADALUPE GARCIA TURRUBIATES4°A INFORMATICAEllos para realizar tareas. Esto permite hacer los programas módulos más fácilesde escribir, mantener y reutilizar.• Paradigma Funcional:Este paradigma concibe a la computación como la evaluación de funcionesmatemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié enla aplicación de las funciones y composición entre ellas, más que en los cambiosde estados y la ejecución secuencial de comandos (como lo hace el paradigmaprocedimental). Permite resolver ciertos problemas de forma elegante y loslenguajes puramente funcionales evitan los efectos secundarios comunes en otrotipo de programaciones.• Paradigma lógico:Se basa en la definición de reglas lógicas para luego, a través de un motor deinferencias lógicas, responder preguntas planteadas al sistema y así resolver losproblemas.3.3. Según la forma de ejecución• Lenguajes compilados:Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambiéntiene que traducirse a un código que pueda utilizar la máquina.Los programas traductores que pueden realizar esta operación se llamancompiladores. Éstos, como los programas ensambladores avanzados, puedengenerar muchas líneas de código de máquina por cada proposición del programafuente. Se requiere una corrida de compilación antes de procesar los datos de unproblema.Los compiladores son aquellos cuya función es traducir un programa escrito en undeterminado lenguaje a un idioma que la computadora entienda (lenguaje máquinacon código binario).Al usar un lenguaje compilado (como lo son los lenguajes del popular VisualStudio de Microsoft), el programa desarrollado nunca se ejecuta mientras hayaerrores, sino hasta que luego de haber compilado el programa, ya no aparecenerrores en el código.• Lenguajes interpretados:Se puede también utilizar una alternativa diferente de los compiladores paratraducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar enforma permanente el código objeto que se produce durante la corrida decompilación para utilizarlo en una corrida de producción futura, el programadorsólo carga el programa fuente en la computadora junto con los datos que se van aprocesar. A continuación, un programa intérprete, almacenado en el sistemaoperativo del disco, o incluido de manera permanente dentro de la máquina,convierte cada proposición del programa fuente en
  • 5. MARIA GUADALUPE GARCIA TURRUBIATES4°A INFORMATICAlenguaje de máquina conforme vaya siendo necesario durante el proceso de losdatos. No se graba el código objeto para utilizarlo posteriormente.La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez ytraducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo delos pasos de un ciclo, cada instrucción del ciclo tendrá que volver a serinterpretado cada vez que se ejecute el ciclo, lo cual hace que el programa seamás lento en tiempo de ejecución (porque se va revisando el código en tiempo deejecución) pero más rápido en tiempo de diseño (porque no se tiene que estarcompilando a cada momento el código completo). El intérprete elimina lanecesidad de realizar una corrida de compilación después de cada modificacióndel programa cuando se quiere agregar funciones o corregir errores; pero es obvioque un programa objeto compilado con antelación deberá ejecutarse con muchamayor rapidez que uno que se debe interpretar a cada paso durante una corridade producción.