UNIVERSIDAD DE PANAMA 
PROGRAMACION I 
SEMANA Nº 2 
INTRODUCCIÓN A LOS LENGUAJES DE 
PROGRAMACIÓN 
¿Qué es un lenguaje? Conjunto de símbolos y palabras 
(vocabulario o léxico) y conjunto de reglas (sintaxis y 
semántica) que permiten agrupar los símbolos para 
formar las frases del lenguaje. 
¿De programación? Que sirve para especificar 
algoritmos sobre un ordenador. Un programa se escribe 
como una secuencia de frases del lenguaje. Un lenguaje 
de programación viene definido por un léxico, una 
sintaxis y una semántica 
1- Léxico 
Conjunto de símbolos que se pueden usar en un 
lenguaje. Estos símbolos o elementos básicos del 
lenguaje, podrán ser de los siguientes: 
• Identificadores: nombres simbólicos que se darán a 
ciertos elementos de programación (p.e. nombres de 
variables, tipos, módulos, etc.). 
• Constantes: datos que no cambiarán su valor a lo 
largo del programa. 
• Operadores: símbolos que representarán operaciones 
entre variables y constantes. 
• Instrucciones: símbolos especiales que representarán 
estructuras de procesamiento, y de definición de 
elementos de programación. 
• Comentarios: texto que se usará para documentar los 
programas 
2 – Sintaxis 
Consta de unas definiciones, denominadas reglas 
sintácticas o producciones que especifican la secuencia 
de símbolos que forman una frase del lenguaje. Estas 
reglas dicen si una frase está bien escrita o no. 
3- Semántica 
Define el significado de las construcciones sintácticas 
del lenguaje y de las expresiones y tipos de datos 
utilizadas. 
LENGUAJES DE BAJO NIVEL Y LENGUAJES DE ALTO 
NIVEL. 
Los lenguajes de programación se pueden clasificar en 
lenguajes de bajo y alto nivel dependiendo de lo 
cercanos o lejanos que estén de la arquitectura de la 
máquina en la que van a funcionar. 
1- Lenguajes de bajo nivel: 
• Están basados directamente en la máquina de 
Von Neumann, por lo que están a un nivel muy 
cercano a la máquina. 
• Las instrucciones del lenguaje son las 
instrucciones del microprocesador del 
ordenador, que normalmente son demasiado 
simples. 
• Es exclusivo de cada ordenador. 
• Es difícil y costoso de programar. 
En lenguajes de bajo nivel distinguimos entre lenguaje 
máquina y lenguaje ensamblador. 
a-Lenguaje máquina: 
 ƒ Instrucciones reconocidas por los circuitos del 
procesador. 
 ƒ Se codifican en binario. 
 ƒ Los datos se referencian por su posición de 
memoria. 
b- Lenguaje ensamblador: 
 ƒ Codificación mnemotécnica del lenguaje 
máquina. 
 ƒ Necesita un traductor. 
 ƒ Se pueden utilizar etiquetas en vez de 
posiciones de memoria. 
2- Lenguajes de alto nivel: 
• Están basados en máquinas abstractas, que facilitan la 
comprensión por personas. 
TEMA Nº 1 INF-102 Página 1
• Instrucciones más flexibles y potentes. 
• Necesita un traductor para convertir el programa a 
lenguaje máquina, que es el que entiende el ordenador. 
• No depende del procesador, por lo que el mismo 
programa sirve para diferentes ordenadores. Al tener 
que traducirlo, es más lento e ineficiente que el 
lenguaje de bajo nivel. 
2.1 Clasificación de los lenguajes de alto nivel 
A- Paradigmas de programación. 
Por paradigma de programación se entiende una 
“filosofía” de programar, es decir, los lenguajes que 
utilizan un mismo paradigma de programación utilizarán 
los mismos conceptos básicos para programar. Se 
pueden definir cuatro tipos fundamentales: 
- Imperativos 
- Orientados a objetos 
Procedurales: describen los 
pasos a seguir para 
encontrar la solución 
- Funcionales 
- Lógicos 
Declarativos, describen el 
problema a solucionar 
Imperativos: La unidad de trabajo es la sentencia 
(acción). Pascal, C. 
Orientados a Objetos: La unidad de trabajo es el objeto. 
Agrupa las estructuras de datos con sus algoritmos. 
Smalltalk. 
Funcionales: La unidad es la función. Consiste en 
combinar funciones para conseguir funciones más 
complejas hasta llegar a la función que es el programa. 
Lisp. Basado en el Cálculo Lambda. 
Lógicos: Se especifican los hechos y las propiedades que 
especifican el problema. El sistema utiliza esa 
información para encontrar la solución. Prolog. Basado 
en la Lógica de predicados 
2.2 Clasificación de lenguajes según la administración de 
memoria 
Estáticos: Los requisitos de memoria del programa se 
pueden calcular antes de ejecutar el programa. No 
permiten recursividad. Fortran, Cobol. 
Basados en pila: Se calculan los requisitos de memoria 
generales del programa antes de ejecutarlo. El resto de 
la memoria necesaria durante la ejecución del programa 
se utiliza en forma de pila. Algol 60. Fija Pila 
Dinámicos: No se puede saber a priori la cantidad de 
memoria que utilizará el programa. El programa puede 
crear y destruir estructuras de datos en cualquier lugar 
del programa. Prolog, Lisp. C++ es un lenguaje 
principalmente basado en pila, pero que también tiene 
características dinámicas. 
Otras clasificaciones 
Por la forma en que se pasa a lenguaje máquina. 
• Lenguajes compilados → C, Pascal, C++,... 
• Lenguajes interpretados → BASIC 
Por el objetivo principal de los programas escritos en el 
lenguaje. 
• Lenguajes de propósito general → C, Delphi... 
• Lenguajes para la enseñanza → Logo, Pascal, Modula, 
BASIC... 
• Lenguajes para cálculo científico → Fortran, Matlab, 
Mathematica, Maple... 
• Lenguajes para gestión → Cobol... 
• Lenguajes para la gestión de bases de datos → System 
Query Languages (SQL) Informix... 
• Lenguajes de inteligencia artificial → Prolog, Lisp... 
• Programación multiplataforma e internet → Java 
TRADUCTORES E INTÉRPRETES. 
Para que un procesador ejecute un programa escrito en 
un lenguaje de alto nivel es necesario que lo transforme 
a su equivalente en lenguaje máquina. Para ello existen 
dos posibilidades, la interpretación y la traducción. 
a- Interpretación: 
Un intérprete traduce y ejecuta sentencia a sentencia el 
programa original (programa fuente.)Programa fuente 
Intérprete 
TEMA Nº 1 INF-102 Página 2
b- Traducción: 
Traduce el programa original en un programa escrito en 
lenguaje máquina. Existen dos tipos de traductores: 
• Ensamblador: Cuando el lenguaje fuente es 
ensamblador. 
• Compilador: Cuando el lenguaje fuente es de alto 
nivel. 
Comparación compiladores-intérpretes: 
• Un intérprete puede ejecutar un programa 
directamente, incluso sin estar completo. Un 
compilador ha de traducirlo completamente antes de 
ejecutarlo. 
• Un programa interpretado ocupa poca memoria. 
• Un programa compilado es más rápido. 
• El compilador crea un ejecutable independiente del 
propio compilador. Un programa interpretado necesita 
siempre su intérprete. 
Actualmente casi todos los lenguajes son compilados o 
una mezcla entre los dos (Prolog, Java.) 
Fases del proceso de compilación: 
• Análisis léxico: Identificación de palabras y símbolos 
del lenguaje. 
• Análisis sintáctico: Comprobación de las reglas 
sintácticas. 
• Análisis semántico: Comprobación de las reglas 
semánticas (variables no declaradas, comprobación de 
tipos, …). Interpretación de las órdenes. 
• Optimización: Análisis del programa para mejorarlo 
(en velocidad, en espacio de memoria) 
Tipos de errores: 
• Errores de compilación: Los producidos en la fase de 
compilación o interpretación de un programa, es decir, 
cuando no se cumplen las reglas sintácticas o 
semánticas. 
• Errores de ejecución: Los producidos durante la 
ejecución del programa. Estos mensajes de error no son 
producidos por el compilador, sino por una porción de 
código que el compilador añade al programa. 
• Errores lógicos: Cuando el programa no da ningún 
error pero los resultados no son los esperados. Puede 
ser porque el algoritmo ha sido incorrectamente 
implementado o porque el algoritmo estaba mal hecho. 
ACTIVIDADES 
Objetivo: 
Analiza los conceptos principales sobre lenguajes de 
programación y sus componentes. 
1- Lea de forma analítica el documento 
confeccione un mapa conceptual que abarque 
todo el tema. 
2- Investigue la historia y evolución de los 
lenguajes de programación. 
a. Forma grupos de cinco estudiantes. 
b. Investiga a profundidad el tema 
c. Selecciona elementos importantes 
d. Confecciona power point 
e. Sustenta próxima clase. 
Criterios a evaluar 
1- Presentación personal 
2- Introducción 
3- Contenido 
4- Ilustraciones 
5- Diseño colores (sobrios) 
6- Puntualidad 
7- Profundidad del tema 
8- Dominio del tema 
9- Conclusiones 
10- Preguntas 
FECHA DE ENTREGA DEL MAPA 
22 DE AGOSTO DE 2013 
FECHA DE ENTREGA DEL POWER POINT 
Y SUSTENTACION 26 Y 28 DE AGOSTO 
TEMA Nº 1 INF-102 Página 3

Más contenido relacionado

DOCX
SILABO INF.102
DOCX
Actividad 1
DOCX
Actividad 2
PDF
Programación en Lenguajes Estructurados 2012. Parte II
DOCX
Planificacion Programacion 2
DOCX
Plan clase
PDF
Plan de clase
PDF
Cpex fundamentos de programacion semana 1
SILABO INF.102
Actividad 1
Actividad 2
Programación en Lenguajes Estructurados 2012. Parte II
Planificacion Programacion 2
Plan clase
Plan de clase
Cpex fundamentos de programacion semana 1

La actualidad más candente (20)

DOCX
Software educativos del nivel básico
PDF
Semana 1 guia1 - fundamentos de programacion
PDF
Iccm 255
PDF
167500416 00-programacion-en-lenguaje-estructurado-1ero
PPTX
Presentación2
PPTX
Sofware educativo
DOCX
Plan Unidades
DOCX
Plan anual didactico
DOC
Silabo fundamentos programación
PPT
software educativo
PPTX
PDF
Cc414 taller programacion_concurrente_distribuida
PDF
Silabo lógica de programación
PDF
Jcf iind 2010-227 algoritmos y lenguajes de programacion
PPTX
Software educativo
DOC
Programacion visual I
DOC
Fundamentos de programacion
DOCX
Paradigmas de programación
Software educativos del nivel básico
Semana 1 guia1 - fundamentos de programacion
Iccm 255
167500416 00-programacion-en-lenguaje-estructurado-1ero
Presentación2
Sofware educativo
Plan Unidades
Plan anual didactico
Silabo fundamentos programación
software educativo
Cc414 taller programacion_concurrente_distribuida
Silabo lógica de programación
Jcf iind 2010-227 algoritmos y lenguajes de programacion
Software educativo
Programacion visual I
Fundamentos de programacion
Paradigmas de programación
Publicidad

Similar a TEMA Nº 1 (20)

PDF
Lenguajes de programacion
PDF
Introduccion ensamblador
PDF
61 Tema 6 Software (2).pdfwwwwwwwwwwwwwwwwwwwwwwww
DOCX
LENGUAJE DE PROGRAMACION. INVESTIGACION
DOCX
Universidad de panam1.lenguaje de programación
PDF
Unidad-1.pptx.pdf
PDF
Unidad-1.pptx.pdf
PPT
El software de base. Sistemas operativos y lenguajes
PPTX
Clase 1 de introduccion a la programacion
PDF
Materia unidad compiladores
PPTX
Compilador e interpretador
PPT
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
PPT
Generacionlenguajes
DOC
Preguntas de diagnostico
PPT
Unidad 1-continacion
PPT
Unidad 1-continacion
PPT
Unidad 1-continacion
PDF
ingenieria de software
PPTX
Clases/Tipos de lenguajes de programación
Lenguajes de programacion
Introduccion ensamblador
61 Tema 6 Software (2).pdfwwwwwwwwwwwwwwwwwwwwwwww
LENGUAJE DE PROGRAMACION. INVESTIGACION
Universidad de panam1.lenguaje de programación
Unidad-1.pptx.pdf
Unidad-1.pptx.pdf
El software de base. Sistemas operativos y lenguajes
Clase 1 de introduccion a la programacion
Materia unidad compiladores
Compilador e interpretador
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
Generacionlenguajes
Preguntas de diagnostico
Unidad 1-continacion
Unidad 1-continacion
Unidad 1-continacion
ingenieria de software
Clases/Tipos de lenguajes de programación
Publicidad

Más de Marta Quintero (20)

PDF
Tic en la educacion
PPTX
TIC EN LA EDUCACIÓN
PDF
DOCX
Tema 1 inf-202
PPTX
Contenido
PDF
MATRICULA CTG 2020
PPSX
PDF
Resolucion 60 aprueba estrategia curricular priorizada
PDF
Normativas, lineamientos para restablecimiento del ano escolar 2020. rr
DOCX
Graduandos Vespertino
PPTX
Plataformas
PPSX
B2 tema 3
PPSX
Bloque 2 tema 1
PDF
Estructuras PseInt
PPTX
Herramientas para S.E.
DOCX
DOCX
Dosificacion
DOCX
Laboratorio 2
DOCX
DOCX
Agenda nº 1
Tic en la educacion
TIC EN LA EDUCACIÓN
Tema 1 inf-202
Contenido
MATRICULA CTG 2020
Resolucion 60 aprueba estrategia curricular priorizada
Normativas, lineamientos para restablecimiento del ano escolar 2020. rr
Graduandos Vespertino
Plataformas
B2 tema 3
Bloque 2 tema 1
Estructuras PseInt
Herramientas para S.E.
Dosificacion
Laboratorio 2
Agenda nº 1

TEMA Nº 1

  • 1. UNIVERSIDAD DE PANAMA PROGRAMACION I SEMANA Nº 2 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN ¿Qué es un lenguaje? Conjunto de símbolos y palabras (vocabulario o léxico) y conjunto de reglas (sintaxis y semántica) que permiten agrupar los símbolos para formar las frases del lenguaje. ¿De programación? Que sirve para especificar algoritmos sobre un ordenador. Un programa se escribe como una secuencia de frases del lenguaje. Un lenguaje de programación viene definido por un léxico, una sintaxis y una semántica 1- Léxico Conjunto de símbolos que se pueden usar en un lenguaje. Estos símbolos o elementos básicos del lenguaje, podrán ser de los siguientes: • Identificadores: nombres simbólicos que se darán a ciertos elementos de programación (p.e. nombres de variables, tipos, módulos, etc.). • Constantes: datos que no cambiarán su valor a lo largo del programa. • Operadores: símbolos que representarán operaciones entre variables y constantes. • Instrucciones: símbolos especiales que representarán estructuras de procesamiento, y de definición de elementos de programación. • Comentarios: texto que se usará para documentar los programas 2 – Sintaxis Consta de unas definiciones, denominadas reglas sintácticas o producciones que especifican la secuencia de símbolos que forman una frase del lenguaje. Estas reglas dicen si una frase está bien escrita o no. 3- Semántica Define el significado de las construcciones sintácticas del lenguaje y de las expresiones y tipos de datos utilizadas. LENGUAJES DE BAJO NIVEL Y LENGUAJES DE ALTO NIVEL. Los lenguajes de programación se pueden clasificar en lenguajes de bajo y alto nivel dependiendo de lo cercanos o lejanos que estén de la arquitectura de la máquina en la que van a funcionar. 1- Lenguajes de bajo nivel: • Están basados directamente en la máquina de Von Neumann, por lo que están a un nivel muy cercano a la máquina. • Las instrucciones del lenguaje son las instrucciones del microprocesador del ordenador, que normalmente son demasiado simples. • Es exclusivo de cada ordenador. • Es difícil y costoso de programar. En lenguajes de bajo nivel distinguimos entre lenguaje máquina y lenguaje ensamblador. a-Lenguaje máquina:  ƒ Instrucciones reconocidas por los circuitos del procesador.  ƒ Se codifican en binario.  ƒ Los datos se referencian por su posición de memoria. b- Lenguaje ensamblador:  ƒ Codificación mnemotécnica del lenguaje máquina.  ƒ Necesita un traductor.  ƒ Se pueden utilizar etiquetas en vez de posiciones de memoria. 2- Lenguajes de alto nivel: • Están basados en máquinas abstractas, que facilitan la comprensión por personas. TEMA Nº 1 INF-102 Página 1
  • 2. • Instrucciones más flexibles y potentes. • Necesita un traductor para convertir el programa a lenguaje máquina, que es el que entiende el ordenador. • No depende del procesador, por lo que el mismo programa sirve para diferentes ordenadores. Al tener que traducirlo, es más lento e ineficiente que el lenguaje de bajo nivel. 2.1 Clasificación de los lenguajes de alto nivel A- Paradigmas de programación. Por paradigma de programación se entiende una “filosofía” de programar, es decir, los lenguajes que utilizan un mismo paradigma de programación utilizarán los mismos conceptos básicos para programar. Se pueden definir cuatro tipos fundamentales: - Imperativos - Orientados a objetos Procedurales: describen los pasos a seguir para encontrar la solución - Funcionales - Lógicos Declarativos, describen el problema a solucionar Imperativos: La unidad de trabajo es la sentencia (acción). Pascal, C. Orientados a Objetos: La unidad de trabajo es el objeto. Agrupa las estructuras de datos con sus algoritmos. Smalltalk. Funcionales: La unidad es la función. Consiste en combinar funciones para conseguir funciones más complejas hasta llegar a la función que es el programa. Lisp. Basado en el Cálculo Lambda. Lógicos: Se especifican los hechos y las propiedades que especifican el problema. El sistema utiliza esa información para encontrar la solución. Prolog. Basado en la Lógica de predicados 2.2 Clasificación de lenguajes según la administración de memoria Estáticos: Los requisitos de memoria del programa se pueden calcular antes de ejecutar el programa. No permiten recursividad. Fortran, Cobol. Basados en pila: Se calculan los requisitos de memoria generales del programa antes de ejecutarlo. El resto de la memoria necesaria durante la ejecución del programa se utiliza en forma de pila. Algol 60. Fija Pila Dinámicos: No se puede saber a priori la cantidad de memoria que utilizará el programa. El programa puede crear y destruir estructuras de datos en cualquier lugar del programa. Prolog, Lisp. C++ es un lenguaje principalmente basado en pila, pero que también tiene características dinámicas. Otras clasificaciones Por la forma en que se pasa a lenguaje máquina. • Lenguajes compilados → C, Pascal, C++,... • Lenguajes interpretados → BASIC Por el objetivo principal de los programas escritos en el lenguaje. • Lenguajes de propósito general → C, Delphi... • Lenguajes para la enseñanza → Logo, Pascal, Modula, BASIC... • Lenguajes para cálculo científico → Fortran, Matlab, Mathematica, Maple... • Lenguajes para gestión → Cobol... • Lenguajes para la gestión de bases de datos → System Query Languages (SQL) Informix... • Lenguajes de inteligencia artificial → Prolog, Lisp... • Programación multiplataforma e internet → Java TRADUCTORES E INTÉRPRETES. Para que un procesador ejecute un programa escrito en un lenguaje de alto nivel es necesario que lo transforme a su equivalente en lenguaje máquina. Para ello existen dos posibilidades, la interpretación y la traducción. a- Interpretación: Un intérprete traduce y ejecuta sentencia a sentencia el programa original (programa fuente.)Programa fuente Intérprete TEMA Nº 1 INF-102 Página 2
  • 3. b- Traducción: Traduce el programa original en un programa escrito en lenguaje máquina. Existen dos tipos de traductores: • Ensamblador: Cuando el lenguaje fuente es ensamblador. • Compilador: Cuando el lenguaje fuente es de alto nivel. Comparación compiladores-intérpretes: • Un intérprete puede ejecutar un programa directamente, incluso sin estar completo. Un compilador ha de traducirlo completamente antes de ejecutarlo. • Un programa interpretado ocupa poca memoria. • Un programa compilado es más rápido. • El compilador crea un ejecutable independiente del propio compilador. Un programa interpretado necesita siempre su intérprete. Actualmente casi todos los lenguajes son compilados o una mezcla entre los dos (Prolog, Java.) Fases del proceso de compilación: • Análisis léxico: Identificación de palabras y símbolos del lenguaje. • Análisis sintáctico: Comprobación de las reglas sintácticas. • Análisis semántico: Comprobación de las reglas semánticas (variables no declaradas, comprobación de tipos, …). Interpretación de las órdenes. • Optimización: Análisis del programa para mejorarlo (en velocidad, en espacio de memoria) Tipos de errores: • Errores de compilación: Los producidos en la fase de compilación o interpretación de un programa, es decir, cuando no se cumplen las reglas sintácticas o semánticas. • Errores de ejecución: Los producidos durante la ejecución del programa. Estos mensajes de error no son producidos por el compilador, sino por una porción de código que el compilador añade al programa. • Errores lógicos: Cuando el programa no da ningún error pero los resultados no son los esperados. Puede ser porque el algoritmo ha sido incorrectamente implementado o porque el algoritmo estaba mal hecho. ACTIVIDADES Objetivo: Analiza los conceptos principales sobre lenguajes de programación y sus componentes. 1- Lea de forma analítica el documento confeccione un mapa conceptual que abarque todo el tema. 2- Investigue la historia y evolución de los lenguajes de programación. a. Forma grupos de cinco estudiantes. b. Investiga a profundidad el tema c. Selecciona elementos importantes d. Confecciona power point e. Sustenta próxima clase. Criterios a evaluar 1- Presentación personal 2- Introducción 3- Contenido 4- Ilustraciones 5- Diseño colores (sobrios) 6- Puntualidad 7- Profundidad del tema 8- Dominio del tema 9- Conclusiones 10- Preguntas FECHA DE ENTREGA DEL MAPA 22 DE AGOSTO DE 2013 FECHA DE ENTREGA DEL POWER POINT Y SUSTENTACION 26 Y 28 DE AGOSTO TEMA Nº 1 INF-102 Página 3