Documente Academic
Documente Profesional
Documente Cultură
A LA
PROGRAMACIN
logos Conocimiento, S.L. Madrid 2009. Todos los derechos de Propiedad Intelectual e Industrial de esta obra pertenecen a logos Conocimiento, S.L.
NDICE
INTRODUCCIN A LA PROGRAMACIN
Un programa en definitiva es un conjunto de rdenes que ejecuta el ordenador para conseguir un objetivo.
Las rdenes se dan a travs de un lenguaje de programacin (cdigos).
3
INTRODUCCIN A LA
PROGRAMACIN
2. Ciclo de vida: Fases clsicas de diseo de aplicaciones informticas.
Se conoce como ciclo de vida de un sistema informtico, al conjunto de actividades a realizar desde que se
concibe la realizacin de un producto software hasta la retirada de de la explotacin del mismo.
Anlisis.-
En esta fase se establece cul es el producto a desarrollar, siendo necesario especificar los procesos y
estructuras de datos que se van a emplear, para satisfacer las necesidades y restricciones en el desarrollo
de la aplicacin. Suele ser misin del analista funcional.
- Recoger las ideas expuestas poe el cliente, y transformarlas en especificaciones vlidas para el
diseador.
- Validar con el cliente que las especificaciones realizadas por l, se ajustan a los deseos que cliente
le transmiti.
Diseo.-
En esta fase, partiendo de la informacin recogida en el anlisis el diseador establece CMO se llevan a
cabo los objetivos presentados en el Anlisis. Suele ser sta, la misin del analista orgnico.
- Todo gasto de tiempo en diseo se convierte en ahorro cuando se escriba y depura el programa.
4
INTRODUCCIN A LA
PROGRAMACIN
En esta fase se alcanza una solucin ptima, detallada y con la mayor precisin posible para el desarrollo de
la aplicacin. Para esta fase se utilizan principalmente dos tipos de herramientas de diseo para dar solucin
a los algoritmos definidos en fases anteriores::
Pseudocdigo: El algoritmo se expresa con palabras del lenguaje comn y de la forma ms detallada posible.
Diagrama de flujo:
Se definen como la representacin grfica que mediante el uso de smbolos estndar conectados o unidos
mediante lneas de flujo, muestran la secuencia lgica de las operaciones o acciones que debe de realizar u
ordenador, as como la corriente o flujo de datos en la resolucin de un problema.
Los diseos deben de ser normalizados para facilitar el intercambio de documentacin entre el personal
informtico. Los diagramas de flujo se pueden clasificar en dos grandes grupos:
- a) Organigramas
- b) Ordinogramas
Una de las principales diferencias entre ambos, es que pertenecen a diferentes fases o etapas de la resolucin
de un programa. Mientras que los organigramas corresponden a la fase de anlisis, los ordinogramas
corresponden a la fase de diseo. Pese a estas diferencias, en muchos mbitos, se suele llamar
indistintamente a los dos generalizando ambos con el nombre de organigramas.
5
INTRODUCCIN A LA
PROGRAMACIN
Las otras fases del ciclo de vida de las aplicaciones informticas son:
6
INTRODUCCIN A LA
PROGRAMACIN
3. Estructura de un Centro de Proceso de Datos. Roles habituales.
Un Centro de procesos de Datos CPD (tambien conocido como un sistema de informacin (SI) es un conjunto
organizado de elementos, estos elementos son de 4 tipos:
- Personas.
- Datos.
- Actividades o tcnicas de trabajo.
- Recursos materiales en general (tpicamente recursos informticos y de comunicacin, aunque no
tienen por qu ser de este tipo obligatoriamente).
Todo ese conjunto de elementos interactan entre si para procesar los datos y la informacin (incluyendo
procesos manuales y automticos) y distribuirla de la manera ms adecuada posible en una determinada
organizacin en funcin de sus objetivos. Normalmente el trmino es usado de manera errnea como
sinnimo de sistema de informacin informtico, estos son el campo de estudio de la tecnologa de la
informacin (IT), y aunque puedan formar parte de un sistema de informacin (como recurso material), por
s solos no se pueden considerar como sistemas de informacin, este concepto es ms amplio que el de
sistema de informacin informtico.
7
INTRODUCCIN A LA
PROGRAMACIN
Los sistemas de informacin tratan el desarrollo, uso y administracin de la infraestructura de la tecnologa
de la informacin en una organizacin.
LOS ROLES de las personas implicadas en un CPD son muchos y muy variados, pudiendo estos variar en funcin
de la organizacin en que desempeen su trabajo. Los ms habituales son:
La codificacin de programas.
Lenguajes de Programacin.
Los lenguajes de programacin son una notacin para escribir programas, a travs de los cuales podemos
comunicarnos con el hardware y dar as las rdenes adecuadas para la realizacin de un determinado proceso.
Lgicamente, para escribir los programas, aplicaciones o softwares que el ordenador emplea para trabajar,
el programador utiliza un lenguaje de programacin denominado de alto nivel, que le permite crearlos
escribiendo lneas de texto codificadas. Esas lneas de texto u rdenes el programador las puede escribir, leer
y entender, no as el ordenador mientras se mantengan escritas de esa forma.
Para que el ordenador pueda entender las ordenes contenidas en un programa cualquiera escrito por el
programador en lenguaje de alto nivel, es necesario que otro programa denominado compilador las
traduzca y convierta a cdigo mquina de bajo nivel. Este cdigo, compuesto solamente de unos y ceros,
es el nico que entiende el ordenador y es el que le permite interpretar las rdenes contenidas en los
programas para que las pueda ejecutar.
9
INTRODUCCIN A LA
PROGRAMACIN
Los lenguajes de programacin a lo largo de la historia.
10
INTRODUCCIN A LA
PROGRAMACIN
Periodo Influencias Lenguajes
El nico lenguaje que realmente maneja una computadora es el lenguaje Mquina, este lenguaje esta
formado exclusivamente de nmeros binarios. Adems un programa en lenguaje mquina debe especificar
todos los detalles referentes al hardware, lo que hace que adems de muy largo, sea dependiente de la
mquina en que se trabaje.
Por su parte un programa escrito en un lenguaje de alto nivel, esta compuesto de sentencias en un lenguaje
ms cercano al lenguaje natural con respecto al primero. Un lenguaje de alto nivel es por tanto mas fcil de
entender y aprender, permite a los programadores olvidarse de los detalles del hardware y concentrarse en
11
INTRODUCCIN A LA
PROGRAMACIN
la lgica del programa; adems produce programas que se pueden ejecutar en diferentes equipos de computo
con pocos o ningn cambio.
Son tambin llamados de bajo nivel por que el lenguaje que utilizan unos y ceros (sistema binario) para dar
rdenes al ordenador. Son los que ms bajan al nivel hardware de la maquina, los ceros y unos son en realidad
niveles de tensin elctrica ms o menos elevada.
Es el nico que entiende directamente la computadora. Utiliza el alfabeto binario que como vimos ms
arriba, que consta de los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de dgitos binarios).
EJEMPLO:
12
INTRODUCCIN A LA
PROGRAMACIN
Lenguaje de ensambladores.-
Es el primer intento de sustituir el lenguaje mquina por otro ms similar a los utilizados por las personas.
Cada instruccin equivale a una instruccin en lenguaje mquina, utilizando para su escritura palabras
nemotcnicas en lugar de cadenas de bits.
Formado por nemotcnicos es decir, palabras abreviadas procedentes del ingls formadas por letras y
nmeros (Ejemplo: MOV A, B). La programacin en lenguaje ensamblador precisa de un amplio conocimiento
sobre la constitucin, estructura y funcionamiento interno de un ordenador, as como un hbil manejo de
los cdigos y sistemas de numeracin, en especial el binario y el hexadecimal.
EJEMPLO:
INICIO: ADD B, 1
MOV A, E
CMP A, B
JE FIN
JMP INICIO
FIN : END
Cada modelo de computadora tiene un lenguaje ensamblador propio diferente del de los dems, por lo cual
un programa slo puede utilizarse en la mquina para la cual se program.
El programador ha de conocer perfectamente el hardware del equipo, ya que maneja directamente las
posiciones de memoria, registros del procesador y dems elementos fsicos.
Todas las instrucciones son elementales, es decir, en el programa se deben describir con el mximo detalle
todas las operaciones que se han de llevar a cabo en la mquina para la realizacin de cualquier proceso.
Mnima ocupacin de memoria y mnimo tiempo de ejecucin en comparacin con el resultado de la
compilacin del programa equivalente escrito en otros lenguajes.
13
INTRODUCCIN A LA
PROGRAMACIN
Lenguajes de Alto Nivel.-
Se llaman lenguajes de alto nivel cuando el conjunto de rdenes que utilizan son fciles de entender y
aprender. Adems no hay incompatibilidades entre un microprocesador y otro. Como inconveniente
destacable, es la necesidad de traducir los programas escritos en un lenguaje de alto nivel a un lenguaje de
programacin tan primitivo como el lenguaje mquina para que pueda ser interpretado y ejecutado por la
unidad central de proceso, lo que significa disponer necesariamente de un traductor (ensamblador,
compilador o intrprete) para cada tipo de ordenador utilizado.
- Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una forma ms
sencilla, eliminando muchas de las posibilidades de cometer errores que se daban en el lenguaje
mquina, ya que se utilizan palabras (en ingls) en lugar de cadenas de smbolos sin ningn significado
aparente.
- Incluir rutinas de uso frecuente como son las de entrada/salida, funciones matemticas, manejo de
tablas, etc, que figuran en una especie de librera del lenguaje, de tal manera que se pueden utilizar
siempre que se quieran sin necesidad de programarlas cada vez.
14
INTRODUCCIN A LA
PROGRAMACIN
5. Ensambladores, Interpretes y Compiladores.
Cuando programamos en un lenguaje distinto al lenguaje mquina, los programas diseados deben ser
traducidos a cdigo binario, para que as las instrucciones en ellos especificadas puedan ser entendidas y
ejecutadas. El sistema o software encargado de traducir estos programas (denominados programas fuentes)
puede ser un ensamblador, intrprete o compilador.
Programas Ensambladores.-
Son los encargados de transformar o traducir directamente (lo que aporta al ordenador mayor velocidad de
operacin) los programas escritos en ensamblador a su correspondiente en cdigo mquina o cdigo binario
para que puedan ser ejecutados por la CPU.
Programas Intrpretes.-
Analiza el programa fuente y lo ejecuta directamente, sin generar ningn cdigo equivalente. Suele generar
programas ms rpidos y eficientes, ya que el anlisis del lenguaje fuente se hace una sola vez, durante la
generacin del programa equivalente. Un intrprete es un programa de software encargado de procesar y
traducir cada instruccin o sentencia de un programa escrito en un lenguaje de alto nivel a cdigo mquina
y despus ejecutarla; es decir, que el microprocesador ejecuta la orden o instruccin una vez traducida y
despus de comprobar que no existe error alguno de sintaxis. La traduccin o interpretacin y la ejecucin
no se realizan como procesos independientes, sino en una misma operacin e instruccin por instruccin,
respetando rigurosamente el orden establecido en ellas.
15
INTRODUCCIN A LA
PROGRAMACIN
Programas Compiladores.-
Son los traductores a lenguaje mquina de los lenguajes de alto nivel. Un compilador es un programa de
software escrito en algn lenguaje de programacin cuyo objetivo es traducir el correspondiente programa
fuente (fichero constituido por un conjunto de instrucciones desarrolladas en un lenguaje de alto nivel) a su
equivalente en cdigo mquina, tambin denominado programa objeto. Su misin, con otras palabras es,
analizar el programa fuente y traducirlo a otro equivalente escrito en otro lenguaje (por ejemplo, en el
lenguaje de la mquina).
La diferencia ms destacable entre un compilador y un intrprete radica en que, mientras que un intrprete
acepta un programa fuente que traduce y ejecuta simultneamente analizando cada sentencia o instruccin
por separado, un compilador efecta dicha operacin en fases independientes, primero traduce
completamente el programa fuente a cdigo mquina y seguidamente ejecuta el programa.
Otra de las funciones del compilador adems de la DEPURACIN SINTCTICA del programa FUENTE es
producir un listado indicando la lnea donde se ha detectado y la regla sintctica que se ha infringido.
1. Edicin:
El programador con un editor de textos genera el cdigo fuente, en un archivo o en varios.
2. Compilacin:
Cada archivo de cdigo fuente se compila y se obtiene un archivo de cdigo objeto.
- Anlisis lxico
- Anlisis sintctico
- Anlisis semntico
- Optimizacin
- Generacin de cdigo.
16
INTRODUCCIN A LA
PROGRAMACIN
Linkaje:
Se montan, enlazan y vinculan todos los cdigos objeto y se genera un archivo en cdigo mquina, capaz de
ser ejecutado en el ordenador.
Ejecucin:
El sistema operativo monta en memoria el programa ejecutable y lo ejecuta.
Visto secuencialmente :
17
INTRODUCCIN A LA
PROGRAMACIN
Y este mismo proceso de compilacin en los lenguajes de alto nivel se ve secuencialmente y con un poco
ms de profundidad en el esquema siguiente:
El analizador lxico: Detecta las palabras reservadas, signos de puntuacin, variables etc.
El analizador sintctico: Comprueba que las sentencias son correctas desde el punto de vista sintctico.
El analizador semntico: Comprueba que las sentencias son correctas desde el punto de vista semntico.
El operador de cdigo final: Realiza la ltima traduccin dando lugar al cdigo objeto, que es el cdigo
escrito en lenguaje ensamblador.
18
INTRODUCCIN A LA
PROGRAMACIN
6. Cdigo fuente, cdigo objeto y cdigo ejecutable.
PROGRAMA OBJETO: Programa cuyas instrucciones estn escritas en lenguaje reconocible por el
ordenador.
Un programa FUENTE que ha sido compilado y por tanto traducido a lenguaje mquina, es decir, convertido
en programa OBJETO, es un programa que todava no es EJECUTABLE. No es EJECUTABLE, porque est
incompleto.
Cada una de las instrucciones de un programa FUENTE, al ser traducido a OBJETO, se EXPANDEN en varias
INSTRUCCIONES MAQUINA. Estas instrucciones, adems, son ordenadas y direccionadas secuencialmente.
Existen, sin embargo, en el programa ya compilado algunas instrucciones que necesitan un nmero de
instrucciones complejas para poderse EJECUTAR.
Por tanto, en el programa OBJETO no estn todava las instrucciones de esos MODULOS, aunque estos s
estn definidos y direccionados.
Adems, existen instrucciones del lenguaje de alto nivel que piden la ayuda de otros programas. Por ejemplo,
el verbo CALL. El compilador direcciona la instruccin, pero no incorpora el programa LLAMADO.
19
INTRODUCCIN A LA
PROGRAMACIN
El programa LINKEDITADOR, tiene como funcin bsica incorporar (ENLAZAR), tanto los mdulos OBJETO
definidos por el compilador, como los programas o subprogramas tambin llamados funciones o
procedimientos.
Con el conjunto formado por el programa OBJETO, ms los mdulos o librerias incorporados, ms los
subprogramas aadidos, genera lo que se denomina programa EJECUTABLE.
MODULO COBOL: Conjunto de instrucciones mquina, que son capaces de realizar la accin
pedida por un verbo COBOL.
PROGRAMA EJECUTABLE: Programa generado por el linkeditor a partir del programa OBJETO
generado por el compilador, los mdulos COBOL Y LOS POSIBLES PRO-
GRAMAS LLAMADOS. El programa EJECUTABLE, como dice la palabra,
est dispuesto para realizar el proceso.
PROGRAMA LLAMANTE: Programa, en nuestro caso COBOL, que contiene una o n veces el
verbo CALL para solicitar que se le incorpore una copia del programa
indicado como operando de dicho verbo.
Los PROGRAMAS que de forma automtica desarrollan los Sistemas de la Compaa (nminas, control de
produccin, etc..) son, como es lgico, PROGRAMAS EJECUTABLES, que residen permanentemente en
LIBRERIAS.
Sin embargo, hasta que un PROGRAMA pasa a SER EJECUTABLE, ha de recorrer un camino que podemos
definir como de PUESTA a PUNTO.
20
INTRODUCCIN A LA
PROGRAMACIN
Este camino a recorrer tiene como objetivo garantizar que el PROGRAMA funciona y funciona bien. Slo
a partir de este momento el programa podr pasar a residir en la librera de PROGRAMAS EJECUTABLES
(programas en explotacin).
Durante la PUESTA a PUNTO el programa se har EJECUTABLE solamente el tiempo necesario para probarlo
y conseguir unos resultados. Si es necesario, se corregirn instrucciones y de nuevo se probar el Programa.
El circuito de la PUESTA a PUNTO ser COMPILAR, LINKEDITAR y EJECUTAR tantas veces como se considere
necesario.
Lgicamente en esta Fase intervienen tambin los DATOS de ENTRADA as como los RESULTADOS.
CIRCUITO DE PRUEBA:
Ciclo normalmente repetitivo en el que intervienen: EL PROGRAMA FUENTE recin
corregido, que pasa a ser PROGRAMA OBJETO, a continuacin PROGRAMA EJECUTABLE
(provisional) que da unos resultados revisables.
21