Anda di halaman 1dari 20

c

c
Del Problema Al Programa Cargado

gc
¬esumen del recursoc

El proceso de resolución de un problema con una computadora conduce a la escritura


de un programa y a su ejecución en la misma. Aunque el proceso de diseñar

programas es esencialmente un proceso creativo, se pueden considerar una seriede


fases o pasos comunes, que generalmente deben seguir todos los programadores.

Tabla de contenidos
1.Definición del problema
2.Análisis del problema

3.Selección de la mejor alternativa


4.Diagramación
5.Prueba de escritorio

6.Codificación
7.Trascripción
8.Compilación

9.Pruebas de computador
10.Documentación externa

Las siguientes son las etapas que se deben cumplir para resolver con éxito un
problema de programación:
1.- DEFINICIÓN DEL P¬ LEMA

Está dada por el enunciado del problema, el cuál debe ser claro y completo. Es
importante que conozcamos exactamente que se desea del computador; mientras qué
esto no se comprenda, no tiene caso pasar a la siguiente etapa.

2.- ANÁLISIS DEL P¬ LEMA


Entendido el problema (que se desea obtener del computador), para resolverlo es
preciso analizar:
gc Los datos o resultados que se esperan.

gc Los datos de entrada que nos suministran.


gc El proceso al que se requiere someter esos datos a fin de obtener los resultados
esperados.

gc Áreas de trabajo, fórmulas y otros recursos necesarios.


Una recomendación muy práctica es el que nos pongamos en el lugar del computador,
y analizar que es necesario que me ordenen y en que secuencia, para poder producir

los resultados esperados. También da buenos resultados hacer similitudes con la labor
de un empleado que hace el mismo trabajo que deseamos programarle al computador.

3.- SELECCIÓN DE LA MEJ ¬ ALTE¬NATIVA


Analizado el problema, posiblemente tengamos varias formas de resolverlo; lo
importante es determinar cuál es la mejor alternativa: la que produce los resultados

esperados en el menor tiempo y al menor costo. Claro que aquí también es muy válido
el principio de que las cosas siempre se podrán hacer de una mejor forma.

4.- DIAG¬AMACIÓN
Una vez que sabemos cómo resolver el problema, pasamos a dibujar gráficamente la
lógica de la alternativa seleccionada. Eso es precisamente un Diagrama de Flujo: la

representación gráfica de una secuencia lógica de pasos a cumplir por el computador


para producir un resultado esperado.
La experiencia nos ha demostrado que resulta muy útil trasladar esos pasos lógicos

planteados en el diagrama a frases que indiquen lo mismo; es decir, hacer una


codificación del programa pero utilizando instrucciones en Español. Como si le
estuviéramos hablando al computador. Esto es lo que denominaremos Algoritmo o

Pseudocódigo.
Cuando logremos habilidad para desarrollar programas, es posible que no elaboremos
el diagrama de flujo; en su lugar podremos hacer directamente el pseudocódigo del

programa.

5.- P¬UEA DE ESC¬IT ¬I

Para cerciorarnos de que el diagrama (y/o el pseudocódigo) esta bien, y, para


garantizar que el programa que codifiquemos luego también funcione correctamente,

es conveniente someterlo a una Prueba de Escritorio. Esta prueba consiste en que


damos diferentes datos de entrada al programa y seguimos la secuencia indicada en el
diagrama, hasta obtener los resultados. El análisis de estos nos indicará si el diagrama

esta correcto o si hay necesidad de hacer ajustes (volver al paso 4). Se recomienda
dar diferentes datos de entrada y considerar todos los posibles casos, aun los de
excepción o no esperados, para asegurarnos de que el programa no producirá errores

en ejecución cuando se presenten estos casos.

6.- C DIFICACIÓN

Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio,
codificamos el programa en el lenguaje de computador seleccionado. Esto es,
colocamos cada paso del diagrama en una instrucción o sentencia, utilizando un

lenguaje que el computador reconoce.


Todos los lenguajes de programación proveen facilidades para incluir líneas de
comentarios en los programas. Estos comentarios aclaran lo que se ordena al

computador y facilitan entender el programa. Puesto que estos comentarios no son


tenidos en cuenta como instrucciones, y aparecen en los listados del programa, resulta
muy conveniente agregar abundantes comentarios a todo programa que codifiquemos.

Esto es lo que se denomina Documentación Interna.

7.- T¬ANSC¬IPCIÓN

El programa codificado es necesario que lo llevemos a un medio que sea aceptado


como entrada por el computador: lo perforamos en tarjetas, lo grabamos en un disco
flexíble o lo grabamos en un disco duro. Este programa es el que se conoce como

Programa Fuente (Source).

8.- C MPILACIÓN

Utilizamos ahora un programa de computador llamado Compilador o Traductor, el cúal


analiza todo el programa fuente y detecta errores de sintaxis ocasionados por fallas en
la codificación o en la transcripción. Las fallas de lógica que pueda tener nuestro

programa fuente no son detectadas por el compilador. Cuando no hay errores graves
en la compilación, el compilador traduce cada instrucción del programa fuente a

instrucciones propias de la máquina (Lenguaje de Maquina), creando el Programa


bjeto.

Algunos computadores utilizan Interpretadores, (Generalmente para el Lenguaje


asic), en reemplazo de programas compiladores. La diferencia consiste en que el
interpretador recibe, desde una terminal, sólo una instrucción a la vez, la analiza y, si

esta bien, la convierte al formato propio de la maquina. Si la instrucción tiene algún


error, el interpretador llama la atención de la persona para que corrija dicha
instrucción.

Como resultado de la corrida del compilador, podemos obtener varios listados:

gc Listado del programa fuente

gc Listado de los errores detectados


gc Listado de campos utilizados, etc.

Los errores los debemos corregir sobre el mismo programa fuente, ya sea
reemplazando las tarjetas mal perforadas o regrabando en el disco flexible o en el
disco duro. Este paso de la compilación lo repetimos hasta eliminar todos los errores y

obtener el programa ejecutable.

9.- P¬UEAS DE C MPUTAD ¬

Cuando tenemos el programa ejecutable (en lenguaje de maquina), ordenamos al


computador que lo ejecute, para lo cuál suministramos datos de prueba, como lo
hicimos en la prueba de escritorio (paso 5). Los resultados obtenidos los analizamos,

luego de lo cuál puede ocurrir cualquiera de estas situaciones:

a.- La lógica del programa esta bien, pero hay errores sencillos, los cuales los

corregimos modificando algunas instrucciones o incluyendo unas nuevas; el proceso


debemos repetirlo desde el paso 6 .
b.- Hay errores ocasionados por fallas en la lógica, lo que nos obliga a regresar a los

pasos 4 y 5 para revisión y modificación del diagrama.


c.- Hay errores muy graves y lo más aconsejable es que regresemos al paso 2 para

analizar nuevamente el problema, y repetir todo el proceso.


d.- No hay errores y los resultados son los esperados. En este caso, el programa lo
podemos guardar permanentemente en una librería o biblioteca del computador, para

sacarlo de allí cuando necesitemos ejecutarlo nuevamente.

10.- D CUMENTACIÓN EXTE¬NA

Cuando el programa ya se tiene listo para ejecutar, es conveniente que hagamos su


documentación externa siguiendo las normas de la instalación o las recomendaciones
indicadas por el profesor. Una buena documentación incluye siempre:
-Enunciado del problema
-Diagrama de pasada
-Narrativo con la descripción de la solución
-¬elación de las variables o campos utilizados en el programa, cada uno con su
respectiva función
-Diagrama del programa
-Listado de la última compilación
-¬esultados de la ejecución del programa

c
Π c 
c
c
c 
c 
c c  c  c  
c c
 c  
c  c c
cc  c cc cc  cc cccc
c ccc cc
c
 
c  c c lenguaje formal c  c c  c  c c  c

c c 
c c c  c c c c c   c  c  c c
 cc c cc  c  cc ccc!""#
c c  c  c
ccc  c
cc c ccc c$ 
ccccc c
%  c& $'cc c c c(cc  cc cc$c
c ccc cc c c  c)c 
cc
c$
c ccc% ccc c c  cc  c   c  c c
c c c c & 'c c  c c  c  c  c c c
c c c  c c  c % c   c   c c  c c
 cc c$ c cc%c c c
c
*c  c c $
c 
c>m c
cccc c c c c
$
c c  
c m m mc *c  c c  c  
c c  c  c

c $(c  c c c  c  c  c c c  c  c +c c
$  ca cb
cc c
c
Œc6
 c c c
c ccc  cc cccc
ccccc, cc c c cccccc c
cc  cc
cc  c cc cc+cc
c  c
c
-  c  c% cc   c  (cc
.c  ccc c  c  c c/a
cb0cc
.c  cc/an(cn es un número primo0cc
.c  ccc c  c  c c%  cccc
 c  cc
.c  c c c  c c  c   c c  c c c 1 c c
c
c
Πc   c  cc c  ccc c%cc
c
(cc
.c  c ccc c c%c2$cc3 4cc
.c  c ccc  c  cc
.c  c ccc 
c ccccc1 c
c
5 c cc c  ccc% c   cccc
 c c)   ccL!ccL6c c   c cc c+c
 (c
c.c cconcatenación L!L6c  cc c  c  cc ccvwc
v  c ccL!ccw  cc ccL6cc
.c cintersección L!7L6c  cc c  c  cc c c
cL!cccL6cc
.c cunión L!8L6c  cc c  c  cc c cc c
cL!ccL6
.cc  c complemento 9L!c   c c  c   c   c   c c  c
 ccL!ccc cc ccL!c
.c  c cociente L!:L6c   c c  c   c   c v c  c   c  c
c cw cL6c  ccvw cccL!c
.c cestrella L!;c  cc c  c  ccc c  cc c
c W!W6Wc c c Wc c c c L!c c c <c #c =  c c  c
 c cc7  cc cL;c
.c c intercalación L!;L!c   c c  c   c   c c c c
  cc ccv!w!v6w6vwc c  c  cc c cv!vc
 ccL!
cc c cw!wc ccL6c
c
*c  c c c c $c c c c  c  c L  c
c $ c  c c c  c c c c c  c vc c c  c  c
cc c$cc c cc c$cc c c c
c
>c   c  c  c c c  c  c %% c c c   c  c  c

c   c   c  
c c c  c  c c  c
  c &  'c  c c  c  c c c 
c  c   c
  c c  c   c  c c   cc  c
)c 
c c  cccc$ ccc ccc  c
  cc  (c c% c
c
c !"?@
c =c 3 4c  c c 2$c c 3 4c c  c  c   c
 cc  c c
c
c
à cŒ  c 
c
c!#c$  cc c $c
c

c
c
Ac cAc  c

* c cà  c
c
c!"?@
c=c3 4c   c  c  ccc cc   cc c
   c  c c c c $c c 3 4
c c c  c c  c  c
 cc ccc c c  c   c %cc cc c
   c c   c c   c Πc c  c (c   c
 %c  
c   c    c  c 
c   c  c c
c c   c    c B c   c c c c c
  ccc#
c!
c6ccCc
c
 c c c  c c c c c   c  c c   c c
  c cc cc c cccc  ccc1c
c c c c c -c c c  c  c c c 1c c c c
c-cccc1c cc c  c   c cc-c ccc
1c Œc  c c   c c c c   c c c  c
 c
c
Πm  
m    m     
)c  c   c  cΠc  ccc  c  c
c
Πm            m    
=c  c   c  
c  %
c  
c c c %c  c c c c
 c %$c  c   c c  c c c $ c c  c c %c c
 c   c 
c  +c  c $  cccc c c
Πm                
Œc$cc  c   cc  ccc c $c
c
Πm  m    
)cc ccc  c   c
c
c
 

c c6 c c


c
c  c DDΠc  c c   c c Ec c c c  c
  c c ccc  c  cc cc-ccc
 c   c c  
c  c  c c c   c $  c c

c  c 
c c c  
c c 
c c  c c  c c  c
$  ccccDD c  cc c cc (DDc
c
c c c
 c c  cc cc  c  cc  c cc
 c  c >$c  c  c c c  c $c c c %c c
 c c  c c $c c c DD c +c  c  c c
$ cc c  (DDc
c c cc% cc 
c%c ccc cc*=FDDc
c
c cc cc
   c cc ccc cc
,)GBH)DDc
c
!c c c6

c 6
cΠc cc c c c c  c
c cc  c cc $
cc  c  cc c $cc
 c c Πc  c c  c  c c c % c
 c+  cc  c 
cc (DDc
c " #c  c c c  c  c c  c  c c c  c
cc cc $
c  c c  c cc  cc
+ c c c    c c c c c 
c c c c  c
 cccc  ccD$c
c % &c c  6
 c c '6  c Œc   c c  c   c
  c c  c c 
c c  c % c c  c
  c c  c c  c   c c c  
c 
c  c c

c c c  c  c  c  c c c c  c  c c
$
ccc cc c  cc DDc
c( )c
 c-  c cc c  c $ ccc c
 c c     c  c  c  c   c  c   c c c   c
 %
cc c cc>  c- $c 
ccc cc 
cc
 c  c+
c  c cc cc  c
cc c
ccc DDc
c *# c  c
 c c  c 
 c >c  c   c  c c + c c  c
+c c $c c c  c c c c c c  
c c c  c
  c  c % c c  c  
c  c % %c c  c c  c  c  c

c c c  c c c c  c +c c $c c c c c
DDc
c( )c 6
c cc$ ccc c cc
c cc
cc ccI ccIcccc cc 
c
 c c ccc c cc>c 
c c c c
 c 
c  c c c   c c  c )c c  c c  c  c c

c c c  c c c ccDDc
c
 c
cJ3 cc  c   c c cc c cc c c  cc
c 
cc cc ccc cc  KDDcL"MDcN1Oc
Nc1cODc1c c-)3Dc>BOc> cBcO c
c
c
Œ*+,-*.cc/01+0-"-à%2*c
c
>c c c c Ec c  c  c  c   c
 E
c  c  c cc c c ccc cccc*clenguaje de
programación  c  c c c  c c  c  c   c > c
  c ccc cc ccc c+ cc c  c
 cc c c
c
Πc   cc  c c(c
-c*ccccsímbolos
ccc c c cc c c% c c
 cc
c
Pc*ccccreglas
c cm m c  
cc c  cc  c
 cQ Rc c  c  m c
c
3c   m
c c  c c  c  c  c c c % c c c c c
  c  c c  c
c
- $
c  c c c c lenguaje de programación  c c c conjunto de
símbolos c c conjunto de reglas %  c c  
c c c c c c
 cc  cc cc
c
àŒ-.%3%à-à%2*ccŒ1.cŒ*+,-*.cc/01+0-"-à%2*c
c
1 c  c   c c   c c c   c c c
% c (c
c
Gc ) +c c niveldzc c c c c  c  c c c  c c c c
 c  c  (c
;c Π c c c % c c    c  c c c c ;c Π c c
 c% c c cc
c
Gc) +c crelación traducción-ejecuciónc;c3  c
;c c
c
Gc) +c ccampo de aplicación(c;c-  c3$ c>c  c  c
c  ccc c;c-  cc> ccB c)  c
 c c % cc c
 
c 
c   c c  c c  c  c  c c  c c
  
c cc  cc c
;c-  cc1cc1 cΠ%ccc c  cc cc
 c c
;c-  cc  c- c c  cc  cc c
c c   c c   c    c 
c  c c 
c 
c
 
c   c
cc
;c -  c c >  c c )  c 3c c  c   c c c
 c c   c  c    c c c ) c H%
c  c c
 
cc
c
Gc) +c cestilo de programación(cc
;c% c
;cB % c= c cc c+ c   c
c
4cBcc cc c
c
1c cc  c  c   cc  
ccc ccc
c c c c -c c c % c %c c  c 
c  c
  c%ccc   ccc c c c  cc
c
)c  c cccc c  c
c
>c  (c)c   ccc
c
) c  (c)c  c   c   c
c
1c  (c)c  c   cc c% c
c
Œ*+,-*c"56,%*-c
c
Πc  c c c c  c  $c c c 
c c c
c à  MÁQU c Lenguaje Máquina. c  c  c c   c
c  $  c Q#Ic c Q!Ic Πc  c c c c c c c c c c
 c c instrucciones
c c   c c  c programasc Πc   c c
 c c (c  cc cc   cc (c
c
’c c c
c cc c cc c c  c c  cc
 c c c+ccc  cc
c
’c c c  c c c  c   c c c c c c c
c c
c cccc
c c :  cc c c
c c
c
> c c c c c c c c   c c  $
c c
 cc c  c c ccc cc$ cc c
ccc c   cc c3>*
c  cc
cc
c
c
Πc cc  c   cc (c
c
Gc *c c cc  cc cc cc c
 c c*c%cc c cc cc c
c c 
c c c  c   c % c c c
cc
Gc Πc   c   c c  c c c c c c
c 
c c c c  c  c c c  $c c  c
 cc ccccc
cccc c c  cc
cc c c cc  c  cc cc
c
>c 
c  c   c c c  c   c $  G
   (cc
c
Gc Πc   c c  c c  c c 
c c   c  c c
ccc cccc  cc cc
 c
Gc Πc  c c  c c c c  c  c c c c c
c c  c  ccc cc%  c
cc
c
c c  c  c c asignar  c  c c c c  c
%  c c   c  c  c >c  c  c    c c c
c c c c c c c c c  c  
c c c c c
 cc ccc cc c c  c%  c
Gc c c c   c  c c c c c  c   c
 c cc   c
c
c  c
cc% c cc  (cc
Gc Bc cc cc
Gc BcccG  ccc  cc
Gc Bc   c c  (c 
c  
c  c c
 cc
 cc c
c
, c
cc 
cc cc  c $ c
c   c c %Sc c c  
c  c  c c     c c
 c c c c  c  c c  c  c c  c c
 c   c    c  c c c >c  
c c
  
c cccc cc c c   cc
cc 
c
c  
cc
c
Gc  ccc  cc%  cc c  cc  c
 c c c c $ c c c c   c c  c   c  c
c c c  c  cc 
c cc cc

c   cc
cc c  cc cc   c
 cc  cc ccc cccc-
cc
 c c c c  c  c c  c  %
c  c
c  c  c
Gc c  c c c c  c  c $c c c 3>*c  c
c )c  c  c c 3>*T c 
c c   c
  c c c  
c  c  c c  c  c
 cc   c cc
cc  c  cc
Œcc c  ccc c  cc c3>*ccc
 c   c  c c  c  c c   c c c
transferibles ctransportables ccccc
Gc c c  c c   c 
c c c   c  c c
 c c   c  c  c -
c c c c   c
 c
c cc$ cccccc c c
c
!c(0-,à(10.c
c
>c  c  c c c   c c c  c   c  c   
c
  %c  c  cc c  c   c
c cc  c
  c c   c c  c c   $c c   $c
  c c  c  c   c c c   c c   c  c
  c cc clenguajes simbólicosc
c
3c c c +c c c c c   c 
c
 c  ctraductores
cccc c  c c c  c
 c  c  c c c  c  c  c c %c
  c  ccc  ccc c c c ccprograma
fuente
c c  c  c c  c  c  c c  c programa objetoc Œc
 c?!c  c c (c c cc c cc ccc
cc ccc 
cccc c c cc  c c
 cc
c


c
 c  c  c  c  c c   c c  c c c
(clos lenguajes ensambladores y los lenguajes de alto nivelc
c
!c
 cc  
 c
c
Πc   c   cc c (c
c
c  c   c  
c c %c c    c  c c 
c c
 c  c c c c  c  c    c c  c
= c  c   c c c  cc ccc  c

ccc%
cc c cc c*  
cc c c
   cc  c cc
c  c  c c% c
c  c>c (c c)c c  c cc-BBc cc  
c)*Pc
   
c ,H5c %
c =H1c   c 
c 3-ŒŒc  c c c

cN 1ccc
cc
c
* 
c c  c 
c  c   c c c c  c c  c
 c    c - $
c c  
c  c  c c c  c c

c   c 
c )*,-
c >NHB
c 3H=1
c -*F
c c  c  c
 % c c  c   c c % c c c  c
c c cc c   cc ccc
3c  c  
c cccc ccc
c c c  c
  c 
c  c  c  c   c c  c  c
 c  c
c
Πc   c   c c  c  
c c c  c   c c  c
  c c  cccc c c c cc
c   cc ccc  cc  cc  cc
  cc
c
 c $ cc cc  c $ cc  c cc  c c

cc   cc c  ccc c
c
3c 
c% cc c  cc c c, c@U##c
N c c cc cc c c  c cc   (c
c
  c-*F!c V*c?c3H=1c V*c@cŒB-c -c3H=1c
-BBc -cWc!c)1-c -c-*Fc
-*F!XGGGGc3H=1cYc!c
c
3c  c c $ c-*F!c c  ccc cc c?c
  c c $ c3H=1cc c  ccc cc c!#c3c c
cc c  ccc,Z3H=1[cc c c-c)c c+c!c
 c c c -c c  c  c   c c -c 3c  c c c -c c c
  ccc c,Z-*F![c
c
*c cc  ccc ccc c
c
c  c c c   c %
c  +c  c  c c
 cc c% c c
c
ccc  c  cc  cc ccensambladorcc
c
c  ccc  %c  cc  c  cc  c   cc
c c cc  c  c c cc!T cc#T
ccc c c
c %  c c  c c 
c c c c c  
c c
 c   c  c  c c c   c 
c c
  cc c cc 
ccc c$c  cc c3>*c
c cc
c
c  c   c %  c c  c   
c c c c
macroensambladoresc3c  c c  %cccc c  cccc
c c   c c c Πc   c c    c
 ccmacroinstrrucciones
ccc c cc cc cc
c  c c  
c   
c %
c c Œc   c  c c
c c c   c c 
c c macro
c c  c c  
c  c c
 c  c  c c  c  c   c c %
c c  c  c c c
c  c H%
c c c   
c c c c  c
 
c c c% c  cccc cc
c
!!cΠ c c
c
cà 6
 c c'6  c
c
Πc   c   c c  cc   cc  c  
c
c  cc  c   c
ccc  cc cc  c
Πclenguajes de alto nivel c c   ccc  c
c
Πc   c c  c % c c   c  c  c c c  c   c c c
c c  c 3c   c   c  c  c c  c c
 c c   c c   c  c c c  c  c 
c
  c  c c  c   c   c c c  c   
c
c c cc  cc cc  c
c
Πc$  cc  c   cc c% c (c
Gc Πc   c c  c c c c  c  
c  c c
 c   cY
c\
c:
cc
c
Gc c ccc  c%  cc 
c  c  c cc c
c 1H1-Œ
c 3H=1-BHN
c N )*Œ1-BH
c 
c c  c   c c
 c c  c   c c c  % c Œc    c c c c
%  cc  c  ccc cc
c
Gc ccc  c cc 
cc cc c
c c c % (c 
c    c  
c  
c   
c 
c  c

c c c ccP 
c
cccc c
c cc ccccc 
cc
c
Gc c ccc  c  ccc c%  
c c  c
  cc  cc  c   cc c
c
Gc Πc   c c  c % c  c c c c c c   c  c
   c c  c >c  
c  c  c  c   c  c P-)3
c c
c  c  c c  c c  c   c c    c c c
c c c c   c  c Q c c c Rc c

c c c c  c  ] c c  ^c  c c  
c
 c c c c c c c  c %
c  c -c = c
)c  c -=)c c  c c  c   c c   c c
c c  cc  c  c
c
Gc >c   c  c c  c $ c c  
c c c c $ c
 $ cc c c c c   cc  c 
ccc c
c 
ccc c  c
c
Gc *c  c  c c c  c c  c % c c c c c
c c c 
c c  c  c %c c
 c c  c c *  c c  c c c c  c  (c
c c   
c c  c c   c c >c c 
c c
ccc  cc c% cc  
c c c
cc% c  c
c  cc  cc
c
 c c cc cc  c   cc c% (c
Πccompiladores c c  ccc  c
ccc c cc c
%cc c c c-c c%c %cccoptimizaciones  c c
c  c %  c c   c c  
c c   c +  c c c
c c cc c cc c cc
c
Œ cintérpretes c c  cc $cc $
c c c c
c
cc  c  cc cc cEc)c c  cc  c
 
c cccccc $cc%cc cc c
c  c   c c $c  c c c c %c Πc   c
semicompilados c  c c c c $c c c  c 
c
c  cc ccc 
c c  c+ cc  c

c c  c  c + c c $c c c   c c c
 c
c
!!c à 6
 c
c
*c ccc c
c ccc  cc c%
ccc
 c 
c  c c  c   c c c c  c c
 c cccc
cc c cc ccccc c
c c c   c c c  %c c c  c
 c
c
Œc  c c c  c  c   c  c c  c  c
 
ccc% cc c c cc c  c c (c
ccc   c c ccc ccc $  c c cSc c

c c c  c  c  c 
c c  c   c c  c  c
c-c c%
cccc  c c %c c  cc% c 
ccc
c c c  c   c c c c  c  c  c  c c Πc
  c c cc  c cc%cc cO c?6c
c
a) nálisis lexicográfico.
3  c c  c  c  c c c  c   c  
c  c

c  c $ 
c c c  c c  c c  c c  c
  c c c 
c c  c   c  c  c Bc  c 
c  c
 c ccc c$ c  c $ 
cc cc
c  c c  c   c c $  c c  c  c $ c c c c
 cc c cc cŒc  cc c c c
c c c cc c c
cccc cc
c
b) nálisis sintáctico.
Œc  c c  c   c c   c c  c c c cc
  c  c c  c  c c  c c c c c  c  c
c 
c  c 
c c  c   c  
c  c c
   c c  cccc  c  c c  c
c
c) nálisis semántico.
Œc ccc  cc  cc c  ccc  c  c
  c  c c  c   cc  
c c  c c  c
c c c cc  c  c
c  c  c c  
c  c  c c  c  c c c c c
 c c c  c   c  c c c c  c
 cc c cc $  c
c
d) eneración de àódigo ntermedio.
)c c c c c  c c   c c  c  c 
c  c   c
 c c ccc  ccc c 
cc3  c

ccccc c  c c  cc c c
c
e) ptimizaciones.
c c  c c  c c c  c   c c c 
c
 c c ccc  c*c cc c $cc
c  c   c c   c c c  c c c c  
c c c c  c
  c c $c  c % c c c  c  c  c c c
$c  c   c c c  c c  c  c c c c c   c
c%c
c
f) eneración de àódigo bjeto.
c  c c c c  c   c c  c c   c  
c  c   c  c
c  
c c c  c  c   c   c % c c c  c
  
c cc c
c
>ccc  cc c%
c cc+cc c cc   c
c  c c   c c _c  c c  c  c   c c c c c
 ccccc c
c
Œc   c  c c  c  c c c  c c % c c c c
cc cc c c c c cc  c  cc   c c
 ccc  c c  c cccc c c
c
 c c   c c   c cc  c  c  c c  c c  c
 c c
c
 c   c c c  c  c c c c  c   c c
 
c  c $c cc  cc c  c
c
c
c
!!!c %'6  c
c
*ccc cc cc ccc  c%
c c c

c  c c   c c c c c c c c
c cccc ccc c
c cc
c c % c   c 
c c c 
c c  
c c

cccc cc  ccc %cc  c
 c
c
c cc c ccccc c cc c  c  c
ccc $c ccc c  c) +c c%c c
 c   c  
c c  c c c c  c   c c c
  (c $c c ccccc c c*c
%cc ccc c ccc ccc cQN*=Rcc c
c cc $cc $c)c c cccc c
 
ccc(c
c
Gc Πc  c c c  c c  c c c c 
c c
  c  c  c c  c   c c c )c c  
c c
  
c c  cccc (c
-c`c6#c;cPcYc3c c 
c cc 
c$ c(c
!c`c%aa 6c6c`cPc;c!cCc`c3cYc6c-c`cCc
>c c$c c  c  c   c c c c  c
!c`cPc;c6#c-c`c!cYc3c
c
Gc )c c c c c c c  
c c c  c % c c  c c
 c c 
cccc  c%cc$ccc c
c
Gc3c%cc  cc c cc% %cc 
cccc c
 cc c cccccc ccc %cc
  ccc c3cc 
cc c c c c 
c
 c c c   c c %c c c  c  (c c   c
cc c c cc
cc cc%c
c
Πc 
c c  c c  c % c 
c c   c c  c
  c c  c +c c % c c c %c c c  c  c  c c
c- cc  c c c c  c  c c c $cccc
c c c c  c c   c c c  c  c
c3cc cc c c 
ccc c$
cc%ccc
c c c   c 
c  c c c 
c  c c c
  c  c *c %c   c  c   c   c  c  c

c c cc   c c cccc c c
c
c % %c c   c c c  Sc c  
c c c  
c    
c
 cc  c c c c% c c c
c
H%c  c   c  c   c  c   c c c c
 
c c c  c  c c c c  c  c  c  c  c
Hc %c  c c  c  G c  c c 
c c c 
c
 c c c  c   c c  
c c  c  c >3c  c P-)3c c
c ccNH,c
c
 c   c  c  c c c c  c P-)3
c Œ)>
c c _c
 cc  cOHN1N-=
c3
c-B-c=c cc c 
ccc
 ccc cc  cc c
c
7c 3-..c *c Œ-c à1%3%à-à%2* c *à,à%2*c 8c /,0-à%2*c c ,*c
/01+0-"-c.à0%(1c*c,*cŒ*+,-*cc-Œ(1c*%9Œc
c
>cccc c cc  c  c c c c
c c c  c c  c c c c c +c  c
 cc
cc c cccUtilidadesc
-c 
c  c  c c
c
7ccc 
c
*c %c c  c  
c c  c c c c 
c c c

c c  c c c c c c  %c  
c c c c c
editor de textosc
c
c c c  c  c c  c c  c c  c c  c
ccc
c 
c
c 
c 
cc c
c  cc cccc>$ ccc c c c c c
c cQ Rc c c
c
7!cà 6
&c
c
3c cc cc   ccc ccc, B-)
c  c
c  c  c  c 3c  c  c  c  c  c c  c
  c   c c  c  c c c c   c
c-c c c  
c  cc%ccQ, B-)HP2Rc
c 
ccc c cc  cc c c c  c
c   
cc+cc cc c
c
77c
:c
Œc  c c  ccc  c  cc%  c cc   c cc
 cc c  c cc $
cc c c c1 c  c
  
c  c c  
c c  c   c c    c >c c c
 
cc cc  
c c cc 
cc cc
%c c c  c c c Q, B-)>NRc c   
c c c
c ccc
c
7;càc
c6 c c c66
c
Œc  c  c  c c c  c  c  c   c c 
c c
 cc c c  c c  c cc cc
cargadorc 1 c  c  c c c   c c c  c c  c
  (c
c
Gc -  c  c c c c  c c  c  c H%c  c
   cc  cc  c  c
c
Gc 3c  c c   c    c c c  c c  c    c  c
 c   c c  c  c  c  c c  c   c c

cccc  cc c cc c  c cc c c
 c  c  
cccc  c %cccccc c c
c  c   cc  c  c*cc  c cc  c  c
  c c c  c  c
c
Gc c  c   c c  c  c  c c #c c c  c  c
 % c c  
c c c c  c  c c c    c c c
 ccc c  c c  c ccc c
c c$  c  c
c
Gc> c  c  ccc %cc c Sc c
c c c
 cc ccc
c  c   c   c  c c  c  c c  c    c c
%  c   cccc c c c
c
7<c &c
c
Œc  c  c  c c  c  c  c >c  c  c c  c  c
%c c c cc c3>*cc c cc c cccc c
c c c   c  c  c  c 
c  c c  c c c
 c c c$ ccc  c
c
7=c 6&c c  c
c
)c  c  c c  c c c  c  
c c   c   c c
 c c  c c  c  c c c  c   c c
c  c  c   c c   
c   c   c c c
 c ccc  c%  cc%cc
c

Anda mungkin juga menyukai