fp apuntes u1
TRANSCRIPT
-
8/15/2019 FP Apuntes U1
1/17
FuPrApu
Antologíla carrer
2014
damentos degramación
tes de la materia
para la materia de Fundamentos de Programacióna de Ingeniería en Sistemas Computacionales.
I.S.C. Gregorio Martínez Vásqgregorimexico@hotmail.
01/08/
del 1er. Semestre de
ez.om
2014
-
8/15/2019 FP Apuntes U1
2/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
UNID
1.1 CLASIFICACIÓN DEL S
El software es la parte lógic
realización de tareas específicas. E
en 2 clases principales:
1.- SOFTWARE DE SISTEMA.
Se llama Software de Si
programas que permiten la adminis
física o los recursos de la computadla interacción entre el usuario y los
se divide en: Sistema operativo,drivers y los programas utilitarios
Sistema operativo.
• Suministro de interfaz al usuainterfaces que se basan en com
• Administración de recursos:dispositivos de almacenamiento
• Administración de archivos: Cde programas.
• Administración de tareas: Adejecutando en la computadora.uso de estos en la CPU, así com
• Servicio de soporte: Los Seimplementaciones añadidas ade versiones, mejoras de segursoftware.
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
D 1. CONCEPTOS BÁSICOS.
OFTWARE DE: SISTEMAS Y APLIC
de computadora, lo intangible, permite el ma
l software son los programas, los archivos, los
stema o Software de Base al conjunto d
ración del sistema de cómputo es decir la part
ora, el software de sistema puede proporcionacomponentes hardware. El Software de Sistem
los controladores de dispositivos de E/Sde mantenimiento.
El Sistema Operativo es un conjun
administran los recursos de la comp
funcionamiento y permite a las personas
recursos a través de una interfaz amigable.
Un Sistema Operativo realiza ci
Suministro de Interfaz al usuario, adminadministración de archivos, Administracióde soporte.
rio: Permite al usuario comunicarse con la comndos, interfaces que utilizan menús, e interface
Administran los recursos del hardware cosecundario y periféricos de entrada y de salid
ontrola la creación, borrado, copiado y acceso
inistra la información sobre los programas yPuede cambiar la prioridad entre procesos, coterminar programas.
vicios de Soporte de cada sistema operatste, y pueden consistir en inclusión de utilidadidad, controladores de nuevos periféricos, o c
temas Computacionales.
CIÓN.
ejo de los recursos y la
atos. Se puede dividir
o de programas que
tadora, controla su
tener acceso a estos
co funciones básicas:
istración de recursos,n de tareas y servicio
utadora por medio degráficas de usuario.
o la CPU, memoria,.
de archivos de datos y
procesos que se estáncluirlos y comprobar el
ivo dependen de lass nuevas, actualizaciónrrección de errores de
-
8/15/2019 FP Apuntes U1
3/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
Controladores de dispositivos.
Los Controladores de Dispos
como el sistema operativo intera
impresión.
Programas utilitarios o de manteni
Los Programas Utilitarios re
de realizar tareas en general y de
editor del registro de windows, el a
2.- SOFTWARE DE APLICACIÓN.
Son aquellos programas q
específicas como redactar y editacálculos, manipular una base de
tipos de software especializado
software educativo, software de
asistido por computadora, edit
contabilidad, etc., etc., también se c
Las funciones de una aplicac
categorías:
Programas básicos (o utilitarios).
Son aplicaciones cuyo pro
Ejemplo de esto es el Winrar, cuya
las calculadoras, cuya única funció
función es abrir y trabajar archivos
• Antivirus: Prevención, detecció• Compresor de archivos: Me
reduciendo el que ocupa cada
• Desfragmentador: Mayor eficiproceso de búsqueda, guardan
• Software para respaldo: Gara• Software de recuperación: Res
Programas de productividad.
Son aplicaciones cuyo prop
ciertas tareas. Algunos programas d
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
itivos son programas que permiten a otros pro
tuar con un dispositivo de hardware. Ejem
miento.
lizan diversas funciones para resolver problem
mantenimiento. Algunos se incluyen en el sistema
dministrador de tareas, el restaurador del siste
ue nos ayudan a realizar tareas
r textos, editar imágenes, realizaratos, navegar en internet, u otros
s como software administrativo,
iseño gráfico, software de diseño
res de música, programas de
nocen como aplicaciones.
ión dependen de su propósito, según el cual pu
ósito es mejorar, en alguna forma, el dese
única función es tratar los archivos comprimidos
n es el algebra y calculo numérico; el Acrob
PDF, etc. Algunos programas básicos o utilitarios
y corrección de virus para ordenadores.
jor aprovechamiento del espacio de almarchivo.
encia en el uso del espacio de almacenamiedo la totalidad de cada archivo en ocupaciones
tía de la disponibilidad de los datos, haciendo
ablecer archivos borrados por error.
sito es facilitar, agilizar y mejorar para el u
e productividad son:
temas Computacionales.
ramas de mayor nivel
lo: el controlador de
as específicos, además
operativo. Ejemplos: El
a, etc.
den clasificarse en dos
peño del ordenador.
, especialmente los rar;
at Reader, cuya única
son:
enamiento disponible,
nto disponible y en elcontiguas.
copias de ellos.
suario, la ejecución de
-
8/15/2019 FP Apuntes U1
4/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
• Procesadores de texto: Aplicdocumentos de alta calidad.
• Hojas de cálculo: Aplicacionanalizar conjuntos de números.
• Presentaciones automatizadaatractivas, incluyendo imágenes
•
Navegadores de Internet: Aplirecursos.• Administradores de bases de
grandes colecciones de datos, e
• Desarrolladores de sitios web:diseñar, crear, editar y publica
1.2 Algoritmo.
En matemáticas, lógica, cien
siguiente: Es un conjunto prescrito
realizar una actividad mediante u
quien deba realizar dicha activi
entrada y siguiendo los pasos su
obteniéndose un resultado o soluci
estudio de la algoritmia.
alg
resson
ap
inst
eje
calcular el producto, el algoritmo d
Euclides para obtener el máximo
resolver un sistema lineal de ecuacio
Medios de expresión de un algorit
Los algoritmos pueden ser
pseudocódigo, diagramas de fluj
algoritmo usualmente puede hacers
• Descripción de alto nivel. Seser matemático y se explicaomitiendo detalles.
• Descripción formal. Se usa upasos para llegar a la solución.
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
aciones diseñadas para editar y/o proces
s especialmente diseñadas para introducir,
: Aplicaciones que permiten al usuario creary sonidos.
caciones diseñadas para proveer acceso a Int
datos: Aplicaciones diseñadas para acceder,n una forma eficiente.
Aplicaciones que brindan al usuario las herrapáginas y sitios Web.
cias de la computación y disciplinas relacionad
e reglas o instrucciones ordenadas, definidas
a serie de pasos sucesivos no ambiguos y qu
ad. Dado un estado inicial, una
cesivos se llega a un estado final
n. Los algoritmos son el objeto de
En la vida cotidiana, se emplean
oritmos frecuentemente para
lver problemas. Algunos ejemploslos manuales de usuario, que muestran al
rato, una receta de cocina para elabor
ucciones que recibe un trabajador por parte
plos en las matemáticas son el algoritmo
la división para calcular el cociente de dos n
omún divisor de dos enteros positivos, o el
nes.
o
expresados de muchas maneras, incluyend
y lenguajes de programación entre otros.
en tres niveles:
stablece el problema, se selecciona un modeloel algoritmo de manera verbal, posibleme
diagrama de flujo o pseudocódigo para de
temas Computacionales.
r de texto, logrando
calcular, manipular y
editar presentaciones
rnet, sus servicios y sus
almacenar y procesar
ientas necesarias para
as, su significado es el
y finitas que permiten
e no generen dudas a
oritmos para usar un
r un alimento o las
de su patrón. Algunos
e multiplicación, para
meros, el algoritmo de
étodo de Gauss para
al lenguaje natural,
La descripción de un
de solución que puedete con ilustraciones y
scribir la secuencia de
-
8/15/2019 FP Apuntes U1
5/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
• Implementación. Se muestra ealgún objeto capaz de llevar a
Diagrama de flujo
Los diagramas de flujo son
flechas para indicar la secuencia de
Los diagramas de flujo no
abarcan mucho espacio y su constru
Los algoritmos pueden ser
pseudocódigo, diagramas de flujo
natural tienden a ser ambiguas y ex
Pseudocódigo.
El pseudocódigo (falso códig
alto nivel de un algoritmo que empl
propias de lenguajes de programa
por ningún estándar. Es utilizado p
producto intermedio durante el des
una ventaja importante sobre estos
espacio para representar instruccion
1.3 Lenguajes de Program
Un lenguaje de programació
ser llevados a cabo por máquinas
controlen el comportamiento físico
como modo de comunicación human
Una característica relevante
programador pueda usar un conju
realizar la construcción de un progr
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
l algoritmo expresado en un lenguaje de procabo instrucciones.
descripciones gráficas de algoritmos; usan sí
instrucciones y están regidos por la ISO.
rmalmente se usan para representar algorit
ción es laboriosa.
expresados de muchas maneras, incluyend
lenguajes de programación entre otros. Las d
tensas.
o, falso lenguaje, el prefijo pseudo significa fals
a una mezcla de lenguaje natural con algunas
ción, como asignaciones, ciclos y condicionales,
ara describir algoritmos en libros y publicaci
rrollo de un algoritmo, como los diagramas de
, y es que los algoritmos descritos en pseudoc
es complejas.
ación.
Un lenguaje de programación
diseñado para expresar computaci
llevadas a cabo por máquinas co
Pueden usarse para crear progra
comportamiento físico y lógico de
expresar algoritmos con precisión,
comunicación humana. Está formad
símbolos y reglas sintácticas y sem
estructura y el significado de sus elem
n es un lenguaje formal diseñado para expres
como las computadoras. Pueden usarse para
lógico de una máquina, para expresar alg
.
de los lenguajes de programación es precis
nto común de instrucciones que sean compren
ma de forma colaborativa.
temas Computacionales.
ramación específico o
bolos conectados con
os pequeños, ya que
al lenguaje natural,
scripciones en lenguaje
) es una descripción de
convenciones sintácticas
aunque no está regido
nes científicas, y como
flujo, aunque presentan
ódigo requieren menos
es un idioma artificial
nes que pueden ser
o las computadoras.
as que controlen el
una máquina, para
o como modo de
por un conjunto de
nticas que definen su
ntos y expresiones.
r procesos que pueden
crear programas que
ritmos con precisión, o
mente que más de un
idas entre ellos para
-
8/15/2019 FP Apuntes U1
6/17
-
8/15/2019 FP Apuntes U1
7/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
programa informático se le llam
computadora que resolverá un prob
través de los siguientes pasos:
• Análisis del problema. Deber• Diseño de una solución. El des• Codificación. Escritura de la
específico y un editor de textos.
• Compilación y ensamble dellenguaje de máquina. (program
• Prueba y depuración del proobtienen los resultados esperad
• Desarrollo de la documentació• Implementación. Instalación
capacitación del operador del
• Mantenimiento. Corregir error•
Evolución. Agregar nuevas fun
Permite especificar de man
deben ser almacenados o trans
circunstancias. Todo esto, a través
humano o natural.
Definiciones de la programación.
• En informática, la programaprogramación), se compila, se
informático.• La programación es la acción
lenguaje de programación, qoperaciones, con el objetivo de
• La programación es un conjuntoleer, depurar (poner a punto) y
1.6 Paradigmas de progra
“Paradigma
”.- Conjunto de teorías,
representan una forma de organizar
Los paradigmas de progra
Informática, podemos decir que es
rigen una determinada faceta o ár
ni menos una serie de “normas”
seguir a la hora de programar
programación son:
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
programación. Es un proceso de creación
lema en particular mediante la aplicación de p
entenderse bien el problema y la solución.
arrollo del algoritmo para resolver el problema
lógica del programa empleando algún leng(escribir el programa fuente).
programa hasta dejarlo libre de “errores de sia ejecutable).
rama. Probar con datos reales el programaos.
n. Elaboración del manual del sistema y del usudel nuevo programa en la computadora
ismo.
s no detectados en la etapa de prueba y depu
ionalidades o cambiarlo a un lenguaje más act
era precisa sobre qué datos debe operar u
itidos y qué acciones debe tomar bajo u
de un lenguaje que intenta estar relativamen
ión es un proceso por el cual se escribeprueba, se depura y se mantiene el código f
de escribir un conjunto de instrucciones escrie dirigen a una computadora para la ejecresolver un problema que se ha definido previ
de técnicas utilizadas para desarrollar programodificar o mantener.
mación.
estándares y métodos que juntos
el conocimiento [Kuhn 1970].
ación en temas de Ingeniería
un conjunto de “normas” que
ea de conocimiento, son ni más
ue todo programador ha de
. Algunos paradigmas de la
temas Computacionales.
de un programa de
ocedimientos lógicos, a
en particular.
aje de programación
ntaxis” y convertirlo en
para verificar que se
ario.
donde se utilizará y
ración.
alizado.
a computadora, cómo
a variada gama de
e próximo al lenguaje
(en un lenguaje deuente de un programa
as en un determinadoción de una serie demente.
as que sean fáciles de
-
8/15/2019 FP Apuntes U1
8/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
• Paradigma de la programaciómás se ha utilizado en el psoportan lenguajes como ‘C’, ’B
• Paradigma de la programaciófunciones aritméticas que no ma
como ‘Haskell’ y ‘Lisp’.• Paradigma de la programaci
concepto de función. Es un parlenguajes como ‘Prolog’.
• Paradigma de la Programaprogramación más utilizado yque se acerca al mundo realparadigma de programación lo
• Paradigma de la programacirelativamente nuevo, que incluydeterminada funcionalidad alaumentar la modularidad. Es
programación ‘AspectJ’.
Un paradigma de progra
comunidad de programadores cuyo
resolver uno o varios problemas c
resolución de estos problemas de
parámetro que afecte a la ingenie
determinados lenguajes en su mom
el tiempo en cuanto a aceptación
que la sustituyen parcial o totalment
El paradigma de program
núcleo central de este paradigma e
relacionable a su vez con otras enti
1.7 Editores de texto.
Un editor de texto es un pr
digitales compuestos únicamente p
como archivos de texto o texto pl
bytes leídos según el código decomúnmente de 7- ó 8-bits en ASCII
Por ejemplo, un editor AS
hexadecimal 61) en el archivo lo r
como la letra "a" y ofrecerá al us
archivo.
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
n estructurada o imperativa. Es el paradigmasado. Muchos comenzamos a programar bajSIC’ o ‘Pascal’.
n funcional. Paradigma de programación basnejan datos mutables o estados. Este paradigm
ón Lógica. Es un paradigma de programacidigma muy orientado a las matemáticas. Este
ción Orientada a Objetos (POO). Es quizl que más éxito tiene a día de hoy. Graciasy nos permite aumentar la comprensibilidadsoportan lenguajes como ‘C++’, ‘Java’ y ‘C#’.
ón orientada a Aspectos. Este es un paradie como característica el concepto de “Aspecto”sistema; separando esta funcionalidad del
e nuevo paradigma de programación lo s
mación es una propuesta tecnológica que
núcleo central es incuestionable en cuanto a q
laramente delimitados. Es un estilo de progr
e suponer consecuentemente un avance signifi
ría de software. Tiene una estrecha relación c
nto de definición. Un paradigma de programa
uso ya que nuevos paradigmas aportan nuev
e.
ción que actualmente es el más usado es el
s la unión de datos y procesamiento en una ent
ades "objeto".
ograma que permite crear y modificar archiv
or un texto sin formato, conocidos comúnment
no. El programa lee el archivo e interpreta lo
caracteres que usa el editor. Hoy en díao UTF-8, rara vez EBCDIC.
II de 8 bits que lee el número binario 011
presentará en la pantalla por la figura “a”,
uario las funciones necesarias para cambiar e
temas Computacionales.
de programación queo este paradigma. Lo
da en la utilización dea lo soportan lenguajes
n que se basa en elparadigma lo soportan
ás el paradigma deque es un paradigmae los problemas. Este
ma de programaciónque pretende dar unaistema, con el fin deporta el lenguaje de
s adoptada por una
ue únicamente trata de
mación empleado. La
cativo en al menos un
on la formalización de
ción está delimitado en
as o mejores soluciones
rientado a objetos. El
idad llamada "objeto",
s
e
s
s
0001 (decimal 97 ó
ue el usuario reconoce
l número binario en el
-
8/15/2019 FP Apuntes U1
9/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
Los editores de texto son
instalado y se usan cuando se deb
scripts o el código fuente de algún
El archivo creado por un ed
extensión ".txt", aunque pueda ser
dan al usuario total libertad en la d
Al trasladar archivos de te
menos dos convenciones diferentes
cambio Microsoft Windows usa al té
Tipos de editores de texto.
Hay una gran variedad de
diseñados para escribir o programimplementadas gran cantidad de fu
El editor de texto debe se
administrador de la máquina. Com
de aprendizaje para que el usu
aprendizaje es una representación
editor puede ofrecer muchas funcio
aprendizaje y terminará siendo de
muy empinada y corta, pero si n
productivo. Es decir la elección delsubjetivos.
Hoy en día muchos editore
sistemas operativos, lo que permite
Algunos editores son sencillos mientr
Editores para profesionales
capacidad e la memoria RAM de
espera disminuye la concentración
para muchas cosas pues facilitan el
Algunos editores de texto
engorrosos o repetidos procedimien
las necesidades del usuario, inclus
adaptadas y es programable en Lis
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
incluidos en el sistema operativo o en algún
n crear o modificar archivos de texto como ar
rograma.
itor de texto incluye por convención en DOS y
cambiada a cualquier otra con posterioridad.
enominación de sus archivos.
to de un sistema operativo a otro se debe co
ara señalar el término de una línea: Unix y Lin
rmino de cada línea retorno de carro y salto d
ditores de texto. Algunos son de uso general,
r en un lenguaje. Algunos son muy sencillos, minciones.
considerado como una herramienta de traba
herramienta permite realizar ciertos trabajos,
rio conozca y obtenga destreza en su uso.
de la destreza adquirida a lo largo del tiem
es, pero si su curva de aprendizaje es muy lar
jado de lado. Puede que un editor tenga una
ofrece muchas funciones el usuario le reem
ditor más apropiado depende de varios factor
s originalmente salidos de Unix o Linux han
rabajar en otros sistemas sin tener que aprend
s que otros ofrecen una amplia gama de funci
deben ser capaces de leer archivos de gran e
la máquina y también arrancar rápidamente
y disminuye de por si la productividad. Los e
rabajo.
incluyen el uso de lenguajes de programa
tos a realizar en el texto. Por ejemplo, Emacs
o las combinaciones de teclas para ejecutar
p.
temas Computacionales.
paquete de software
hivos de configuración,
Microsoft Windows la
Tanto Unix como Linux
siderar que existen al
ux usan sólo retorno en
línea.
ientras que otros están
entras que otros tienen
jo del programador o
pero también requiere
La llamada curva de
o de aprendizaje. Un
a, puede desanimar el
curva de aprendizaje
plazará por otro más
es, alguno de ellos muy
sido portados a otros
r el uso de otro editor.
nes.
xtensión, mayor que la
ya que el tiempo de
ditores de texto sirven
ión para automatizar
puede ser adaptado a
funciones pueden ser
-
8/15/2019 FP Apuntes U1
10/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
Muchos editores de texto
completar una palabra iniciada usa
• Editores diseñados para un l
macros, completar palabras, etc
• Editores con regiones plegables
de editores ciertas regiones cusuario solo lo importante del te
• Un Entorno de desarrollo integ
trabajo, como compiladores, ex
un solo programa.
1.8 Compiladores e intérp
Existen dos tipos principale
Compilador e intérprete.
¿Qué es un compilador?
Un compilador es un progra
de errores y de no haberlos traduc
de programación, generando un
que la máquina será capaz de inte
segundo lenguaje es lenguaje de
puede ser un código interm
simplemente texto. Este proceso de
como compilación. La imagen muedel compilador.
El compilador deriva su nom
recolectando y reorganizando las in
toma cada línea de código y la ana
Los compiladores requieren
programas creados con compilado
con un intérprete.
Cada lenguaje de program
compilador.
Dado que los compiladores
tipo de máquina, existen múltiples c
compilador para PC, otro para
compiladores para una misma plata
compiladores propios para lenguaj
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
incluyen coloreado de sintaxis y funciones q
do para ello la configuración. Algunas funcione
nguaje de programación determinado, con
.
. A veces no todo el texto es relevante para e
n texto irrelevante pueden ser plegadas, escxto.
rado es un programa que incluye un editor y
tractores de diferencias entre dos textos, repos
retes.
s de traductores de los lenguajes de progr
ma informático que revisa la sintaxis de un pro
un programa escrito en un lenguaje de progra
rograma equivalente
rpretar. Usualmente el
áquina, pero también
dio (bytecode), o
traducción se conoce
tra el funcionamiento
bre de la manera en que trabaja, buscando en
strucciones. Un compilador difiere de un intérpr
liza y ejecuta mientras que el compilador mira
de un tiempo antes de poder generar un ejec
es se ejecutan mucho más rápido que un mism
ción de alto nivel (excepto los estrictamente im
traducen código fuente a código objeto, el c
ompiladores para un mismo lenguaje. Por ejem
pple Macintosh, además existen muchas em
forma y un mismo lenguaje, por ejemplo Micros
C.
temas Computacionales.
ue ofrecen al usuario
s especiales son:
coloreado de sintaxis,
l usuario. Con este tipo
ondidas, mostrando al
otras herramientas de
itorios, etc., incluidos en
mación de alto nivel:
grama fuente en busca
mación a otro lenguaje
todo el código fuente,
te en que el intérprete
l código por completo.
table, sin embargo los
o programa ejecutado
perativos) viene con un
al es único para cada
plo lenguaje C tiene un
resas que desarrollan
oft y Borland tienen sus
-
8/15/2019 FP Apuntes U1
11/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
Etapas del proceso de compilación
1. Codificación o Edición. Estaeditor. Como resultado nos da
2. Compilación. En esta fase smáquina. Si no se
En caso de errores el compilcompilarlo de nuevo, una vez
3. Linkeado. Esta fase consisteinternas del lenguaje, obtenie
Tipos de linkados.
• Linkado estático. Los binariosarchivo ejecutable.
• Linkado dinámico. No se añ
memoria las librerías que en es
Una vez traducido, compila
podrán surgir problemas y fallos,
anteriormente citado, de modo que
Partes de un compilador.
• Front End. Es la parte quederivación y rellena los valores
plataforma o sistema para el cu
• Back End. Es la parte que genresultados de la fase de análisis
Esta división permite que el
lenguajes de programación distintos
un programación concreto sirva par
El código que genera el B
necesita ser enlazado por un progr
Tipos de compiladores.
Esta taxonomía de los tipos de
que se adscriban a varias categoría
• Compiladores cruzados. Gene
• Compiladores optimizadores.manteniendo la funcionalidad d
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
.
fase consiste en escribir el programa emplean
rá el código fuente de nuestro programa.
e traduce el código fuente obtenido en la f
produce ningún error se obtiene
dor los mostraría para que el programador pcorregidos.
en unir el archivo generado en la fase 2 co
do el programa ejecutable.
e las librerías se añaden a nuestros binarios co
den las librerías a nuestro binario sino que h
momento se necesiten.
do y linkado el archivo está listo para su ej
para los cuales tendríamos que volver a re
puedan ser corregidos.
naliza el código fuente, comprueba su valid
de la tabla de símbolos. Esta parte suele se
al se vaya a compilar.
era el código máquina, específico de una plat
, realizada por el Front End.
mismo Back End se utilice para generar el có
y que el mismo Front End que sirve para anali
la generación de código máquina en varias pl
ack End normalmente no se puede ejecutar
ma enlazador (linker).
compiladores no es excluyente, por lo que pue
s:
an código para un sistema distinto del que está
Realizan cambios en el código para mejor
l programa original.
temas Computacionales.
o algún lenguaje y un
ase anterior a código
el código objeto.
roceda a corregirlos y
determinadas rutinas
mpilados generando el
rá que se carguen en
cución donde también
lizar todo el proceso
z, genera el árbol de
r independiente de la
forma, a partir de los
igo máquina de varios
ar el código fuente de
ataformas distintas.
irectamente, sino que
e haber compiladores
funcionando.
ar su eficiencia, pero
-
8/15/2019 FP Apuntes U1
12/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
• Compiladores de una sola pacódigo fuente.
• Compiladores de varias pasaproducir el código máquina.
• Compiladores JIT (Just In Timse necesitan.
¿Qué es un intérprete?
En ciencias de la computació
informático capaz de analizar y ej
de alto nivel. Los intérpretes se di
estos traducen un programa desde
al código máquina del sistema, los
que sea necesaria, típicamente,
guardan el resultado de dicha trad
intérprete.
Etapas del proceso de interpretació
A la hora de construir un i
lenguaje fuente a analizar. De est
descompone en los módulos:
• Traductor a Representación IFuente, lo analiza y lo transform
•
Representación Interna (P/RI)original. Entre los tipos de reprcaracterísticas del lenguaje lo
eficiencia.
• Tabla de símbolos. Duranteinformación relativa a los símb
símbolos depende de la com
instrucciones de salto, informaci
cualquier otro tipo de informaci
• Evaluador de Representación Ide entrada, se llevan a cabo l
de evaluación es necesario cont
• Tratamiento de errores. Durandesbordamiento de la pila, divi
Tipos de intérpretes
Intérpretes puros. Son los que analel modelo de interpretación iterativ
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
sada. Generan el código máquina a partir d
das. Necesitan leer el código fuente varias
). Forman parte de un intérprete y compilan p
n, un intérprete o interpretador es un program
ecutar otros programas, escritos en un lenguaj
ferencian de los compiladores en que mientra
su descripción en un lenguaje de programació
intérpretes sólo realizan la traducción a medid
instrucción por instrucción, y normalmente n
cción. La figura muestra el funcionamiento de u
n.
ntérprete es conveniente utilizar una Represe
forma, la organización interna de la mayorí
terna. Toma como entrada el código del pra a la representación interna correspondiente a
. La representación interna debe ser consistsentación interna, los árboles sintácticos son los
permiten, pueden utilizarse estructuras de
l proceso de traducción, es conveniente ir c
olos que aparecen. La información a almace
lejidad del lenguaje fuente. Se pueden alm
n sobre identificadores (nombre, tipo, línea en l
n que se necesite en la etapa de evaluación.
nterna. A partir de la Representación Internas acciones indicadas para obtener los resulta
mplar la aparición de errores.
e el proceso de evaluación pueden aparecer
iones por cero, etc. que el intérprete debe cont
izan y ejecutan sentencia a sentencia todo el p
y, por tanto, se utilizan principalmente para le
temas Computacionales.
una única lectura del
veces antes de poder
artes del código según
e
s
n
o
n
tación Interna (RI) del
a de los intérpretes se
grama P en Lenguaje
dicho programa P.
nte con el programamás utilizados y, si las
pila para una mayor
reando una tabla con
ar en dicha tabla de
cenar etiquetas para
a que aparecen, etc.) o
anterior y de los datos
os. Durante el proceso
diversos errores como
mplar.
ograma fuente. Siguen
nguajes sencillos.
-
8/15/2019 FP Apuntes U1
13/17
-
8/15/2019 FP Apuntes U1
14/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
Intérpretes y compiladores ventaj
• Un intérprete facilita la búsque
en cualquier momento para est
puede modificarse sobre la mar
• Un compilador suele generar
fuente se hace una sola vez,intérprete se ve obligado gen
(incluso miles o millones de vece
• Un intérprete permite utilizar fu
contenido en una variable en f
es imposible de tratar por medi
y que, por tanto, exigen un i
permiten el uso de un compilad
1.9 Ejecutables.
En informática, un ejecutabl
mayormente, archivo binario cuyo c
Generalmente, contiene ins
también puede contener bytecode
llamadas a funciones específicas de
Dependiendo del tipo de q
pueden ejecutar en varias platafejemplo, un ejecutable Java es p
concreto.
Sin embargo en un sentido
contener código de máquina, sino q
de ejecutables son conocidos con el
Dete
convención.
terminación .
de ejecución
En la
mucha infor
imágenes, r
depuración,
programa.
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
s e inconvenientes.
a de errores, pues la ejecución de un progra
diar el entorno (valores de las variables, etc.).
cha, sin necesidad de volver a comenzar la ejec
rogramas más rápidos y eficientes, ya que
durante la generación del programa equiveralmente a analizar cada instrucción tantas
).
nciones y operadores más potentes, como por e
rma de cadenas de caracteres. Usualmente, e
o de compiladores. Los lenguajes que incluyen e
térprete, se llaman interpretativos. Los lengu
r, prescinden de este tipo de operadores.
e o archivo ejecutable, es tradicionalmente un
ntenido se interpreta por el ordenador como u
rucciones en código máquina de un procesa
que requiera un intérprete para ejecutarlo.
un sistema operativo (llamadas al sistema).
e se traten las instrucciones, hablaremos de ej
rmas) y no portables (destinado a una plartable ya que utiliza un bycode no asociad
ás general, un programa ejecutable no tiene
ue puede tener instrucciones a interpretar por o
nombre de scripts.
minar si un archivo es ejecutable es sobre
nos sistemas operativos se basan en la extensi
exe) y otros lo hacen leyendo los metadatos (c
en Unix).
mayoría de los sistemas modernos, un archi
ación que no es parte del programa en sí:
equisitos del entorno de ejecución, inform
u otra información que ayude al sistema o
temas Computacionales.
a puede interrumpirse
Además, el programa
ución.
l análisis del lenguaje
alente. En cambio, unveces como se ejecute
jemplo ejecutar código
te tipo de instrucciones
ste tipo de operadores
jes compiladores, que
, o como se le conoce
programa.
dor en concreto, pero
demás suele contener
ecutables portables (se
aforma concreta). Poro a un procesador en
or qué necesariamente
tro programa. Este tipo
todo una cuestión de
ón de archivo (como la
mo los bits de permiso
vo ejecutable contiene
ecursos como textos e
ción simbólica y de
erativo a ejecutar el
-
8/15/2019 FP Apuntes U1
15/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
Un ejecutable es un archivo
instrucciones precisas para poder e
realizar todo tipo de tareas, pero
decírsele paso a paso lo que hacer
y el sistema operativo carga coma
tarea de un programador cuando
comandos básicos que ya sabe paimagen, escribir texto, guardar un d
Generalmente la extensión
abreviar executable en inglés), p
distintas: por ejemplo, los .com (quepermitían encadenar la ejecución d
que contienen información adiciona
reseñar que en general cualquier a
que es el sistema operativo quien l
cabo, (recordemos que es el S.O.para ejecutar el programa). Hay ex
El archivo ejecutable puede
siempre él quien inicie la ejecución,
que la luz se encienda. Para crea
permitirá crear un código fuente ent
el ordenador (proceso que se llama
puede ser leído por el ordenador,
varían según la plataforma y el obj
Un caso que merece menció
instrucciones para realizar las l
cuenta. La ventaja de estos autoeje
el programa original para ejecuta
ejecutados en cualquier computador
También se dice muchas ve
texto ejecuta un documento, o un re
aunque no sería correcto técnicam
no son archivos ejecutables, sino má
en su interior siempre las instruccion
1.10 Consola de línea de
La Línea de Comandos deinterfaz gráfica de las diversas vers
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
iseñado para poder iniciar un programa. En s
jecutar un programa determinado o varios. Lo
para ello debe indicárseles como. Son como
y cuando. En su memoria base suelen cargarse l
ndos adicionales, que le permiten realizar las
hace un programa es decirle al ordenador
ra poder realizar lo que el programa quiereocumento… etc.
ás común para los ejecutables es la .exe enero también existen diversos tipos de ejecu
fueron los primeros), los .bat (archivos de proce varios programas sucesivamente), incluso alg
l para el sistema operativo y pueden ser ejec
chivo ejecutable necesita un sistema operativo
le permite al ordenador entender lo que dice
uien carga en el ordenador las órdenes básicepciones a esta norma, pero son pocas.
venir solo o bien acompañado de más archiv
arga y manejo de esos archivos. Es como el int
los, el programador suele usar un lenguaje d
endible para él y luego codificarlo para que p
ensamblaje). La codificación genera un resultad
pero no por el propio programador. Los leng
tivo, existiendo muchos y muy distintos.
n son los archivos autoejecutables, que ya inc
bores necesarias por su
utables es que no precisan
se, por lo que pueden ser
.
es que un procesador de
roductor ejecuta un video,
nte hablando, puesto que
s bien lee los datos contenidos en él. Un archiv
s necesarias para ejecutar o iniciar un program
omandos
Windows es una implementación de la coniones Microsoft Windows.
temas Computacionales.
interior están pues las
s ordenadores pueden
un niño a quien debe
as instrucciones básicas,
tareas más simples. La
como debe usar esos
hacer, sea mostrar una
indows (que viene de
ables con extensiones
samiento de lotes, que
nas librerías como .dllutados por este. Es de
ara ejecutarse, puesto
el archivo y llevarlo a
cas que luego servirán
s. El caso es que será
rruptor que da pasó a
programación que le
eda ser entendido por
o en código ASCII, que
ajes de programación
luyen en su interior las
ejecutable debe traer
a.
sola MS-DOS para la
-
8/15/2019 FP Apuntes U1
16/17
Fundamentos de Programación.
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
A partir de la versión de
complemento de sistema, sin que pe
Evolución de la línea de comando
Una versión previa de la lí
versión 2.0 de Windows, la cual pemisma línea de comandos que el
protección de memoria para el siste
La línea de comandos de
Windows 3.0 sin entregar más fun
independiente al entorno gráfico d
DOS por ejecución de consola, re
ventaja permitía que el usuario pu
modo gráfico.
En las versiones de Windo
usuario y se podía encontrar como
línea comando como un hilo abs
problemas de protección de memo
azules de la muerte, que es una lla
Los sistemas operativos Win
no se basa en un intérprete de com
un elemento esencial para el sistem
accesorio del sistema.
Comandos del MS-DOS.
Los comandos MS-DOS son
desde la ventana de la consola deen los siguientes enlaces:
http://www.escet.urjc.es/~emartin/
http://www.monografias.com/traba
http://es.wikipedia.org/wiki/MS-D
O ejecuta el intérprete de
todos los comandos incluidos en co
con otros ficheros ejecutables DOS.
Ingeniería en Sis
I.S.C. Gregorio Martínez Vásquez. gre
SUPERIOR edellín
indows XP, la línea de comandos pasó a s
diera la funcionalidad de la misma.
.
ea de comandos y el formato de archivos b
mitía crear archivos con extensión pif, los cualehilo principal del sistema operativo, lo que
ma operativo.
indows como accesorio de sistema existió a
cionalidades adicionales, a excepción de ejec
el sistema, entregando la posibilidad de crear
arando los problemas de la versión anteces
diera invocar programas desde la consola de
s 95 y 98, la línea de comandos cargaba l
un accesorio de sistema, el cual puede invoc
olutamente independiente al sistema operati
ia persistían en esta versiones de Windows, g
ada crítica de inestabilidad del sistema operati
ows XP y Vista, al encontrarse basados en el
ndos en modo texto (MS-DOS), por lo cual la lí
operativo. Aun así, la línea de comandos se si
las instrucciones que le damos al sistema ope
línea de comandos. Puedes checar la lista de
urso0/2-ComandosDOS.pdf
jos17/ms-dos-comandos/ms-dos-comandos.shtm
S
comandos ms-dos y escribe help, luego presi
mand.com. Otros comandos (deltree o edit por
temas Computacionales.
gundo plano como un
tch, fue lanzada en la
s eran ejecutados en laroducía problema de
artir de la versión de
utarse en una ventana
más de una sesión de
ora de Windows. Esta
comandos sin salir del
a interfaz gráfica del
r a procesos desde la
vo, pero aun así, los
enerando las pantallas
vo.
úcleo de Windows NT,
nea de comandos no es
ue incluyendo como un
ativo de forma escrita
comandos del MS-DOS
l
ona Enter. Aparecerán
ejemplo) son llamados
-
8/15/2019 FP Apuntes U1
17/17
Fundamentos de Programación
INSTITUTO TECNOLÓGICDE ALVARADO – Campus
Continuara...
Ingeniería en Sis
I S C Gregorio Martínez Vásquez gre
SUPERIOR edellín temas Computacionales.
orimexico@hotmail com