c
Del Problema Al Programa Cargado
gc
¬esumen del recursoc
Tabla de contenidos
1.Definición del problema
2.Análisis del problema
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.
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.
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
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.
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
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
7.- T¬ANSC¬IPCIÓN
8.- C MPILACIÓN
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
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
a.- La lógica del programa esta bien, pero hay errores sencillos, los cuales los
c
c
c
c
c
c
c c c c
c c
c
c c c
cc c cc cc
cc cccc
cccc 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
ccccc c ccccc!""#
cc c
c
ccc
c
ccc ccc c$
cccccc
% c&$'cc c c c(cc
cccc$c
c ccc cc c c c)c
cc
c$
cccc% ccccc 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 cc $
c
c>m c
ccccc c cc
$
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
ccc
c
c6
c
c c
cccc
cc cccc
ccccc, cccc ccccccc
cc
cc
cc
c cccc+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 cccc%cc
c
(cc
.c c ccc
cc%c2$cc3 4cc
.c c ccc c
cc
.c c ccc
cccccc1
c
c
5 c cc c ccc% c
cccc
c c)
ccL!ccL6c c
c ccc+c
(c
c.c cconcatenación L!L6c cc c c ccccvwc
v cccL!ccw ccccL6cc
.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
ccw cL6c ccvw cccL!c
.c cestrella L!;c cc c c ccc c ccc
c W!W6Wc c c Wc c c c L!c c c <c #c = c c c
ccc7 cccL;c
.c c intercalación L!;L!c c c c c c c c c
ccccv!w!v6w6vwc c c ccccv!vc
ccL!
ccccw!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
ccc$cccccc$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 c
c & 'c c c c c c c
c c
c
c c c
c cc
cc
c
)c
cc
cccc$ ccc ccc c
cc
(cc% c
c
c !"?@
c =c 3 4c c c 2$c c 3 4c c
c c c
cc
cc
c
c
à c c
c
c!#c$ cc c
$c
c
c
c
AccAc
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
ccccc
c
c c
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 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 ccc cccc
ccc1c
c c c c c -c c c c
c c c 1c c c c
c-cccc1ccc 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 cc
m
c$cc c
cc
ccc c
$c
c
m m
)cc ccc c
c
c
c
c 6
c c cccc c c c
c cc c cc$
cc c
ccc$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 ccDDc
c( )c
c-
c cc c c $ cccc
c c
c c c c
c c c c c c
%
ccc
cc> c- $c
ccc cc
cc
c c+
c c cc cc c
cc c
cccDDc
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$ cccc
cc
c cc
ccccI ccIcccc cc
c
cccccc cc>c
c cc
c
c
c c c c c c
c )c c c c c c c
cc
c
c c cccDDc
c
c
cJ3cc c
c c cc ccc
cc
cc
c
cc cc ccc cc KDDcL"MDcN1Oc
Nc1cODc1cc-)3Dc>BOc>cBcOc
c
c
*+,-*.cc/01+0-"-à%2*c
c
>c c c c Ec c c c c
c
E
c c cccc cccc cccc*clenguaje de
programación c c c c c c c c
c > c
c cccccccc c+cc c c
cc cc
c
c
cc
c c(c
-c*ccccsímbolos
ccccc ccc c%cc
cc
c
Pc*ccccreglas
ccm mc
ccc cc c
cQ Rcc
c m c
c
3c m
c c c c
c c c c c % c c c c c
c cc
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
cccc
c
à-.%3%à-à%2*cc1.c*+,-*.cc/01+0-"-à%2*c
c
1c 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 ccc
c
Gc)
+ccrelación traducción-ejecuciónc;c3 c
;c c
c
Gc)
+c ccampo de aplicación(c;c- c3$ c>c c
c
cccc c;c- cc> ccB c) c
c c% ccc
c
c c c c c c c c c
c c
c cc cc c
;c- cc1cc1 c%cccccc cc
cc
;c- cc
c-c c cc
ccc
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)
+ccestilo de programación(cc
;c% c
;cB% c= c cc c+c c
c
4cBcccc
c
c
1c cc c c
cc
cccccc
c c c c -c c c % c %c c c
c c
c%ccc ccc c cc
cc
c
)c c ccccc
c
c
>c
(c)c
ccc
c
)
c
(c)c c
c c
c
1c
(c)c c
ccc%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
cccc
cc (c
c
c cc
c ccccccc c c
cc
c c c+ccc cc
c
c c c
c c c c c c c c c c c
cc
c cccc
c c: cc cc
cc
c
> c c c c c c c c
c c $
c c
cc c
cc
ccccc$ ccc
cccc
ccc3>*
c cc
cc
c
c
c
cc c
cc (c
c
Gc *c
c cc
cc ccccc
cc*c%ccc
ccccc
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
ccccccc
cccc cc
cc
cccccc c cccc
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
ccccccc
cccc
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
ccccccc cc 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 cccc
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
cccccc
cc
c
c
cc
c
Gc ccc cc% ccc cc c
c c c c $
c c c c c c c c c
c
cc c
cc
ccc cc
c
cc
cc c
cccc c
cc cc
ccccccc-
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
ccc
cccc
ccc3>*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$ccccccc 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 cc
c
c c
c c c
c c c c %c
c ccc
ccc c
cc ccprograma
fuente
c c c
c c c c c c c programa objetoc c
c?!c cc (cc
cc cccccc
cc ccc
ccccc c
cc cc
cc
c
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 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 cc ccc c
ccc%
cccccc*
ccc
c
cc c cc
c c c c% c
c
c>c(cc)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
cc cc c cc ccc
3c c
cccccccc
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
cccc c c c cc
c
cc ccc cc cc cc
cc
c
c$ cc cc c$ cc c cc cc
cc ccc
ccc
c
c
3c
c% cc
c ccc c,c@U##c
Ncccc cc cc
ccc
(c
c
c-*F!c V*c?c3H=1c V*c@cB-c -c3H=1c
-BBc -cWc!c)1-c -c-*Fc
-*F!XGGGGc3H=1cYc!c
c
3c
cc $c-*F!cc cccccc?c
cc $c3H=1ccc cccccc!#c3cc
ccc ccc,Z3H=1[cccc-c)cc+c!c
c c c -c c c c c c -c 3c c c c -c c c
cccc,Z-*F![c
c
*c
cc ccc cccc
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 ccc 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
ccccc
ccc c$c
ccc3>*c
ccc
c
c c
c % c c c
c c c c
macroensambladoresc3c c c %ccccccccc
c c c c c c
c c c
ccmacroinstrrucciones
cccc cccc 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
cc 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 cccc
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
cc cc cc cc
c
c
c$ cc c
ccc%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 ccccc
c
Gc ccc c cc
cc cc c
c c
c % (c
c c
c
c
c
c
c
c cc
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
cc cc c
c
c
Gc >c c c c c $ c c
c c c c $ c
$ cc c ccc
cc c
cccc
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
ccc%cc
cc c
cc% c c
c cc
cc
c
c c cc cc c
ccc%(c
ccompiladores cc
ccc
c
cccc
ccc
%ccc
cc-c c%c%cccoptimizaciones c
c
c c % c c c c
c c c + c c c
cc
cc c cc c cc
c
cintérpretes cc
cc$cc$
c c
c
c
c
cc c cc cccEc)c c cc c
c cccccc$cc%cc ccc
c c c c $c c c c c %c c
c
semicompilados c c c c c $c c c
c
c
c ccccc
c c c+ cc c
c c c c + c c $c c c c c c
c
c
!!c à 6
c
c
*cccc
c
c ccc
ccc%
ccc
c
c c c
c c c c c
c c
c cccc
ccc
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 cc ccc
cc (c
ccc cc
cccccc $ cc
cSc c
c c c c c
c
c c c c c c
c
c-c c%
cccc c c%cccc% c
ccc
c c c c c c c c c c c
c c c
cc ccc cc%cccO
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
cccc c$ c c $
cc cc
c c c c c c $ c c c c $c c c c
ccc cccc cc c c c
cc cccc
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
cc
c
c
c) nálisis semántico.
c ccc
cc
ccc
ccc c c
c c c c
cc
cc
c 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
ccccc $ c
c
d) eneración de àódigo ntermedio.
)c c c c c c c
c c c c
c c c
ccccc
cccc
cc3
c
cccccc cc
cc c c
c
e) ptimizaciones.
c c c c c c c c
c c
c
c
cc
ccc
c*cccc $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
ccc
c
c
>ccc
ccc%
c cc+ccc 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
cccccc
c ccc c cc cc
ccc c c c ccccc
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 $ccc
cccc
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 cccc
ccc
c c % c c
c c c
c c
c c
cccc
ccccc %cc c
c
c
cccc cccccc
cc c c c
ccc $ccccc
c)
+c c%cc
c c
c c c c c c c c c c
(c $cc ccccc cc*c
%cccccc cccccccQN*=Rccc
ccc$cc$c)ccccccc
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
cc cccc (c
-c`c6#c;cPcYc3cc
c cc
c$ c(c
!c`c%aa6c6c`cPc;c!cCc`c3cYc6c-c`cCc
>c c$cc 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
cc
cccc c%cc$cccc
c
Gc3c%cc cc
c cc%%cc
ccccc
cc c
cccccc
ccc %cc
cccc3cc
cccc c c
c
c c c c c %c c c c
(c c c
cc
c ccc
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 cc c
c c c $cccc
c c c c c c
c c c c
c
c3cccc cc
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
cc
cc
c ccccc cc
c
c %%c c c c c Sc c
c c c
c
c
cc
c c cc% c cc
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 ccc
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*%9c
c
>cccc
ccc c c c cc
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
ccc
c
cc cccc>$ ccc c c ccc
ccQ
Rcc
c
c
7!cà 6
&c
c
3ccc cc
cccccc, 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-cc c
c
cc%ccQ, B-)HP2Rc
c
cccc
cc
cc c
c c c
c
cc+cc ccc
c
77c
:c
c
c c ccc c cc% c cc ccc
ccc c cc$
ccc
cc1 c c
c c c
c c c c c c >c c c
cccc
c ccc
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 cc c c ccccc
cargadorc 1c 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 cccc
cc
ccccc%ccccccc c
c c cc c c*cc c cc c
c
c cc 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 cSc c
ccc
cc
ccc
c c c c c c c c c c c c
% c cccc cc
c
c
7<c &c
c
c
c c c c c c
c >c c c c c c
%c ccccc3>*cccccccccc c
c c c c c
c c
c
c c c c c
ccc$ 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
cccc c% cc%cc
c