Lenguajes de Programación Lenguaje de máquina

Anuncio
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Lenguajes de Programación
Mediante los programas se indica a la
computadora que tarea debe realizar
y cómo efectuarla, pero para ello es
preciso introducir estas órdenes en
un lenguaje que el sistema pueda
entender. En principio, el ordenador
sólo entiende las instrucciones en
código máquina, es decir, el
específico de la computadora. Sin
embargo, a partir de éstos se
elaboran los llamados lenguajes de
programación de alto y bajo nivel.
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Lenguaje de máquina
Son los Lenguajes de
Programación más básicos,
consisten en hileras de números y
son definidos por el diseño del
hardware, ósea varia entre
computadores diferentes, el de
una Macintosh no es igual al de
una PC.
Un computador comprende sólo
su Lenguaje máquina original.
Esencialmente, el código máquina
consiste por completo de los 0 y 1
del sistema binario.
Unidad I
Los Lenguajes de
máquina se
consideran lenguajes
de programación de
1ra Generación
34
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Lenguaje Ensamblador
assembly-languaje
En estos lenguajes el conjunto de
instrucciones del microprocesador se
representa por mnemónicos, en vez
de binarios o hexadecimales, con el
fin de facilitar la escritura de
programas. Un lenguaje ensamblador
es de bajo nivel, es decir, está muy
cerca de las operaciones reales del
microprocesador. Pascal, Basic, C,
entre otros, son lenguajes de alto
nivel porque son muy lejanos del
procesador.
Los Lenguajes
Ensambladores se
consideran de
2da Generación.
Ejemplo en ensamblador:
suma: ADDS rD,r3,r4
resta: SUBS rF,r1,r0
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Lenguaje de Alto Nivel
high-level-languaje
Son lenguajes que no están en
contacto directo con la computadora,
por lo que el programador no
necesita saber nada respecto a las
operaciones a nivel de máquina del
sistema. Una instrucción sencilla en
un lenguaje de alto nivel podría
necesitar una página de
instrucciones en lenguaje
ensamblador para realizarse, pero el
programador del lenguaje de alto
nivel no requiere conocer esto.
Unidad I
Los Lenguajes de Alto
Nivel se considera
comienzan con la
tercera generación,
comprende los
lenguajes de:
- 3ra Generación
- 4ta Generación
- 5ta Generación
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Compilador
El término general Traductor,
denota cualquier procesador
de lenguajes que acepte
programas en algún lenguaje
fuente como entradas y que
produzca otros programas
equivalentes funcionales en
otro lenguaje objeto como
salida.
Programa
fuente
Traductor
Un Compilador, es un
traductor cuyo lenguaje fuente
es un lenguaje de alto nivel y
cuyo lenguaje objeto es
cercano al lenguaje de máquina
de una computadora real, ya
sea un lenguaje ensamblador o
alguna variedad de lenguaje de
máquina.
Programa
objeto
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Otros traductores
Un ensamblador
Es un traductor cuyo lenguaje objeto es también alguna variedad de lenguaje
máquina para una computadora real pero cuyo lenguaje fuente, un lenguaje
ensamblador, representa una transcripción del código objeto de la máquina.
Un cargador
Es un traductor cuyo lenguaje objeto es el código de la máquina real y cuyo
lenguaje fuente es casi idéntico.
Un enlazador (link editor)
Es un traductor cuyo lenguaje fuente es el mismo que el de un cargador: programas
en forma reubicable.
Un preprocesador
Es un traductor cuyo lenguaje fuente es una forma extendida de un lenguaje de alto
nivel, como Pascal, y cuyo lenguaje objeto es la forma estándar del mismo lenguaje.
El programa objeto producido se ejecutará por el procesador del lenguaje estándar.
Lenguajes Compilados
Fortran, Pascal, Ada, PL/1 y Cobol, los programas en estos lenguajes son
traducidos a lenguaje de máquina de la computadora real que sé esta usando.
Unidad I
38
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Interpretes
Interpretes. Realizan Interpretación (Simulación)
Se refiere a la simulación a través de programas que corren en otra computadora
anfitriona, una computadora cuyo lenguaje de maquina sea el lenguaje de alto
nivel. La computadora simulada acepta como entrada de datos un programa en
lenguaje de alto nivel. Es decir, se construye con software corriendo sobre la
computadora anfitriona el lenguaje de alto nivel de la computadora, la cual se
debería de otra manera haber construido con hardware.
A diferencia de la traducción (compilación). Ambos, interpretación y compilación
aceptan programas en el lenguaje de alto nivel como entradas, pero el compilador
simplemente produce un programa equivalente en su lenguaje objeto. El
interpretador ejecuta el programa introducido directamente.
Lenguajes Interpretados
LISP, SNOBOL4 Y APL, son lenguajes que con frecuencia se implementan por
medio de un interprete de software. En tal implementación del lenguaje, el
traductor no produce código de maquina para la computadora que sé esta usando.
En lugar de eso, el traductor produce alguna forma intermedia del programa aun
cuando es diferente del código de maquina.
39
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Software de uso general
El software de uso general ofrece
la estructura para un gran número
de aplicaciones empresariales,
científicas y personales. El
software de hoja de cálculo, de
diseño asistido por computadoras
(CAD), de procesamiento de texto,
de manejo de bases de datos,
pertenecen a esta categoría. La
mayoría de estos se vende como
paquetes; es decir, con software y
documentación orientada al
usuario.
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Componentes SW
Software de aplicaciones
El software de aplicaciones esta diseñado y escrito para
realizar tareas específicas personales empresariales o
científicas como el procesamiento de nóminas, la
administración de los
recursos humanos o
el control de
inventarios. Todas
éstas aplicaciones
procesan datos
(recepción de
materiales) y generan
información (registros
de nómina) para el
usuario.
41
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Concepto
Sistemas numéricos posiciónales
Sistema Decimal (base 10).
Desde hace siglos, el hombre ha utilizado como sistema para contar el
denominado decimal, que derivó del sistema numérico indoarábigo;
posiblemente se adoptó este mismo por contar con diez dedos en las manos.
El sistema decimal es unos de los denominados sistemas posicionales,
utilizando un conjunto de símbolos cuyo significado depende
fundamentalmente de su posición
relativa al símbolo de coma (.),
Denominado coma decimal, que en caso de ausencia se supone colocada
implícitamente a al derecha. Utiliza como base el 10, que corresponde al
número de dígitos o símbolos que comprende para la representación de
cantidades; estos dígitos son:
0 1 2 3 4 5 6 7 8 9.
Unidad I
42
Introducción a la Programación
Prof. Yerson Rodríguez
Concepto
Sistemas numéricos posiciónales
Sistema Decimal (base 10).
Una determinada cantidad, que denominaremos número decimal, se puede
expresar de la siguiente forma:
n
N ° = ∑(dígito) i ×(base ) i
i =− d
Donde: base = 10, i= posición respecto a la coma, D = Nº. Dígitos a la
izquierda de la coma, N = Nº , de dígitos a la Izquierda de la coma,
Dígito = cada uno de los que componen el número. Esta forma corresponde
al teorema fundamental de la numeración y por tanto corresponde a la
representación. Por ejemplo, la representación de las cantidad 34567 es:
3456710 = (3×10 4 ) + (4×103 ) + (5×10 2 ) + (6×101 ) + (7×100 )
43
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Concepto
Sistemas numéricos posiciónales
Sistema Binario (base 2).
Es el sistema que utiliza internamente el hardware de las
computadoras actuales, por ello en el campo de la computación es el
sistema al que se le presta mayor atención y estudio. Se basa en la
representación de cantidades utilizando los dígitos 1 y 0. Por tanto su
base es 2 (número de dígitos del sistema). Cada dígito de un número
en este sistema se denomina bit (contracción de binary digit).
Se puede utilizar con nombre propio determinados conjuntos de
dígitos en binario. Cuatro bits se denominan cuaterno (ejemplo:
1001), ocho bits octeto o byte (ejemplo: 10010110), al conjunto de
1024 bytes se le llama Kilobyte o simplemente K, 1024 Kilobytes
forman un megabyte y 1024 megabytes se denominan Gigabytes.
Unidad I
44
Introducción a la Programación
Prof. Yerson Rodríguez
Concepto
Sistemas numéricos posiciónales
Sistema Octal (base 8).
Es un sistema de numeración cuya base es 8, es decir, utiliza ocho dígitos
para la representación de las cantidades, Estos dígitos son;
0123457
Este sistema también es de los llamados posicionales y la posición de sus
cifras se mide con relación a la coma decimal que en caso de no aparecer
se supone implícitamente a la derecha del número. La aritmética en este
sistema es similar a la de los sistemas binario y decimal, por lo que su
estudio es similar.
45
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Concepto
Sistemas numéricos posiciónales
Sistema Hexadecimal (base 16).
Es un sistema posicional de numeración en el que su base es 16, por tanto,
utilizará 16 dígitos para la representación de cantidades, estos dígitos son;
0 1 2 3 4 5 6 7 8 9 A B C D E F. Los dígitos A, B, C, D, E y F tienen asignados
los siguientes valores:
Símbolo
Valor Absoluto
A
10
B
11
C
12
D
13
E
14
F
15
Cabe destacar que este sistema numérico tiene mucha utilidad, en las operaciones
internas del computador, ya que por ejemplo cuando se utiliza el comando DEBUG,
los valores contenidos en todos los registros de memoria se especifican en
hexadecimal.
Unidad I
46
Introducción a la Programación
Prof. Yerson Rodríguez
Conversiones
Conversiones
Conversión Decimal-Binario:
Para convertir números enteros de decimal a binario, la forma más
simple es dividir sucesivamente el numero decimal y los cocientes que
se van obteniendo por dos, hasta que una de las divisiones se haga 0.
La unión de todos los restos obtenidos escritos en orden inverso, nos
proporcionan el número inicial expresado en el sistema binario. Ej.:
10
0
2
5
1
2
2
0
2
1
1
2
0
Ósea la conversión del número diez decimal a binario quedaría:
1010 = 10102
47
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Conversiones
Conversiones
Conversión Decimal-Octal:
Conversión décimo octal: Consiste en dividir un numero y sus sucesivos
cocientes obtenidos por ocho hasta llegar a una división cuyo cociente
sea 0. El numero Octal buscado es el compuesto por todos los restos
obtenidos escritos en orden inverso a su obtención. Ej.:
1992
39
72
0
8
249
09
1
8
31 8
7 3
Ósea la conversión del número 1992 decimal a octal quedaría:
199210 = 37108
Unidad I
48
Introducción a la Programación
Prof. Yerson Rodríguez
Conversiones
Conversiones
Conversión Decimal-Hexadecimal:
Se divide el numero decimal y los cocientes sucesivos por 16 hasta
obtener un cociente igual a 0. El número hexadecimal buscado será
compuesto por todos logros obtenidos en orden inverso a su obtención.
Ej.:
1000
40
8
16
62
14
16
3
Ósea la conversión del número 1000 decimal a hexadecimal quedaría:
100010 = 3E816
49
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Bibliografía
Joyanes A., Luis, Programación en Turbo/Borland Pascal 7. 3ra Ed. Osborne/McGrawHill Interamericana, Madrid, 1998
Rodnay, Zaks, Programación en Pascal, Turbo Pascal. 1ra Ed. Anaya Multimedia,
Madrid, 1986
Joyanes A., Luis, Turbo/Borland Pascal 7. 1ra Ed. Osborne/McGraw-Hill
Interamericana, Madrid, 1997
Noton, Peter. Introducción a la Computación. 3ra Edición. México. McGraw-Hill
Interamericana, México, D.F., 2003.
Prieto E., Alberto y otros, Introducción a la Informática. 3da Ed. McGraw-Hill
Interamericana, Madrid, 2002
Mata T., Ramón, Cushman, Pauline, Introducción a la Programación. 1ra Ed. McGrawHill Interamericana, México, D.F., 2001
Unidad I
Introducción a la Programación
Prof. Yerson Rodríguez
Recursos en Internet
www.glencoe.com/norton/online
Website con información general de computación y apoyo al libro ”Introducción a la Computación” de
Noton, Peter.
http://atc.ugr.es/intro_info_mcgraw.html
Página web para uso de estudiantes y profesores sobre el libro “Introducción a la Informática” de
Prieto E., Alberto y otros.
http://www.lawebdelprogramador.com/cursos/Pascal/Turbo
Sítio web que provee información de interés sobre programación en Pascal, cursos, tutoriales, etc.
http://www.ctv.es/USERS/pacoga/progpas.htm
Sítio web que provee información de interés sobre programación en Pascal, cursos, tutoriales, etc.
http://ar.geocities.com/nrs_arg/pascalmania/sources.htm
Sítio web que provee información de interés sobre programación en Pascal, cursos, tutoriales, etc.
http://www.terra.es/personal2/cesar.zm/comienzo.htm
Sítio web que provee tutoriales gratuítos de Pascal.
http://www.fortunecity.com/skyscraper/seagate/1072/libreria.htm
Sitio web con programas en Turbo Pascal.
Unidad I
Descargar