Lenguaje de P
Lenguaje de P
Lenguaje de P
Profesor: Integrantes:
Campos Argenis
Arcia Bryan
Hopp Erich
CONTENIDO
1. Lenguaje de Programación
1.1Definición 4
1.2Clasificación 4,5
1.3Características 6
1.4Tipos 6,7,8,
1.4Usos 8,9
5. Semántica (Ejemplos) 17
6. Procesos de compilación de un
programa en C. 18,19,20
8. Programación recursiva 21
8.1Metodología e implementación 22
9. Paradigmas.
9.1 ¿Qué es un paradigma? 22
9.2Paradigmas de la programación 23
9.3Tipos 23,24
9.4Ejemplos 24,25
CONCLUSIÓN 26
BIBLIOGRAFÍA 27
Los lenguajes de programación han sido desde siempre una herramienta importante
para el programador, sirven como puente de información, gracias a ellos se puede
traducir una secuencia de instrucciones del lenguaje natural a otro lenguaje, cercano a la
máquina.
Los lenguajes de programación están destinados a distintos ámbitos, cada uno de los
cuales responden a características propias del lenguaje y a que, estén orientados. Estos
han ido evolucionando significativamente con el tiempo, siendo cada uno mejor que el
anterior, enfocados a procesos muy concretos, su uso en la actualidad es bastante
amplio ya que están presentes en un sinfín de actividades frecuentemente en
nuestro diario vivir.
Con la llegada de la cuarta generación, en la década del 70, sería más que una
evolución al pasar del chip especializado para uso en la memoria y procesos lógicos, al
procesador de propósito general en un chip o microprocesador.
_Las acciones que debe tomar el software dependiendo de las circunstancias variables.
Por su nivel:
Por su jerarquización:
Por la programación:
Tipos y estructuras de datos: son muy útiles ya que organizan la información de acuerdo
a su tipo y en estructuras de datos convenientes. Los tipos y estructuras de datos
aumentan la confiabilidad ya que es posible el chequeo de tipos.
Lenguaje ensamblador
Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas
instrucciones más fáciles de entender.
Además, el lenguaje de alto nivel permite escribir códigos mediante idiomas
que conocemos (español, inglés, etc.) y luego, para ser ejecutados, se traduce al
lenguaje de máquina mediante traductores o compiladores.
Traductor.
• Java: es uno de los lenguajes favoritos ya que permite construir programas que
gestionan la memoria del dispositivo donde reside la aplicación, como por
ejemplo herramientas, juegos y apps. Es utilizado en dispositivos móviles,
aparatos de televisión y computadores personales. Suele ser asociado a Java
Script, que es otro tipo de lenguaje para crear pequeños programas encargados
de realizar acciones dentro de páginas webs, como por ejemplo crear efectos
especiales o para definir la interactividad con los usuarios.
Un Lenguaje de programación sirve, en primer lugar, para poder programar. Dado que
existen muchos lenguajes de programación distintos, podríamos sacar en conclusión que
cada uno sirve para algo diferente, y es más o menos así. Por ejemplo, HTML y
JavaScript son lenguajes que se usan en el campo del desarrollo y diseño web, junto con
CSS. Sin embargo, C y C++ son algo enfocado completamente al desarrollo de
software.
Hay más casos, pero todos tienen el mismo objetivo. Así, desde una perspectiva
empresarial, el lenguaje es lo que hace que el programador pueda hacer funcionar una
web y construirla desde cero, o desarrollar una app para iOS y Android.
Los lenguajes de programación tienen muchos usos. Los hay para aplicaciones muy
específicas y de propósito general.
Joseph Marie Jacquard fue el inventor del telar programable. Este inventor francés es
el responsable de la programación. No es el inventor de la misma, ya que las cosas han
cambiado mucho desde entonces, pero está claro que creó el primer sistema de
instrucciones para un ''computador''.
Y es que, sus tarjetas programables se introducían en un telar que leía el código, las
instrucciones, de dichas tarjetas y automatizaba procesos. Evidentemente, se trataba de
crear diferentes diseños en tejidos, pero esto permitió que cualquiera con el telar y las
tarjetas perforadas crearan estos diseños sin ser expertos en la materia.
Se estima que este fue el primer lenguaje de programación, ya que estas tarjetas
perforadas se utilizaron en las primeras máquinas computacionales creadas por Charles
Babbage, y posteriormente por los primeros ordenadores.
Entre 1842 y 1843, Ada Lovelace se propuso traducir las memorias del matemático
italiano Luigi Menabrea y, mientras lo hacía, creó un lenguaje de programación a mano
para calcular la serie de números de Bernoulli con la máquina de Babbage.
Tras Fortran como primer compilador, llegó COBOL como la culminación de varios
otros sistemas de programación. El objetivo era crear un lenguaje de programación
universal que pudiera ser usado en cualquier ordenador.
No estaba mal pensado, ya que en los años 60 había distintos ordenadores que no eran
compatibles entre sí, y de esta manera las empresas podían fichar talentos sin tener que
enseñar cómo usar los compiladores y diferentes lenguajes que se usaban en sus
empresas, si es que eran distintos.
1970, Pascal
Niklaus Wirth fue un profesor que creó Pascal como, igual que BASIC, herramienta
de enseñanza de programación, pero pronto trascendó como lenguaje de programación
para crear todo tipo de aplicaciones. De hecho, aunque hoy se sigue usando, su
presencia en aplicaciones es menor, pero sí se ve en escuelas de programación junto al
compilador Free Pascal.
1972, llega C
C fue creado por Dennis Ritchie como un lenguaje de programación en el que solo
unas pocas instrucciones pueden traducir cada elemento del lenguaje. C se usó como
intermediario entre lenguajes, ya que era un lenguaje de bajo nivel, pero con el tiempo,
este lenguaje de programadores para programadores se ha utilizado en todo tipo de
software, y ha sido la base de otros lenguajes de programación que se utilizan
muchísimo en la actualidad.
Y C++ en 1979
C++ es uno de los lenguajes de programación más utilizados... para todo. La intención
de Bjarne Stroustrup fue la de extender al lenguaje de programación C mecanismos para
manipular objetos. Un punto clave en la historia de los lenguajes de programación.
En 1991 surgieron Python, Visual Basic y HTML, dos lenguajes que han definido las
páginas web y HTML, un lenguaje de marcado de hipertexto que es el ''código'' de
Internet.
En 1995 nacieron Java, JavaScript y PHP, otros tres de los lenguajes que han definido
la manera en la que entendemos el mundo debido a que, básicamente, están presentes en
el 50% de las páginas web y en muchísimas aplicaciones. Aunque se ha intentado dejar
de lado a favor de nuevos lenguajes, tanto Java como JavaScript siguen siendo
importantísimos.
2001 y C#
Scratch en 2006
Go también es conocido como Goland y es un, nada más y nada menos que, un
lenguaje de programación diseñado por Google. Está inspirado en C, pero es un
lenguaje bastante más complicado.
Programación Kotlin
Kotlin, en 2012
Kotlin es uno de los lenguajes de programación de moda no por ser el más fácil, sino
porque Google lo ha ''marcado'' como el mejor lenguaje de programación para Android.
Fue en el Google I/O de hace unas semanas cuando los de Mountain View echaron
una mano a JetBrains, desarrolladores de Kotlin, afirmando que Android será cada vez
más Kotlin y, por tanto, dando más facilidades para los desarrolladores que trabajen con
dicho lenguaje.
Swift, en 2013
Aunque hay lenguajes que nos hemos dejado en el tintero, estos son algunos de los
momentos clave en la historia de la programación. Ahora solo queda ver qué surge a
partir de ahora.
2. Análisis de la solución.
3. Diseño de la solución.
4. Codificación.
5. Prueba y depuración.
6. Documentación.
7. Mantenimiento.
- Trata de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea de
encontrar un error.
- Sospechar de todos los resultados que arroje la solución, con lo cual se deberán
verificar todos.
La depuración consiste en eliminar los errores que se hayan detectado durante la prueba,
para dar paso a una situación adecuada y sin errores.
6. Documentación: Es la guía o comunicación escrita que sirve como ayuda para usar el
programa, o facilitar futuras modificaciones. A menudo, un programa escrito por una
persona es usado por muchas otras, por ello la documentación es muy importante; esta
debe presentarse en tres formas: EXTERNA, INTERNA y al USUARIO FINAL.
-Interna: Consiste en los comentarios o mensajes que se agregan al código de programa,
que aplican las funciones que realizan ciertos procesos, cálculos o formulas, para el
entendimiento del mismo.
-Externa: Está integrada por los siguientes elementos: Descripción del problema,
nombre del autor, diagrama de flujo y/o pseudocódigo, listas de variables y constantes,
y codificación del programa, esto con la finalidad de permitir su posterior adecuación a
los cambios.
Se define como el conjunto de reglas que deben seguirse al escribir el código fuente
de los programas para considerarse como correctos para ese lenguaje de programación.
La sintaxis se refiere a las formas y estructura que debe tener un lenguaje para su
correcta interpretación. Está formado por un conjunto de reglas básicas que debemos
tener en cuenta a la hora de escribirlo. Este concepto se aplica a situaciones de la vida
cotidiana, como al escribir una oración o una frase, o en el simple hecho de hablar.
Debemos expresar lo que queremos con una sintaxis adecuada para que terceras
personas puedan entender de manera sencilla y correcta lo que queremos decir.
Por otra parte, hay algunos lenguajes de programación que son más gráficos en su
naturaleza y utilizan relaciones visuales entre símbolos para especificar un programa.
Conjunto de Caracteres
Identificadores
Operadores
_Relacionales
_Lógicos
Palabra clave: identificador usado como parte fija de la sintaxis de una sentencia
Palabra reservada: palabra clave que no puede ser usada como identificador.
Espacios en Blanco
Delimitadores
Es un elemento sintáctico para marcar el comienzo y/o el fin de una unidad sintáctica
Ejemplo BEGIN
....
END
_Realza la lectura
_Elimina ambigüedades
Una sintaxis es libre si las sentencias del programa se pueden escribir en cualquier
parte de una línea sin observar la posición o salto de línea. Ejemplo Pascal
Hay distintas formas para escribir una expresión: infija, prefija, postfija (inorden,
preorden, postorden).
Sentencias
La semántica es el campo que tiene que ver con el estudio riguroso desde un punto
de vista matemático del significado de los lenguajes de programación. Esto se hace
evaluando el significado de cadenas sintácticamente legales definidas por un lenguaje
de programación específico, mostrando el proceso computacional involucrado. En el
caso de que la evaluación fuera de cadenas sintácticamente ilegales, el resultado sería
no-cómputo. La semántica describe el proceso que una computadora sigue cuando
ejecuta un programa en ese lenguaje específico. Esto se puede mostrar describiendo la
relación entre la entrada y la salida de un programa, o una explicación de cómo el
programa se ejecutará en cierta plataforma, y consecuentemente creando un modelo de
computación.
2) x := x + y; (Pascal)
3) x = x + y (BASIC, Fortran)
En general, las tres operaciones lo que hacen (semántica) es sumar Y con X y almacenar
el resultado en X.
La compilación de un programa en C implica tres pasos:
Preprocesamiento.
Después de todo esto, el preprocesador produce una salida única que es una secuencia
de tokens resultantes de las transformaciones descritas anteriormente. También agrega
algunos marcadores especiales que le dicen al compilador de dónde proviene cada línea
para que pueda usarlos para producir mensajes de error razonables.
Algunos errores pueden producirse en esta etapa con un uso inteligente de las
directivas #if y #error.
Compilación.
Los archivos de objetos pueden referirse a símbolos que no están definidos. Este es el
caso cuando usa una declaración y no proporciona una definición para ella. Al
compilador no le importa esto, y felizmente producirá el archivo de objeto siempre que
el código fuente esté bien formado.
Es en esta etapa que se informan los errores \”regulares\” del compilador, como los
errores de sintaxis o los errores de resolución de sobrecarga fallidos.
Enlace
Uso de bibliotecas
Esto no significa que C sea un lenguaje pobre. Todas estas funciones se incorporan a
través de un amplio conjunto de bibliotecas que no forman parte, hablando propiamente,
del lenguaje de programación. No obstante, como indicamos anteriormente, algunas
bibliotecas se enlazan automáticamente al generar un programa ejecutable, lo que
induce al error de pensar que, por ejemplo, printf() es una función propia del lenguaje C.
Un 'módulo' es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos
módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar.
En caso de que un módulo necesite de otro, puede comunicarse con éste mediante una
interfaz de comunicación que también debe estar bien definida.
Si bien un módulo puede entenderse como una parte de un programa en cualquiera de
sus formas y variados contextos, en la práctica se los suele tomar como sinónimos de
procedimientos y funciones. Pero no necesaria ni estrictamente un módulo es una
función o un procedimiento, ya que el mismo puede contener muchos de ellos. No debe
confundirse el término "módulo" (en el sentido de programación modular) con términos
como "función" o "procedimiento", propios del lenguaje que lo soporte.
Implementación: Cada módulo tiene una interfaz, esto es, una definición de lo que
realiza y cuál es la forma de invocar a sus servicios. Por ejemplo, la interfaz de un
módulo puede venir en forma de un conjunto de subrutinas, cada una especificando
cuántos parámetros necesita y de qué tipo son.
3.- Paradigma de programación Funcional: Los programas funcionales son aquellos que
tienen como objetivo principal el uso de funciones matemáticas puras. El modelo
funcional es muy parecido a una calculadora, el usuario introduce una expresión inicial
y es evaluada por el lenguaje. En este modelo el programador utiliza definiciones de
funciones para obtener un valor irreductible. El modelo funcional se caracteriza por
utilizar funciones de orden superior, sistemas de inferencia de tipos, polimorfismo,
listas por comprehensión y evaluación perezosa.
4.- Paradigma de programación Lógica: Los programas que podemos clasificar como
lógicos, son aquellos que están basados en premisas (hechos) y que a partir de esas
reglas (supuestos verdaderos), el programa nos retorna un valor verdadero. Con este
paradigma de programación, es muy sencillo modelar un programa, basado en lógica
matemática. Además se puede escribir código más legible y eficiente, lo que hace más
sencilla la tarea de dar mantenimiento al programa.
Fibonacci en C:
if (n == 0 || n == 1 )
return n;
Fibonacci en Haskell:
fibonacci 0 = 0
fibonacci 1 = 1
Fibonacci en Prolog:
fibonacci (0,0).
fibonacci (1,1).
fibonacci (N, F) :-
N > 1,
N2 is N - 2, fibonacci ( N2 , F2 ),
N1 is N - 1, fibonacci ( N1 , F1 ),
F is F1 + F2
Fibonacci en Java:
if ( n == 0 || n == 1)
f = n;
else if ( n > 1 )
f = fibonacci ( n - 1 ) + fibonacci ( n - 2 );
return f;
Los lenguajes de programación permiten generar códigos sencillos y
comprensibles debido a la naturalidad de alguno de ellos, desde la creación del primer
lenguaje de programación han ido evolucionando y tomando como base de estudio
los primeros lenguajes para así realizar mejoras a la creación de posteriores.
2. Análisis de la solución.
3. Diseño de la solución.
4. Codificación.
5. Prueba y depuración.
6. Documentación.
7. Mantenimiento.
http://conogasi.org/articulos/lenguaje-de-programacion/
https://es.ccm.net/contents/304-lenguajes-de-programacion
https://www.caracteristicass.de/lenguajes-de-programacion/
http://pasossoluciondeproblemas.blogspot.com/
https://colombiadigital.net/actualidad/articulos-informativos/item/7669-lenguajes-de-
programacion-que-son-y-para-que-sirven
https://picandocodigo.net/2008/recursividad-en-programacion/
https://www.preceden.com/timelines/310321-evoluci-n-de-los-lenguajes-de-
programacion
https://parceladigital.com/2016/04/20/la-evolucion-de-los-lenguajes-de-
programacion
https://computerhoy.com/reportajes/tecnologia/historia-lenguajes-programacion-
428041
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/El_proceso_de_compilaci%
C3%B3n
https://es.wikipedia.org/wiki/Programaci%C3%B3n_modular
http://sopa.dis.ulpgc.es/diplomatura/practicas9798/modular2.html
http://teleformacion.edu.aytolacoruna.es/PASCAL/document/modular.htm#procedimien
tos
https://es.wikipedia.org/wiki/Recursi%C3%B3n_(ciencias_de_computaci%C3%B3n)#E
structuras_de_datos_recursivo_(recursi%C3%B3n_estructural)
http://webdelprofesor.ula.ve/nucleotrujillo/jalejandro/Prog2/Unidad3.pdf
https://neoattack.com/neowiki/lenguaje-de-programacion/
https://www.nextu.com/blog/generaciones-de-las-computadoras/