Publicado el 7 de Febrero del 2020
386 visualizaciones desde el 7 de Febrero del 2020
500,7 KB
12 paginas
Creado hace 18a (24/10/2005)
Tema 3
¿Qué es un
Lenguaje de
Programación?
Conocimientos y Habilidades
Conocimientos y Habilidades
Después de este tema, el alumno debería ser capaz de:
Después de este tema, el alumno debería ser capaz de:
Tener una perspectiva de la evolución de los lenguajes de
Tener una perspectiva de la evolución de los lenguajes de
programación
programación
Distinguir entre lenguajes máquina, ensamblador y de alto nivel.
Distinguir entre lenguajes máquina, ensamblador y de alto nivel.
Comprender el proceso de creación de un programa
Comprender el proceso de creación de un programa
Distinguir las diferentes categorías de los lenguajes:
Distinguir las diferentes categorías de los lenguajes:
procedurales, orientado
procedurales,
especiales
especiales
objetos, funcionales,
orientado--aa--objetos,
funcionales, declarativos y
declarativos y
Módulo I: Conceptos Básicos
Módulo I: Conceptos Básicos
• Tema 1. ¿Qué es un ordenador?
• Tema 2. ¿Cómo se representan los datos en un
es un lenguaje de programacióón?n?
ordenador?
• Tema 3.
Tema 3. ¿¿QuQuéé es un lenguaje de programaci
• Tema 4. ¿Cómo se hace un programa informático?
• Tema 5. Tipos de datos y operadores básicos
• Tema 6. Sentencias de Control
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Cuestiones a resolver
Cuestiones a resolver
• ¿Qué es un programa informático?
• Evolución de los lenguajes de programación
• Categorías de los lenguajes
• Metodologías de programación
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
¿Qué es un programa
¿Qué es un programa
¿Qué es un programa
(informático)?
(informático)?
(informático)?
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
1
Algoritmo: conjunto de pasos para
de pasos para
Algoritmo: conjunto
resolver un problema
problema
resolver un
Programa: Es una colección de
: Es una colección de
Programa
instrucciones que indican al ordenador
al ordenador
instrucciones que indican
lolo que debe hacer.
que debe hacer.
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Muhammad ibn Musa al-Khwarizmi
800 - 847, Baghdad
EnEn los programas, los diferentes pasos
los programas, los diferentes pasos
de un algoritmo
de un
instrucciones, , sentencias
instrucciones
algoritmo se expresan como
se expresan como
sentencias o o
un programa consta
proposiciones. . un programa consta
proposiciones
de una secuencia de instrucciones.
de una secuencia de instrucciones.
Programación:: conjunto de
conjunto de
Programación
operaciones que conducen a expresar
operaciones que conducen a expresar
un algoritmo en forma de programa
programa
un algoritmo en forma de
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
de Programación: "idioma"
Lenguaje de Programación
: "idioma"
Lenguaje
utilizado para describir programas o
utilizado para describir programas o
secuencias de instrucciones
secuencias de instrucciones
Instrucciones Básicas
Instrucciones Básicas
Entrada/Salida: transferencia de información entre los
: transferencia de información entre los
Entrada/Salida
periféricos y la memoria central
periféricos y la memoria central
Aritmético--lógicas
Aritmético
lógicas: ejecutan operaciones aritméticas y lógicas
: ejecutan operaciones aritméticas y lógicas
Selectivas: permiten la selección de tareas alternativas en
: permiten la selección de tareas alternativas en
Selectivas
función de determinados resultados
función de determinados resultados
Repetitivas: permiten la repetición de secuencias de
: permiten la repetición de secuencias de
Repetitivas
instrucciones
instrucciones
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
2
Evolución de los lenguajes de
Evolución de los lenguajes de
programación
programación
Cuestiones a resolver
Cuestiones a resolver
• ¿Qué es un programa informático?
• Evolución de los lenguajes de programación
• Categorías de los lenguajes
• Metodologías de programación
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Programa 'hardware'
Programa 'hardware'
Programas en Tarjetas Perforadas
Programas en Tarjetas Perforadas
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Perforadora Eléctrica de Tarjetas
Perforadora Eléctrica de Tarjetas
Perforadas
Perforadas
Programadores de Tarjetas Perforadas
Programadores de Tarjetas Perforadas
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
3
Programas de Tarjetas Perforadas
Programas de Tarjetas Perforadas
Programas almacenados en memoria
Programas almacenados en memoria
Modelo A1: Calculadora Electrónica Programada con Tarjetas de IBM
(1954)
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Programa almacenado en memoria
Programa almacenado en memoria
Recuerda:
Recuerda:
El único lenguaje que entiende un
El único lenguaje que entiende un
ordenador es el lenguaje máquina
lenguaje máquina..
ordenador es el
00101000
10001011
00010001
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Lenguaje Máquina
Lenguaje Máquina
• Está escrito en lenguaje directamente inteligible por la máquina
• Utiliza el alfabeto binario (0 y 1), lo que permite programar con
secuencias de unos y ceros (código máquina)
• El conjunto de instrucciones depende de la máquina
• Ventajas: posibilidad de transferir un programa a la memoria sin
necesidad de traducción posterior mayor velocidad
•
Inconvenientes: dificultad en la codificación y depuración de los
programas; dependencia de la máquina
lenguaje máquina
lenguaje máquina
lenguaje máquina
lenguaje máquina
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
4
11111000
00000000
01011110
Programa 1
Programa 1
11
22
33
44
55
66
77
88
99
1010
1111
1212
1313
1414
1515
1616
11101111
11110100
00000011
11101111
01111110
11111000
00000110
11101111
Programa enen lenguaje máquina
lenguaje máquina
Programa
Lenguajes Simbólicos: ensamblador
Lenguajes Simbólicos: ensamblador
00000100
00001100
11101111
11101111
10101101
01100010
00000010
10101101
10100010
00000010
11110100
10101110
10100010
00000010
0000000000000000
11000010
00010110
10011110
11011111
11011111
11111011
11011111
11011111
11111011
10101101
11000101
11111011
11111011
00000100
00000100
0000000000000010
0000000000000101
0000000000001011
0000000000010010
0000000000010101
0000000000010111
0000000000011110
0000000000100001
0000000000100100
0000000000101011
0000000000110001
0000000000110100
0000000000111101
0000000000111101
• Cada instrucción equivale a una instrucción en
lenguaje de máquina
• Utiliza palabras mnemotécnicas en lugar de
cadenas o secuencias de bits. Ejemplo:
– ADD B,1 instrucción sumar
– MOV A,B instrucción asignar (mover)
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
ensamblador
ensamblador
lenguaje
lenguaje
ensamblador
ensamblador
Lenguajes Simbólicos: ensamblador
Lenguajes Simbólicos: ensamblador
• Necesita traducción
• Ventajas: mayo facilidad de codificación
•
Inconvenientes: dependencia de la máquina,
conocimiento del juego de instrucciones
lenguaje máquina
lenguaje máquina
Programa Fuente:
ensamblador
Programa
ENSAMBLADOR
Programa Objeto:
código máquina
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Programa almacenado en memoria
Programa almacenado en memoria
Programa enen lenguaje simbólico
lenguaje simbólico
Programa
^m<r2>
Entry
subl2
jsb
movab $CHAR_STRING_CON
main,
#12,sp
C$MAIN_ARGS
Programa 22
Programa
11
22
33
44
55
66
77
88
99
1010
1111
1212
1313
1414
1515
1616
pushal -8(fp)
(r2)
pushal
calls
#2,read
pushal -12(fp)
pushal 3(r2)
calls
mull3
pushal 6(r2)
calls
clrl
ret
#2,print
r0
#2,read
-8(fp),-12(fp),-
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática
5
Lenguajes de Alto Nivel
Lenguajes de Alto Nivel
Lenguajes de Alto Nivel
Lenguajes de Alto Nivel
• Más sencillos de aprender y programar.
• Se aproximan al lenguaje natural.
• Son independientes de la máquina.
•
Incluyen rutinas de uso frecuente como son las de
entrada/salida, funciones matemáticas, de manera de que
se puedan usar siempre sin necesidad de programarlas
cada vez.
• Ejemplos de lenguajes de programación de alto nivel: C/
C++, Fortran, Basic, Pascal, Ada, Prolog, Simula,
Modula, Cobol, JAVA, etc.
•
Inconvenientes
– Incremento de tiempo de puesta a punto
– No se aprovechan al máximo los recursos internos de
la máquina
– Aumento de la ocupación de la memoria
– Mayor tiempo de ejecución de los programas
• Los programas escritos en lenguajes de alto nivel
necesitan ser "traducidos" a lenguaje de máquina.
Departamento de Teo
Comentarios de: Tema 3 ¿Qué es un Lenguaje de Programación? (0)
No hay comentarios