Está en la página 1de 239

Dedicatoria A:

Ana Isabel,
Luz Piedad,
Juan Pablo y
Efran Alberto Oviedo
TABLA DE CONTENIDO
Presentacin !I
Captulo 1. CONOCIMIENTO DE LA COMPUTADORA "
"" #istoria de la $o%&utadora "
"' Defini$i(n de una $o%&utadora )
"* Clasifi$a$i(n de las $o%&utadoras +
") El $o%&utador di,ital -
Estru$tura l(,i$a -
Dis&ositivos de entrada y salida de datos .
"+ Ti&os de &ro$esa%ientos "/
"0 Elabora$i(n de &ro,ra%as &ara $o%&utadora "'
"- Ter%inolo,a b1si$a "+
". 2iste%as nu%3ri$os "4
5e&resenta$i(n binaria, o$tal y 6e7ade$i%al '"
"4 5e&resenta$i(n de datos ''
5e&resenta$i(n alfanu%3ri$a '*
5e&resenta$i(n nu%3ri$a '+
5e&resenta$i(n nu%3ri$a entera '0
5e&resenta$i(n nu%3ri$a de &unto flotante '4
""/ Ti&os de $a%&os **
""" Clases de infor%a$i(n *)
Captulo 2. ENERALIDADE! !O"RE ALORITMO! *-
'" La l(,i$a *-
'' Pro$edi%iento *.
'* La e7&resi(n *4
') Pasos &ara la solu$i(n de un &roble%a a trav3s de
la $o%&utadora )'
Defini$i(n del &roble%a )'
An1lisis del &roble%a )'
Crear el al,orit%o )'
Prueba del es$ritorio )'
Codifi$a$i(n )*
Trans$ri&$i(n )*
Co%&ila$i(n )*
E8e$u$i(n )*
Do$u%enta$i(n e7terna ))
'+ El al,orit%o ))
Cara$tersti$as de los al,orit%os ))
9eneraliza$i(n del al,orit%o ).
'0 Con$e&to de &ro,ra%a$i(n +"
'- 5e&resenta$i(n de al,orit%os +'
'. E8er$i$ios &ro&uestos ++
Captulo #. E!TRUCTURA !ECUENCIAL +-
*" 5e&resenta$i(n +-
*' Instru$$i(n de asi,na$i(n +.
** Instru$$i(n de entrada de datos +.
*) Instru$$i(n de salida de datos +4
*+ E8er$i$ios &ro&uestos 0)
Captulo $. E!TRUCTURA DECI!I%N L%ICA 0-
)" 5e&resenta$i(n 0.
)' :un$iona%iento 0.
)* E8er$i$ios &ro&uestos .-
Captulo &. E!TRUCTURA REPETITI;A .4
+" 5e&resenta$i(n 4/
+' :un$iona%iento 4/
+* ;ariables ti&o $ontador 4/
+) ;ariables ti&o a$u%ulador 4"
++ Es<ue%a $uantitativo 4+
+0 Es<ue%a $ualitativo "//
+- :or%ato ,eneral de los dos es<ue%as "/.
+. ;ariables ti&o bandera o s=it$6e "/.
+4 5u&tura de $i$los ""*
+"/ 5o%&i%iento de $ontrol de e8e$u$i(n ""0
+"" E8er$i$ios &ro&uestos "*+
Captulo '. E!TRUCTURA! ADICIONALE! ")4
0" Estru$tura CA2O o sele$$i(n %>lti&le ")4
0' Estru$tura PA5A "++
0* Estru$tura 5EPETI5 ?#ACE5 @IENT5A2 ABEC "0*
0) E8er$i$ios &ro&uestos "-)
Captulo (. !U"PRORAMA! "--
-" Clasifi$a$i(n de los sub&ro,ra%as "-4
-"" Pro$edi%ientos o subrutinas "-4
a 5e&resenta$i(n "-4
b A$tiva$i(n de un &ro$edi%iento ".'
-"' :un$iones ".)
a 5e&resenta$i(n ".+
b A$tiva$i(n de una fun$i(n ".0
-' Do$u%enta$i(n de sub&ro,ra%as ".-
As&e$tos a tener en $uenta "4.
-* E8er$i$ios &ro&uestos "44
Captulo ). ARRELO! '/"
Clasifi$a$i(n de los arre,los '/'
." Arre,los de una di%ensi(n o ve$tores '/'
O&era$iones b1si$as $on arre,los
B>s<ueda '"-
Ordena$i(n ''"
Inser$i(n ''.
Borrado '*/
.' Arre,los de dos di%ensiones o %atri$es '*0
.* Arre,los %ultidi%ensionales '0"
As&e$tos a tener en $uenta '0+
.) E8er$i$ios &ro&uestos '00
Captulo *. REI!TRO! + ARC,I-O2 '-4
4" 5e,istros '-4
4"" Arre,lo de re,istros '.*
4' Ar$6ivos '.-
4'" Co%&onentes de un ar$6ivo '.-
4'' Clasifi$a$i(n de los ar$6ivos se,>n su uso '.-
4'* Con$e&to de $lave '4/
4') Al%a$ena%iento de ar$6ivos y su a$$eso a la infor%a$i(n '4'
4'+ Pro$esa%iento de ar$6ivos '4+
4'0 O&era$iones b1si$as sobre ar$6ivos '44
O&era$iones sobre ar$6ivos se$uen$iales '44
O&era$iones sobre ar$6ivos se$uen$iales inde7ados */)
Anota$iones i%&ortantes */+
As&e$tos a tener en $uenta */-
4* E8er$i$ios &ro&uestos */-
"i.lio/ra0a *")
1n2ice analtico *"+
P5E2ENTACIDN
Este te7to est1 basado en la se,unda edi$i(n del libro Al/orit3os Estructura2os4 &ero $on
%u$6os $a%bios, tanto en la for%a $o%o en su $ontenido Ade%1s, se le adi$ionaron y
%odifi$aron $on$e&tos, tratando sie%&re de $onservar su for%a did1$ti$a &ara <ue sea f1$il de
leer e inter&retar &or a<uellos le$tores <ue se ini$ian en el fant1sti$o %undo de los
$o%&utadores
La obra lle,( a su fin ,ra$ias al a&orte del De&arta%ento de 5e$ursos de A&oyos
Infor%1ti$os ?D5EIC , de la :a$ultad de In,eniera de la Bniversidad de Antio<uia y de las
$rti$as y a&orte de %u$6os de %is $o%&aFeros y $ole,as, entre ellosG :abi1n 5os, 5oberto
:lorez 5, Aldrin :redy Jara%illo, Leonel Osorno y Ovidio @ontoya
2e re$o%ienda a los le$tores ini$iar la le$tura del te7to desde el ini$io e ir analizando los
e8er$i$ios resueltos y solu$ionando los &ro&uestos, ya <ue es funda%ental dentro del &ro$eso
l(,i$o <ue si,ue el libroG esto es i%&ortante ya <ue $ada $a&tulo nuevo utiliza los $on$e&tos de
los $a&tulos anteriores
Los e8er$i$ios resueltos est1n $odifi$ados en CHH, y &ueden ser $onsultados en la &1,ina =eb
5ttp66in/enieria.u2ea.e2u.co6pro0esores6po7ie2o, donde se a$tualizaran y $odifi$aran en otros
len,ua8es de &ro,ra%a$i(n
El libro est1 dividido en nueve $a&tulos, &artiendo de lo %1s ele%ental 6asta lle,ar en el
$a&tulo final a un te%a de %ayor &rofundidad No i%&li$a esto <ue 6aya ne$esidad de
$o%enzar &or el &ri%er te%a si el le$tor ya $ono$e al,unos de los t(&i$os tratados Est1
estru$turado de for%a tal <ue $ual<uier &ersona <ue est3 interesada en un te%a es&e$fi$o &ueda
$onsultarlos, sin ne$esidad de se,uir el desarrollo $o%&leto del te7to
El $a&tulo ", Conoci3iento 2e la co3puta2ora4 &resenta una reseFa 6ist(ri$a de estas
%1<uinas, y da a $ono$er diferentes defini$iones y $lasifi$a$iones, 6asta introdu$irnos en la
ter%inolo,a b1si$a de las $o%&utadoras y en los siste%as nu%3ri$os $on los $uales traba8a
El se,undo $a&tulo, enerali2a2es so.re al/orit3os4 trata de la l(,i$a y de los &asos
ne$esarios &ara solu$ionar &roble%as a trav3s de la $o%&utadoraI ta%bi3n nos introdu$e en los
$on$e&tos de la &ro,ra%a$i(n y %uestra la for%a de re&resentar los al,orit%os sobre el &a&el,
lo <ue 6a$e %1s f1$il el &aso a un len,ua8e de &ro,ra%a$i(n
En el $a&tulo ter$ero nos en$ontra%os $on la &ri%era estru$tura b1si$a de $ontrolG la
estructura secuencial. En este $a&tulo se dan a $ono$er, &aso a &aso, las instru$$iones de
asi,na$i(n, de entrada y salida de datos, y al,unos otros $on$e&tos &ara los $uales fueron
diseFadas estas estru$turas
Estructura 2ecisin l/ica es el no%bre del $uarto $a&tulo En 3l se &lantea la
re&resenta$i(n y el fun$iona%iento de una de las estru$turas %1s utilizadas en el arte de
&ro,ra%arG la estru$tura 2IJCIE5TOJ:AL2O
El <uinto $a&tulo, Estructura repetiti7a4 trata sobre el fun$iona%iento de la ter$era
estru$tura b1si$a de $ontrolG el $i$lo #A9A @IENT5A2 Este $a&tulo nos ,ua desde las
variables ti&o $ontador y a$u%ulador 6asta los ro%&i%ientos de $ontrol de e8e$u$i(n, &asando
&or los es<ue%as $uantitativo y $ualitativo y la ru&tura de $i$los
En el se7to $a&tulo, Estructuras a2icionales4 se en$uentra la re&resenta$i(n y el
fun$iona%iento de las estru$turas no b1si$as de $ontrolG CA2O, PA5A, #ACE5 @IENT5A2
ABE $o%o estru$turas <ue &ueden ser usadas en $asos e7$e&$ionales, ayudando a %e8orar la
&ro,ra%a$i(n
El $a&tulo siete &arte de la re&resenta$i(n y do$u%enta$i(n de los diferentes $lases de
su.pro/ra3as4 &ara ter%inar $on la for%a en la <ue se a$tivan 3stos dentro de los al,orit%os
Es un $a&tulo din1%i$o <ue &lantea la verdadera utilidad de los sub&ro,ra%as en la
&ro,ra%a$i(n %odularizada
El $a&tulo o$6o trata sobre el %ane8o de arre/los4 su $lasifi$a$i(n de una, dos y tres
di%ensiones <ue son los %1s utilizados en el %edio, lo %is%o <ue las o&era$iones de b>s<ueda,
ordena$i(n, inser$i(n y borrado de ele%entos
Todos los te%as rela$ionados $on este $a&tulo son %ane8ados $on sub&ro,ra%as y vienen
a$o%&aFados de una ,ran $antidad de e8er$i$ios resueltos, f1$iles de $o%&render y <ue e7&li$an
a fondo su fun$iona%iento, ade%1s de %u$6os e8er$i$ios &ro&uestos
En el $a&tulo nueve se introdu$e el $on$e&to de re/istros, arre,lo de re,istros, lo %is%o
<ue el $on$e&to de arc5i7os 2e 2atos El le$tor &uede en$ontrar diversos t(&i$os sobre
ar$6ivos, tales $o%oG $o%&onentes, $lasifi$a$i(n, %ane8o de $laves, &ro$esa%iento de ar$6ivos
se$uen$iales y se$uen$iales inde7ados, lo %is%o <ue e8er$i$ios resueltos de ,ran utilidad
A lo lar,o del te7to se en$uentran noventa e8er$i$ios resueltos, <ue 6a$en %1s f1$il
$o%&render $ada $a&tulo Ta%bi3n $uenta $on dos$ientos $in$uenta e8er$i$ios &ro&uestos, <ue
dan al le$tor la o&ortunidad de &ra$ti$ar todo lo a&rendido sobre los te%as Cada se$$i(n del
libro tiene, al final, una &arte dedi$ada a resu%ir los as&e$tos &rin$i&ales de <ue trata el $a&tulo
y una serie de e8er$i$ios <ue &er%ite afianzar los $ono$i%ientos
Por >lti%o, el te7to viene a$o%&aFado de la &1,ina =eb 6tt&GKKin,enieria
udeaedu$oK&rofesoresK&oviedo, donde se en$uentran noventa e8er$i$ios <ue estan resueltos
al,ort%i$a%ente, $odifi$ados en el len,ua8e de &ro,ra%a$i(n CHH En $da uno de ellos se
>tiliza una ,a%a de re$ursos $on el fin de darles buena &resenta$i(n a la $a&tura y salida de
infor%a$i(n tales $o%oG %ane8o de $olores, ti&os de letras, $uadros, %en>s, valida$i(n de
infor%a$i(n, %ane8o de te$las y libreras $readas $on %u$6os sub&ro,ra%as de ,ran utilidad
El autor
Captulo 1
CONOCI@IENTO
DE LA CO@PBTADO5A
1.1. ,istoria 2e la co3puta2ora
No se tiene una fe$6a e7a$ta deter%inada de $u1ndo se &lante( el 6o%bre la ne$esidad de
a,ilizar a trav3s de una %1<uina las o&era$iones <ue se le &resentaban Bna de las &ri%eras
%1<uinas de las $uales se tiene noti$ia es el 8.aco4 $uya o&era$i(n data de %iles de aFos en el
$er$ano Oriente Cuando esta t3$ni$a se $ono$i( a&are$en varias versiones de 3l, tales $o%o el
8.aco C5ino 9 el !oro.:n ;apon<s.
@1s tarde, en "0)', el fran$3s Blaise Pas$al desarroll( una %1<uina $al$uladora <ue era
o&erada &or una serie de dis$os, unidos en en,rana8es, <ue tenan los n>%eros del / al 4 en
$ir$unferen$ia, de tal for%a <ue $uando un dis$o daba una vuelta, auto%1ti$a%ente el dis$o de
la iz<uierda avanzaba un d,ito Los indi$adores sobre los dis$os %ostraban las res&uestas
$orre$tas Pero esta $al$uladora s(lo serva &ara su%ar
En "04) 9ottfried Lit6el% Leibnitz $re( una %1<uina <ue %ulti&li$aba y divida
dire$ta%ente El dis&ositivo <ue utiliz( Leibnitz, en for%a de rueda es$alonada, a>n se usa en
al,unas $al$uladoras
Tanto Pas$al $o%o Leibnitz se adelantaron a la te$nolo,a de sus tie%&os, &ero nin,uno de
sus inventos era $onfiableI &or otra &arte, todos estos intentos &or $onse,uir una %1<uina <ue
&udiera &ro$esar datos se 6a$an en for%a aislada
@1s tarde, $uando a&are$i( el inter3s &or la nave,a$i(n, la astrono%a y el 6ilado te7til, se
$rearon nuevas %1<uinas &ara la ayuda en la solu$i(n de $1l$ulos $o%&le8os y &ara in,resar
&atrones a trav3s de tar8etas a los telares En "./" Jose&6 @arie Ja$<uard diseF( tar8etas
&erforadas &ara $ontrolar una %1<uina de 6ilado te7til, en donde $ada lnea de te8ido se
&resentaba en una tar8eta &erforada $o%o &atr(n y 3ste se te8a auto%1ti$a%ente En ".''
C6arles Babba,e desarroll( un &roye$to deno%inado %1<uina diferen$ial, la $ual era $a&az de
&rodu$ir tablas lo,art%i$as de seis $ifras de$i%ales de &re$isi(n Ani%ado &or los resultados
obtenidos, Babba,e $ontinu( sus e7&eri%entos &ara obtener una %1<uina analti$a, &ero
desafortunada%ente el ba8o nivel de la te$nolo,a %et1li$a de la 3&o$a i%&idi( <ue lle,ara a un
buen resultado
El traba8o realizado &or Babba,e es reto%ado antes de finalizar el 2i,lo, $uando se 6izo
3nfasis en las investi,a$iones &ara obtener %1<uinas &ro,ra%ables El nortea%eri$ano #ern1n
#ollerit6 desarroll( un %e$anis%o basado en tar8etas &erforadas, $uya &ri%era utiliza$i(n
e7itosa se llev( a $abo en "..0 durante la tabula$i(n del $enso de &obla$i(n de "../ en los
Estados Bnidos Este e<ui&o si,nifi$( un ,ran adelanto en el $a%&o de las $o%&utadoras
El %ayor i%&ulso y fuerza del desarrollo definitivo de las $o%&utadoras fue la 2e,unda
9uerra @undial Durante esta 3&o$a t3$ni$os de la IB@, e%&resa fundada &or #ollerit6, la
Bniversidad de #arvard y la Bniversidad de Pennsylvania, desarrollaron si%ult1nea%ente el
MAR= 1 y el ENIAC4 $uya utiliza$i(n estaba rela$ionada $on los %isiles ,uiados de uso
%ilitar
La MAR= 1 &esaba $in$o toneladas y $onstaba de un $o%&le8o de -. %1<uinas su%adoras y
$al$uladoras, $one$tadas $on .// Mil(%etros de $ables Las instru$$iones se le daban en $intas
de &a&el y una vez <ue la %1<uina e8e$utaba la &ri%era instru$$i(n no re<uera de la
interven$i(n 6u%ana A &esar de <ue esta %1<uina ele$tro%e$1ni$a re&resentaba un avan$e $on
res&e$to a las $rea$iones anteriores, todava &resentaba restri$$iones a $ausa de su lentitud y
difi$ultades en su o&era$i(n
Para esta %is%a 3&o$a, Jo6n L @au6Iy y J P E$Mert desarrollaron una %1<uina <ue
deno%inaron ED-AC> $a&az de desarrollar o&era$iones arit%3ti$as $on n>%eros binarios y de
al%a$enar instru$$iones El $ontrol de la $o%&utadora se realizaba %ediante el ala%brado de
$ables re%ovibles o $inta de &a&el, y una vez <ue el &ro$esa%iento de los datos 6aba sido
ini$iado, nin,una %odifi$a$i(n &oda efe$tuarse a &esar de <ue sur,iera la ne$esidad de 6a$erlo
Aun $uando las &ri%eras $o%&utadoras se desarrollaron $on &ro&(sitos %ilitares, no tard(
%u$6o tie%&o en <ue se e%&learan en las tareas $o%er$iales e industriales El ,ran e%&u8e de la
$o%&utadora $o%er$ial lo dio el desarrollo del transistor, &or &arte de los laboratorios de la Bell
Tele&6one, <ue vinieron a ree%&lazar los tubos al va$o
Confor%e la te$nolo,a avanz( en todas las 1reas, la investi,a$i(n en el $a%&o de las
$o%&utadoras se e7tendi( y los resultados se 6i$ieron $o%er$ial%ente %1s &r1$ti$os en ta%aFo
y $osto La UNI-AC 1 ?Bniversal Auto%ati$ Co%&uterC, instalada en el de&arta%ento de
$ensos de los Estados Bnidos en "4+", fue la &ri%era $o%&utadora <ue se &rodu8o en for%a
$o%er$ial y $ontena varias de las $ara$tersti$as de las $o%&utadoras a$tuales El uso $o%er$ial
de la UNI-AC $o%enz( en "4+), y a &artir de esta fe$6a la industria del &ro$esa%iento de
datos $o%enz( a $re$er en for%a a$elerada
Las %1<uinas desarrolladas en la d3$ada de los aFos "4). a "4+. $onstituyen la pri3era
/eneracin 2e co3puta2oras. Nstas utilizaban bulbos $o%o $o%&onentes b1si$os de sus
$ir$uitos, ,enerando un alto $onsu%o de ener,a, $alor %uy intenso Ade%1s a nivel de &ersonal
se re<uera de treinta y $in$o a $ien &ro,ra%adores, analistas, $odifi$adores y &ersonal de
%anteni%iento, as $o%o de un siste%a de aire a$ondi$ionado En esta ,enera$i(n se
desarrollaron los len,ua8es de &ro,ra%a$i(nG ?ORTRAN4 orientados a la resolu$i(n de
&roble%as nu%3ri$os y ALOL4 diri,ido al trata%iento de &roble%as $ientfi$os
En "4+4 sur,e la se/un2a /eneracin 2e co3puta2oras, lo <ue si,nifi$( un ,ran adelanto
en el &ro,reso de esta industria, debido a <ue los bulbos fueron sustituidos &or transistores, los
$uales &er%itieron au%entar la $onfabilidad y velo$idad o&erativa de estos e<ui&os Los
avan$es en e<ui&os &erif3ri$os ta%bi3n fueron notablesG i%&resoras $ada vez %1s r1&idas,
%e8ores le$toras de tar8etas y de $inta &erforada, y sobre todo bobinas de $inta %a,n3ti$a
$a&a$es de %e%orizar y de volver a leer datos en n>%ero ili%itado As %is%o, en esta
,enera$i(n &roliferan diferentes %odelos de $o%&utadoras, in$or&orando su uso en el 1rea de
los ne,o$ios 2e desarrolla el len,ua8e de &ro,ra%a$i(n CO"OL &ara estos fines y se
in$re%enta la utiliza$i(n del len,ua8e ?ORTRAN. 2e $rean enton$es los ensa%bladores, <ue
utilizan un $(di,o ne%ot3$ni$o &ara re&resentar las instru$$iones
A &artir de este %o%ento los avan$es te$nol(,i$os fueron, y $ontin>an siendo,
sor&rendentes Los transistores se sustituyeron &or los $ir$uitos inte,rados ?ICC Con este
$a%bio na$e la tercera /eneracin4 $uya base est1 en los $ir$uitos inte,rados %onolti$os y en
la %iniaturiza$i(n de la ele$tr(ni$a
Las %1<uinas de esta ,enera$i(n ?IB@ *0/, IB@*-/, POP0C son fabri$adas $on la
$ara$tersti$a de <ue las &ertene$ientes a una %is%a serie son $o%&atibles entre s, fa$ilitando
su usoI ade%1s, son utilizables tanto &ara a&li$a$iones de ti&o $ientfi$o $o%o $o%er$ial A
%edida <ue estas %1<uinas se fueron &erfe$$ionando sur,e la %ulti&ro,ra%a$i(n, el
%ulti&ro$esa%iento, las $o%uni$a$iones de datos, otros len,ua8es ?"A!IC y PL1C y los
&a<uetes es&e$ializados de &ro,ra%a$i(n En esta 3&o$a na$en las $al$uladoras de bolsillo y las
%i$ro$o%&utadoras
En la d3$ada de los aFos setenta se lo,ra una ,ran redu$$i(n de los $ir$uitos inte,rados
in$or&orando %iles de $o%&onentes $on un es&a$io %enor a una %i$ra, lo $ual $olo$a a las
$o%&utadoras en una cuarta /eneracin en la <ue a&are$e el len,ua8e PA!CAL $o%o uno de
los %1s &oderosos, &or ser de a&li$a$i(n ,eneral e in$luir los $on$e&tos introdu$torios de lo <ue
6oy se $ono$e $o%o &ro,ra%a$i(n estru$turada
A$tual%ente e7isten $ir$uitos <ue tienen alrededor de '0//// ele%entos y se $al$ula <ue los
adelantos &er%itir1n $ir$uitos %u$6o %1s &e<ueFos y $ien ve$es %1s velo$es #oy se 6abla de
su&er$o%&utadores, <ue $ara$terizar1n la @uinta /eneracin
1.2. De0inicin 2e una co3puta2ora
Bna $o%&utadora es una %1<uina $on ,ran $a&a$idad y velo$idad 2e 6a $onvertido en un
au7iliar del 6o%bre <ue le &resta ayuda en una enor%e ,a%a de a$tividades, tales $o%oG
O Proveer a los %3di$os infor%a$i(n a$tualizada sobre la salud del &a$iente
O Pre&arar ,r1fi$as de &atrones $li%atol(,i$os y &rodu$ir &lanes de vuelo de a$uerdo $on las
$ondi$iones $li%atol(,i$as
O Prestar ayuda en la o$eano,rafa y la nave,a$i(n
O 5e,istrar %ar$as y evaluar estadsti$as de $o%&eten$ias de&ortivas
O Prestar ayuda a los in,enieros en los $1l$ulos
O Controlar si%uladores de vuelo &ara dar al &iloto un entrena%iento ini$ial en tierra
O Coordinar el fun$iona%iento de los se%1foros &ara <ue el tr1nsito no sufra interru&$iones
O ;erifi$ar la $antidad de dinero de&ositado en una $uenta Bn e%&leado del ban$o 6abla $on
una $o%&utadora a trav3s del tel3fono
O Proveer infor%a$i(n sobre los &rodu$tos en el %er$ado
@u$6o se 6abla de <ue la $o%&utadora est1 influyendo dentro de nuestra &riva$idad y
sustituyendo %ano de obra, $reando dese%&leo Estos as&e$tos no &ueden dis$utirse, sin
$ono$er a fondo lo <ue es una $o%&utadora, &ero a %edida <ue se avanza en su $ono$i%iento,
es &osible e%itir un $on$e&to inteli,ente #ay <ue tener en $uenta <ue una $o%&utadora no
&uede 6a$er al,o a %enos <ue el ser 6u%ano le di,a <u3 6a$er Debe%os $ontrolar la
$o%&utadora y no ella a nosotros
1.#. Clasi0icacin 2e las co3puta2oras
De a$uerdo $on el avan$e te$nol(,i$o se &ueden estable$er $ate,oras de $o%&utadoras, asG
O Primera generacin. Cara$terizadas &or utilizar tubos al va$o en los $o%&onentes b1si$os
de sus $ir$uitos
O Segunda generacin. Los tubos al va$o son sustituidos &or transistoresI la %e%oria estaba
$onstituida &or tubos %a,n3ti$osI se usaban en a&li$a$iones de ti&o %ilitar, $o%er$ial,
$ientfi$o y utilizaban el dis$o %a,n3ti$o
O Tercera generacin. Cara$terizadas &or utilizar en sus $o%&onentes $ir$uitos inte,rados
%onolti$os En esta 3&o$a se le adi$ionan e<ui&os au7iliares, tales $o%o ter%inales
intera$tivas
O Cuarta generacin. Cara$terizadas &or la in$or&ora$i(n de %iles de $o%&onentes, inte,rados
en es&a$ios su%a%ente &e<ueFos 2e $rean t3$ni$as &ara %ane8ar vol>%enes ,randes de
infor%a$i(n y se usan $o%&utadoras re%otas en o&era$i(n $on un $o%&utador $entral
%ediante la tele$o%uni$a$i(n, dando lu,ar a la tele%1ti$a 2e &o&ularizan los len,ua8es de
&ro,ra%a$i(n de ti&o intera$tivo, las %1<uinas virtuales y los %ani&uladores de datos La
$o%&utadora es $a&az de elaborar &ro,ra%as
O Quinta generacin. 2on las $o%&utadoras del futuro 2e introdu$e el uso de la %e%oria de
burbu8a %a,n3ti$a y la t3$ni$a 6olo,r1fi$a $on rayos l1serI se %e8oran las t3$ni$as de
$o%uni$a$i(n $on el &ro$esador $entral en for%a $onversa$ional o intera$tiva y los
len,ua8es $ada vez son %1s 6u%anos, in$lusive la voz
2e,>n el ti&o de infor%a$i(n <ue %ane8a una $o%&utadora, 3stos se &ueden $lasifi$ar enG
O Computadoras digitales. 2on a<u3llas <ue &ro$esan datos dis$retos Traba8an dire$ta%ente
$ontando n>%eros ?d,itosC <ue re&resentan $ifras, letras u otros s%bolos es&e$iales As
$o%o los relo8es di,itales $uentan los se,undos y %inutos en una 6ora, los &ro$esadores
di,itales $uentan valores dis$retos &ara al$anzar los resultados deseados Las $o%&utadoras
di,itales son usadas en el &ro$eso de datos, $o%o &uede ser el &ro$eso de una $ontabilidad
Las $o%&utadoras di,itales &ueden serG
J De propsitos generales. 2on utilizadas &ara al%a$enar diferentes &ro,ra%as y &ueden ser
usadas en in$ontables a&li$a$iones Por e8e%&lo, una %1<uina <ue &ro$ese infor%a$i(n y
lue,o la i%&ri%a, <ue es$riba nuevos &ro,ra%as y $a%bie o borre los anteriores
J De propsitos especiales. DiseFadas &ara realizar s(lo una tarea es&e$fi$a, ya <ue los
&ro,ra%as est1n &er%anente%ente al%a$enados en la %1<uina
O Computadoras analgicas. Pro$esan datos <ue est1n %edidos en una es$ala $ontinua y
re,istrados $on un deter%inado ,rado de &re$isi(n Por e8e%&lo, el volta8e <ue &uede ser
%edido $on a&ro7i%a$i(n de un $ent3si%o de voltio Las $o%&utadoras anal(,i$as son
usadas &ara $ontrolar &ro$esos $on alta &re$isi(n, &udiendo ser 6asta en un /" P el valor
$orre$to 2e dedi$an al $ontrol fsi$o de a$tividades, $o%o el $ontrol de un &ro$eso de
ensa%ble auto%atizado o un siste%a de $ontrol de te%&eratura
O Computadoras hbridas (analgico digitales. 2on una $o%bina$i(n de las dos anteriores
Por e8e%&lo, en la unidad de $ontrol intera$tivo de un 6os&ital los dis&ositivos anal(,i$os
&ueden %edir el fun$iona%iento del $oraz(n de un &a$iente, la te%&eratura y los si,nos
vitales Estas %edidas &ueden ser $onvertidas a n>%eros y enviadas a un $o%&onente di,ital
del siste%a Este $o%&onente di,ital del siste%a es usado &ara $ontrolar los si,nos vitales
del &a$iente y enviar una seFal a la esta$i(n de las enfer%eras $uando sean dete$tadas
le$turas anor%ales
Tanto las $o%&utadoras 6bridas $o%o las anal(,i$as son i%&ortantsi%as, &ero las %1s
usuales son las di,itales
Por la capacidad ! estructura "sica. Antes de entrar en esta divisi(n, es $onveniente anotar
<ue estos ti&os de $o%&utadoras est1n rela$ionadas dire$ta%ente $on una 3&o$a es&e$fi$a en la
6istoria y $on el desarrollo de los $o%&utadoras
O Computadoras main"rame. 2on las $o%&utadoras grandes Ini$ial%ente, las $o%&utadoras
eran en su %ayora %ainfra%e y su uso estaba restrin,ido a e%&resas o entidades de ,ran
ta%aFo El $osto de ad<uisi$i(n y o&era$i(n era alto y $o%&le8o El uso de los %ainfra%e
est1 li%itado a e%&resas <ue o&eran $on &ro$esos $entralizados
O #inicomputadoras. 2on $o%&utadoras %edianasG su uso 6a ree%&lazado una buena &arte a
los %ainfra%e 2u utiliza$i(n es esti&ulada &ara e%&resas ,randes
O #icrocomputadoras de negocios. 2on $o%&utadoras &e<ueFas <ue se &ueden utilizar en
a&li$a$iones $o%er$iales y t3$ni$as, tanto en las &e<ueFas e%&resas $o%o en las ,randes
O #icrocomputadoras personales ! del hogar. 2on utilizadas en 8ue,os ele$tr(ni$os, 8ue,os
did1$ti$os y diversi(n 2u&lieron en ,ran &arte las $al$uladoras &ro,ra%ables 2e &uede de$ir
<ue 3stas dieron ori,en a las anteriores &or la ,ran de%anda <ue tuvieron
1.$. La co3puta2ora 2i/ital
Estructura l/ica
Todas las &artes de un siste%a de $o%&uta$i(n o&eran ba8o el $ontrol de una de ellasG la
unidad de $ontrol
Aun<ue un siste%a de $o%&uta$i(n est1 $o%&uesto &or %u$6os dis&ositivos, $ada siste%a
tiene $in$o $o%&onentes b1si$os En la fi,ura, a $ontinua$i(n, se %uestran estos $o%&onentes y
sus rela$iones entre s
?ALTA RA?ICO PA.(
La unidad de entrada ali%enta la %e%oria $on datos e instru$$iones La unidad de %e%oria
al%a$ena instru$$iones y datos Es el enla$e %1s $o%>n entre todas las unidades o
$o%&onentes
O La %e%oria au7iliar &ro&or$iona $a&a$idad %asiva de al%a$ena%iento
O La unidad arit%3ti$a y l(,i$a $o%&ara, su%a, resta, %ulti&li$a y divide
O La unidad de salida re,istra los datos <ue le su%inistra la %e%oria
O La unidad de $ontrol inter&reta instru$$iones y e%ite (rdenes &ara todos los de%1s
$o%&onentes de la $o%&utadora
Inde&endiente%ente de $(%o se introduz$an los datos, 3stos se transfor%an en i%&ulsos
el3$tri$os <ue se transfieren a dire$$iones &redeter%inadas dentro de la %e%oria La entrada se
divide b1si$a%ente en dos ti&osG instrucciones para el proceso de datos ! los datos a procesar
Las instru$$iones &asan de la %e%oria a la unidad de $ontrol, la $ual las inter&reta e indi$a a
los otros $o%&onentes <u3 debe 6a$erse $on los datos o en d(nde se les debe $olo$ar dentro de
la %e%oria Por e8e%&lo, si se deben su%ar los datos $ontenidos en dos $a%&os &ara &rodu$ir
los datos de un ter$ero, la unidad de $ontrol e%ite la orden a&ro&iada &ara la unidad arit%3ti$a y
l(,i$a Enton$es, esta unidad e7trae los datos a&ro&iados de la %e%oria, e8e$uta la su%a y
$olo$a el resultado en la %e%oria
En %u$6as a&li$a$iones se debe al%a$enar ,ran $antidad de datos y no 6ay es&a$io
sufi$iente en la %e%oria En estos $asos se e%&lea el $o%&onente de %e%oria o
al%a$ena%iento au7iliar Esta unidad se en$uentra se&arada de la unidad $entral de
&ro$esa%iento, &ero la unidad de $ontrol sie%&re tiene a$$eso a los datos <ue se en$uentran en
ella
La unidad de $ontrol, la %e%oria y la unidad arit%3ti$a y l(,i$a, ,eneral%ente se en$uentran
lo$alizadas en lo <ue se $ono$e $o%o unidad $entral de &ro$esa%iento CPU (Central
Processing $nit.
Dispositi7os 2e entra2a 9 sali2a 2e 2atos
En al,unos $asos, los %edios de entrada y salida se en$uentran $o%binados en un solo
dis&ositivo
Bn %3todo $o%>n &ara re,istrar datos es e%&lear $intas %a,n3ti$as En al,unos as&e$tos no
es %uy diferente de una ,rabadora $o%>n y $orriente As $o%o se &uede ,rabar %>si$a en una
,rabadora y lue,o es$u$6arla una y otra vez, ta%bi3n &ueden re,istrarse datos en una $inta
%a,n3ti$a y leerlos una y otra vez El dis&ositivo <ue se utiliza es una i%&ulsadora de $inta
%a,n3ti$a, la $ual &uede re,istrar datos en la $inta y ta%bi3n leerlos re&etidas ve$es, aun<ue no
e8e$uta a%bas o&era$iones si%ult1nea%ente A%bas o&era$iones, re,istro y le$tura, se e8e$utan
a altas velo$idades Cuando se leen datos <ue se en$uentran en la $inta, la unidad i%&ulsadora
a$t>a $o%o unidad de entradaI los datos son transferidos a la %e%oria de la $o%&utadora
Cuando los datos <ue est1n en la %e%oria son transferidos a la $inta, a$t>an $o%o dis&ositivo
de salida
Los $ara$teres se re&resentan en la $inta &or %edio de &e<ueFos &untos %a,netizados en
diferentes $olo$a$iones En las $intas es &osible al%a$enar ,randes $antidades de datos debido a
<ue los &untos %a,netizados se &ueden $olo$ar %uy &r(7i%os entre s Debido a esta
&arti$ularidad y a su ,ran velo$idad, las i%&ulsadoras de $inta %a,n3ti$a se utilizan $on
fre$uen$ia $o%o dis&ositivos de al%a$ena%iento au7iliar
Antes de e%&ezar al,>n &ro$eso, los datos re,istrados en ellos se transfieren a la %e%oria
&rin$i&al El o&erador &uede <uitar las $intas y ree%&lazarlas &or otrasI esto si,nifi$a <ue si una
$inta se usa una vez &or se%ana, se &ueden al%a$enar fuera del siste%a $uando no se e%&lee
Cuando se re<uieran de nuevo estos datos el o&erador &uede $olo$ar nueva%ente la $inta en la
unidad i%&ulsadora
Las desventa8as de las $intas es <ue sus datos no se &ueden inter&retar en la $inta %is%aI &or
lo tanto, &ara verifi$ar sus datos es ne$esario &ro$esarla y as obtener un infor%e i%&resoI
ade%1s, sus datos no se &ueden reordenar f1$il%ente ni ta%&o$o insertar nuevos re,istros entre
los ya e7istentes
Otro dis&ositivo %uy >til es la ter%inal de %1<uina de es$ribir $o%>n%ente deno%inada
ter%inal de teleti&o, <ue &uede $one$tarse al $o%&utador %ediante una lnea telef(ni$a nor%al,
$onvirti3ndose de esta %anera en un dis&ositivo e7tre%ada%ente >til Bna su$ursal <ue se
en$uentre a %iles de Mil(%etros del siste%a de $o%&uta$i(n &uede enviar datos de entrada y
re$ibir datos de salida %ediante una ter%inal de teleti&o
El o&erador usa $laves es&e$fi$as &ara $o%uni$arse $on la $o%&utadora, enva datos y &ide
infor%es Tanto el envo $o%o la salida <ue &rodu$e la $o%&utadora se i%&ri%e
auto%1ti$a%ente en un rollo de &a&el <ue &asa &or la ter%inal
La ter%inal de &antalla, <ue a ve$es re$ibe el no%bre de t3le7, es %uy &are$ida a la ter%inal
de teleti&oG la &rin$i&al diferen$ia $onsiste en <ue los datos se e76iben en una &antalla en lu,ar
de i%&ri%irse La ter%inal de &antalla ta%bi3n se &uede $one$tar al siste%a de $o%&uta$i(n
%ediante lneas telef(ni$as
El o&erador se $o%uni$a $on el $o%&utador &or %edio de un te$lado Tanto los datos de
entrada $o%o de salida a&are$en en la &antalla En la &antalla se &ueden %ostrar dia,ra%as y
,r1fi$os, esto es %uy >til &ara estudios $ientfi$os y de in,eniera En o$asiones los siste%as
&ara reserva$iones en aerolneas %uestran un dia,ra%a del avi(n seFalando los sitios reservados
&ara un vuelo en &arti$ular
Otro dis&ositivo de entradaKsalida, y <uiz1 el %1s >til y fle7ible de todos, es el dis$o
%a,n3ti$o Consiste en una serie de dis$os %et1li$os <ue se $olo$an uno sobre otro, de8ando un
es&a$io de se&ara$i(n ade$uado Los datos se re,istran en las dos $aras de $ada dis$o, %ediante
$abezas le$torasK,rabadoras, las $uales entran y salen en el es&a$io <ue 6ay entre los dis$os
Los datos se &ueden ,rabar y leer en el dis$o En los dis$os $abe ,ran $antidad de datos
Cada dato se al%a$ena en una dire$$i(n o lo$aliza$i(n $ono$ida Las $abezas
le$torasK,rabadoras &ueden ir dire$ta%ente a $ual<uier dire$$i(n del dis$o, $on lo $ual, la
b>s<ueda de $ual<uier dato se &uede 6a$er r1&ida%ente Los datos se re,istran en el dis$o
%ediante &e<ueFos &untos %a,n3ti$os Al i,ual <ue las $intas los dis$os se &ueden retirar de la
unidad de dis$o y ,uardarlos en otra &arte 6asta <ue se re<uieran los datos $ontenidos en ellos,
&ero ta%bi3n e7isten dis$os fi8os <ue no se &ueden %over
En for%a &are$ida o&eran ta%bi3n los dis&ositivos de entradaKsalidaG dis<uetes y dis$os
$o%&a$tos
E7isten ta%bi3n dis&ositivos &ara re$ono$i%iento de $ara$teres (&ti$os, $o%>n%ente
$ono$idos $o%o dis&ositivos OCR ?%ptical Character &ecognitionC La %ayora de datos <ue
van a introdu$irse al $o%&utador se re,istran &ri%ero en un do$u%ento fuente, <ue &uede ser
%anus$rito o %e$ano,rafiado Los dis&ositivos OCR &ueden leer estos datos y $onvertirlos
dire$ta%ente en i%&ulsos el3$tri$os A su vez, estos i%&ulsos se &ueden re,istrar dire$ta%ente
en $inta %a,n3ti$a, dis$o, et$ No se re<uiere &erforar tar8etas, as <ue no s(lo se e$ono%iza
tie%&o y dinero, sino <ue se dis%inuyen las &osibilidades de error
#ay dis&ositivos <ue se e%&lean >ni$a%ente &ara salida, la i%&resora es el dis&ositivo %1s
$o%>n en los ne,o$ios E7isten %u$6os ta%aFos y versiones #ay i%&resoras <ue &ueden
i%&ri%ir 6asta +/// lneas &or %inuto 2in e%bar,o, la velo$idad %1s usual est1 entre +// y
"/// lneas &or %inuto
2e 6an diseFado dis&ositivos <ue re,istran datos de salida dire$ta%ente en %i$rofil% A
%edida <ue se &rodu$en los datos, se &roye$tan sobre una &antalla y se foto,rafan $on una
$1%ara ultrar1&ida @ediante este siste%a, los datos de salida se &ueden re,istrar en &el$ula
$on la %is%a velo$idad $on <ue o&era una le$tura de %i$rofil% Bnos $uantos %etros de
%i$rofil% &ueden al%a$enar datos <ue re<ueriran %iles de &1,inas i%&resas
Bn %3todo alterno $onsiste en ,rabar los datos de salida en $inta %a,n3ti$a y, des&u3s,
&asarlos a %i$rofil% Este siste%a es %1s e$on(%i$o <ue el &ri%ero
Otros %3todos de $o%uni$a$i(n $on la $o%&utadora son el l1&iz (&ti$o, el ta%bor %a,n3ti$o
y la voz
1.&. Tipos 2e procesa3iento
Considere%os a6ora un as&e$to diferente en $uanto al &ro$esa%iento de datos en un Centro
de C(%&uto 2ea la elabora$i(n de una n(%ina <ue se &asa <uin$enal%enteI las novedades
res&e$to a tie%&o e7tra u otros te%as se re>nen $ada se%ana y se ,uardan o al%a$enan 6asta
<ue lle,ue el %o%ento de &ro$esarlas, es de$ir, las novedades no se &ro$esan en el instante en
<ue se ,eneran sino <ue se a$u%ulan &ara 6a$erlo en el %o%ento o&ortunoI a este ti&o de
&ro$eso se deno%ina proceso por lotes.
A6ora su&on,a%os <ue al,uien va a una ofi$ina de una aerolnea &ara 6a$er reserva$iones en
al,>n vueloI $o%o es obvio <ue el e%&leado no &uede ,uardar la soli$itud &ara &ro$esarla lue,o
$on %u$6as otras, los datos deben &ro$esarse in%ediata%ente A este ti&o de &ro$eso se le
deno%ina &ro$esa%iento 2irecto o en lnea.
La %ayora de los re<uisitos del &ro$esa%iento de datos son de uno de estos dos ti&osG
&ri%ero, los datos se al%a$enan 6asta <ue lle,ue el tie%&o seFalado &ara su &ro$esoI se,undo,
los datos se deben &ro$esar tan &ronto $o%o se ori,inan
Cuando se tienen $ondi$iones del &ri%er ti&o se utiliza lo <ue se deno%ina &ro$esa%iento
&or lotes 2e &ueden re$o&ilar ,randes $antidades de datos y &ro$esarlos en el %o%ento
o&ortuno, $o%o en una n(%ina, &or e8e%&lo Cuando los datos deben &ro$esarse
in%ediata%ente se utiliza el &ro$esa%iento dire$to
El &ro$eso dire$to re<uiere <ue el siste%a de $(%&uto ten,a la &osibilidad o $a&a$idad de un
a$$eso dire$to A$$eso dire$to se refiere a la &osibilidad de ir dire$ta%ente al &unto donde se
en$uentra el re,istro re<uerido del ar$6ivo sin tener <ue e7a%inar re,istro &or re,istro El
al%a$ena%iento en dis$o tiene la venta8a de <ue un re,istro deter%inado se &uede leer
dire$ta%ente sin tener <ue 6a$erlo todos los re,istros anteriores
El uso de ter%inales de teleti&o y de &antalla <ue se en$uentran a ,ran distan$ia del siste%a
$entral de $(%&uto se efe$t>a %ediante el uso de tele$o%uni$a$iones Tele$o%uni$a$i(n es la
$o%uni$a$i(n de datos %ediante el uso de lneas telef(ni$as En la fi,ura, a $ontinua$i(n, se
ilustra el fun$iona%iento de un siste%a de tele$o%uni$a$iones
?ALTA RA?ICO PA.11 LI"RO
Al o&erar las ter%inales de &antalla o de teleti&o se ,enera el $(di,o de $o%&utador Este
$(di,o &asa a un $odifi$adorKde$odifi$ador de datos <ue lo $onvierte en un $(di,o <ue &uede
trans%itirse &or $ables telef(ni$os En el otro e7tre%o de la lnea, donde se en$uentra la
$o%&utadora, 6ay otro $odifi$adorKde$odifi$ador de datos <ue $onvierte el $(di,o telef(ni$o en
$(di,o de $o%&utadora Este $(di,o se usa $o%o entrada &ara la unidad $entral de
&ro$esa%iento
La salida re<uerida se &rodu$e en for%a de $(di,o de $o%&utadora, de tal %anera <ue tiene
<ue $onvertirse en $(di,o telef(ni$o &ara ser trans%itida a las ter%inales donde se efe$t>a la
o&era$i(n inversa, y el $(di,o de $o%&utadora &rodu$e la salida a&ro&iada Ta%bi3n se &ueden
e%&lear las lneas telef(ni$as nor%ales &ara trans%itir datos Todo lo <ue 6ay <ue 6a$er es
levantar la bo$ina y %ar$ar el n>%ero de la $o%&utadoraI un $ierto tono indi$a <ue la $one7i(n
est1 lista y <ue se &uede e%&ezar a trans%itirI el tel3fono se a8usta $on el
$odifi$adorKde$odifi$ador de datos y esta%os listos &ara $o%enzar
Co%o es de su&onerse, las tele$o%uni$a$iones a%&liaron notable%ente la utilidad y
$onvenien$ia de los siste%as de $o%&uta$i(n Todas a<uellas e%&resas <ue no $uentan $on su
&ro&ia $o%&utadora, &ueden tener a6ora a$$eso f1$il a una y, re$ibir un servi$io in%ediato
Las tele$o%uni$a$iones, 8unto $on los adelantos en los siste%as de $o%uni$a$i(n, 6an 6e$6o
&osible la &r1$ti$a de lo <ue se deno%ina tie%&o $o%&artido La $o%&utadora est1 &ro,ra%ada
de tal %anera <ue ad%ite &eti$iones de &ro$esa%iento 6e$6as desde lu,ares le8anos y, ade%1s,
re&arte el tie%&o dis&onible de &ro$esa%iento entre varios usuarios De este %odo, al %is%o
tie%&o <ue el siste%a est1 &rodu$iendo una $ierta salida &ara al,>n usuario, e8e$uta
deter%inados $1l$ulos &ara otro A los $lientes se les $obra una $uota <ue, ,eneral%ente,
de&ende de la $antidad de tie%&o de $o%&utadora e%&leada Para el uso en los ne,o$ios, los
siste%as de $o%&uta$i(n vienen en tres ta%aFos b1si$osG &e<ueFo, %ediano y ,rande
Pri%ordial%ente, el ta%aFo de una $o%&utadora se deter%ina &or la $a&a$idad de
al%a$ena%iento <ue ten,a la unidad de &ro$esa%iento, la $ual, deter%ina el ta%aFo de los
&ro,ra%as y la $antidad de datos <ue &uede %ane8ar en $ual<uier %o%ento dado
1.'. Ela.oracin 2e pro/ra3as para co3puta2ora
Las $o%&utadoras &ueden e8e$utar un ,ran n>%ero de o&era$iones a %uy altas velo$idades y
$on interven$i(n %ni%a de seres 6u%anos 2in e%bar,o, a una $o%&utadora se le debe indi$ar
e7a$ta%ente <u3 o&era$iones debe e8e$utar y en <u3 orden A estos $on8untos de instru$$iones
se les deno%ina &ro,ra%as &ara $o%&utadora y son elaborados &or &ro,ra%adores Bn
&ro,ra%a es una serie de instru$$iones es$ritas en for%a $odifi$ada <ue la $o%&utadora &uede
tradu$ir a su &ro&io len,ua8e
Cuando se $onstruye una a&li$a$i(n o se %odifi$a una <ue ya estaba en uso, se realiza un
an1lisis de siste%as Este an1lisis deter%ina los ti&os de &ro$esa%iento de datos <ue se
re<uieren, $(%o y d(nde deben re,istrarse los datos, los ti&os de infor%e a &rodu$irse y los
ti&os de e<ui&o <ue %e8or se ada&tan a esa a&li$a$i(n &arti$ular
Bna vez <ue se 6a de$idido lo <ue se 6ar1 $on los datos, se le en$o%ienda a un &ro,ra%ador
la elabora$i(n de un &ro,ra%a o $on8unto de instru$$iones &ara el siste%a de $o%&uta$i(n Al
es$ribir el &ro,ra%a <ue se va a usar, el &ro,ra%ador si,ue una serie de eta&as, <ue deben
$u%&lirse
Cuando a un &ro,ra%ador se le &ide <ue elabore un &ro,ra%a, se le suele indi$ar $(%o debe
ser la salida y <u3 datos de entrada est1n dis&onibles En la eta&a de an1lisis de siste%as se
de$iden estas $uestiones
Cuando el &ro,ra%ador analiza la entrada debe saber <u3 dis&ositivos se van a e%&lear, en
<u3 orden est1n $olo$ados los $a%&os de datos en los re,istros y $u1l es el ta%aFo de esos
$a%&os, ya <ue a %enudo los re,istros $ontienen %1s datos de los ne$esarios &ara $ual<uier
traba8o
En el $uer&o del &ro,ra%a se des$ribe <u3 o&era$iones se van a e8e$utar $on los datosI se
de$ide en <u3 orden se van a e8e$utar las o&era$iones y en <u3 &unto se van a to%ar de$isiones
?ra%ifi$a$ionesC
Por >lti%o, el &ro,ra%ador analiza los re<uisitos de la salidaG si se debe ,rabar en $inta o
i%&ri%ir un listadoI si la salida va a ser i%&resa, $u1les deben ser los ttulos y d(nde se deben
$olo$ar los $a%&os de salida
Antes de &asar a la si,uiente eta&a, es ne$esario 6a$er todas esas &re,untas y en$ontrar las
res&uestas Para ello, el &ro,ra%ador tiene <ue 6ablar $on las &ersonas <ue diseFaron el siste%a
y $on las &ersonas <ue utilizan los infor%es Con estas >lti%as 6ablar1 &rin$i&al%ente a$er$a de
la for%a $o%o desean tener los datos de salida, &ara <ue sean de %ayor utilidad Cuando el
&ro,ra%ador tiene toda la infor%a$i(n ne$esaria a$er$a del &ro,ra%a, elabora un algoritmo
Los al,orit%os son %uy >tiles &or<ue %uestran, en orden, las o&era$iones <ue se van a
e8e$utar $on los datos, las $o%&ara$iones, y las ra%ifi$a$iones $ondi$ionales e in$ondi$ionales
<ue for%ar1n &arte del &ro,ra%a
En la fi,ura se %uestra un al,orit%o sen$illo y ele%ental, re&resentado %ediante un
&seudo$(di,o
INICIO
LEA: CDGO
MENTRAS CODGO <> 0 HAGA
LEA: NOMBRES, RENTA, PATRMONO
TOTPAG = 10000 + PATRMONO * 0.1 + RENTA * 0.15
ESCRBA: CODGO, NOMBRES, TOTPAG
LEA: CODGO
FN_ MENTRAS
FIN_ INICIO
Al ter%inar la elabora$i(n del al,orit%o se &uede verifi$ar la e7a$titud ,eneral del &ro,ra%a
&ro&uesto El &ro,ra%ador &uede to%ar al,unos datos $o%o %uestra y su&oner <ue 3l es el
siste%a de $o%&uta$i(n Nl 6ar1 $on los datos, e7a$ta%ente, lo <ue el al,orit%o indi<ue
La salida final <ue obten,a debe ser e7a$ta%ente lo <ue es&era 2i no es as, su&oniendo <ue
$o%eti( errores &or des$uido, su al,orit%o tiene al,unas instru$$iones e<uivo$adas y debe ser
$orre,ido Obtener la salida $orre$ta no es ,aranta de <ue el &ro,ra%a final ser1 &erfe$to,
debido a <ue a>n <uedan %u$6as $osas &or 6a$er No obstante, esta si%&le verifi$a$i(n
%ostrar1 las i%&erfe$$iones l(,i$as <ue &ueda 6aber en sus &lantea%ientos A la verifi$a$i(n
del dia,ra%a detallado se le $ono$e $o%o &rueba de es$ritorio
Con base en el al,orit%o ter%inado, se es$ribe una serie de instru$$iones detalladas Las <ue
se deno%inan programa "uente y suelen estar es$ritas en len,ua8e si%b(li$o Bn len,ua8e
si%b(li$o es a<u3l <ue la %ente 6u%ana &uede entender $on relativa fa$ilidad, &ero <ue no
&uede entender una $o%&utadora La sele$$i(n del len,ua8e si%b(li$o &ara el &ro,ra%a fuente
de&ender1 de %u$6os fa$tores Dos de las $onsidera$iones &rin$i&ales son el ti&o de tarea <ue se
&ro,ra%( y la $o%&utadora <ue se utiliza
#ay %u$6os len,ua8es si%b(li$os, entre los $uales se en$uentran "A!IC4 RP4 PA!CAL4
?ORTRAN4 PL14 C4 CAA4 ;A-A, $ono$idos $o%o len,ua8es de alto nivel
Lue,o de es$rito, el &ro,ra%a fuente se al%a$ena enG dis$o duro, dis$o $o%&a$to, dis<uetes
o en $inta %a,n3ti$a El siste%a de $o%&uta$i(n no &uede entender dire$ta%ente el len,ua8e
si%b(li$o <ue us( el &ro,ra%ador Antes debe ser tradu$ido a len,ua8e de %1<uina El
$o%&ilador efe$t>a esta tradu$$i(n
El $o%&ilador es un &ro,ra%a es&e$ial <ue >ni$a y e7$lusiva%ente tradu$e el len,ua8e
si%b(li$o al len,ua8e de %1<uina Al &ro,ra%a tradu$ido se le deno%ina programa ob'eto y
&uede $olo$arse dire$ta%ente en la %e%oria o al%a$enarse en dis$os o $intas La for%a en <ue
se al%a$ena el &ro,ra%a de&ende del siste%a de $o%&uta$i(n <ue se e%&lee y del n>%ero de
ve$es <ue se va a $orrer
Cuando el &ro,ra%a fuente se desea tradu$ir a len,ua8e de %1<uina, o sea, $uando se
$o%&ila, su$ede otra $osa i%&ortante Dado <ue el &ro,ra%a fuente &uede $ontener %u$6os
errores, el $o%&ilador &rodu$e una lista i%&resa en donde a&are$e el &ro,ra%a fuente y otra
lista de todos los errores <ue $ontiene el &ro,ra%a El &ro,ra%ador utiliza esta lista de %ensa8es
de error $uando est1 bus$ando y eli%inando los errores de su &ro,ra%a Los errores <ue dete$ta
el $o%&ilador se deno%inan dia,n(sti$os del tie%&o de $o%&ila$i(n ?errores de sinta7isC
Indi$an en <u3 instru$$i(n 6ay un error y de <u3 ti&o es 3ste Todos los errores seFalados &or los
diagnsticos del tiempo de compilacin deben $orre,irse antes de <ue el siste%a &ueda &ro$esar
los datos
Bna vez <ue se 6an $orre,ido los errores del tie%&o de $o%&ila$i(n, deben usarse al,unos
datos &ara &robar el &ro,ra%a ob8eto Cuando el siste%a de $o%&uta$i(n e8e$uta el &ro,ra%a
ob8eto &uede en$ontrar al,unos errores en los datos de entrada Por e8e%&lo, es &osible <ue al
dis&ositivo de entrada se le ordene <ue lea $ierto $a%&o <ue se su&one $ontiene datos
nu%3ri$os, y en vez de esto se en$uentra $on datos alfab3ti$os Esto 6ar1 <ue la $o%&utadora
deten,a la e8e$u$i(n del &ro,ra%a ob8eto e i%&ri%a al,una adverten$ia de error A estos
%ensa8es se les deno%ina diagnsticos del tiempo de e'ecucin Las instru$$iones &ara
transferen$ia de $ontrol defe$tuosas ta%bi3n $ausar1n un error del tie%&o de e8e$u$i(n Es
&osible llevar el siste%a a un $i$lo $errado, es de$ir, el siste%a e8e$utar1 una se$uen$ia de
instru$$iones y lo re,resa a la &ri%era instru$$i(n de la se$uen$ia En teora si,nifi$a <ue la
$o%&utadora e8e$utar1 estas instru$$iones &ara sie%&reI sin e%bar,o, en la &r1$ti$a, se fi8a un
l%ite de tie%&o &ara la e8e$u$i(n del &ro,ra%a, y si 3ste no ter%ina antes de <ue trans$urra
este tie%&o, el siste%a se detiene auto%1ti$a%ente e i%&ri%e un %ensa8e indi$ando &or<u3
ter%in( la e8e$u$i(n
El &ro,ra%a fuente se al%a$ena en %e%oria au7iliar, des&u3s de <ue se 6aya de&urado
$o%&leta%ente y se 6aya verifi$ado <ue &ro$esa los datos tal y $o%o lo desea el &ro,ra%adorI
de esta %anera se en$uentra dis&onible &ara usarse en el %o%ento <ue se re<uiera Cuando se
va a $orrer el &ro,ra%a $on datos se e7trae del al%a$ena%iento, se $o%&ila y se $olo$a en la
%e%oria &rin$i&al en la unidad $entral de &ro$esa%iento $o%o un &ro,ra%a ob8eto en len,ua8e
de %1<uina
La do$u%enta$i(n es la eta&a final en la elabora$i(n de un &ro,ra%a y tiene lu,ar des&u3s
de <ue se 6a al%a$enado y $orre,ido Do$u%entar el &ro,ra%a se refiere a la re$o&ila$i(n, en
un solo lu,ar, de toda a<uella infor%a$i(n de i%&ortan$ia <ue se us( &ara elaborar el &ro,ra%a
En un solo lu,ar se re$o&ilan las des$ri&$iones de todas las tareas, los al,orit%os, la
$odifi$a$i(n, y as &or el estilo 2i en una fe$6a &osterior el &ro,ra%a revela al,>n error o tiene
<ue ser %odifi$ado, esta do$u%enta$i(n le fa$ilitar1 a $ual<uier otro &ro,ra%ador saber <u3 se
6a 6e$6o y &or<u3
Ta%bi3n se elabora un %anual de $orrida ?%anual del o&eradorC <ue $ontiene todas las
instru$$iones <ue ne$esita el o&erador de la $o%&utadora &ara $orrer el &ro,ra%a, <u3 ar$6ivos
de entrada se van a $ar,ar, <u3 ti&os de salida se deben &re&arar, et$3tera
1.(. Ter3inolo/a .:sica
O Soporte fsico (Hardware). 2e deno%ina as a los $o%&onentes %e$1ni$os, el3$tri$os y
ele$tr(ni$os o duros de una or,aniza$i(n $o%&utarizada Los $o%&onentes de los $ir$uitos
&ueden ser a$tivos, &asivos o a%bas $osas
O Soporte lgico (Software). El t3r%ino soft=are fue $on$ebido &ara $ontrastar $on el
6ard=are de un siste%a de $o%&utadora Los ele%entos $onstituyentes del soft=are son los
&ro,ra%as, len,ua8es y &ro$edi%ientos, los &ro,ra%as o rutinas internas &re&aradas en for%a
&rofesional &ara si%&lifi$ar la &ro,ra%a$i(n y las o&era$iones de las $o%&utadora, lo %is%o
<ue las diversas ayudas <ue se suelen su%inistrar &or los fabri$antes &ara fa$ilitar la
e7&lota$i(n efi$iente de los e<ui&os
O Programa fuente. Es un &ro,ra%a <ue &uede tradu$irse en for%a auto%1ti$a en len,ua8e de
%1<uina Est1 es$rito en un len,ua8e $on$ebido &ara fa$ilitar la e7&resi(n de una $lase de
&roble%as o de &ro$edi%ientos &or &arte de seres 6u%anosI utiliza un $o%&ilador,
ensa%blador o tradu$tor &ara realizar la %e$1ni$a de la tradu$$i(n del &ro,ra%a fuente en un
&ro,ra%a ob8eto en len,ua8e de %1<uina
O Programa objeto. Es un &ro,ra%a fuente <ue 6a sido tradu$ido a len,ua8e de %1<uina El
&ro,ra%a fuente se $onvierte, enton$es, en un $on8unto de instru$$iones de len,ua8e de
%1<uina &ara la solu$i(n de un &roble%a, obtenido $o%o el resultado final de un &ro$eso de
$o%&ila$i(n
O Ensamblador. El ensa%blador tradu$e las instru$$iones si%b(li$as de un len,ua8e de
&ro,ra%a$i(n a las instru$$iones ne$esarias de %1<uina &ara <ue sean e8e$utadas En los
len,ua8es ensa%bladores se define un $(di,o es&e$ial ?lla%ado ne%(ni$oC &ara $ada una de
las o&era$iones de la %1<uina y se introdu$e una nota$i(n es&e$ial &ara es&e$ifi$ar el dato
$on el $ual debe realizarse la o&era$i(n El ensa%blador ori,ina una instru$$i(n en len,ua8e
de %1<uina &or $ada instru$$i(n del len,ua8e a tradu$ir En ,eneral es utilizado $on los
len,ua8es de ba8o nivel
O Compilador. 2on tradu$tores %1s $o%&le8os Tradu$e los &ro,ra%as <ue realiza el usuario al
len,ua8e de %1<uina ne$esario &ara <ue sean e8e$utados Ade%1s de 6a$er di$6a tradu$$i(n,
el $o%&ilador $6e<uea <ue el &ro,ra%a fuente est3 $orre$to en $uanto a sinta7is e
instru$$iones &ro&ias de $ada len,ua8e Los $o%&iladores &ara la %ayor &arte de los
len,ua8es de &ro,ra%a$i(n los &ro&or$iona el fabri$ante
El $o%&ilador ,enera una o %1s instru$$iones en el len,ua8e de %1<uina &or $ada
instru$$i(n del len,ua8e de &ro,ra%a$i(n 2e utiliza en los len,ua8es de alto nivel La
tradu$$i(n, en ,eneral, se realiza en dos &asosG &ri%ero las instru$$iones en len,ua8e de alto
nivel se tradu$en a una se$uen$ia de instru$$iones en el len,ua8e de ba8o nivel y a
$ontinua$i(n se efe$t>a la tradu$$i(n al len,ua8e de %1<uina El $o%&ilador asi,na las
&osi$iones de %e%oria &or $ada variable <ue en$uentra $onfor%e lee y tradu$e las
instru$$iones
O Interpretador. Es un &ro,ra%a de $o%&utador <ue tradu$e $ada instru$$i(n o senten$ia del
len,ua8e ori,inal a una se$uen$ia de instru$$iones de %1<uina, antes de tradu$ir la si,uiente
senten$ia en len,ua8e ori,inal
O enguaje de computadora. Con8unto definido de $ara$teres <ue sirven &ara for%ar
s%bolos, &alabras, instru$$iones, et$3tera, as $o%o las re,las &ara $o%binar estos
$ara$teres, dando $o%o resultado $o%uni$a$iones si,nifi$ativas, &or e8e%&lo ?ORTRAN4
PA!CAL4 PROLO4 C4 CAA4 ;A-A
O enguaje de m!"uina. Es el $on8unto final <ue todas las $o%&utadoras deben utilizar
?len,ua8e binarioC Todos los de%1s len,ua8es de &ro,ra%a$i(n deben $o%&ilarse o
tradu$irse, a la lar,a, a un $(di,o binario antes de introdu$irse en el &ro$esador El len,ua8e
binario es el len,ua8e de %1<uina
O enguaje de bajo ni#el. Los len,ua8es de ba8o nivel son el &ri%er &aso de la sofisti$a$i(n de
los len,ua8es de $o%&utadora Per%iten una $o%uni$a$i(n %1s f1$il $on la $o%&utadora
Las instru$$iones es$ritas en len,ua8e de ba8o nivel deben ser tradu$idas &or %edio de una
tradu$tora a len,ua8e de %1<uina La tradu$$i(n <ue se 6a$e es uno a uno, es de$ir, una
instru$$i(n en len,ua8e de ba8o nivel se transfor%a en una instru$$i(n de len,ua8e de
%1<uina
O enguaje de alto ni#el. Es el len,ua8e si%b(li$o %1s f1$il de entender y de &ro,ra%arG en 3l
se &re&ara un &ro,ra%a &ara ser &ro$esado &or $o%&utadora
Este len,ua8e es tradu$ido a len,ua8e ob8eto %ediante un ensa%blador o $o%&ilador
A diferen$ia de los anteriores 3ste es %1s fle7ible, f1$il de a&render y %1s a&ro&iado &ara
$orre,ir los errores de &ro,ra%a$i(n
Bna instru$$i(n de len,ua8e de alto nivel es tradu$ida a len,ua8e de %1<uina en una o varias
instru$$iones En la %edida en <ue se si%&lifi$a el traba8o del &ro,ra%ador, $re$e el traba8o
del tradu$tor
O $ireccin de memoria. Cada $o%&utador tiene una $antidad deter%inada de
almacenamiento interno deno%inada %e%oria &rin$i&al, ade%1s del al%a$ena%iento
e7terno $onsistente en $intas, dis<uetes y dis$os %a,n3ti$os Las dos for%as de
al%a$ena%iento difieren en sus $ara$tersti$as y &ro&(sitos Los &ro,ra%as <ue est1n en
e8e$u$i(n, as $o%o los datos ne$esarios &ara ello, deben residir en la %e%oria &rin$i&al
Esta es %1s $ostosa y, en la %ayor &arte de los siste%as, es un re$urso un tanto es$aso La
infor%a$i(n <ue no se re<uiere de in%ediato se rele,a nor%al%ente a los dis&ositivos de
al%a$ena%iento e7terno, donde la $a&a$idad de al%a$ena%iento &uede ser $asi ili%itada,
&ero donde el tie%&o de re$u&era$i(n de la %is%a suele ser $onsiderable%ente %1s ,rande
Al %is%o tie%&o el $osto de al%a$ena%iento e7terno es $o%&arativa%ente %1s ba8o, &or lo
<ue la infor%a$i(n &uede ser al%a$enada all &or lar,os &erodos
La %e%oria &rin$i&al de la $o%&utadora se divide en unidades &e<ueFas e i,uales
deno%inadas palabras <ue tienen una >ni$a dire$$i(n Cada &alabra es $a&az de al%a$enar
una unidad de infor%a$i(nI &or e8e%&lo, los resultados nu%3ri$os de la $o%&utadora El
ta%aFo de la &alabra es un &ar1%etro de diseFo de la $o%&utadora y deter%ina, di,a%os, el
n>%ero %1s ,rande y %1s &e<ueFo <ue &uede ser al%a$enado
Las dire$$iones de %e%oria identifi$an $ada &alabra individual%ente, de tal %anera <ue la
infor%a$i(n $ontenida en ella &ueda leerse, o al%a$enar nueva infor%a$i(n
O %it& %'te& Palabra
"it. Es la abreviatura de binar! digit Es una unidad de infor%a$i(n <ue e<uivale a una
de$isi(n binaria, o la desi,na$i(n de uno de dos valores o estados &osibles i,ual%ente
&robables 2e suele e7&resar $o%o QlR o Q/R 5e&resenta una unidad %in>s$ula de %e%oria
<ue &uede tener dos estados encendido, o apagado, donde el estado encendido se re&resenta
%ediante uno y el apagado %ediante $ero
"9te. Es un $on8unto de "IT! $onse$utivos <ue se tratan $o%o una sola entidad, &or lo
,eneral son ) "IT!. Ta%bi3n se le $ono$e $o%o el n>%ero de "IT! ne$esarios &ara
re&resentar un $ar1$ter en la %e%oria de la $o%&utadora
Pala.ra. 2on unidades de al%a$ena%iento a las <ue se les asi,na una dire$$i(n de %e%oria
2on tratadas &or los $ir$uitos de la $o%&utadora $o%o una entidad, &or la unidad de $ontrol
$o%o una instru$$i(n y &or la unidad arit%3ti$a $o%o una $antidad Este ,ru&o de "IT! es
el %1s ,rande tratado a trav3s del &ro$esador $entral $o%o una sola unidad El ta%aFo de la
&alabra de&ende de la ar<uite$tura de la $o%&utadoraI se &ueden tener &alabras de uno, dos,
$uatro, oc5o o 3:s "+TE!.
O Campo. Es un ,ru&o de $ara$teres <ue se &ueden tratar $o%o una unidad de infor%a$i(n
si%&le Las instru$$iones de los len,ua8es est1n $onstituidas &or varios $a%&os
De&endiendo de la $o%&utadora, del len,ua8e de &ro,ra%a$i(n utilizado y de la for%a $o%o
el $a%&o sea definido, a un $a%&o se le asi,nar1 una o %1s &alabras
O (egistro. Es un $on8unto de $a%&os <ue se refieren a una %is%a a$tividad <ue se desea
&ro$esarI &or e8e%&lo, toda la infor%a$i(n sobre un art$ulo de inventario, la infor%a$i(n
<ue $ontiene una lista de $lase sobre un estudiante ?$(di,o, no%bres, &ro,ra%a, et$C
O )rc*i#o. Es un dis&ositivo de soft=are utilizado &ara al%a$enar infor%a$i(n en for%a
%asiva, rela$ionada $on una deter%inada entidad, &ersona o $osas E8e%&loG su&on,a <ue la
$o%&aFa A tiene "// $lientes y <ue se %antiene la si,uiente infor%a$i(n a$er$a de $ada uno
de ellosG no%bre, dire$$i(n, balan$e de $r3dito, des$uento &er%itido La infor%a$i(n
individual de $ada $liente se deno%ina registro y un $on8unto de re,istros for%ar1 un
ar$6ivo, es de$ir, un ar$6ivo de datos de los re,istros de los $lientes Los ar$6ivos &ueden
tenerse en varias for%as y en diferentes %edios de al%a$ena%iento
O %ase de datos. Es un $on8unto de ar$6ivos rela$ionados de una %anera es&e$ial, <ue
$ontinua%ente se est1 a$tualizando
1.). !iste3as nu3<ricos
Bn siste%a nu%3ri$o en base r es un siste%a <ue utiliza distintos s%bolos &ara re&resentar r
d,itos Los n>%eros se re&resentan &or 6ileras de s%bolos de d,itos Para deter%inar la
$antidad <ue el n>%ero re&resenta es ne$esario %ulti&li$ar $ada d,ito &or una &oten$ia entera
de r y lue,o e8e$utar la su%a de todos los d,itos &esados ?D,ito &esado es a<u3l <ue tiene dos
valoresG uno intrnse$o y otro &osi$ionalC Por e8e%&lo, el siste%a nu%3ri$o de$i%al, <ue es el
<ue utiliza%os a diario, est1 en base "/ ?rS"/C, lo $ual si,nifi$a <ue utiliza diez d,itos &ara
re&resentar todas las $antidades &osibles Los diez s%bolos utilizados &or di$6o siste%a sonG ",
', *, ), +, 0, -, ., 4 y / La 6ilera de d,itos -')+ se utiliza &ara re&resentar la $antidadG
-7"/
'
H '7"/
"
H)7"/
/
H +7"/
J"
Esto es, sete$ientos %1s ' de$enas %1s ) unidades H + d3$i%os El siste%a nu%3ri$o binario
utiliza la base dos Los dos d,itos <ue utiliza son el / y el " La 6ilera de d,itos "/""/" se
utiliza &ara re&resentar la $antidadG
"7'
+
H/7'
)
H "7'
*
H "7'
'
H /7'
"
H "7'
/
S )+
Para distin,uir los n>%eros de diferentes bases, los d,itos ser1n en$errados entre &ar3ntesis
y la base del n>%ero ser1 es$rita $o%o un subndi$e Por e8e%&lo, &ara %ostrar la i,ualdad entre
el )+ en base "/ y en base ', es$ribire%osG
?"/""/"C
'
S ?)+C
"/
Ade%1s de los siste%as nu%3ri$os de$i%al y binario, los siste%as o$tal ?base .C y
6e7ade$i%al ?base "0C son i%&ortantes en el traba8o de $o%&utadoras di,itales Los o$6o
s%bolos o d,itos del siste%a o$tal sonG /, ", ', *, ), +, 0, -, Los die$is3is s%bolos o d,itos
del siste%a 6e7ade$i%al sonG /, ", ', *, ), +, 0, -, ., 4, A, B, C, D, E, : Los >lti%os seis
s%bolos son desafortunada%ente id3nti$os a las letras del alfabeto y &ueden $ausar al,una
$onfusi(n, a ve$es 2in e%bar,o, esto se utiliza &or $onven$i(n, y los s%bolos A, B, C, D, E, :
$uando se utilizan &ara re&resentar d,itos 6e7ade$i%ales $orres&onden a los n>%eros
de$i%ales "/, "", "',"*,"),"+, res&e$tiva%ente
Bn n>%ero en base r se &uede $onvertir al fa%iliar siste%a de$i%al e8e$utando la su%a de
sus d,itos &esados Por e8e%&lo, el n>%ero ?-*,)C
.
&ara $onvertirlo a base "/ se 6a$e $o%o
si,ueG
?-*0)C
.
S -7.
'
H *7.
"
H 07.
/
H )7.
J"
T se e8e$utan las o&era$iones en siste%a de$i%al, esto esG
-70) H *7. H 07" H )K. S ?)-.,+C
"/
El e<uivalente n>%ero de$i%al del 6e7ade$i%al :* se obtiene efe$tuando los si,uientes
$1l$ulosG
?:*C
"0
S :7"0
"
H *7"0
/
S "+7"0 H * S ?')*C
"/
La $onversi(n desde de$i%al a su e<uivalente re&resenta$i(n en base r se e8e$uta se&arando
el n>%ero en su &arte entera y su &arte de$i%al y $onvirtiendo $ada &arte &or se&arado La
$onversi(n de un entero de$i%al a su e<uivalente en base r se e8e$uta %ediante divisiones
su$esivas &or la base r y se a$u%ulan los residuos en orden inverso a $o%o fueron a&are$iendo
La $onversi(n de la &arte de$i%al a su e<uivalente en base r se obtiene %ediante
%ulti&li$a$iones su$esivas &or la base r y se a$u%ulan los d,itos enteros obtenidos en el orden
de a&ari$i(n
El siguiente e'emplo ilustra estos procedimientos:
La $onversi(n del n>%ero de$i%al )",0.-+ a binario se e8e$uta se&arando &ri%ero la &arte
entera )" y la &arte de$i%al /,0.-+ y dividi3ndolos su$esiva%ente &or la base ?'C
ENTE5O )" :5ACCION /0.-+
)" U
'/ U " /0.-+ V ' S "*-+/
"/ U / /*-+/ V ' S /-+//
+ U / /-+// V ' S "+///
' U " /+/// V ' S "////
" U / ?fra$$i(n $eroC
/ U " ?$o$iente $eroC ?/0.-+C
"/
S ?/"/""C
'
?)"C
"/
S ?"/"//"C
'
Por $onsi,uiente ?)"0.-+C
"/
S ?"/"//""/""C
'
La &arte entera se $onvierte dividiendo )" &or la base a la $ual se va a trasladar Br C 2D y se
obtiene un $o$iente de '/ y un residuo de " El $o$iente se divide de nuevo &or la nueva base Br
C 2D y se obtiene un nuevo $o$iente y un nuevo residuo Este &ro$eso se re&ite 6asta <ue el
$o$iente sea $ero El n>%ero e<uivalente en binario ser1 enton$es el residuo obtenido en el
orden inverso de a&ari$i(n
La &arte fra$$ionaria se $onvierte %ulti&li$1ndola &or la nueva base BrC2D y se obtiene una
&arte entera y una fra$$i(n La nueva fra$$i(n ?sin la &arte enteraC se %ulti&li$a de nuevo &or la
nueva base BrC2D &ara obtener una nueva &arte entera y una nueva fra$$i(n Este &ro$eso se
re&ite 6asta <ue la &arte fra$$ionaria lle,ue a ser $ero o 6asta <ue el n>%ero de d,itos obtenidos
d3 la &re$isi(n deseada La fra$$i(n binaria se obtiene de los d,itos enteros obtenidos al
realizar $ada %ulti&li$a$i(n, $olo$1ndolos en el orden de a&ari$i(n :inal%ente, se unen la &arte
entera y fra$$ionaria y se obtiene el resultado re<uerido
Representacin .inaria4 octal 9 5eEa2eci3al
La $onversi(n desde y 6a$ia, de re&resenta$i(n nu%3ri$a binaria, o$tal y 6e7ade$i%al, 8ue,a
un &a&el %uy i%&ortante en $o%&utadores di,itales Debido a <ue dos al $ubo es i,ual a o$6o y
dos a la $uarta es i,ual a die$is3is, $ada d,ito o$tal $orres&onde a tres d,itos binarios y $ada
d,ito 6e7ade$i%al $orres&onde a $uatro d,itos binarios La $onversi(n de binaria a o$tal se
e8e$uta f1$il%ente dividiendo el n>%ero binario en ,ru&os de tres d,itos de dere$6a a
iz<uierda A $ada ,ru&o de tres d,itos se le asi,na el $orres&ondiente d,ito o$tal, y la 6ilera de
d,itos as obtenida da la re&resenta$i(n o$tal del n>%ero binario Considere%os un re,istro de
"0 bits :si$a%ente uno &uede &ensar <ue el re,istro est1 $o%&uesto &or "0 $eldas de
al%a$ena%iento binario, $ada una de las $uales es $a&az de al%a$enar un valor, $ero o uno
2u&on,a%os <ue la $onfi,ura$i(n de bits al%a$enada en un re,istro es $o%o la %ostrada en la
fi,uraG
' - + ) * O$tal
/ / " / " " " " / " " / / / " " Binario
' : 0 * #e7ade$i%al
Debido a <ue un n>%ero binario $onsiste en una 6ilera de unos y $eros, el re,istro de "0 bits
se &uede utilizar &ara al%a$enar un n>%ero binario desde uno 6asta ' a la "0 %enos " Para el
&arti$ular e8e%&lo %ostrado en la fi,ura, el n>%ero al%a$enado en binario es e<uivalente al
de$i%al 121#1.
Co%enzando desde la dere$6a, &arti%os el re,istro en ,ru&os de tres bits A $ada ,ru&o de
tres bits se le asi,na su e<uivalente o$tal y se $olo$a en la &arte su&erior del re,istro La 6ilera
de d,itos o$tales, as obtenida, re&resenta el e<uivalente o$tal del n>%ero binario La
$onversi(n de binario a 6e7ade$i%al es si%ilar, e7$e&to <ue los d,itos se a,ru&an en $on8untos
de $uatro d,itos El $orres&ondiente d,ito 6e7ade$i%al &ara $ada ,ru&o de $uatro d,itos se
anota en la &arte inferior del re,istro La 6ilera de d,itos, as obtenida, re&resenta el n>%ero
6e7ade$i%al e<uivalente al n>%ero binario
El $orres&ondiente d,ito o$tal &ara $ada ,ru&o de tres bits se en$uentra en la si,uiente tablaG
N>%ero O$tal $odifi$ado De$i%al
o$tal en binario e<uivalente
/ /// /
" //" "
' /"/ '
* /"" *
) "// )
+ "/" +
0 ""/ 0
- """ -
La $orres&onden$ia entre d,itos 6e7ade$i%ales y su e<uivalente en ,ru&os de $uatro bits se
en$uentran en la si,uiente tablaG
N>%ero #e7ade$i%al De$i%al
6e7ade$i%al $odifi$ado e<uivalente
en binario
/ //// /
" ///" "
' //"/ '
* //"" *
) /"// )
+ /"/" +
0 /""/ 0
- /""" -
. "/// .
4 "//" 4
A "/"/ "/
B "/"" ""
C ""// "'
D ""/" "*
E """/ ")
: """" "+
1.*. Representacin 2e 2atos
La infor%a$i(n binaria en $o%&utadoras di,itales est1 al%a$enada en %e%oria, en re,istros
&ro$esadores Los re,istros &ueden $ontener datos o infor%a$i(n de $ontrol La infor%a$i(n es
un bit o ,ru&o de bits, utilizado &ara es&e$ifi$ar la se$uen$ia de $o%andos de seFales ne$esarias
&ara %ani&ular los datos de otros re,istros Los datos son n>%eros u otra infor%a$i(n
$odifi$ada en binario o&erados &ara lo,rar los resultados $o%&uta$ionales re<ueridos A<u se
&resentar1n los %1s $o%unes ti&os de datos en$ontrados en $o%&utadores di,itales y se
%ostrar1 $(%o los diferentes ti&os de datos son re&resentados en for%a $odifi$ada en binario en
los re,istros de $o%&utadores
Los ti&os de datos en$ontrados en los re,istros de $o%&utadoras di,itales se &ueden
$lasifi$ar en al,una de las si,uientes $ate,orasG aC n>%eros, utilizados en $1l$ulos arit%3ti$osI
bC letras del alfabeto, utilizadas en &ro$esa%iento de datos, y $C otros s%bolos, utilizados &ara
&ro&(sitos es&e$fi$os Todos los ti&os de datos, e7$e&to n>%eros binarios, se re&resentan en
re,istros de $o%&utadores en for%a $odifi$ada en binario Esto se debe a <ue los re,istros son
$onstruidos $on ele%entos biestables, los $uales son dis&ositivos <ue s(lo &ueden al%a$enar
unos o $eros El siste%a nu%3ri$o binario es el siste%a natural en $o%&utadoras di,itales Pero,
al,unas ve$es es $onveniente e%&lear diferentes siste%as nu%3ri$os, es&e$ial%ente el siste%a
nu%3ri$o de$i%al, el $ual es el e8e$utado &or los 6u%anos &ara efe$tuar $1l$ulos arit%3ti$os
El $aso es <ue una 6ilera de unos y $eros al%a$enados en un re,istro &uede re&resentar un
n>%ero binario, un n>%ero o$tal $odifi$ado en binario o un n>%ero 6e7ade$i%al $odifi$ado en
binario Los re,istros en $o%&utadoras di,itales $ontienen %u$6os bits 2i es&e$ifi$a%os su
$ontenido &or su re&resenta$i(n en binario, re<uerire%os una 6ilera %uy lar,a de d,itos
binarios Es %1s $onveniente es&e$ifi$ar el $ontenido de los re,istros &or su e<uivalente o$tal o
6e7ade$i%al El n>%ero de d,itos se redu$e en una ter$era &arte en re&resenta$i(n o$tal, y en
una $uarta &arte en re&resenta$i(n 6e7ade$i%al Por e8e%&lo, el n>%ero binario """"""""""""
tiene do$e d,itos 2i lo e7&resa%os en for%a o$tal utiliza $uatro d,itos ?----C, en 6e7ade$i%al
utiliza tres d,itos ?:::C Los $o%&utadores utilizan la re&resenta$i(n o$tal o 6e7ade$i%al &ara
es&e$ifi$ar el $ontenido de los re,istros
Representacin al0anu3<rica
@u$6as a&li$a$iones de $o%&utadores di,itales re<uieren el %ane8o de datos <ue no son
>ni$a%ente n>%eros, sino ta%bi3n letras del alfabeto y $iertos $ara$teres es&e$iales Bn
$on8unto de $ara$teres alfanu%3ri$os es un $on8unto de ele%entos <ue in$luye los diez d,itos
de$i%ales, las '0 letras del alfabeto y $ara$teres es&e$iales tales $o%o W, H, S, V, et$ Tal
$on8unto $ontiene entre *' y 0) ?si se in$luyen >ni$a%ente letras %ay>s$ulasC, entre 0) y "'.
?si se in$luyen letras %ay>s$ulas y %in>s$ulasC, o entre "'. y '+0 ?si se in$luyen $ara$teres
es&e$ialesC En el &ri%er $aso se re<uerir1n $(di,os binarios de seis bits, en el se,undo $aso,
$(di,os binarios de siete bits y en el ter$er $aso $(di,os binarios de . bits
Es bueno a$larar <ue el $o%&utador sie%&re utilizar1 un byte ?un $on8unto de . bitsC &ara
al%a$enar datos alfanu%3ri$os En al,unos siste%as de $odifi$a$i(n utiliza los . bits &ara
re&resentar los $ara$teresI en otros, $o%o el A2CII, utiliza - bits &ara re&resentar los $ara$teres
y el o$tavo $o%o bit de &aridad &ara $ontrolar la trans%isi(n de datos alfanu%3ri$os
El $(di,o binario est1ndar alfanu%3ri$o es el A2CII (American (ational Standard Code )or
*n"ormation *nterchange, el $ual utiliza o$6o bits &ara $odifi$ar '+0 $ara$teres Los $(di,os
binarios &ara letras %ay>s$ulas, d,itos de$i%ales y unos $uantos $ara$teres es&e$iales se
%uestran en la si,uiente tablaG
Car1$ter C(di,o Car1$ter C(di,o
binario binario
A "/////" / /""////
B "////"/ " /""///"
C "////"" ' /""//"/
D "///"// * /""//""
E "///"/" ) /""/"//
: "///""/ + /""/"/"
9 "///""" 0 /""/""/
# "//"/// - /""/"""
I "//"//" . /"""///
J "//"/"/ 4 /"""//"
X "//"/""
L "//""// Blan$o /"/////
@ "//""/" /"/"""/
N "//"""/ ? /"/"///
O "//"""" H /"/"/""
P "/"//// W /"//"//
A "/"///" V /"/"/"/
5 "/"//"/ C /"/"//"
2 "/"//"" J /"/""/"
T "/"/"// K /"/""""
B "/"/"/" , /"/""//
; "/"/""/ S /""""/"
L "/"/"""
! "/""///
T "/""//"
Y "/""/"/
Los $(di,os binarios 8ue,an un &a&el %uy i%&ortante en las o&era$iones en $o%&utadoras
di,itales Los $(di,os deben estar en binario debido a <ue los re,istros s(lo &ueden ,uardar
infor%a$i(n binaria Las o&era$iones es&e$ifi$adas &ara $o%&utadoras di,itales deben tener en
$uenta el si,nifi$ado de los bits al%a$enados en los re,istros, de tal %anera <ue las o&era$iones
se e8e$uten sobre o&erandos del %is%o ti&o Los $(di,os binarios se &ueden asi,nar &ara
$ual<uier $on8unto de ele%entosG $olores, notas %usi$ales, &iezas de a8edrez, et$ Los $(di,os
binarios se utilizan ta%bi3n &ara for%ular instru$$iones <ue es&e$ifi<uen infor%a$i(n de
$ontrol a la $o%&utadora A<u nos o$u&are%os >ni$a%ente de la re&resenta$i(n de datos
Representacin nu3<rica
Los n>%eros utilizados en $1l$ulos se desi,nan &or un si,no, la %a,nitud del n>%ero y
al,unas ve$es un &unto de$i%al El si,no se utiliza &ara deter%inar si el n>%ero es &ositivo o
ne,ativo La &osi$i(n del &unto de$i%al se utiliza &ara re&resentar fra$$iones o n>%eros $on
&arte entera y fra$$ionara
El si,no del n>%ero se &uede $onsiderar $o%o un $on8unto de dos ele%entos, el %1s y el
%enos Estos dos ele%entos se &ueden asi,nar $on un $(di,o binario de un bit Por $onven$i(n,
el $ero re&resentar1 el si,no %1s y el uno el si,no %enos El bit del si,no, &or lo ,eneral, se
$olo$a en la &osi$i(n %1s a la iz<uierda del re,istro
La re&resenta$i(n del &unto de$i%al o binario en un re,istro es $o%&li$ado, debido a <ue el
&unto debe estar entre dos ele%entos biestables del re,istro #ay dos for%as de es&e$ifi$ar la
&osi$i(n del &unto de$i%al en un re,istroG d1ndole una &osi$i(n fi8a o e%&leando la
re&resenta$i(n de &unto flotante El %3todo de &unto fi8o asu%e <ue el &unto de$i%al est1
sie%&re en una &osi$i(n fi8a Las dos &osi$iones %1s $o%>n%ente usadas sonG aC el &unto
de$i%al en el e7tre%o iz<uierdo del re,istro, &ara tener el n>%ero al%a$enado $o%o una
fra$$i(n, y bC el &unto de$i%al en el e7tre%o dere$6o de un re,istro, <ue 6a$e <ue el n>%ero
al%a$enado sea un entero En $ual<uiera de los dos $asos el &unto de$i%al no est1 real%ente
&resente, &ero su &resen$ia es asu%ida &ara <ue el n>%ero sea tratado $o%o fra$$i(n o $o%o
entero La re&resenta$i(n de punto flotante utiliza un se,undo re,istro, o &arte del re,istro, &ara
al%a$enar un n>%ero <ue desi,na la &osi$i(n real del &unto de$i%al
Antes de e7&li$ar $(%o los n>%eros de &unto fi8o se re&resentan en los re,istros es ne$esario
definir el $o%&le%ento de un n>%ero Los $o%&le%entos se utilizan en $o%&utadoras di,itales
&ara re&resentar n>%eros ne,ativos debido a <ue su re&resenta$i(n fa$ilita las o&era$iones
arit%3ti$as #ay dos ti&os de su&le%entos &ara $ada siste%a nu%3ri$o en base rG aC el
$o%&le%ento a r, y bC el $o%&le%ento a rF1 Cuando la base es dos ?siste%a binarioC los
$o%&le%entos re$iben los no%bres de $o%&le%ento a dos y $o%&le%ento a uno,
res&e$tiva%enteI si la base es diez ?siste%a de$i%alC los no%bres seran $o%&le%ento a diez y
$o%&le%ento a nueve, res&e$tiva%ente
El $o%&le%ento rF1 de un n>%ero en base de r se obtiene restando $ada d,ito del n>%ero rF
1 Para n>%eros de$i%ales rF1 es nueve, y &ara n>%eros binarios rF1 es " Por $onsi,uiente, el
$o%&le%ento a nueve del de$i%al .*+ es "0) y se obtuvo restando $ada d,ito de nueveI el
$o%&le%ento a uno del n>%ero binario "/"/ es /"/" y se obtuvo restando $ada d,ito de uno
2in e%bar,o, $onsiderando <ue "J/S" y "J"S/ el $o%&le%ento a uno de n>%eros binarios se
obtiene $a%biando los unos &or $eros y los $eros &or unos
El $o%&le%ento rF1 de n>%eros o$tales y 6e7ade$i%ales se obtiene restando $ada d,ito de
- o :, res&e$tiva%ente Cuando estos n>%eros est1n $odifi$ados en binario, el $o%&le%ento se
obtiene $a%biando unos &or $eros y $eros &or unos
El $o%&le%ento a r de un n>%ero en base r se obtiene su%ando " al $o%&le%ento a BrF1D
Por $onsi,uiente, el $o%&le%ento a "/ del n>%ero de$i%al .*+ es "0)H"S"0+, el $ual se
obtuvo su%ando uno al $o%&le%ento a 4 El $o%&le%ento a ' del n>%ero binario "/"/ es
/"/"H"S/""/, y se obtuvo su%ando uno al $o%&le%ento a uno
Representacin nu3<rica entera
Cuando un n>%ero binario de &unto fi8o es &ositivo, el si,no se re&resenta &or un $ero y la
%a,nitud &or un n>%ero &ositivo binario Cuando el n>%ero es ne,ativo el si,no se re&resenta
&or un uno, &ero el resto del n>%ero se &uede re&resentar de tres %aneras diferentes <ue sonG
re&resenta$i(n si,noZ%a,nitudI re&resenta$i(n $o%&le%ento a uno $on si,no y re&resenta$i(n
$o%&le%ento a dos $on si,no
La re&resenta$i(n si,noJ%a,nitud de un n>%ero ne,ativo es el bit del si,no se,uido &or la
%a,nitud del n>%ero En las otras dos re&resenta$iones, el n>%ero ne,ativo se re&resenta o en
$o%&le%ento a uno o en $o%&le%ento a dos Co%o e8e%&lo $onsidere%os el n>%ero 4
al%a$enado en un re,istro de - bits 2i el n>%ero 4 es &ositivo su re&resenta$i(n ser1 ///"//",
la $ual es >ni$a El bit <ue est1 a la iz<uierda es $ero indi$ando <ue el n>%ero es &ositivo, los
otros seis bits re&resentan el n>%ero 4 en binario 2(lo e7iste una %anera de re&resentar el H4I
sin e%bar,o, e7isten tres %aneras diferentes &ara re&resentar el J4, las $uales sonG
O 5e&resenta$i(n si,noJ%a,nitudG "//"//"
O 5e&resenta$i(n si,noJ$o%&le%ento a unoG """/""/
O 5e&resenta$i(n si,noJ$o%&le%ento a dosG """/"""
a representacin signo+magnitud se obtiene de la re&resenta$i(n de H4 ?///"//"C
$a%biando sola%ente el bit del si,no
a representacin signo+complemento a uno de ?J4C se obtiene $a%biando todos los bits de
la re&resenta$i(n de H4 ?"//"//"CI los unos &or $eros y los $eros &or unos, e7$luyendo el si,no
del bit
a representacin signo+complemento a dos se obtiene 6allando el $o%&le%ento a dos de la
re&resenta$i(n de H4 ?"//"//"C, e7$luyendo el bit del si,no
La raz(n &or la <ue se utilizan las re&resenta$iones si,noJ$o%&le%ento a uno y si,noJ
$o%&le%ento a dos, es <ue fa$ilitan la e8e$u$i(n de las o&era$iones ;ea%os el si,uiente
e8e%&loG H'* y J*+ se re&resentan $on un si,no se,uido &or la %a,nitud del n>%ero Para su%ar
estos dos n>%eros es ne$esario sustraer la %a,nitud %1s &e<ueFa de la %ayor y utilizar el si,no
de la $antidad %ayor $o%o si,no del resultado, esto esG
?H'*C H ?J*+C S J ?*+J'*C S J "'
El &ro$eso de su%ar dos n>%eros si,nados, $uando los n>%eros ne,ativos se re&resentan en
la for%a si,noJ%a,nitud, re<uiere <ue se $o%&aren sus si,nos 2i los dos si,nos son i,uales se
su%an las %a,nitudes y el resultado tiene el %is%o si,no 2i los si,nos son diferentes se
$o%&aran las %a,nitudes ?en valor absolutoC de a%bos n>%eros y del %ayor se resta el %enor,
y el si,no del resultado ser1 el del n>%ero %ayorI se ne$esita, &or $onsi,uiente, deter%inar el
si,no del resultado Todo lo anterior es un &ro$eso <ue $uando se i%&le%enta &or hard+are
re<uiere una lar,a se$uen$ia de de$isiones y de $ontroles, as $o%o $ir$uitos <ue $o%&aren,
su%en y resten n>%eros
Co%&are%os a6ora el &ro$edi%iento anterior $on el &ro$edi%iento <ue se si,ue $uando se
su%an dos n>%eros binarios si,nados o $uando los n>%eros ne,ativos se re&resentan en la
for%a si,noJ$o%&le%ento a dos Este &ro$edi%iento es %uy si%&le y se &uede estable$er $o%o
si,ueG se su%an a%bos n>%eros ?in$luido el si,no del bitC y se des$arta $ual<uier a$arreo al
su%ar los d,itos %1s a la iz<uierda de los n>%eros
A $ontinua$i(n se %uestran al,unos e8e%&los de $(%o se su%an dos n>%eros ne,ativos,
$uando se re&resentan en la for%a si,noJ$o%&le%ento a dos ?Btilizando estru$turas de - bitsC
H 0 ////""/ J 0 """"/"/
H H
H 4 ///"//" H 4 ///"//"
[[ [[[[ [[ [[[[
H "+ ///"""" H * /////""
H 0 ////""/ J 4 """/"""
H H
J 4 """/""" J 4 """/"""
[[J [[[[ [[ [[[[
J * """""/" J". ""/"""/
Note <ue los n>%eros ne,ativos deben estar ini$ial%ente en re&resenta$i(n si,noJ
$o%&le%ento a dos, y el resultado obtenido des&u3s de la su%a, si es ne,ativo, est1 ta%bi3n en
la re&resenta$i(n si,noJ$o%&le%ento a dos Los dos n>%eros en los $uatro e8e%&los se su%an,
in$luyendo el bit del si,no, y $ual<uier a$arreo en el bit del si,no se des$arta
Este &ro$edi%iento es %u$6o %1s si%&le <ue el utilizado &ara su%ar n>%eros en
re&resenta$i(n si,noJ%a,nitud 5e<uiere sola%ente una de$isi(n y un $ir$uito &ara su%ar dos
n>%eros El &ro$edi%iento re<uiere <ue los n>%eros ne,ativos sean al%a$enados en la for%a
si,noJ$o%&le%ento a dos
El &ro$edi%iento <ue se si,ue &ara obtener la su%a de dos n>%eros binarios, $uando los
n>%eros ne,ativos est1n en la re&resenta$i(n si,noJ $o%&le%ento a uno, es si%ilar y se &uede
enun$iar $o%o si,ueG su%e los dos n>%eros, in$luyendo el bit del si,no 2i resulta al,>n
a$arreo lue,o de su%ar los bits del si,no se le su%a uno ?"C al resultado y el a$arreo se des$arta
Los si,uientes e8e%&los ilustran este &ro$edi%ientoG
H0 ////""/ J0 """"//"
H
J4 """/""/ H4 ///"//"
[[ [[[[[[ [[ [[[[[[
J* """""// /////"/

H

"
[[[[[
/////""
Note <ue todos los n>%eros ne,ativos, in$luyendo los resultados, est1n en la re&resenta$i(n
si,noJ$o%&le%ento a uno
La venta8a de la re&resenta$i(n si,noJ$o%&le%ento a dos sobre las otras dos
re&resenta$iones ?si,noJ$o%&le%ento a dos y si,noJ%a,nitudC es <ue sola%ente tiene una
re&resenta$i(n &ara el $ero Las otras dos re&resenta$iones tienen $ero &ositivo y $ero ne,ativo
Por e8e%&lo, &ara su%ar ?H4C y ?J4C en re&resenta$i(n si,noJ$o%&le%ento a uno se tieneG
H4 ///"//"
H
J4 """/""/
[[ [[[[[[J
J/ """""""
T el resultado es un $ero ne,ativo, es de$ir, el $o%&le%ento del $ero &ositivo ?///////C
El n>%ero $ero $on el bit de si,no aso$iado a&are$er1 en un re,istro en al,unas de las
si,uientes for%as, de&endiendo de la re&resenta$i(n utilizada &ara n>%eros ne,ativosG
H/ J/
2,noJ%a,nitud /////// "//////
2i,noJ$o%&le%ento a uno /////// """""""
2i,noJ$o%&le%ento a dos /////// Nin,una
En las &ri%eras dos re&resenta$iones e7iste $ero &ositivo y $ero ne,ativo En la
re&resenta$i(n si,noJ$o%&le%ento a dos s(lo e7iste el $ero &ositivoI esto debido a <ue el
$o%&le%ento a dos de /////// ?$ero &ositivoC es ///////
(esta aritm,tica. La resta de dos n>%eros binarios si,nados, $uando los n>%eros ne,ativos
est1n re&resentados en la for%a si,noJ$o%&le%ento a dos, es %uy si%&le y se &uede enun$iar
asG
To%e el $o%&le%ento a dos del sustraendo ?in$luyendo el bit del si,noC y s>%ela al
%inuendo ?in$luyendo el bit del si,noC
Este &ro$edi%iento se basa en el 6e$6o de <ue la o&era$i(n de resta se &uede $onvertir en
una o&era$i(n de su%a, $a%biando el si,no sustraendo
Ca%biar un n>%ero &ositivo &or uno ne,ativo es %uy f1$ilG basta $on 6allar su $o%&le%ento
a dos ?in$luyendo el bit del si,noC La o&era$i(n $ontraria ta%bi3n es $ierta, debido a <ue el
$o%&le%ento a dos del $o%&le%ento a dos restaura el n>%ero en su valor ori,inal
Debido a la dis&onibilidad de &ro$edi%ientos si%&les &ara su%ar y restar n>%eros, $uando
los n>%eros ne,ativos se re&resentan en la for%a si,noJ$o%&le%ento a dos, la %ayora de los
$o%&utadores ado&tan esta re&resenta$i(n, en vez de la fa%iliar si,noJ%a,nitud Otra de las
razones &or la $ual se es$o,e la re&resenta$i(n si,noJ$o%&le%ento a dos es &or<ue evita la
&resen$ia del $ero ne,ativo
En los e8e%&los <ue se 6an visto anterior%ente se 6an utilizado estru$turas de - bits &ara
re&resentar los n>%eros enteros Cada $o%&utador utiliza estru$turas diferentes y de diferente
$antidad de bits &ara re&resentar los datos en %e%oria
Representacin nu3<rica 2e punto 0lotante
La re&resenta$i(n de un n>%ero $on de$i%ales ?realC ne$esita dos &artesG la &ri%era &arte
re&resenta un n>%ero de &unto fi8o, $on si,no lla%ado Mantisa. La se,unda &arte la $onfor%a
la re&resenta$i(n del e7&onente, <ue indi$a la &osi$i(n real del &unto Cuando se usa una
estru$tura ?&alabraC de *' bits, el e7&onente est1 re&resentado &or un valor deno%inado
caracterstica y la %antisa debe estar nor%alizada, lo $ual indi$a <ue la &osi$i(n %1s
si,nifi$ante de 3sta es un n>%ero diferente de $ero Esto nos &er%ite de$ir <ue en una estru$tura
$o%o 3sta los n>%eros reales se al%a$enan en la for%a 3antisa4 caracterstica4 donde el &unto
no est1 re&resentado sino asu%ido, y &uede asu%irse a la iz<uierda o a la dere$6a de la %antisaI
,eneral%ente se asu%e a la iz<uierda, lo <ue indi$a <ue la %antisa es to%ada $o%o una
fra$$i(n
El si,no del valor re&resentado est1 en el bit %1s a la iz<uierda de la &alabra, si el valor
al%a$enado en ese bit es uno, el valor re&resentado es ne,ativo y si es $ero es &ositivo
La distribu$i(n de los bits de la &alabra, &ara re&resentar el si,no, la %antisa y la
$ara$tersti$a se &uede 6a$er de dos for%as, de&endiendo de la %anera $o%o est3 re&resentado
el e7&onenteI re&resenta$i(n $on e7&onente en base 'I re&resenta$i(n $on e7&onente en base "0
a. Representacin con eEponente en .ase 2
En este $aso la distribu$i(n de los *' bits se 6a$e de la si,uiente %aneraG
G !i/noH bit "
G MantisaH del bit ' al ') y es re&resentada $o%o un n>%ero binario
G CaractersticaH del bit '+ al *' y es re&resentada $o%o un n>%ero de$i%al $odifi$ado en
binario
El valor al%a$enado en la estru$tura esG \ ? %antisa V '
e
C
Donde e es el e7&onente y se asu%e el &unto a la iz<uierda de la %antisa
Por e8e%&lo, si se tiene la si,uiente re&resenta$i(n, vea%os $ual es su valor al%a$enadoG
" ' *
" ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " '
/ " " / " " / / / / / / / / / / / / / / / / / / " / / / / / " "
s %antisa Cara$tersti$a
Pri%ero se $onvierte la $ara$tersti$a a base "/, ?"/////""C
'
S ?"*"C
"/
2e,undo se deter%ina el valor del e7&onente, e S ?$ara$tersti$aC
"/
Z "'. ?el ses,o de "'.
indi$a <ue se &ueden re&resentar e7&onentes &ositivos y ne,ativosC e S "*" Z "'. S *
Ter$ero el valor al%a$enado esG ?""/"" 7 '
*
C
'
S ?""/""C
'
S ?0,-+C
"/
A6ora 6a,a%os el &aso $ontrario, al%a$enar en una estru$tura de *' bits <ue utiliza el
e7&onente en base ' el n>%ero Z*),'+
Pri%ero se &asa el n>%ero a binario El bit de si,no ser1 "
?*),'+C
"/
S ?"///"//"C
'
2e,undo se denota el valor del e7&onente ?eC Co%o la %antisa debe to%arse $o%o una
fra$$i(n, enton$es ?"///"//"C S ?"///"//" 7 '
0
C
'
, &or lo tanto e S 0 y la %antisa "///"//"
Ter$ero se deter%ina el valor de la $ara$tersti$a
Cara$tersti$a S e H "'. S 0 H "'. S "*)
Cuarto se $onvierte la $ara$tersti$a a binario
?"*)C
"/
S ?"////""/C
'

La estru$tura <uedara asG


" ' *
" " ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " ' " "
/ / / " / / " / / / / / / / / / / / / / / / / " / / / / " " /
s %antisa Cara$tersti$a
.. Representacin con eEponente en .ase 1'
En este $aso la distribu$i(n de los *' bits se 6a$e de la si,uiente %aneraG
G !i/noH bit "
G CaractersticaH del bit ' al . y es re&resentada $o%o un n>%ero de$i%al $odifi$ado en
binario
G MantisaH del bit 4 al *' y es un n>%ero 6e7ade$i%al $odifi$ado en binario
2i se tiene la si,uiente estru$tura, $al$ule%os su valor al%a$enadoG
" ' *
" ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " '
/ " / / / / " " " " / " " " " / / / " / / / / / / / / / / / / /
s $ara$tersti$a %antisa ?6e7ade$i%al $odifi$ado en binarioC
El valor al%a$enado ser1 S ?%antisa V"0
e
C y eS$ara$tersti$aJ0)
Pri%ero se $onvierte la $ara$tersti$a a base "/
?"////""C
'
S ?0-C
"/
2e,undo se deter%ina el valor del e7&onente
e S ?$ara$tersti$aC
"/
J 0), o sea 0-J0) S *
Ter$ero se $onvierte la %antisa a base "0
?""/""""///" C
'
S ?DE'C
"0
Cuarto el valor al%a$enado ser1
?DE' V "0
*
C
"0
S ?DE'C
"0
S ?*++)C
"/
Ejemplo
Al%a$enar en una estru$tura de *' bits <ue utiliza e7&onente en base "0 el de$i%al J"/"-+
O 2e $onvierte el n>%ero a base "0
?J"/"-+C
"/
S ?J*:4.C
"0
O 2e $al$ula el e7&onente
?J*:4.C
"0
S ?J*:4.V"0
*
C
Por lo tanto e S * y la %antisa ser1 ?J*:4.C
"0
O 2e $onvierte la %antisa a binario
?J*:4.C
"0
S ?J//"""""""//""C
'
O 2e $al$ula el valor de la $ara$tersti$a
$ara$tersti$a S e H 0) S * H 0) S 0-
O 2e $onvierte la $ara$tersti$a a binario
?0-C
"/
S ?"////""C
'
La estru$tura <uedara asG
" ' *
" ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " ' * ) + 0 - . 4 / " '
" " / / / / " " / / " " " " " " " / / " " / / / / / / / / / / /
s $ara$tersti$a %antisa
1.1I. Tipos 2e ca3pos
Para <ue una $o%&utadora &ueda 6a$er $1l$ulos debe tener al%a$enados en la %e%oria
&rin$i&al los valores $on los $uales 6a de traba8arI &or lo tanto, se ne$esita un es&a$io interno
&ara ,uardar esos valores en for%a te%&oral
Esos es&a$ios internos de la %e%oria son ,ru&os de bits biestables deno%inados ca3pos> a
3stos se les asi,na una >ni$a dire$$i(n de %e%oria y su $a&a$idad o valor %17i%o <ue se &uede
al%a$enar en ellos de&ender1 del ta%aFo del ,ru&o Los $a%&os &ueden ser de dos $lasesG
Campos #ariablesH son todos a<uellos $a%&os <ue &er%iten <ue el $ontenido al%a$enado en
el es&a$io de %e%oria asi,nado, &ueda ser alterado en el trans$urso de la e8e$u$i(n del
&ro,ra%aI o sea, en un %o%ento tiene un valor y %1s adelante &uede tener otro distinto, &ero
nun$a %1s de un valor al %is%o tie%&o Esta $lase de $a%&os, <ue en lo su$esivo se
deno%inar1n si%&le%ente 7aria.les4 se identifi$an &or un no%bre $on el $ual a$t>an durante
todo el trans$urso del &ro$eso, &or lo tanto, deben ser >ni$os El no%bre dado a la variable debe
ini$iar $on una letra se,uida, si se <uiere, de letras o d,itos Es el &ro,ra%ador <uien da
no%bre a sus variables teniendo en $uenta la re,la anterior
E8e%&los de no%bres de variablesG
A
B1
C1AZ
NOMBRE
SALAROHORA
Es buena &r1$ti$a de &ro,ra%a$i(n utilizar no%bres de variables si,nifi$ativas
?ne%ot3$ni$asC, es de$ir, <ue su,ieran lo <ue ellas re&resentan, ya <ue esto 6a$e <ue el
al,orit%o, y &or ende el &ro,ra%a, sea %1s le,ible y f1$il de $o%&render
2i se <uiere dar no%bre a una variable <ue va a al%a$enar un &a,o, &or e8e%&lo,
&erfe$ta%ente lo &ode%os lla%ar X, &ero sera %1s di$iente si la deno%ina%os PA o %1s
dire$ta%ente PAO. Ta%&o$o estos no%bres deben ser tan e,cesi-amente largos debido a .ue
di"icultan la escritura del algoritmo.
Campos constantes- es otra for%a de %ane8ar el ,ru&o de ele%entos asi,nados en %e%oria,
&ero <ue a diferen$ia de las variables su $ontenido no &uede $a%biar durante el &ro$eso Esta
$lase de $a%&os se identifi$a dire$ta%ente &or la infor%a$i(n <ue tiene al%a$enada y es
asi,nada desde el %o%ento en <ue se 6a$e la $o%&ila$i(n Pueden e7istir $a%&os $onstantes, o
si%&le%ente $onstantes, de ti&o nu%3ri$o, $ar1$ter o l(,i$o Por e8e%&loG
)/,0 QANAI2ABELR J"/ ;
1.11. Clases 2e in0or3acin
Los &rin$i&ales ti&os de infor%a$i(n, entre otros, <ue se %ane8an en una $o%&utadora sonG
Informacin num,rica- es toda a<uella infor%a$i(n $on o sin de$i%ales ?entera o realC $on
la $ual se &ueden 6a$er $1l$ulos arit%3ti$os o %ate%1ti$os Esta infor%a$i(n &uede estar
re&resentada $o%o una $onstante o una variable Por e8e%&loG
O Co%o $onstantesG
'/
*/,0
'///
O Co%o variables $uyo $ontenido sie%&re ser1 nu%3ri$oG
NB@E5O PA9O CANTIDAD
'/000 ""/+ )++0
Informacin como caracteres- %u$6os &ro$esos o &ro,ra%as no s(lo re<uieren de la
%ani&ula$i(n de valores nu%3ri$os, sino ta%bi3n de letras y s%bolos es&e$iales $on los $uales,
l(,i$a%ente, no se &ueden efe$tuar o&era$iones de $1l$ulo %ate%1ti$o Por e8e%&loG los
no%bres de &ersonas
Esta infor%a$i(n ta%bi3n &uede re&resentarse $o%o $onstante o $o%o variable Por e8e%&loG
O Co%o $onstanteG
]A^ Las $o%illas indi$an <ue se trata del $ar1$ter A y no de la variable A
]JBAN PABLO^
]ALBE5TO^
]"^ @uy diferente al n>%ero ", su for%a de al%a$ena%iento es distinta
]VB)^
]HV _^
O Co%o variableG
LET5A NO@B5E " NO@B5E ' CA5ECTE5
AJBAN PABLO ALBE5TO VB)
Informacin lgica- este ti&o de infor%a$i(n s(lo tiene dos &osibles valoresG 0also o
7er2a2ero. Al i,ual <ue el ti&o de infor%a$i(n anterior, 3ste ta%&o$o &uede ser utilizado &ara
efe$tuar $1l$ulos %ate%1ti$os 2e utilizar1n las nota$ionesG
- &ara re&resentar el valor verdadero, y
? &ara re&resentar el valor falso, $on el fin de diferen$iar estos valores $on las variables ; y
: Esta infor%a$i(n ta%bi3n &uede ser el $ontenido de una variable, &or e8e%&loG
ENCONT5ADO ;E5DAD
: ;
Aspectos i3portantes a tener en cuenta
a Los no%bres de variables deben ser >ni$osG no &ueden re&resentar dos $osas al %is%o
tie%&o
b Bna variable s(lo &uede al%a$enar un >ni$o valor
$ Bna variable no &uede al%a$enar ti&os de infor%a$i(n distintos 2(lo un ti&oG nu%3ri$a,
$ar1$ter o l(,i$a
d Los n>%eros son diferentes $o%o tales y $o%o $ara$teres ?"diferente de ]"^C
e Es a$onse8able <ue los no%bres dados a las variables se ase%e8en a lo <ue re&resentan
f Es ne$esario diferen$iar el no%bre de la variable y el $ontenido <ue 3sta tiene en un
%o%ento deter%inado
, A todos los $a%&os se les asi,na una >ni$a dire$$i(n de %e%oria, <ue le &er%ite a la
$o%&utadora llevar infor%a$i(n al $a%&o desde un %edio e7terno, sa$ar infor%a$i(n desde
%e%oria y re&resentarla en un %edio de salida
6 Las dire$$iones de %e%oria son asi,nadas des&u3s de la $o%&ila$i(nI en esta fase se asi,nan
los valores de los $a%&os $onstantes A las variables, aun<ue tienen asi,nadas sus
dire$$iones de %e%oria, se les da valor en la eta&a de e8e$u$i(nI antes de 3sta los $a%&os
variables tienen un valor indeter%inado ?basuraC Por e8e%&loG
2i en un &ro,ra%a dos de la instru$$iones sonG
Entre infor%a$i(n a B.
A la variable A ll3vele B %1s )/
i In%ediata%ente antes de la e8e$u$i(n $ada $a%&o de la instru$$i(n o %andato ?y en ,eneral
todos los $a%&os <ue intervienen en el &ro,ra%aC tiene asi,nada en for%a aleatoria una
dire$$i(n de %e%oria, y los $a%&os $onstantes su valor

B A 2 B 5 A
B A 2 B 5 A
" / " / / /
d i r
a s i , n a d a
) /
d i r a s i , n a d a d i r a s i , n a d a
B A
En la e8e$u$i(n los $a%&os $onstantes no $a%bian y son asi,nados los valores a los $a%&os
variables Estos valores son llevados a la %e%oria a trav3s de una instru$$i(n de asi,na$i(n o
una entrada de datos
2i el valor <ue se entra a B es '/, interna%ente los $ontenidos o valores al%a$enados sonG

) /
" / " / / /
" / " / /
" " " " / /
B A
Captulo 2
9ENE5ALIDADE2
2OB5E AL9O5IT@O2
2.1. La l/ica
Cuando se desarrolla un al,orit%o <ue da solu$i(n a un &roble%a deter%inado, &revia%ente
se 6an debido $u%&lir los &asos anteriores a 3l Co%o 3stos son &revios a la $onstru$$i(n del
&ro,ra%a <ue e8e$utar1 la $o%&utadora, debe 6aber $o6eren$ia y $on$atena$i(n en $ada uno de
los &asos sele$$ionados &ara la solu$i(n del &roble%a
El orden en <ue se dis&onen los &asos del al,orit%o debe ser ri,urosoI esto i%&li$a <ue
deben e7istir unos &asos antes <ue otros u otros antes de unos No se &odr1 %ulti&li$ar A &or B
si, &revia%ente, no se $ono$en sus res&e$tivos valores
El al,orit%o es la antesala del &ro,ra%a <ue e8e$utar1 la $o%&utadora, y $uando 3ste se
traslada al len,ua8e es$o,ido &ara re&resentarlo se debe $onservar el orden &reestable$ido en 3l,
inde&endiente%ente del len,ua8e sele$$ionado Bn al,orit%o, una vez $onstruido, &uede
e7&resarse en len,ua8es diferentes de &ro,ra%a$i(n y e8e$utarse en $o%&utadoras distintasI sin
e%bar,o, el al,orit%o ser1 sie%&re el %is%o De a6 <ue los errores l(,i$os <ue se $o%etan en
la elabora$i(n de 3ste &asar1n al len,ua8e y, &or ende, a la $o%&utadora, el $ual re&rodu$ir1
e7a$ta%ente lo <ue se le 6a %andadoI 3ste no tiene el &oder &ara dete$tar errores 6u%anos
?ALTA RA?ICO PA. #(
2.2. Proce2i3iento
Bn &ro$edi%iento es un $on8unto de instru$$iones o &asos des$ritos %ediante &alabras, &ara
lle,ar a la solu$i(n o resultado?sC de un &roble%a <ue no involu$ra $1l$ulos %ate%1ti$osI &ero
aun<ue la des$ri&$i(n de $ada &aso ri,urosa%ente debe $onservar un orden, la entendibilidad o
,eneralidad de 3ste de&ende en for%a e7$lusiva de la &ersona <ue lo $onstruye Posible%ente,
una &ersona distinta divida un &aso en varios o $ondense dos o %1s &asos en uno solo, se,>n 3l
lo entienda @ire%os el si,uiente e8e%&loG
EJercicio resuelto No. 1
#a$er un &ro$edi%iento <ue %uestre los &asos ne$esarios &ara $a%biar una llanta
pinchada de un $arro
Bna &osible solu$i(n seraG
" *niciar
' 2a$ar la llanta y 6erra%ientas de la %aleta del $arro
* 2a$ar la llanta &in$6ada
) Colo$ar la llanta buena
+ 9uardar la llanta &in$6ada y la 6erra%ienta
0 2ubirse al $arro
- 5eanudar el via8e
. Terminar
Posible%ente al,uien dir1G antes de 6a$er una de las tareas &ro&uestas es ne$esario 6a$er
otras, tales $o%oG
Para lle,ar al &aso unoG
O Pri%ero debe orillar el $arro
O Detener el $arro
O Ba8arse del $arro
O abrir la %aleta del $arro
O 2a$ar las seFales de &eli,ro y $olo$arlas a $ierta distan$ia
Para lle,ar al &aso dosG
O Introdu$ir la llave en la tuer$a
O Aflo8ar leve%ente las tuer$as
O Levantar %ediante un ,ato 6idr1uli$o el $arro
O 2a$ar las tuer$as
Todo esto &uede o$urrir antes o des&u3s de $ada uno de los &asos des$ritos ini$ial%enteI de
tal %anera, <ue un &ro$edi%iento &uede ser tan refinado o tener tantas instru$$iones $o%o $ree
<uien lo elaboraI en $a%bio en los al,orit%os los &asos no de&enden de <uien los realiza, sino
de la l(,i$a del &roble%a
Otra solu$i(n seraG
" *niciar
' Orillar el $arro
* Detener el $arro
) Ba8arse del $arro
+ Abrir la %aleta del $arro
0 2a$ar las seFales de &eli,ro y $olo$arlas a $ierta distan$ia
- 2a$ar la llanta y 6erra%ientas de la %aleta del $arro
. Introdu$ir la llave en la tuer$a
4 Aflo8ar leve%ente las tuer$as
"/ Levantar %ediante un ,ato 6idr1uli$o el $arro
"" 2a$ar las tuer$as
"' 2a$ar la llanta &in$6ada
"* Colo$ar la llanta buena
") A&retar las tuer$as
"+ 9uardar la llanta &in$6ada, la 6erra%ienta y las seFales
"0 2ubirse al $arro
"- 5eanudar el via8e
". Terminar
2.#. La eEpresin
Bna e7&resi(n es un ,ru&o de o&eradores <ue a$t>an sobre o&erandos, &ara &ro&or$ionar un
>ni$o resultado La e7&resi(n &uede serG
Aritm/ticaG en este $aso los o&erandos son $onstantes o variables nu%3ri$as unidas a trav3s
de o&eradores arit%3ti$os, donde el resultado obtenido de la e7&resi(n es un n>%ero Las
e7&resiones arit%3ti$as <ue involu$ran %1s de un o&erador son evaluadas de&endiendo de la
&rioridad <ue ten,a el o&erador, de a$uerdo $on la si,uiente tablaG
Opera2or Priori2a2 !i/ni0ica2o
VV, (, ` @ayor Poten$ia$i(n
V , K, P @ulti&li$a$i(n, divisi(n, %(dulo
H , Z @enor 2u%a, resta
2i dos o %1s o&eradores $onse$utivos tienen la %is%a &rioridad, las o&era$iones se
e8e$utar1n en la instru$$i(n de iz<uierda a dere$6a E8e%&loG
2i se tiene la e7&resi(nG A V V ' K + V B J + y los valores al%a$enados en A y B son + y '/,
res&e$tiva%ente, la evalua$i(n de a$uerdo al orden de &rioridad ser1
+ V V ' S '+
'+ K +V'/ S "//
"// J + S 4+
2i se re<uiere <ue una o %1s o&era$iones se reali$en &ri%ero <ue otras, enton$es 3stas se
en$ierran entre &ar3ntesis y dentro de 3stos se $onserva la 8erar<ua de los o&eradores E8e%&loG
La o&era$i(n A H B H '/ debe re&resentarse $o%oG ?A H BCK?C J AC H '/
C J A
0gica: en este ti&o de e7&resiones e7iste &or lo %enos un o&erador l(,i$o a$tuando sobre
variables nu%3ri$as, l(,i$as o $ara$teres El resultado sie%&re ser1 uno de los valores falso o
verdadero
Los o&eradores l(,i$os son de dos $lasesG relacionales ! booleanos
Los o&eradores relacionales &er%iten realizar $o%&ara$iones de ti&o nu%3ri$o, $ar1$ter o
l(,i$o, y tienen la %is%a &rioridad en su evalua$i(n Estos se %uestran en la si,uiente tabla
Opera2or !i/ni0ica2o
S I,ual
a b Diferente de
a S @enor i,ual <ue
b S @ayor i,ual <ue
b @ayor <ue
a @enor <ue
Ejemplos
2i las variables ! y Y tienen al%a$enadas interna%ente los valores */ y )/, res&e$tiva%ente,
el resultado de las si,uientes e7&resiones ser1G
EEpresin !i/ni0ica2o
! S Y :
! b Y :
?! H '/C ab ?YH"C ;
Y b S ! ;
cAc b cBc :
Los o&eradores booleanos o&eran sobre infor%a$i(n l(,i$a, uniendo $ondi$iones si%&les
&ara for%ar $ondi$iones $o%&uestas Nstos o&eradores sonG
Opera2or Priori2a2 !i/ni0ica2o
d ?NOTC @ayor Ne,a$i(n
?ANDC cTc, L(,i$a
?O5C @enor cOc, L(,i$a
Donde el &ri%ero es lla%ado operador unario, &or<ue a$t>a sobre un solo valor de verdadI y
los dos si,uientes, operadores binarios, &uesto <ue o&eran sobre dos valores de verdad
2i a y b son $ondi$iones de ti&o l(,i$o, los resultados al a&li$arles los o&eradores booleanos
se %uestran en la si,uiente tabla
a . Ka a . a .
; ; : ; ;
; : : : ;
: ; ; : ;
: : ; : :
O sea <ue si se unen dos $ondi$iones a trav3s del o&erador , el resultado sola%ente ser1
verdadero si las dos $ondi$iones son verdaderasI y si se unen a trav3s del o&erador , el
resultado ser1 falso si las dos $ondi$iones son falsas
Ejemplo
2i las variables !, Y y L tienen al%a$enados los valores '*, )- y ;, res&e$tiva%ente, las
e7&resiones <ue se %uestran tendr1n los si,uientes resultadosG
EEpresin Resulta2o
?! b YC ?Y b '/C ;
?! a YC ?d?Y b '/CC :
?Y b +/C L :
dL :
?Y b "//C ?! a *C ?dLC :
Constante ;ariable
Ejemplos Ejemplos
"ALGORTMO" "A" A PESO
"L" " * " SALARO LGCA
0 60.456
.V.
Estas dos >lti%as son deno%inadas e7&resiones si%&les, &ero tienen ,ran utilidad en el
desarrollo de un al,orit%o
2.$. Pasos para la solucin 2e un pro.le3a a tra7<s 2e la co3puta2ora
Cuando se &retende obtener resultados de un &roble%a &or $o%&utadora es ne$esario darle el
%odelo de solu$i(n, o sea, toda la serie de &asos <ue ella debe se,uir &ara lle,ar a obtener
resultados 2i el %odelo <ue se le entre,a es in$orre$to 3sta no lo $orri,eG arro8ar1 resultados
e<uvo$osI de tal %anera, <ue es ne$esario tener %u$6o $uidado, %u$6a dis$i&lina en el traba8o
&ara <ue esto no su$eda
E7iste una serie de &asos y eta&as <ue deben $u%&lirse $on el fin de %ini%izar los errores
6u%anos <ue &uedan $o%eterse
De0inicin 2el pro.le3a
Es absoluta%ente ne$esario tener un enun$iado entendible donde se es&e$ifi<ue, <u3 es lo
<ue se re<uiere resolver y <u3 resultados se deben obtener a trav3s de la $o%&utadora
An:lisis 2el pro.le3a
Es a<u donde se 6a$e el &lantea%iento %ate%1ti$o y l(,i$o de la solu$i(n del &roble%aI &or
lo tanto, se 6a$e ne$esario identifi$ar <u3 es lo <ue ten,o en el %o%ento ?datos de entradaC, <u3
es lo <ue deseo <ue la $o%&utadora &roduz$a ?datos de salida o resultadosC, y $u1l es el &ro$eso
<ue se debe 6a$er, de tal %anera <ue a &artir de los datos de entrada se &ueda lle,ar a los
resultados
Es ne$esario, ta%bi3n, tener en $uenta los re$ursos <ue se tienen y si 3stos son a&tos &ara el
&ro$eso, lo %is%o <ue el %edio y la for%a $o%o se va a al%a$enar la infor%a$i(n a &ro$esar y
la infor%a$i(n a salir
Crear el al/orit3o
2i se $u%&li( a $abalidad el &aso anterior, ya se tiene la $on$e&$i(n de la solu$i(n del
&roble%aI &or lo tanto, esta eta&a $onsiste en 6a$er una des$ri&$i(n de los &asos l(,i$os <ue dan
solu$i(n al &roble%a, 6asta obtener los resultados re<ueridos
Prue.a 2e escritorio
2i al $rear un al,orit%o <ue da solu$i(n a deter%inado &roble%a se $o%eten errores de
l(,i$a, 3stos lle,ar1n ta%bi3n a la $o%&utadoraI y $o%o 3l no &uede dete$tarlos, arro8ar1 errores
en los resultados La &rueba de es$ritorio &er%ite dete$tar los &osibles errores <ue $o%eta el
&ro,ra%ador en el diseFo del al,orit%o, &ara $orre,irlos antes de $ontinuar $on el si,uiente
&aso Esta &rueba $onsiste en la sele$$i(n de diferentes datos de entrada al al,orit%o y en el
se,ui%iento de la se$uen$ia de $ada una de las eta&as, 6asta obtener los resultados Al 6a$er un
an1lisis $o%&arativo de la salida obtenida $on los resultados reales, se &odr1 estable$er si el
al,orit%o fun$iona o si, &or el $ontrario, es ne$esario 6a$erle al,unos a8ustes
Co2i0icacin
Co%o la $o%&utadora no ad%ite los ,r1fi$os o &alabras $on <ue se diseFa el al,orit%o, es
ne$esario &asar 3stos a un len,ua8e de &ro,ra%a$i(n re$ono$ido &or la $o%&utadora ?$odifi$arC
Pri%ero se sele$$iona el len,ua8e de &ro,ra%a$i(n $on el $ual se va a traba8ar y lue,o se
&asan, uno a uno, los &asos del al,orit%o a instru$$iones del len,ua8e, de a$uerdo $on las
nor%as de sinta7is <ue 3ste ten,a
Transcripcin
El &ro,ra%a es$rito en &a&el es ne$esario llevarlo a un %edio de entrada <ue sea ad%itido
&or la $o%&utadora, bien sea <ue se trans$riba a trav3s de una ter%inal &ara <ue sea ,rabado en
dis$o o dis<uete o se ,rabe dire$ta%ente en dis<uete a trav3s de una %1<uina es&e$ial &ara este
&ro&(sito El &ro,ra%a trans$rito se $ono$e $o%o programa "uente
Co3pilacin
Es &osible <ue al 6a$er la $odifi$a$i(n se $o%etan errores de sinta7is ,ra%ati$ales <ue riFan
$on las nor%as estable$idas en el len,ua8e de &ro,ra%a$i(n ele,ido Co%o se di8o antes, el
$o%&ilador analiza, una a una, las instru$$iones del &ro,ra%a $odifi$ado &ara dete$tar si est1n
bien es$ritas o no 2i e7isten errores se &rodu$ir1 un listado de 3stos indi$ando su lo$aliza$i(n y
$ausa del error, &ara $orre,irlos e ini$iar de nuevo la fase de $o%&ila$i(n
Cuando no e7istan errores el &ro,ra%a se tradu$e al len,ua8e de %1<uina, >ni$o len,ua8e <ue
la $o%&utadora entiende, lo $ual da ori,en a lo <ue se $ono$e $o%o programa ob'eto. En esta
fase se les asi,na dire$$i(n de %e%oria a todos los $a%&os y ade%1s se le da valor a los $a%&os
$onstantes
EJecucin
Esta fase $onsiste en dar una orden &ara <ue sean e8e$utadas, una a una, las instru$$iones del
&ro,ra%a ob8etoI &or lo tanto, es ne$esario su%inistrar datos de entrada $ada vez <ue la
$o%&utadora en$uentre una orden de este ti&o, de i,ual %anera $o%o se 6izo en la &rueba de
es$ritorio En esta fase se le da valor a los $a%&os variables
Es ne$esario analizar los resultados obtenidos &ara darse $uenta si est1n de a$uerdo $on los
resultados reales <ue se desean $onse,uirI de lo $ontrario, 6ay <ue 6a$er %odifi$a$iones en las
instru$$iones <ue $ausan el error o errores, en $aso de <ue 3stos sean leves 2i son errores
,raves de l(,i$a es ne$esario reanalizar el &roble%a
Docu3entacin eEterna
Cuando a trav3s de distintas &ruebas se estable$e <ue el &ro,ra%a est1 a &unto, es de$ir,
fun$iona &rodu$iendo resultados $orre$tos, es ne$esario do$u%entarlo, &ara <ue 3ste &ueda ser
utilizado &or distintos &ro,ra%adores o usuarios sin ne$esidad de re$urrir dire$ta%ente a su
autor La do$u%enta$i(n debe in$luir as&e$tos relevantes del &ro$eso $o%oG enun$iado del
&roble%a, narra$i(n de la solu$i(n, %3todo e%&leado, defini$i(n de $a%&os variables
utilizados, listado del &ro,ra%a fuente, dis&ositivos de $o%&uta$i(n utilizados, listado de la
salida &rodu$ida 2i el &ro,ra%a utiliza sub&ro,ra%as, 3stos ta%bi3n deben estar do$u%entados
2.&. El al/orit3o
2i se analizan los &asos &ara la solu$i(n de un &roble%a a trav3s de la $o%&utadora se nota
<ue el al,orit%o es bastante i%&ortante, y a 3l se debe lle,ar $uando se 6a entendido el
&roble%a y se 6a 6e$6o un an1lisis $orre$to de las $ara$tersti$as de 3ste
Es $o%>n ver estudiantes <ue &or li,ereza o%iten uno o varios &asos y lue,o se dan $uenta
de <ue 6an invertido su tie%&o en lo e<uivo$ado, &or<ue no 6an verifi$ado si lo <ue est1n
6a$iendo es $orre$to o no
2i no se est1 se,uro de la i%&le%enta$i(n de uno o al,unos de los &asos, es &referible &edir
ayuda es&e$ializada &ara a$larar las dudas <ue sur8an
La &alabra al,orit%o es %uy anti,uaI to%a su no%bre del fa%oso %ate%1ti$o y astr(no%o
1rabe AlJM6e=ariz%i ?si,lo I!C, <uien es$ribi( un tratado sobre %ani&ula$i(n de n>%eros y
e$ua$iones titulado al1'abr+2almugabala
Bn algoritmo es una se$uen$ia de &asos o instru$$iones <ue re&resentan la solu$i(n de un
deter%inado ti&o de &roble%a
Cuando se <uiere solu$ionar un &roble%a a trav3s de la $o%&utadora, se e7i,e un al,orit%o
<ue %uestre la se$uen$ia de solu$i(n del %is%o
Caractersticas 2e los al/orit3os
Las $ara$tersti$as funda%entales <ue debe $u%&lir todo al,orit%o sonG
. Entrada
La entrada 6a$e referen$ia a la infor%a$i(n &ro&or$ionada al al,orit%o, la $ual debe sufrir
un &ro$eso &ara obtener los resultados
Bn al,orit%o tiene $ero o %1s datos de entrada Estos valores le son dados &or %edio de una
instru$$i(n o %andato <ue se debe $u%&lir al e8e$utarse el al,orit%o 2i no e7isten datos de
entrada es &or<ue una o %1s instru$$iones ,eneran los valores de &artida, de los <ue 6ar1 uso el
al,orit%o &ara &rodu$ir los datos o valores de salida
. Salida
Todo al,orit%o debe &ro&or$ionar uno o %1s valores $o%o resultado, una vez se 6a
e8e$utado la se$uen$ia de &asos <ue lo $onfor%an
La salida es la res&uesta dada &or el al,orit%o o el $on8unto de valores <ue el &ro,ra%ador
es&era se le &ro&or$ionen
Estos resultados &ueden ser de $ual<uier ti&oG uno o %1s valores nu%3ri$os, valores l(,i$os
o $ara$teres La fa$ilidad o $o%&le8idad de un al,orit%o no la deter%inan la $antidad de datos
<ue se desean obtener Bn al,orit%o &uede tener un alto ,rado de $o%&le8idad y, sin e%bar,o,
&rodu$ir un solo valor $o%o resultado
. imitado o finito
Todo al,orit%o debe tener un n>%ero de instru$$iones <ue li%itan el &ro$eso en al,>n
%o%ento, es de$ir, la e8e$u$i(n debe detenerse No &uede e7istir un al,orit%o, &or %uy ,rande
<ue sea o &or %u$6os resultados <ue &roduz$a, <ue se <uede en for%a indefinida e8e$utando sus
instru$$iones o re&itiendo la e8e$u$i(n de un sub$on8unto de ellas
. /inali0acin
Bn al,orit%o debe indi$ar el orden de realiza$i(n de $ada uno de sus &asos Debe %ostrar la
&ri%era, la inter%edia y la >lti%a instru$$i(n <ue debe realizarse Esto &er%ite %ostrar <ue en
al,>n %o%ento debe $ul%inar la a$$i(n o tarea <ue 6a$e el al,orit%o
. Claridad
Todo el $on8unto de &asos debe ser entendible y fa$tible de realizar, de tal %anera, <ue al
6a$er un se,ui%iento del al,orit%o 3ste &roduz$a sie%&re los resultados re<ueridos No &uede
enton$es e7istir in$ertidu%bre en las a$$iones a to%ar $uando se si,ue la l(,i$a ?flu8o del
&ro,ra%aC del al,orit%o
Todo al,orit%o debe tener tres &artesG
Entrada. Infor%a$i(n dada al al,orit%o, o $on8unto de instru$$iones <ue ,eneren los valores
$on <ue 6a de traba8ar, en $aso de <ue no ten,a datos de entrada
Proceso. C1l$ulos ne$esarios &ara <ue a &artir de un dato de entrada se lle,ue a los
resultados
Salida. 5esultados finales o transfor%a$iones <ue 6a sufrido la infor%a$i(n de entrada a
trav3s del &ro$eso
Entrada Pro$eso 2alida BO;O RA?ICARD
EJercicio resuelto NL 2
2e desea $ono$er $u1ntos %eses 6an trans$urrido entre enero de "4+" y enero de '//'
2i se %ira $on deteni%iento el &roble%a se nota <ue su solu$i(n es si%&le, &osible%ente
$on una $al$uladora se de%orara %enos en obtener los resultados <ue elaborando un
al,orit%o
La $onstru$$i(n de al,orit%os e7i,e $ono$i%iento de t3$ni$as y al,o de arte Por ello es
ne$esario <ue el estudiante afronte la solu$i(n de los &roble%as en for%a inde&endienteI
subir en es$ala desde los $asos %1s triviales 6asta lle,ar a diseFar al,orit%os %1s
$o%&le8os, de tal %anera, <ue el 37ito est1 en resolver la %ayor $antidad de e8er$i$ios <ue
se &ueda
An:lisis 2el al/orit3o
En este &aso debe%os $ono$erG &unto de &artida ?datos de entradaC, &unto de lle,ada
?datos de salidaC, y &ro$eso ?$1l$ulos ne$esarios &ara obtener los resultadosC
Datos 2e entra2a
O Observe <ue estos valores se est1n &ro&or$ionando en el enun$iado 2e est1 dando
el aFo ini$ial y el aFo final $o%o valores fi8os, o sea, <ue a$tuar1n $o%o $a%&os
$onstantes en el al,orit%o Esto &er%ite deter%inar <ue 6ay $ero datos de entrada a
trav3s de variables
Datos 2e sali2a
O N>%ero total de %eses trans$urridos entre los aFos "4+" y '//' fEsto es lo <ue se
&ideg 2e ne$esitar1 de una variable <ue al%a$ene interna%ente esta infor%a$i(n
Proceso
Para $ono$er el n>%ero de %eses es ne$esario, &ri%ero, $ono$er el n>%ero de aFos <ue
6ay entre las dos fe$6as 2e ne$esitar1 de otra variable <ue al%a$ene este valor <ue se
obtiene restando el aFo %enor del %ayor ?'//' J "4+"CI este resultado se %ulti&li$a &or
do$e ?n>%ero de %eses del aFoC y as se obtendr1 el n>%ero de %eses <ue 6ay en di$6o
&erodo, el $ual debe ser ,uardado en otra variable
De0inicin 2e 7aria.les a utiliMar
En $ada al,orit%o es ne$esario es$o,er los no%bres $on los $uales se van a re&resentar
a<uellos valores <ue no $ono$e%os en el %o%ento de $onstruir el al,orit%o, o sea, los
no%bres <ue se le asi,nan a los datos de entrada ?si los 6ayC, a los datos de salida y a
las variables <ue no son de entrada ni salida &ero <ue son ne$esarios &ara al%a$enar
valores te%&orales inter%edios, >tiles &ara obtener los resultados y <ue se deno%inan
variables au7iliares
2e &uede de$ir <ue en la elabora$i(n de un al,orit%o intervienen tres $lases de variablesG
variables <ue re&resentan los datos de entrada ?si los 6ayC, variables au7iliares y variables
<ue re&resentan los datos de salida
Co%o se di8o, estos no%bres deben ini$iar $on una letra se,uida de letras o d,itos y se
a$onse8a <ue sean ne%ot3$ni$as
NAT5ANG N>%ero de aFos trans$urridos entre "4+" y '//'
N@E2E2G N>%ero de %eses <ue 6ay en el &erodo "4+"J'//'
Con las bases e7&uestas &ode%os ya $onstruir el al,orit%o
" Ini$ia el al,orit%o
' A NAT5AN ll3vele el resultado de la e7&resi(n '//' J "4+"
* A N@E2E2 ll3vele el valor <ue 6ay en NAT5AN V "'
) @uestre el valor <ue 6ay al%a$enado en la variable N@E2E2
+ Ter%ina el al,orit%o
;a%os a analizar <u3 su$ede $uando lleva%os el anterior al,orit%o a un len,ua8e de
&ro,ra%a$i(n y lo e8e$uta%os a trav3s de una $o%&utadora
a Des&u3s de $o%&ilarlo e in%ediata%ente antes de e8e$utarse
A todos los $a%&os se les asi,na una dire$$i(n de %e%oria y a los $a%&os $onstantes se les
asi,na valor

' / / '
' / / '
a B A 2 B 5 A b
" 4 + " " '
a B A 2 B 5 A b
N A T 5 A N
" 4 + "
N @ E 2 E 2 " '
b Des&u3s de e8e$utarse la instru$$i(n '

' / / '
' / / '
+ "
" 4 + " " '
a B A 2 B 5 A b
N A T 5 A N " 4 + " N @ E 2 E 2
" '
$ Des&u3s de e8e$utarse la instru$$i(n *

' / / '
' / / '
+ "
" 4 + " " '
0 " '
N A T 5 A N
" 4 + "
N @ E 2 E 2 " '
d Des&u3s de e8e$utarse la instru$$i(n )
2e e7traer1 de %e%oria el valor al%a$enado en la variable N@E2E2 y se llevar1 al %edio
e7terno ele,ido &ara la salida de infor%a$i(n Bna vez e8e$utado el %andato el valor de
N@E2E2 estar1 en el %edio e7terno y en %e%oria La salida del valor de una variable no
i%&li$a <ue su valor desa&arez$a de la %e%oria de la $o%&utadora


&esultado .ue se muestra por el
medio e,terno de salida. El
smbolo representa salida por
impresora de papel.
0"'
eneraliMacin 2el al/orit3o
Los al,orit%os deben ser $onstruidos &ara ser utilizados en situa$iones diferentes, donde se
re<uieran los %is%os resultados Para el $aso anterior, el al,orit%o debe servir no s(lo &ara
$al$ular los %eses $o%&rendidos entre "4+" y '//' sino &ara $ual<uier subrran,o de aFos 2i el
enun$iado se $a%bia &orG
2e desea $ono$er $u1ntos %eses 6an trans$urrido entre los ini$ios de dos aFos
$uales<uiera dados
An:lisis
$atos de entrada
Co%o en el %o%ento de $onstruir el al,orit%o no se $ono$en $u1les son los valores del
aFo ini$ial y final, 3stos deben re&resentarse %ediante variables &ara <ue sus valores sean
dados en el %o%ento de la e8e$u$i(n
O ;alor del aFo ini$ial o aFo %enor
O ;alor del aFo final o aFo %ayor
$atos de salida
O N>%ero de %eses trans$urridos entre el aFo ini$ial y el aFo final
$efinicin de #ariables a utili0ar
AINICIOG AFo ini$ial
A:INALG AFo final
NAT5ANG N>%ero de aFos trans$urridos entre AlNICIO y A:INAL
N@E2E2G N>%ero de %eses <ue 6ay en el &erodo A:INAL J AINICIO
" Ini$ia el al,orit%o
' A$e&te valores &ara AINICIO y A:INAL
* A NAT5AN ll3vele A:INAL J AINICIO
) A N@E2E2 ll3vele NAT5AN V "'
+ @uestre el valor <ue 6ay al%a$enado en la variable N@E2E2
0 Ter%ina el al,orit%o
;ea%os <u3 su$ede al e8e$utarse el al,orit%o
a Des&u3s de $o%&ilado e in%ediata%ente antes de la e8e$u$i(n

I N I C I O
a B A 2 B 5 A b
a B A 2 B 5 A b
a B A 2 B 5 A b " '
a B A 2 B 5 A b
A : I N A L N A T 5 A N
N @ E 2 E 2 " '
b 2i los valores a entrar en la variables AINICIO y A:INAL son en su orden "4/4 y "4..,
des&u3s de e8e$utada la instru$$i(n '

I N I C I O
" 4 / 4
" 4 . .
a B A 2 B 5 A b " '
a B A 2 B 5 A b
A : I N A L N A T 5 A N N @ E 2 E 2
" '
$ Des&u3s de e8e$utarse la instru$$i(n *

I N I C I O
" 4 / 4
" 4 . .
a B A 2 B 5 A b " '
a B A 2 B 5 A b
A : I N A L N A T 5 A N N @ E 2 E 2
" '
d Des&u3s de e8e$utarse la instru$$i(n )

I N I C I O
" 4 / 4
" 4 . .
- 4 " '
4 ) .
A : I N A L
N A T 5 A N
N @ E 2 E 2 " '
e Des&u3s de e8e$utarse la instru$$i(n +

4).
&esultado .ue se lle-a al medio de
salida
2i no se re<uiere volver a e8e$utar el &ro,ra%a y nos despedimos de la $o%&utadora, son
desasi,nadas las dire$$iones de %e%oria, &or lo tanto, ya no se &uede referen$iar nin,una
variable estru$turada
2.'. Concepto 2e pro/ra3acin
La &ro,ra%a$i(n es un $on8unto de t3$ni$as utilizadas &ara desarrollar &ro,ra%as <ue sean
f1$iles de leer, de&urar ?&oner a &untoC y %odifi$ar o %antener Est1 basada en el teore%a de
B6h% y Ja$o&ini ?"400C, <ue estable$e <ue un &ro,ra%a &ro&io &uede ser es$rito utilizando s(lo
tres ti&os de estru$turas de $ontrolG Secuencial3 Condicin lgica o Selecti-a ! &epetiti-a o tipo
4ucle.
Bn &ro,ra%a se define $o%o &ro&io si $u%&le las si,uientes $ara$tersti$asG
O Para $ontrol del &ro,ra%a s(lo e7iste un &unto de entrada y otro de salida
O E7isten $a%inos desde la entrada 6asta la salida <ue se &ueden se,uir y <ue &asan &or todas
las &artes del &ro,ra%a
O Todas las instru$$iones son e8e$utables y no e7isten bu$les infinitos
Bn &ro,ra%a, no i%&orta lo <ue 6a,a, se &uede es$ribir usando s(lo las tres estru$turas antes
$itadas, donde $ada una de ellas tiene un solo &unto de entrada y un solo &unto de salida
2e,>n Di8Mastra, la &ro,ra%a$i(n estru$turada se au7ilia en los re$ursos abstra$tos en lu,ar
de los re$ursos $on$retos de <ue dis&one un deter%inado len,ua8e de &ro,ra%a$i(n, esto
$onsiste en des$o%&oner una deter%inada a$$i(n $o%&le8a en t3r%inos de un n>%ero de
a$$iones si%&les, <ue $onstituyen instru$$iones de $o%&utadora dis&onibles
La &ro,ra%a$i(n estru$turada es un $on8unto de t3$ni$as de &ro,ra%a$i(n <ue in$luyeG
O Bn n>%ero li%itado de estru$turas de $ontrol
O DiseFo des$endente ?To&JDo=nC
O Des$o%&osi$i(n %odular $on inde&enden$ia de los %(dulos
Esta &ro,ra%a$i(n utiliza el &rin$i&io di-idir para reinar, esto es, &ara es$ribir un &ro,ra%a
$o%&le8o se &arte de una des$ri&$i(n lo %1s detallada &osible del &roble%a o %(dulos <ue sean
inde&endientes entre s y <ue ten,an, $ada uno, una entrada y una sola salida ?nivel lC Cada
%(dulo resultante se des$o%&one en sub$on8untos <ue tratan de ser inde&endientes ?nivel 'C 2e
vuelve a a&li$ar este enfo<ue si%&le a $ada uno de los sub%(dulos resultantesI &ara todos o
&ara al,unos sub%(dulos la solu$i(n &uede ser trivial, &ero en $aso de <ue no lo sea se vuelve a
subdividir lo,r1ndose el nivel *, y as su$esiva%ente

@ O D B L O P 5 I N C I P A L
@ O D B L O " @ O D B L O ' @ O D B L O * @ O D B L O )
@ O D B L O +
@ O D B L O " "
@ O D B L O 0 @ O D B L O - @ O D B L O .
@ O D B L O " ' @ O D B L O " * @ O D B L O " ) @ O D B L O " +
@ O D B L O " - @ O D B L O " 0
@ O D B L O " / @ O D B L O 4
Los al,orit%os estru$turados 6a$en uso de los &ostulados de la &ro,ra%a$i(n estru$turada O
sea <ue todo &roble%a, no i%&orta lo <ue 6a,a, &uede ser re&resentado a trav3s de un al,orit%o
<ue use las estru$turasG 2e$uen$ial, De$isi(n L(,i$a y 5e&etitiva
2.(. Representacin 2e al/orit3os
Los al,orit%os deben ser re&resentados usando al,>n %3todo <ue les &er%ita ser
inde&endizados del len,ua8e de &ro,ra%a$i(n <ue se re<uiera utilizar Los %3todos %1s usuales
sonG diagramas ! pseudocdigos.
Dia/ra3a
Bn dia,ra%a es la re&resenta$i(n, %ediante ,r1fi$os, de $ada uno de los &asos <ue dan
solu$i(n a un &roble%a deter%inado Cada ,r1fi$o utilizado re&resenta la a$$i(n o %andato <ue
se debe e8e$utar dentro del al,orit%o
Dia/ra3a 2e 0luJo
Bn dia,ra%a de flu8o es un $on8unto de fi,uras ,eo%3tri$as unidas %ediante una fle$6a,
donde $ada fi,ura indi$a la a$$i(n a e8e$utar y la fle$6a el orden en <ue 6an de e8e$utarse las
a$$iones E7iste una fi,ura &ara re&resentar $ada instru$$i(n o a$$i(n a e8e$utar
Ejemplo
En los tres e8e%&los si,uientes se re&resentar1 el e8er$i$io No ', de a$uerdo al %3todo de
re&resenta$i(n e7&uesto
:i,ura <ue re&resenta &rin$i&io y fin del &ro,ra%a
Entrada de datos a trav3s del te$lado de una ter%inal
Asi,na$i(n de una e7&resi(n a una variable
2alida de infor%a$i(n &or i%&resora de &a&el
?ALTA R8?ICO PA. &# LI"RO
Dia/ra3a rectan/ular
Este no utiliza fle$6as de $one7i(n, sino <ue se $onstruye, funda%ental%ente, $on tres
fi,uras <ue re&resentan las estru$turas de $ontrol de la &ro,ra%a$i(n estru$turada
Bn dia,ra%a re$tan,ular e%&ieza $on un re$t1n,ulo va$o <ue se va llenando de arriba 6a$ia
aba8o, en la %edida en <ue es ne$esario re&resentar un deter%inado &aso A diferen$ia del
anterior, no tiene fi,uras es&e$iales &ara de%ar$ar los %edios de entrada y de salida, &ero dentro
de la fi,ura es$o,ida &ara re&resentar la instru$$i(n se es$ribe la a$$i(n a e8e$utar
Los blo<ues de ini$io y fin del al,orit%o &ueden o%itirse ya <ue se asu%e <ue el orden de
e8e$u$i(n de los &asos es sie%&re de arriba a aba8o, &ero si se desea, &ueden adi$ionarse
Ejemplo
NCO
LEA: ANCO, AFNAL
NATRAN = AFNAL - ANCO
NMESES = NATRAN * 12
ESCRBA: NMESES
TERMNE
Pseu2oc2i/o
El &seudo$(di,o es tan $laro $o%o el dia,ra%a y es una 6erra%ienta >til &ara el se,ui%iento
de la l(,i$a de un al,orit%o y, sobretodo, fa$ilita la trans$ri&$i(n a un len,ua8e de
&ro,ra%a$i(n Tiene la desventa8a de <ue el &ro,ra%ador trata de es$ribir los &asos del
al,orit%o utilizando &alabras reservadas, &ro&ias del len,ua8e en el $ual est1 a$ostu%brado a
traba8ar
Es ne$esario, enton$es, al i,ual <ue en el dia,ra%a, estable$er unos &ar1%etros o for%as de
e7&resar $ada instru$$i(n, inde&endiente%ente de la ter%inolo,a de los len,ua8es de
&ro,ra%a$i(n
El &seudo$(di,o es la re&resenta$i(n de los &asos del al,orit%o a trav3s de &alabras,
utilizando una no%en$latura estandarizada &ara denotar el si,nifi$ado de $ada &aso Dentro de
3ste es &er%itido la san,ra $on el fin de <ue se visuali$e, en for%a sen$illa, el ,ru&o de
instru$$iones &ertene$ientes a una deter%inada a$$i(n
Ejemplo
INICIO
LEA: ANCO, AFNAL
NATRAN = AFNAL - ANCO
NMESES = NATRAN * 12
ESCRBA: NMESES
TERMINE
Observe $(%o el ,ru&o de instru$$iones entre las &alabras inicio ! termine se 6an rodado un
&o$o 6a$ia la dere$6a ?sangraC, lo $ual &er%ite visualizar en una for%a sen$illa el ,ru&o de
instru$$iones &ertene$ientes a ese blo<ue Las solu$iones a &roble%as &ro&uestos, de a6ora en
adelante, se 6ar1n utilizando &seudo$(di,o, &ero se &ueden utilizar $uales<uiera de los tres
%3todos &ro&uestos La for%a ,eneral o for%ato de $ada &aso, ser1 e7&uesta en detalle en los
$a&tulos &osteriores
Aspectos a tener en cuenta
a Trate de entender y 6a$er el %e8or an1lisis &osible del &roble%a a solu$ionar
b A todos los $a%&os utilizados en un &ro,ra%a se les asi,na una >ni$a dire$$i(n de %e%oria
$ Los $a%&os variables ?-ariablesC se les asi,nan valores en el %o%ento de e8e$u$i(n, bien
sea a trav3s de una instru$$i(n de entrada de datos o una instru$$i(n de asi,na$i(n
d Cuando se le asi,na valora una variableI lo <ue 6aba antes en esa deter%inada dire$$i(n es
destruido, no se &uede re$u&erar
e No todos los valores de &artida al 6a$er el al,orit%o son datos de entrada, s(lo lo son
a<uellos valores <ue des$ono$e%os en el %o%ento, &ero <ue ser1n su%inistrados en la fase
de e8e$u$i(n
f Al e7traer de %e%oria uno o %1s valores 6a$ia un %edio e7terno, 3stos &er%ane$enI no se
borran de la %e%oria de la $o%&utadora
, Bsted a&rende a $onstruir al,orit%os 6a$iendo al,orit%os Trate de 6a$er el %17i%o n>%ero
de al,orit%os &ro&uestos Bus<ue, si es ne$esario, enun$iados en otros te7tos
2.). EJercicios propuestos
" #a,a un &ro$edi%iento <ue des$riba los &asos &ara $ruzar una $alle &or un &uente &eatonal
' Des$riba los &asos ne$esarios &ara llevar una a%i,a a $ine
* Des$riba los &asos &ara $a%biar una bo%billa <ue%ada
) Elabore un &ro$edi%iento <ue %uestre los &asos ne$esarios &ara 6a$er una lla%ada
telef(ni$a, donde no se sabe el n>%ero del tel3fono, &ero s el no%bre de la &ersona
+ #a,a un &ro$edi%iento <ue %uestre los &asos &ara $a%biar la llanta &in$6ada de una
bi$i$leta
0 @uestre los &asos ne$esarios &ara 6a$er un desayuno de 6uevos duros, 6asta servirlos
- Es$riba las si,uientes e7&resiones al,ebrai$as $o%o e7&resiones al,ort%i$asG
a ! TY b
! T
Y
!
T $
! !
$ d
d
b b a$
a
e f A BC D
, A
BC
DE

? C
? C
? C
'
'
'
*
* '
)
*
+
)
) ' .
)
'
)
*
+
+
+ +
+

. Es$riba las si,uientes e7&resiones al,ort%i$as $o%o e7&resiones al,ebr1i$asG


a B ! T b ! !
$ A B C A d ! T T
V V' V V V V' V V* V
? C K ? C V V V? K C

+ +
+ +
" '

4 2i el valor interno de la variable A S ), el de B S +, de C S ", L S; ?;erdaderoC @uestre
$u1les son los valores i%&resos en el si,uiente al,orit%o
NCO
X = B * A _ B **2/4 * C
Y = A * B/3 ** 2
Z = (((B + C) /2 * A + 10) * 3 * B) _ 6
ESCRBA: X, Y, Z
TERMNE
"/#a,a un se,ui%iento del si,uiente al,orit%o y di,a <u3 valores se %uestran en las variables
P, 5 y 2 ?use los valores definidos en 4C
NCO
P = A ** (1/2) ** B
R = A * B + A ** (1/2)
S = B * A - B ** 2 / 4 * C
ESCRBA: P, R, S
TERMNE
"" Bsando los valores de A, B, C y L, arriba %en$ionados, $al$ule el valor al%a$enado en las
si,uientes variablesG
a ! S ? A b B C ? dL C ? ! i */ C
b T S ? B < = "// C d ? A b C C ? C S " C
$ Y S ? B S + C ? C S */ C dL
d L S ?? B H '/ C b ? C J " CC ?? A H + C +/ C

Captulo #
E2T5BCTB5A
2ECBENCIAL
La estru$tura se$uen$ial &er%ite re&resentar a<uellas instru$$iones <ue se e8e$utan una tras
otra, en se$uen$iaI o sea, instru$$iones en <ue la salida de una es la entrada de la &r(7i%a
instru$$i(n Ta%bi3n se &uede de$ir <ue son una o %1s instru$$iones se,uidas, donde nin,una
de ellas 6a$e <ue se bifur<ue el $ontrol de e8e$u$i(n del al,orit%o, o <ue se re&ita la e8e$u$i(n
de una o %1s instru$$iones @ediante esta estru$tura se &ueden re&resentar instru$$iones de
asi,na$i(n, entrada y salida de datos e invo$a$i(n a sub&ro,ra%as Para diferen$iar una de otra,
se aFaden $ara$tersti$as intrnse$as de $ada instru$$i(n
Nsta, $o%o todas las estru$turas de la &ro,ra%a$i(n estru$turada, tiene una sola entrada y
una sola salida
#.1. Representacin
NCO Ejemplo
<instruccin 1> NCO
<instruccin 2> LEA: A, B
<instruccin 3> C= A + B
ESCRBA: C
FN_NCO


<instruccin n>
FN_NCO
#.2. Instruccin 2e asi/nacin
Por %edio de esta instru$$i(n se asi,na a una variable el resultado de evaluar una e7&resi(n
Al lado iz<uierdo de la instru$$i(n est1 la variable, al dere$6o la e7&resi(n y uni3ndolas el si,no
]S^, deno%inado o&erador de asi,na$i(n
Al e8e$utarse la instru$$i(n se eval>a la e7&resi(n, la $ual da $o%o resultado un >ni$o valorI
3ste es llevado a la dire$$i(n de %e%oria asi,nada a la variable <ue re$ibe la infor%a$i(n Al
6a$erse la asi,na$i(n es destruido $ual<uier otro valor <ue ten,a la variable El dato o valor <ue
arro8e la e7&resi(n debe ser del %is%o ti&o <ue la variableG si el resultado es nu%3ri$o la
variable debe ser nu%3ri$a, si es l(,i$o o $ar1$ter la variable ta%bi3n lo debe ser
?or3ato
avariableb S ae7&resi(nb
Ejemplos
2ALDO S ;:INAL J ;INICIAL
A5EA S Pl V 5 VV '
A S ?B V CC K ?X J '/C Z ?@ H LC
5E2BL S ?! b TC ?B b CC
2B@A S /
;A5IABLE" S ;A5IABLE'
NO@B5E S ]CA5@EN^
#.#. Instruccin 2e entra2a 2e 2atos
Cuando en el an1lisis del &roble%a a solu$ionar se dete$tan $u1les son los valores ne$esarios
&ara <ue la $o%&utadora 6a,a los $1l$ulos &ertinentes, se di$e <ue 3stos son los datos de
entrada y <ue ser1n &ro&or$ionados en el %o%ento de 6a$er la e8e$u$i(n
Bna instru$$i(n de entrada de datos es una orden, &ara <ue desde un %edio e7terno se entren
valores, y di$6os datos sean llevados a las dire$$iones de %e%oria, asi,nadas a las variables
utilizadas &ara al%a$enar los datos de entrada en el &ro$eso
?or3ato
LEAG alista de variables se&aradas &or $o%ab
Ejemplo LEAG CODI9O, NO@B5E
Los valores <ue se entran deben estar en el %is%o orden de las variables en la lista
2i el re,istro <ue se $onfor%a &ara dar los datos esG
00)0/4+ @ANBEL
Al e8e$utarse la orden dada en el e8e%&lo anterior, los valores al%a$enados en las
dire$$iones de %e%oria asi,nadas seranG
?ALTA R8?ICO PA.&* LI"RO
#.$. Instruccin 2e sali2a 2e 2atos
Esta instru$$i(n 6a$e lo $ontrario <ue la anteriorI %ediante la entrada se llevan valores desde
un %edio e7terno a la %e%oria y %ediante la instru$$i(n de salida se e7traen valores de la
%e%oria 6a$ia un %edio e7terno de salida &er%itido
En 3sta se &er%ite a$o%&aFar los resultados $on $o%entarios e7&li$ativos de los valores <ue
se %uestran en el %edio de salida
?or3ato
E2C5IBAG alista de variables se&aradas &or $o%as o $o%entariosb
Ejemplos
E2C5IBAG A, B, C
E2C5IBAG ]LO2 ;ALO5E2 2ONG^, A, B, C
E2C5IBAG ]BNI;E52IDAD DE ANTIOABIA^
E2C5IBAG ]EL ;ALO5 DE A E2G^, A,^EL DE B E2G^, B, ]T EL DE C E2G^, C
Al e8e$utarse $ada una de las instru$$iones anteriores, y si las variables A, B y C $ontienen
los valoresG A S */I B S )/*0I C S J))*, las salidas ser1n en su ordenG

* / ) / * 0 J ) ) *
E L ; A L O 5 D E A E 2 G * /
E L D E B E 2 G ) / * 0
T E L D E C E 2 G J ) ) *

L O 2 ; A L O 5 E 2 2 O N G
* / ) / * 0 J ) ) *
B N I ; E 5 2 I D A D D E
A N T I O A B I A
Cuando en una instru$$i(n de salida se tiene un ,ru&o de $ara$teres entre $o%illas 3ste ser1
i%&reso sin nin,una %odifi$a$i(n en el %edio de salida, y lo <ue a&arez$a sin $o%illas se
asu%e <ue es una variableI &or lo tanto, se e7traer1 de la %e%oria el $ontenido de 3sta
EJercicio resuelto NL #
#a$er un al,orit%o <ue, dados los dos lados diferentes de un re$t1n,ulo, en$uentre el
&er%etro y el 1rea del %is%o
An:lisis
Co%o no nos di$en en este %o%ento $u1les son los valores de los dos lados del
re$t1n,ulo, debe%os se&arar es&a$io en %e%oria a trav3s de variables &ara <ue estos
valores sean dados &osterior%ente, de tal %anera <ue el al,orit%o debe &roveer el
&er%etro y el 1rea de $ual<uier re$t1n,ulo Al ser un re$t1n,ulo ?lo ase,ura el
enun$iadoC, $ono$iendo los valores de los dos lados diferentes &ode%os obtener los
resultados &edidos
Datos 2e entra2a
O ;alor de un lado
O ;alor del otro lado
Datos 2e sali2a
Nos &iden $o%o resultadoG
O El valor de &er%etro
O El valor del 1rea del re$t1n,ulo
Proceso
Los $1l$ulos ne$esarios &ara obtener los resultados &artiendo de los datos de entrada, sonG
O Per%etro S su%a de los $uatro lados del re$t1n,ulo
O Area S lado <ue re&resenta la base Vlado <ue re&resenta la altura
De0inicin 2e 7aria.les
L"G ;alor del lado <ue re&resenta la base
L'G ;alor del lado <ue re&resenta la altura
PG Per%etro
E5EAG Erea del re$t1n,ulo
Al/orit3o
NCO
LEA: L1, L2
P = 2 * L1 + 2 * L2
AREA = L1 * L2
ESCRBA: "EL PERMETRO ES:, P
ESCRBA: "EL AREA ES:, AREA
FN_NCO
Prue.a 2e escritorio
2i el re,istro de entrada esG
') "+

;alor de L" ;alor de L'

L" L' P A5EA
') "+ -. *0/
?ALTA TENTO + RA?ICO PA.'1 LI"RO
!ali2a


EL PE5j@ET5O E2G -.
EL E5EA E2G *0/

EJercicio resuelto NL $
A la %a%1 de Juan le &re,untan su edad, y $ontestaG ten,o * 6i8os, &re,>ntele a Juan su
edad Alberto tiene 'K* de la edad de Juan, Ana tiene )K* de la edad de Juan y %i edad es
la su%a de las tres #a$er un al,orit%o <ue %uestre la edad de los $uatro
An:lisis
Es ne$esario <ue al al,orit%o se le &ro&or$ione la edad de Juan &ara $al$ular la edad de
Alberto, de Ana y de la %a%1
Datos 2e entra2a
O Edad de Juan
Datos 2e sali2a
O Edad de Alberto
O Edad de Juan ?En este $aso es un dato de entrada y salida al %is%o
tie%&oC
O Edad de Ana
O Edad de la %a%1
Proceso
O Edad de Alberto S 'K* V edad de Juan
O Edad de Ana S )K* V edad de Juan
O Edad de la %a%1 S Edad de Alberto H Edad de Juan H Edad de Ana
De0inicin 2e 7aria.les
EDJBANG E2a2 2e ;uan.
EDALBE5G E2a2 2e Al.erto.
EDANAG E2a2 2e Ana.
ED@A@AG E2a2 2e la 3a3:.
Al/orit3o
NCO
LEA: EDJUAN
EDALBER = 2 * EDJUAN / 3
EDANA = 4 * EDJUAN / 3
EDMAMA = EDJUAN + EDALBER + EDANA
ESCRBA: "LAS EDADES SON: ALBERTO =, EDALBER,
"JUAN =, EDJUAN, "ANA =, EDANA, "MAMA =, EDMAMA
FN_NCO
Prue.a 2e escritorio
2i el valor de la edad de Juan es 4, las otras edades ser1nG

EDJBAN EDALBE5 EDANA ED@A@A
4 0 "' '-
!ali2a


LA2 EDADE2 2ONG
ALBE5TOG 0 JBANG 4
ANAG "' @A@AG '-
EJercicio resuelto NL &
#a$er un se,ui%iento ?&rueba de es$ritorioC del si,uiente ,ru&o de instru$$iones
NCO
SUMA = 0
X = 20
SUMA = SUMA + X
Y = 40
X = X + Y ** 2
SUMA = SUMA + X / Y
ESCRBA: "EL VALOR DE LA SUMA ES:, SUMA
FN_NCO
Prue.a 2e escritorio
2B@A ! T
/ '/ )/
'/ "0'/
0/+
La raya 6orizontal indi$a <ue el valor subrayado desa&are$e de la dire$$i(n de %e%oria y es
ree%&lazado &or un nuevo valor
!ali2a
?ALTA R8?ICO PA.'$ LI"RO
Aspectos a tener en cuenta
a En un al,orit%o a las variables se les da valor, bien sea &or una asi,na$i(n o &or una
instru$$i(n de entrada
b El valor <ue se le asi,na a una variable en $ual<uiera de los $asos debe ser del %is%o ti&o de
dato <ue la variable
$ En la &rueba de es$ritorio se deben %ostrar los $a%bios <ue sufren todas las variables del
al,orit%o
d La instru$$i(n de asi,na$i(n no &uede ser to%ada $o%o una i,ualdad, ya <ue la variable <ue
re$ibe el valor &uede a&are$er ta%bi3n al lado dere$6o de la e7&resi(n
e 2i una variable a&are$e en %1s de una instru$$i(n de entrada o asi,na$i(n, su valor es
destruido $ada <ue se e8e$uta una nueva instru$$i(n
#.&. EJercicios propuestos
"' Bn e%&leado traba8a ). 6oras en la se%ana a raz(n de W+/// 6ora El &or$enta8e de
reten$i(n en la fuente es del "',+P del salario bruto 2e desea saber $u1l es el salario bruto,
la reten$i(n en la fuente y el salario neto del traba8ador
"* Es$riba un al,orit%o <ue, dados dos valores A y B, en$uentreG
A J B
A H B
A V B
A K B
") Elabore un al,orit%o <ue lea un n>%ero y obten,a su $uadrado y su $ubo
"+ Elabore un al,orit%o <ue lea un n>%ero ne,ativo e i%&ri%a el n>%ero y el &ositivo del
%is%o
"0 Elabore un al,orit%o <ue lea las variables Ay B y &ase el valor de A a B y de B a A 2in usar
%1s variables
"- Dado el radio de un $r$ulo #a,a un al,orit%o <ue obten,a el 1rea del $r$ulo y la lon,itud
de la $ir$unferen$ia
". 2e tiene la si,uiente infor%a$i(n de un e%&leadoG
k $(di,o del e%&leado,
k no%bres,
k n>%ero de 6oras traba8adas al %es,
k valor 6ora traba8ada,
k &or$enta8e de reten$i(n en la fuente
#a,a un al,orit%o <ue %uestreG $(di,o, no%bres, salario bruto y salario neto
"4 Dado el valor del lado en un tri1n,ulo e<uil1tero, 6a,a un al,orit%o <ue obten,a el
&er%etro, el valor de la altura y el 1rea del tri1n,ulo
'/ #a,a un al,orit%o <ue deter%ine los &ar1%etros A, B y C de una re$ta <ue &asa &or los
&untos ?!", T"C y ?!', T'C La e$ua$i(n de la re$ta esG
A! H BT H C S /
'" Dados los tres lados de un tri1n,ulo, 6a,a un al,orit%o <ue en$uentreG &er%etro,
se%i&er%etro y el 1rea del tri1n,ulo
Captulo $
E2T5BCTB5A
DECI2IDN LD9ICA
La es$ritura de al,orit%os i%&li$a, en %u$6as o$asiones, lle,ar a al,o %1s <ue una si%&le
se$uen$ia Es el $aso, $uando e7iste una serie de $a%inos o alternativas a es$o,er de&endiendo
del resultado de una deter%inada situa$i(n La estru$tura decisin lgica es utilizada &ara
sele$$ionar la ruta <ue debe to%ar la e8e$u$i(n de instru$$iones de un al,orit%o, o ta%bi3n el
flu8o <ue debe llevar el $ontrol de e8e$u$i(n $uando se &resentan to%as de de$isiones
Por e8e%&lo, si usted desea via8ar a Bo,ot1 desde @edelln debe es$o,er una de estas
alternativasG va a3rea o va terrestre l$u1l es$o,em 2in duda el resultado va a de&ender de la
res&uesta <ue d3 a al,unas &re,untas <ue debe 6a$erse, tales $o%oG si el &asa8e es %1s barato
va terrestre, enton$es to%o esta alternativa Co%o ten,o &risa en lle,ar y ten,o dinero,
enton$es via8o en avi(n Esto su$ede en los al,orit%os $uando es ne$esario to%ar una de$isi(n
o $a%ino a se,uir
La estructura decisin lgica o sele$tiva est1 for%ada &or una $ondi$i(n de ti&o l(,i$o <ue
&uede ser si%&le o $o%&uesta, de la <ue salen dos &osibles $a%inosG un $on8unto de a$$iones o
se$uen$ias a e8e$utar, si el resultado de la $ondi$i(n es verdaderaI u otro $on8unto de a$$iones o
se$uen$ias a realizar, si el resultado de la $ondi$i(n es falsa 2e &uede dar el $aso de <ue falte
uno de los ,ru&os de instru$$iones, &ero nun$a los dosI esto sera un $a%ino nulo <ue i%&li$a
no to%ar nin,una a$$i(n
$.1. Representacin
Si <expresin lgica> entonces
secuencia 1 camino 1
SNO
secuencia 2 camino 2
FN_S
Ejemplo
S A > B ENTONCES
Escriba: EL VALOR DE A ES MAYOR QUE B
SNO
Escriba: EL VALOR DE B ES MAYOR O GUAL QUE A
FN_S
$.2. ?unciona3iento
Al i,ual <ue las otras estru$turas, la estru$tura de de$isi(n l(,i$a tiene una >ni$a entrada y
una >ni$a salida Al lle,ar a la estru$tura se eval>a la $ondi$i(nI si 3sta esG
5erdadera3 se e8e$uta el ,ru&o de instru$$iones <ue $onfor%an la se$uen$ia " y $ontin>a
6a$ia aba8o $on las de%1s instru$$iones del al,orit%o <ue est1n des&u3s del FN_S, o sea <ue
to%a el $a%ino " y no se e8e$utan las instru$$iones <ue $onfor%an la se$uen$ia '
2i es )alsa3 se e8e$uta el ,ru&o de instru$$iones <ue $onfor%an la se$uen$ia ' y o%ite la
e8e$u$i(n de las instru$$iones de la se$uen$ia ", o sea <ue to%a el $a%ino ' y $ontin>a 6a$ia
aba8o
Las instru$$iones <ue $onfor%an las dos se$uen$ias &ueden &ertene$er a $ual<uier
estru$tura, in$luida la de$isi(n l(,i$a Es $o%>n, dentro de la &ro,ra%a$i(n, <ue falte una de las
dos se$uen$ias, en $uyo $aso si,nifi$a <ue al estar ausente y to%ar ese $a%ino no haga nada y
$ontin>e $on las estru$turas si,uientes
El ,ru&o de instru$$iones <ue $onfor%an la se$uen$ia " est1 entre el ENTONCE2 y el 2INO
y la se$uen$ia ' entre el 2INO y el :IN_2I
EJercicio resuelto NL '
Es$ribir las estru$turas <ue $al$ulen y %uestren el valor de ! de a$uerdo a lo si,uienteG
! S " si T b Y
! S ' si T aS Y
Solucin
S Y > Z ENTONCES
X=1
SNO
X=2
FN_S
ESCRBA: X
Prue.a 2e escritorio
2i los valores de T y Y son en su ordenG "/ y J0

T Y !
"/ J0 "
!ali2a
?ALTA R8?ICO PA. '* LI"RO
EJercicio resuelto NL (
#a$er un al,orit%o <ue, dados dos valores nu%3ri$os A y B, es$riba un %ensa8e di$iendo
si A es %ayor, %enor o i,ual a B
An:lisis
Datos 2e entra2a
O Los valores de A y de B
Datos 2e sali2a
O Bn %ensa8e de a$uerdo al valor de A y de B
Proceso
2e $o%&ara A $on B, sG
A b B Enton$es se es$ribe el %ensa8e nA es %ayor <ue Bo, si la $ondi$i(n es falsa se
&re,unta sG
A S B 2i 3sta es verdadera se es$ribe el %ensa8e nA es i,ual <ue Bo, y si es falsa, &or
defe$to A es %enor <ue B
Al/orit3o
NCO
LEA: A, B
S A > B ENTONCES
ESCRBA: A ES MAYOR QUE B
SNO
S A = B ENTONCES
ESCRBA: A ES GUAL A B
SNO
ESCRBA: A ES MENOR QUE B
FN_S
FN_S
FN_NCO
Prue.a 2e escritorio
2i los valores de entrada sonG
A S '/
B S '+
los valores al%a$enados interna%ente seranG
A B
'/ '+
!ali2a
?ALTA R8?ICO PA. (I LI"RO
EJercicio resuelto NL )
2i A, B, C, D y E son $ondi$iones de ti&o l(,i$o, $onstruir las estru$turas
$orres&ondientes <ue %uestrenG
O A y B ?Parte verdadera de A y &arte verdadera de BC
O A y no B y C ?Parte verdadera de A, &arte falsa de B y &arte verdadera de CC
O A y no B y no C
O No A ?y lue,o se,uir1 e7&lorando D y, en su $aso, EC
O No A y D y E
O No A y D y no E
O No A y no D
!olucin
Para %ostrar A y B, &ri%ero 6ay <ue evaluar la $ondi$i(n A y lue,o &or la salida verdadera
de A evaluar la $ondi$i(n B, enton$es la solu$i(n del nu%eral " sera el ,ru&o de instru$$iones
<ue &ertenez$an a la salida verdadera de la $ondi$i(n B
S A ENTONCES
S B ENTONCES
SECUENCA 1
SNO
S C ENTONCES
SECUENCA 2
SNO
SECUENCA 3
FN_S
FN_S
SNO
SECUENCA 4
S D ENTONCES
S E ENTONCES
SECUENCA 5
SNO
SECUENCA 6
FN_S
SNO
SECUENCA 7
FN_S
FN_S
EJercicio resuelto NL *
Es$ribir las estru$turas <ue $al$ulen y %uestren el valor de !, de a$uerdo $on lo
si,uienteG
! S / si T a A y ?Aa B a CC
! S " si A aS T a B
! S ' si B aS T a C
! S * si C aS T
! S ) si no se $u%&le nin,una de las $ondi$iones anteriores
!olucin
Co%o e7isten $ondi$iones $o%&uestas, 3stas deben unirse a trav3s de o&eradores l(,i$os
S (Y < A) ((A < B) (B < C)) ENTONCES
X = 0
SNO
S (A < = Y) (Y < B) ENTONCES
X = 1
SNO
S (B < = Y) (Y < C) ENTONCES
X = 2
SNO
S (C < = Y) ENTONCES
X = 3
SNO
X = 4
FN_S
FN_S
FN_S
FN_S
Prue.a 2e escritorio
2i los valores <ue $ontienen las variables sonG
T S '/
A S "/
B S +
C S '
!ali2a
?ALTA R8?ICO PA. (2 LI"RO
EJercicio resuelto NL 1I
Cierta universidad &ara li<uidar el &a,o de %atr$ula de un estudiante le e7i,e los
si,uientes datosG
O N>%ero de ins$ri&$i(n
O No%bres
O Patri%onio
O Estrato so$ial
La universidad $obra un valor $onstante &ara $ada estudiante de W+//// 2i el &atri%onio
es %ayor <ue W'p////// y el estrato su&erior a *, se le in$re%enta un &or$enta8e del *P
sobre el &atri%onio #a$er un al,orit%o <ue %uestreG
O N>%ero de ins$ri&$i(n
O No%bres
O Pa,o de %atr$ula
An:lisis
Datos 2e entra2a
O N>%ero de ins$ri&$i(n
O No%bres
O Patri%onio
O Estrato so$ial
Datos 2e sali2a
O N>%ero de ins$ri&$i(n
O No%bres
O Pa,o &or %atr$ula
Proceso
Ini$ial%ente se asu%e <ue el valor a &a,ar es el valor $onstante W+////I se 6a$e la
$o%&ara$i(n del &atri%onio $on 'p////// y del estrato $on tresI en $aso de ser $ierta la
$ondi$i(n al valor $onstante se le in$re%enta el *P sobre el &atri%onio Este valor
adi$ional se obtiene %ulti&li$ando el &atri%onio &or * y dividi3ndolo sobre "// (, lo <ue
sera lo %is%o, %ulti&li$ar /,/* &or el &atri%onio
De0inicin 2e 7aria.les
NIG N>%ero de ins$ri&$i(n
NO@G No%bres
PATG Patri%onio
E2TG Estrato so$ial
PA9@ATG Pa,o &or %atr$ula
Al/orit3o
NCO
LEA: N, NOM, PAT, ES
PAGMAT = 50000
S (PAT > 2000000) (ES > 3) ENTONCES
PAGMAT = PAGMAT + 0.03 * PAT
FN_S
ESCRBA: "EL ESTUDANTE CON NUMERO DE NSCRPCON, N,
"Y NOMBRE, NOM, "DEBE PAGAR: $, PAGMAT
FN_NCO
Prue.a 2e escritorio
2i el re,istro de entrada de datos est1 $onfor%ado de la si,uiente for%aG
///" JBAN PABLO "p+///// )
Los valores al%a$enados en la variable seranG

NI NO@ PAT E2 PA9@AT
///" JBAN PABLO "p+///// ) +////
!ali2a

EL E2TBDIANTE CON NB@E5O DE
IN2C5IPCION ///" T NO@B5E
JBAN PABLO DEBE PA9A5 W+////
EJercicio resuelto NL 11
Es$ribir un al,orit%o <ue a$e&te tres n>%eros enteros diferentes y %uestre el %ayor de
ellos
An:lisis
El enun$iado a$lara <ue no e7isten n>%eros i,uales, &or lo tanto e7iste un valor %enor,
uno %edio y uno %ayor
Datos 2e entra2a
O Los tres n>%eros Estos deben al%a$enarse en variables distintas
Datos 2e sali2a
O El valor del n>%ero %ayor
Proceso
E7isten varias for%as de en$ontrar el valor %ayor entre un ,ru&o de datos Bsted &uede
&ensar y desarrollar una diferente a la a<u e7&uesta El &ro$eso a utilizar seraG
NB@E5O" ser1 el %ayor siG
?NB@E5O" b NB@E5O'C ?NB@E5O" b NB@E5O*C
NB@E5O' ser1 el %ayor siG
?NB@E5O' b NB@E5O"C ?NB@E5O' b NB@E5O*C
NB@E5O* ser1 el %ayor siG
?NB@E5O* b NB@E5O"C ?NB@E5O* b NB@E5O'C
De0inicin 2e 7aria.les
N"G ;alor del &ri%er n>%ero a entrar
N'G ;alor del se,undo n>%ero
N*G ;alor del ter$er n>%ero
@ATO5G ;ariable <ue al%a$enar1 el valor %ayor entre N", N' y N*
Al/orit3o
NCO
LEA: Nl, N2, N3
S (N1 > N2) (N1 > N3) ENTONCES
MAYOR = N1
SNO
S N2 > N3 ENTONCES
MAYOR = N2
SNO
MAYOR = N3
FN_S
FN_S
ESCRBA: "EL VALOR MAYOR ENTRE: ", N1, ",, N2, "Y, N3, "ES:, MAYOR
FN_NCO
Prue.a 2e escritorio
5e,istro de datos
'+ '0 +0

N" N' N* @ATO5
'+ '0 +0 '+
'0
+0 qlti%o n>%ero al%a$enado en %ayor
!ali2a
?ALTA R8?ICO PA. (' LI"RO
EJercicio resuelto NL 12
Deter%inar la $antidad de dinero re$ibida &or un traba8ador &or $on$e&to de las 6oras
se%anales traba8adas en una e%&resa, sabiendo <ue $uando las 6oras de traba8o e7$eden
de )/, el resto se $onsidera 6oras e7tras y se &a,an al doble de una 6ora nor%al, $uando
no e7$eden de .I si las 6oras e7tras e7$eden de ., se &a,an las &ri%eras . al doble de lo
<ue se &a,a una 6ora nor%al y el resto al tri&le Del traba8ador se $ono$en los si,uientes
datosG no%bres, n>%ero de 6oras traba8adas en la se%ana y valor re$ibido &or una 6ora
nor%al de traba8o
An:lisis
Datos 2e entra2a
O No%bres del traba8ador
O N>%ero de 6oras traba8adas
O ;alor 6ora de traba8o
Datos 2e sali2a
O No%bre del traba8ador
O 2alario deven,ado
Proceso
2e $o%&ara el valor de las 6oras traba8adas $on )/ <ue es la 8ornada nor%al
2I 6oras traba8adas b )/
2e $al$ulan las 6oras e7tras traba8adas $o%o 6oras traba8adas J )/ Co%o los $ostos de
6oras e7tras son distintos &ara la $antidad de 6oras su&eriores a ., se debe $o%&arar el
valor obtenido en 6oras e7tras $on .
2I 6oras e7tras b . ENTONCE2
Las 6oras e7tras e7$edentes de . seranG 6oras e7tras J . En este $aso lo
&er$ibido &or el traba8ador &or $on$e&to de 6oras e7tras seraG
Pa,o &or 6oras e7tras S Pa,o &or 6ora nor%al V ' V . H &a,o &or 6ora nor%al V
* V 6oras e7tras e7$edentes de .
2INO
Pa,o &or 6oras e7tras S Pa,o &or 6oras nor%al V'V6oras e7tras El salario
deven,ado en este $aso seraG
2alario S Pa,o &or 6ora nor%al V )/ H Pa,o &or 6oras e7tras
2INO
En este $aso las 6oras traba8adas durante la se%ana son %enores o i,uales a )/ ?no
e7isten 6oras e7trasC Por lo tanto, lo deven,ado seraG
2alario S #oras traba8adas V valor 6ora nor%al
De0inicin 2e 7aria.les
NO@G No%bre del traba8ador
N#TG N>%ero de 6oras traba8adas
;#NG ;alor 6ora nor%al traba8ada
#ETG #oras e7tras traba8adas
#EE.G #oras e7tras <ue e7$eden de .
2ALA5IOG Pa,o total <ue re$ibe el traba8ador
Al/orit3o
NCO
LEA: NOM, NHT, VHN
S NHT > 40 ENTONCES
HET = NHT - 40
S HET > 8 ENTONCES
HEE8 = HET - 8
SALARO = 40 * VHN + 16 * VHN + HEE8 * 3 * VHN
SNO
SALARO = 40 * VHN + HET * 2 * VHN
FN_S
SNO
SALARO = NHT * VHN
FN_S
ESCRBA: "EL TRABAJADOR, NOM, "DEVENGO: $, SALARO
FN_NCO
Prue.a 2e escritorio
5e,istro de entrada
ELIA2 JO2E +* )///
NO@ N#T ;#N #ET #EE. 2ALA5IO
ELIA2 JO2E +* )/// "* + '.)///
!ali2a


EL T5ABAJADO5 ELjA2
JO2N DE;EN9DG W'.)///
EJercicio resuelto NL 1#
Bn al%a$3n efe$t>a una &ro%o$i(n en la $ual se 6a$e un des$uento sobre el valor de la
$o%&ra total, se,>n el $olor de la bolita <ue el $liente sa<ue al &a,ar en $a8a 2i la bolita
es blan$a no se le 6ar1 des$uento al,uno, si es verde se le 6ar1 un "/P de des$uento, si es
a%arilla un '+P, si es azul un
+/P y si es ro8a un "//P #a$er un al,orit%o &ara deter%inar la $antidad final <ue un
$liente deber1 &a,ar &or su $o%&ra 2e sabe <ue s(lo 6ay bolitas de los $olores
%en$ionados
An:lisis
Datos 2e entra2a
O ;alor de la $o%&ra
O Color de la bolitaI 3sta al%a$enar1 un valor alfab3ti$o
Datos 2e sali2a
O ;alor a &a,ar teniendo en $uenta los &osibles des$uentos
Proceso
Cono$ido el $olor de la bolita <ue le 6a to$ado al $liente se &uede estable$er si tiene o no
des$uento &or el valor de la $o%&ra y el &or$enta8e <ue le $orres&onde
2i la bolita <ue sa$a esG
Blan$a, el des$uento es del /PI
si es verde, el des$uento es del "/PI
si es a%arilla, el des$uento es del '+PI
si es azul, el des$uento es del +/PI
si no es de nin,uno de los $olores anteriores, &or defe$to
ser1 ro8a al no 6aber %1s $olores, &or lo <ue no es ne$esario 6a$er la &re,unta si el $olor
de la bolita es ro8a, en $uyo $aso el des$uento es del "//P
De0inicin 2e 7aria.les
;ALCO@PG ;alor de la $o%&ra
COLO5G Color de la bolita
;ALPA9G ;alor a &a,ar
PDE2G Por$enta8e de des$uento
Al/orit3o
NCO
LEA: VALCOMP, COLOR
S COLOR = "BLANCO ENTONCES
PDES=0
SNO
S COLOR = "VERDE ENTONCES
PDES = 10
SNO
S COLOR=AMARLLO ENTONCES
PDES = 25
SNO
S COLOR = "AZUL ENTONCES
PDES = 50
SNO
PDES = 100
FN_S
FN_S
FN_S
FN_S
VALPAG = VALCOMP - PDES * VALCOMP / 100
ESCRBA : " EL CLENTE DEBE PAGAR:$, VALPAG
FN_NCO
Prue.a 2e escritorio
5e,istro de Entrada
+)*)+/ AYBL

;ALCO@P COLO5 PDE2 ;ALPA9
+)*)+/ AYBL +/ '-"'-+
!ali2a
?ALTA R8?ICO PA. )I LI"RO
EJercicio resuelto NL 1$
Bna e%&resa $on tres de&arta%entos tiene estable$ido un &lan de in$entivos &ara sus
vendedores Al final del &erodo, a $ada de&arta%ento se le &ide el i%&orte ,lobal de las
ventas A los de&arta%entos <ue e7$edan el **P de las ventas totales se les adi$iona al
salario de los vendedores un &or$enta8e e<uivalente al '/P del salario %ensual Las
n(%inas de los tres de&arta%entos son i,uales 2i se tienen los si,uientes datosG
O ;entas del de&arta%ento "
O ;entas del de&arta%ento '
O ;entas del de&arta%ento *
O 2alario de los vendedores de $ada de&arta%ento
#a$er un al,orit%o <ue deter%ine $u1nto re$ibir1n los vendedores de $ada de&arta%ento
al finalizar el &erodo
An:lisis
Datos 2e entra2a
O Los tres i%&ortes de ventas de los de&arta%entos
O 2alario de los vendedores
Datos 2e sali2a
O ;alor re$ibido &or salario en $ada uno de los de&arta%entos
Proceso
Para &oder obtener el **P de las ventas totales, &ri%ero es ne$esario $ono$er el total de
ventas de la e%&resa Total de ventas S ventas de&to " H ventas de&to ' H ventas de&to *
El **P de las ventas totales o &or$enta8e sobre las ventas ser1G ventas totales V /** o
ventas totales V **K"// Este &or$enta8e sirve &ara deter%inar si las ventas de un
de&arta%ento su&eran este valor e indi$ar1 si los vendedores re$iben o no un '/P %1s
sobre su salario
2I ventas de un de&arta%ento b &or$enta8e de ventas ENTONCE2
salario re$ibido S salario H salario V /'I
SNO
salario re$ibido S salario
FN_S
Continuacin
De0inicin 2e 7aria.les
;D"G ;entas del de&arta%ento "
;D'G ;entas del de&arta%ento '
;D*G ;entas del de&arta%ento *
2ALA5G 2alario <ue re$iben vendedores en $ada de&arta%ento
TOT;ENG Total ventas en la e%&resa
PO5;ENG Por$enta8e e<uivalente al **P de ventas totales
2ALA5"G 2alario de los vendedores en el de&to "
2ALA5'G 2alario de los vendedores en el de&to '
2ALA5*G 2alario de los vendedores en el de&to *
Al/orit3o
NCO
LEA: VD1, VD2, VD3, SALAR
TOTVEN = VD1 + VD2 + VD3
PORVEN = 0.33 * TOTVEN
S VD1 > PORVEN ENTONCES
SALAR1 = SALAR + 0.2 * SALAR
SNO
SALAR1 = SALAR
FN_S
S VD2 > PORVEN ENTONCES
SALAR2 = SALAR + 0.2 * SALAR
SNO
SALAR2 = SALAR
FN_S
S VD3 > PORVEN ENTONCES
SALAR3 = SALAR + 0.2 * SALAR
SNO
SALAR3 = SALAR
FN_S
ESCRBA: "SALARO VENDEDORES DEPTO. 1, SALAR1,
"SALARO VENDEDORES DEPTO. 2, SALAR2, "SALARO
VENDEDORES DEPTO. 3, SALAR3
FN_NCO
Prue.a 2e escritorio
5e,istro de Entrada
)'///// '+//// **///// *./*'/

;D" ;D' ;D* 2ALA5 TOT;EN PO5;EN 2ALA5"
)'///// '+//// **///// *./*'/ 4-///// *'/"/// )+0*.)

2ALA5 ' 2ALA5 *
;D' ;D*
*./*'/ )+0*.)
!ali2a
?ALTA R8?ICO PA. )# LI"RO
EJercicio resuelto NL 1&
2e tienen $uatro esferas ?A, B, C, DC de las $uales se sabe <ue tres son de i,ual &eso y una
diferente Elaborar un al,orit%o <ue deter%ine $u1l es la esfera diferente y si es de %ayor
o %enor &eso
An:lisis
Datos 2e entra2a
O Peso de la esfera A
O Peso de la esfera B
O Peso de la esfera C
O Peso de la esfera D
Datos 2e sali2a
O @ensa8e <ue di,a $u1l es la esfera de diferente &eso y si es de %ayor o
%enor &eso <ue las otras tres
Proceso
El enun$iado del &roble%a afir%a <ue e7isten tres esferas <ue tienen i,ual &eso &ero no
se $ono$en, &or lo tanto, es ne$esario averi,uarlo 2i ya se
Continuacin
tienen las tres esferas de i,ual &eso, la restante es la diferenteI &ara saber si es de %ayor o
%enor &eso <ue las otras, basta $o%&ararla $on el &eso de $ual<uiera de las otras tres
Las $o%&ara$iones &osibles ser1nG
2I ?&eso de A S Peso de BC ?&eso de A S Peso de CC, enton$es
D es la diferente
2I &eso de D es %ayor <ue &eso de A, enton$es
D es de %ayor &esoI
2INO, D es de %enor &eso
2INO
2I ?&eso de A S &eso de BC ?&eso de A S &eso de DC, enton$es
C es la diferente
2I &eso de C b &eso de A, enton$es
C es de %ayor &esoI
2INO, C es de %enor &eso
2INO
2I ?&eso de A S &eso de CC ?&eso de A S &eso de
DC, enton$es
B es la diferente
2I &eso de B b &eso de D, enton$es
B es de %ayor &esoI
2INO, B es de %enor &eso
2INO, A es la diferente
2I &eso de A b &eso de B, enton$es
A es de %ayor &esoI
2INO, A es de %enor &eso
De0inicin 2e 7aria.les
PE2OAG Peso de la esfera A
PE2OBG Peso de la esfera B
PE2OCG Peso de la esfera C
PE2ODG Peso de la esfera D
Al/orit3o
NCO
LEA: PESOA, PESOB, PESOC, PESOD
S (PESOA = PESOB) (PESOA = PESOC) ENTONCES
S PESOD > PESOA ENTONCES
ESCRBA: "LA ESFERA D ES LA DFERENTE Y
ES DE MAYOR PESO
SNO
ESCRBA: "LA ESFERA D ES LA DFERENTE Y
ES DE MENOR PESO
FN_S
SNO
S (PESOA = PESOB) (PESOA = PESOD) ENTONCES
ESCRBA: "LA ESFERA C ES LA DFERENTE
S PESOC > PESOA ENTONCES
ESCRBA: "Y ES DE MAYOR PESO
SNO
ESCRBA:Y ES DE MENOR PESO
FN_S
SNO
S (PESOA = PESOC) (PESOA = PESOD) ENTONCES
ESCRBA: "LA ESFERA B ES LA DFERENTE
S PESOB > PESOD ENTONCES
ESCRBA: "Y ES DE MAYOR PESO
SNO
ESCRBA: "Y ES DE MENOR PESO
FN_S
SNO
ESCRBA: "LA ESFERA A ES LA DFERENTE
S PESOA > PESOB ENTONCES
ESCRBA: "Y ES DE MAYOR PESO
SNO
ESCRBA: "Y ES DE MENOR PESO
FN_S
FN_S
FN_S
FN_S
FN_NCO
Prue.a 2e escritorio
5e,istro de entrada
*/ +) +) +

PE2OA PE2OB PE2OC PE2OD
*/ +) +) +)
!ali2a


LA E2:E5A A E2 LA DI:E5ENTE T
E2 DE @ENO5 PE2O
Aspectos a tener en cuentaH
a Las variables <ue 6a$en &arte de una e7&resi(n de ti&o l(,i$o deben tener un valor &revio
asi,nado
b Cuando se $onfor%a un re,istro de entrada de datos, los valores de los $a%&os deben ir
se&arados al %enos &or un es&a$io en blan$o 2i el $a%&o es de ti&o real, el &unto debe estar
&resente y todo $ar1$ter <ue est3 entre $o%illas 6ar1 &arte de una $onstante alfanu%3ri$a 2i
el $a%&o indi$a %iles, %illones, et$, no debe estar &resente el &unto &ara indi$ar estas
$antidades El &unto s(lo se debe utilizar &ara indi$ar la &arte de$i%al Por e8 "////// ?un
%ill(nC, debe indi$arse $o%o "//////
m 2i un $a%&o indi$a &or$enta8e, los $ara$teres <ue lo deter%inan?P,WC no deben estar
&resentes en el re,istro de entrada 2er1n err(neas las e7&resionesG
a b W"//, P S */P, M b **P, et$
$ 2i la $o%&ara$i(n en una $ondi$i(n involu$ra $onstantes alfanu%3ri$as, 3stas deben estar
entre $o%illasI &or e8e%&lo NO@B5Eb ]I2ABEL^
d Bna variable <ue ten,a un $ontenido l(,i$o, &uede 6a$er &arte de una e7&resi(n l(,i$a
$o%&uesta 2i A S B b '/, o sea, se le asi,na : o ;
La si,uiente e7&resi(n ser1 $orre$taG ! b T ` A
$.#. EJercicios propuestos
'' Elaborar un al,orit%o <ue entre el no%bre de un e%&leado, su salario b1si$o &or 6ora y el
n>%ero de 6oras traba8adas en el %esI es$riba su no%bre y salario %ensual si 3ste es %ayor
de W)+////, de lo $ontrario es$riba s(lo el no%bre
'* Dados los valores A, B y C <ue son los &ar1%etros de una e$ua$i(n de se,undo ,rado,
elaborar un al,orit%o &ara 6allar las &osibles solu$iones de di$6a e$ua$i(n
') 2e tienen tres esferas ?A,B,CC de diferente &eso, elaborar un al,orit%o <ue deter%ine $u1l es
la esfera de %ayor &eso
'+ #a$er un al,orit%o <ue deter%ine $u1l es el %ayor en un ,ru&o de $uatro datos diferentes
'0 #a$er un al,orit%o <ue deter%ine la su%a del valor %enor y %ayor en un ,ru&o de ) datos
'- Elaborar un al,orit%o <ue deter%ine el valor e<uivalente en el siste%a nu%3ri$o de$i%al,
de un n>%ero de $in$o d,itos o$tales
'. Dados tres valores &ositivos deter%inar si 3stos no for%an tri1n,ulo o si for%an tri1n,ulo,
de$ir si 3ste esG e<uil1tero, is(s$eles o es$aleno y obtener el 1rea del tri1n,ulo
'4 #a$er un al,orit%o <ue entre la ordenada ?TC y la abs$isa ?!C de un &unto de un &lano
$artesiano y, deter%ine si &ertene$e o no a la re$ta T S *! H +
*/ Elaborar un al,orit%o <ue entre un &unto ?7, yCI di,a si est1, o no, en el 1rea deter%inada
&or la &ar1bola T S ) J !`' y la re$ta T S ! J *
*" Elaborar un al,orit%o <ue entre el &ar ordenado A,BI deter%ine si est1, o no, en el 1rea
$o%&rendida entre las re$tas T S '! J ', T S ! H ", ! S '/
*' Bn al%a$3n de es$ritorios 6a$e los si,uientes des$uentosG si el $liente $o%&ra %enos de +
unidades se le da un des$uento del "/P sobre la $o%&raI si el n>%ero de unidades es %ayor
o i,ual a $in$o &ero %enos de "/ se le otor,a un '/P y, si son "/ o %1s se le da un )/P
#a$er un al,orit%o <ue deter%ine $u1nto debe &a,ar un $liente si el valor de $ada es$ritorio
es de W./////
** En un 8ue,o de &re,untas <ue se res&onde ]2I^ o ]NO^, ,ana <uien res&onda $orre$ta%ente
las tres &re,untas 2i se res&onde %al $ual<uiera de ellas, ya no se &re,unta la si,uiente y
ter%ina el 8ue,o Las &re,untas sonG
" l2i%(n Bolvar libert( a Colo%biam
' lCa%ilo Torres fue un ,uerrillerom
* lEl Bino%io de Oro es un ,ru&o de %>si$a vallenatam
DiseFe el re,istro de entrada
*) Bna frutera ofre$e las %anzanas $on des$uento se,>n la si,uiente tablaG
(o. de man6anas compradas 7 descuento
/ Z ' /P
* Z + "/P
0 Z "/ "+P
"" en adelante '/P
Deter%inar $u1nto &a,ar1 una &ersona <ue $o%&re %anzanas en esa frutera
*+ Cierta universidad tiene un &ro,ra%a &ara esti%ular a los estudiantes $on buen rendi%iento
a$ad3%i$o 2i el &ro%edio es de ),+ o %1s y el alu%no es de &re,rado enton$es $ursar1 '.
$r3ditos y se le 6ar1 un '+P de des$uento 2i el &ro%edio es %ayor o i,ual a ),/ &ero %enor
<ue ),+ y el alu%no es de &re,rado, enton$es $ursar1 '+ $r3ditos y se le 6ar1 un "/P de
des$uento 2i el &ro%edio es %ayor <ue *,+ y %enor <ue ),/ y es de &re,rado, $ursar1 '/
$r3ditos y no tendr1 nin,>n des$uento 2i el &ro%edio es %ayor o i,ual a ',+ y %enor <ue
*,+ y es de &re,rado, $ursar1 "+ $r3ditos y no tendr1 des$uento 2i el &ro%edio es %enor de
',+ y es de &re,rado, no &odr1 %atri$ularse 2i el &ro%edio es %ayor o i,ual a ),+ y es de
&os,rado, $ursar1 '/ $r3ditos y se le 6ar1 un '/P de des$uento 2i el &ro%edio es %enor de
),+ y es de &os,rado $ursar1 "/ $r3ditos y no tendr1 des$uento
#a$er un al,orit%o <ue deter%ine $u1nto debe &a,ar un estudiante y $u1ntos $r3ditos
re,istra si el valor de $ada $r3dito es de W+//// &ara &re,rado y W*///// &ara &os,rado
*0 Bn &roveedor de $o%&utadores ofre$e des$uento del "/P, si $uesta W"////// o %1s
Ade%1s, inde&endiente%ente, ofre$e el +P de des$uento si la %ar$a es ABACO
Deter%inar $u1nto &a,ar1, $on l;A in$luido, un $liente $ual<uiera &or la $o%&ra de una
$o%&utadora
*- Deter%inar el &re$io de un &asa8e de ida y vuelta &or avi(n, $ono$iendo la distan$ia a
re$orrer, el n>%ero de das de estan$ia y sabiendo <ue si la distan$ia es su&erior a "/// M%,
y el n>%ero de das de estan$ia es su&erior a -, la lnea a3rea le 6a$e un des$uento del */P
El &re$io &or Mil(%etro es de W.4,+/
Captulo &
E2T5BCTB5A
5EPETITI;A
#asta el %o%ento se 6a en$ontrado <ue $ada una de las instru$$iones <ue $onfor%an el
al,orit%o se e8e$utan una, y s(lo una vez, en el %is%o orden en <ue a&are$an Los al,orit%os
de este ti&o son real%ente si%&les, ya <ue no in$luyen una estru$tura <ue &er%ita <ue un ,ru&o
de instru$$iones se e8e$ute varias ve$es, $o%o resultado de una deter%inada $ondi$i(n
La %ayora de los &roble%as dentro de la &ro,ra%a$i(n e7i,en <ue un ,ru&o de
instru$$iones <ue 6a$en un $1l$ulo deter%inado no se 6a,an &ara un ente es&e$fi$o, sino <ue
sea a&li$ado a %u$6os &ara realizar el %is%o $1l$ulo Por e8e%&loG el $1l$ulo del &ro%edio de
$r3ditos de los estudiantes de una universidad En este $aso es ne$esario el estable$i%iento de
un %odelo <ue obten,a el &ro%edio &ara uno y <ue a la vez sirva &ara todos los estudiantes, es
de$ir, <ue el ,ru&o de &asos <ue $onfor%an el %odelo de solu$i(n de un deter%inado &ro$eso
dentro del al,orit%o, se re&ita tantas ve$es $o%o sea ne$esario
La estru$tura re&etitiva, ta%bi3n $ono$ida $o%o estru$tura @IENT5A2 o @IENT5A2J
ABEJ, &er%ite ordenar la realiza$i(n de una o %1s instru$$iones ?se$uen$iaC, $ero o %1s ve$es,
$on base en el valor de verdad <ue arro8e la evalua$i(n de una e7&resi(n de ti&o l(,i$o Esta
e7&resi(n le &er%ite al al,orit%o to%ar la de$isi(n de re&etir o de8ar de e8e$utar el ,ru&o de
instru$$iones
La estru$tura est1 for%ada &or dos &artesG la e7&resi(n de ti&o l(,i$o <ue es evaluada $ada
vez <ue se intenta re&etir el &ro$eso y, el ,ru&o de instru$$iones donde debe 6aber, &or lo
%enos, una <ue &er%ita %odifi$ar el resultado de la e7&resi(n l(,i$a De lo $ontrario, nun$a se
ter%inara la re&eti$i(n de la e8e$u$i(n de las instru$$iones y sera un &ro$eso infinito
&.1. Representacin
MENTRAS <expresin lgica> HAGA
<secuencia>
FN_MENTRAS
Ejemplo
MENTRAS A > B HAGA
ESCRBA: A
A = A - 1
FN_MENTRAS
&.2. ?unciona3iento
Cuando se lle,a a la estru$tura se eval>a la e7&resi(n l(,i$aI s 3sta esG
)alsa, no se e8e$uta la se$uen$ia de instru$$iones y $ontinuar1 6a$ia aba8o si 6ay %1s
instru$$iones o, ter%inar1 la e8e$u$i(n si no 6ay %1s instru$$ionesI es de$ir, la se$uen$ia se
re&etir1 $ero ve$es
2i es 5erdadera, se e8e$uta la se$uen$ia una vez y auto%1ti$a%ente ?no 6ay <ue de$rseloC
re,resa a evaluar la e7&resi(nI si nueva%ente es verdadera se re&ite la e8e$u$i(n de la se$uen$ia
y vuelve a evaluar la e7&resi(n Este &ro$eso es $$li$o &or<ue se re&ite sie%&re <ue la
$ondi$i(n sea verdaderaI ta%bi3n se &uede de$ir <ue la se$uen$ia no se re&ite o de8a de re&etirse
$uando la $ondi$i(n es falsa
&.#. -aria.les tipo conta2or
@u$6as ve$es en los &ro$esos re&etitivos es ne$esario 6a$er el $onteo de su$esos o a$$iones
internas del $i$loI este &ro$eso de $onteo se 6a$e $on una variable <ue se va in$re%entando
$ada vez <ue el $i$lo se re&ite
El $ontador es una variable <ue se in$re%enta o dis%inuye en un valor $onstante $ada <ue
o$urre una a$$i(n o su$eso La for%a ,eneral de los $ontadores es la si,uienteG
CONTADO5 S CONTADO5 H avalor $onstanteb
Co%o el $ontador a&are$e al lado dere$6o en la e7&resi(n, antes de usarse se le debe dar un
valor <ue borre lo <ue 6aba en la dire$$i(n de %e%oria asi,nada a la variable utilizada Esa
orden de borrado debe indi$arse una vezI &or lo tanto, debe estar antes de a$tivar el $i$lo donde
se ne$esite el $ontador, de lo $ontrario se re&etir1 la orden de borrado $ada vez <ue se re&ite el
$i$lo E8e%&loG
Bna orden de borrado &uede serG CONTADO5 S /
&.$. -aria.les tipo acu3ula2or
Bn a$u%ulador o totalizador es una variable $uya %isi(n es al%a$enar $antidades variables
resultantes de &ro$esos su$esivos La diferen$ia $on el $ontador radi$a en <ue el in$re%ento o
dis%inu$i(n de $ada su%a es variable en lu,ar de $onstante, $o%o en el $aso del $ontador
La for%a ,eneral del a$u%ulador esG
ACB@BLADO5 S ACB@BLADO5 H ae7&resi(nb
Co%o ta%bi3n a&are$e al lado dere$6o, antes de utilizarlo se 6a$e ne$esario asi,narle un
valor ini$ial, &or e8e%&loG ACB@BLADO5 S /
EJercicio resuelto NL 1'
#a$er un al,orit%o <ue en$uentre la su%a de los &ri%eros $in$o n>%eros naturales
An:lisis
Datos 2e entra2a
No 6ay Co%o se di8o antes, los datos de entrada son a<uellos valores <ue se des$ono$en
en el %o%ento de 6a$er el al,orit%o, en este $aso los valores a su%ar son $ono$idos, se
sabe <ue se su%ar1n los n>%eros ", ', *, ) y +, &or lo tanto se &ueden ,enerar en el
&ro$eso Observe <ue no tiene l(,i$a la instru$$i(n LEAG " o LEAG ', ade%1s, en la
instru$$i(n de le$tura debe 6aber &or lo %enos una variable y no un valor $onstante
Datos 2e sali2a
O La su%a de los $in$o n>%eros
Continuacin
Proceso
2e 6ar1 uso de un $ontador <ue sirva &ara ,enerar los n>%eros entre " y + y al %is%o
tie%&o $ontrole la $ondi$i(n del $i$loI ta%bi3n se usar1 un a$u%ulador &ara <ue, en la
%edida <ue se ,enere un valor, lo totali$e En este $aso &ueden &resentarse varias
alternativas, de&endiendo del valor ini$ial <ue se le d3 al $ontador, el $ual influir1 de
%odo dire$to en la for%a de estable$er la e7&resi(n l(,i$a <ue $ontrolar1 el $i$lo
De0inicin 2e 7aria.les
NUMH ;ariable ti&o $ontador <ue ,enerar1 los n>%eros a su%ar y serviJ
r1 &ara $ontrolar el n>%ero de ve$es <ue debe re&etirse el $i$loI
debe &artir de un valor ini$ial asi,nado fuera del $i$lo
!UMAH ;ariable ti&o a$u%ulador <ue totalizar1 el valor ,enerado en NB@,
sie%&re <ue su $ontenido est3 entre " y +
Al/orit3o
Solucin 8:
NCO
NUM=0 (1) nicializa el contador
SUMA=0 (2) nicializa el acumulador
MENTRAS NUM < 5 HAGA
NUM=NUM+1 (3) Modifica la expresin
SUMA=SUMA+NUM (4) Actualiza el acumulador
FN_MENTRAS
ESCRBA: "LA SUMA ES:", SUMA (5) Termina el ciclo cuando
FN_NCO NUM vale 5
Prue.a 2e escritorio
@ire%os el fun$iona%iento del al,orit%o &aso &or &aso
2e e8e$uta la instru$$i(n ?"C NB@
/ $ontenido de NB@
2e e8e$uta la instru$$i(n ?'C 2B@A
/ $ontenido de 2B@A
Al lle,ar a la estru$tura @IENT5A2 se eval>a la e7&resi(nG E2 NB@ a +
?E2 / a +CG 2, se e8e$utan * y ) una vez
*C se le adi$iona " al $ontenido de NB@, su nuevo valor ser1 / H " S "
NB@
" se destruye el valor /
)C se le a,re,a NB@ a 2B@A o sea / H ", su nuevo valor es
2B@A
" se destruye el valor anterior
Al lle,ar al final de las instru$$iones de la se$uen$ia del $i$lo, re,resa a evaluar la $ondi$i(nG
es NB@ a + ?E2 " a +CG 2, se e8e$utan * y )
?*C NB@ S NB@ H " ?" H "C NB@
'
?)C 2B@A S 2B@A H NB@ ?" H 'C 2B@A
*
5e,resa a evaluar la $ondi$i(n G E2 NB@ a + ?E2 ' a +CG 2, se e8e$utan * y )
?*C NB@ S NB@ H " ?' H "C NB@
*
?)C 2B@A S 2B@A H NB@ ?* H *C 2B@A
0
5e,resa a evaluar la $ondi$i(n G E2 NB@ a + ?E2 * a +CG 2, se e8e$utan * y )
?*C NB@ S NB@ H " ?* H "C NB@
)
?)C 2B@A S 2B@A H NB@ ?0 H )C 2B@A
"/
5e,resa a evaluar la $ondi$i(n J E2 NB@ a + ?E2 ) a +CG 2, se e8e$utan * y )
?*C NB@ S NB@ H " ?) H "C NB@
+
?)C 2B@A S 2B@A H NB@ ?"/ H +C 2B@A
"+
5e,resa a evaluar la $ondi$i(nG E2 NB@ a + ?E2 + a +CG No, $o%o la $ondi$i(n es falsa
salta a e8e$utar la instru$$i(n ?+C <ue est1 des&u3s de la estru$tura @IENT5A2, o sea <ue se
sale del $i$lo Al e8e$utarse la instru$$i(n ?+C se %ostrar1 el $ontenido a$tual de la variable
2B@A, &or tanto la salida ser1G


LA 2B@A E2G "+

!olucin 2H
NCO
NUM=0
SUMA=0
MENTRAS NUM <=5 HAGA
SUMA=SUMA + NUM
NUM=NUM + 1
FN_MENTRAS
ESCRBA= "LA SUMA ES:", SUMA
FN NCO
!olucin #H
NCO
NUM = 1
SUMA = 1
MENTRAS NUM < 5 HAGA
NUM = NUM + 1
SUMA = SUMA + NUM
FN_MENTRAS
ESCRBA: "LA SUMA ES:", SUMA
FN_NCO
Cuando se i%&le%enta un $i$lo dentro de un al,orit%o &uede o$urrir <ue &revia%ente a 3l se
$onoz$a el n>%ero de itera$iones <ue debe 6a$erI otras ve$es, aun<ue se sabe <ue el $i$lo tiene
un n>%ero finito de itera$iones, la defini$i(n del &roble%a no &er%ite $ono$er el n>%ero de
ellasI esto i%&li$a estable$er dos es<ue%as de solu$i(n, uno &ara $ada $aso, de&endiendo de si
dentro de la defini$i(n del &roble%a se da o no el n>%ero de ve$es <ue se debe re&etir el $i$lo
En %u$6os $asos el es<ue%a a utilizar de&ende de la for%a $o%o se %ane8e la $antidad de
infor%a$i(n o re,istros a tener en $uenta dentro del &ro$eso Por e8e%&loG si se desea $al$ular el
&ro%edio $r3dito a un $on8unto de estudiantes, es &osible <ue se $onoz$a o no la $antidad de
ellos
&.&. Es@ue3a cuantitati7o
El es<ue%a $uantitativo es utilizado $uando se $ono$e el n>%ero de ve$es <ue debe re&etirse
un $i$lo deter%inado, antes de a$tivarse la estru$tura re&etitiva Para el e8e%&lo resuelto No ".
antes de lle,ar al $i$lo se &ro&or$iona la $antidad de estudiantes, <ue en este $aso sera i,ual a la
$antidad de re,istros a &ro$esar
El n>%ero de itera$iones o $antidad de re,istros &uede ser un valor $onstante o,
,eneral%ente, una variable de entrada $uyo valor es &ro&or$ionado al al,orit%o antes de
a$tivarse el $i$lo La or,aniza$i(n de los re,istros a &ro$esar ?ar$6ivoC en el $aso de un %odelo
$uantitativo esG
are,istro Nb
are,istro Nb

are,istro *b
are,istro 'b
are,istro "b
aN>%ero de re,istrosb





Donde N es el n>%ero de re,istros y su valor es &ro&or$ionado al &rin$i&io del &ro$eso
EJercicio resuelto NL 1(
?9eneraliza$i(n del e8er$i$io Nr "0C
#a$er un al,orit%o <ue en$uentre la su%a de los &ri%eros N n>%eros naturales
Continuacin
An:lisis
Datos 2e entra2a
O La $antidad de n>%eros a tener en $uenta en la su%a
Datos 2e sali2a
O La su%a de los &ri%eros N n>%eros naturales
Proceso
Pri%ero se debe $ono$er la $antidad de n>%eros naturales a su%ar y lue,o ,enerar y
su%ar los n>%eros $o%&rendidos entre " y esa $antidad El &ro$eso sera el %is%o
utilizado en el e8er$i$io "0
De0inicin 2e 7aria.les
NG Cantidad de n>%eros naturales a su%ar
NB@G Contador <ue ,enera los n>%eros entre " y N y <ue a su vez
$ontrola el $i$lo
2B@AG 2u%a de los n>%eros entre " y N
Al/orit3o
NCO
SUMA = 0
NUM = 1
LEA: N
MENTRAS NUM N HAGA
SUMA = SUMA + NUM
NUM = NUM + 1
FN_MENTRAS
ESCRBA: "LA SUMA ES:", SUMA
FN_NCO
Prue.a 2e escritorio
2i el valor de N es -G
N NB@ 2B@A
- " /
' "
* *
) 0
+ "/
0 "+
- '"
. '.
!ali2a
?ALTA RA?ICO PA. *( LI"RO
EJercicio resuelto NL 1)
Por $ada uno de los N estudiantes de una universidad, donde $ada uno $ursa ) %aterias se
tienen los si,uientes datosG
O C(di,o del estudiante
O Nota %ateria "
O N>%ero de $r3ditos de la %ateria "
O Nota %ateria '
O N>%ero de $r3ditos de la %ateria '
O Nota %ateria *
O N>%ero de $r3ditos de la %ateria *
O Nota %ateria )
O El N>%ero de $r3ditos de la %ateria )
#a$er un al,orit%o <ue en$uentre &ara $ada estudiante el n>%ero de $r3ditos $ursados y
el &ro%edio $r3dito
An:lisis
Datos 2e entra2a
O N>%ero de estudiantes
O C(di,o estudiante
O Nota %ateria "
O N>%ero de $r3ditos %ateria "
O Nota %ateria '
O N>%ero de $r3ditos %ateria '
O Nota %ateria *
Continuaci9n
O N>%ero de $r3ditos %ateria *
O Nota %ateria )
O N>%ero de $r3ditos %ateria )
Datos 2e sali2a
O C(di,o del estudiante
O N>%ero de $r3ditos $ursados
O Pro%edio $r3dito
Proceso
Pri%ero se entrar1 al al,orit%o el n>%ero de estudiantes y lue,o $on este valor se
$onstruir1 un $i$lo donde, en $ada e8e$u$i(n, en$uentre el &ro%edio $r3dito &ara $ada
estudiante El &ro%edio se obtiene %ediante la si,uiente f(r%ulaG
N>%ero de $r3ditos $ursados S ?ALTA ?%RMULA PA. *) LI"RO
De0inicin 2e 7aria.les
NEG N>%ero de estudiantes
CODG C(di,o
N"G nota %ateria "
NC"G N>%ero de $r3ditos %ateria "
N'G nota %ateria '
NC'G N>%ero de $r3ditos %ateria '
N*G nota %ateria *
NC*G N>%ero de $r3ditos %ateria *
N)G nota %ateria )
NC)G N>%ero de $r3ditos %ateria )
NB@EG Contador de estudiantes y $ontrolador de $i$lo
NCCG N>%ero de $r3ditos $ursados
PCG Pro%edio $r3dito
Al/orit3o
NCO
NUME = 1
LEA: NE
MENTRAS NUME < = NE HAGA
LEA: COD, N1, NC1, N2, NC2, N3, NC3, N4, NC4
NCC = NC1 + NC2 + NC3 + NC4
PC = (Nl * NC1 + N2 * NC2 + N3 * NC3 + N4 * NC4) / NCC
ESCRBA: "EL ESTUDANTE CON CODGO", COD,
"CURSO", NCC, "CREDTOS Y SU PROMEDO FUE:", PC
NUME = NUME + 1
FN_MENTRAS
FN_NCO
Prue.a 2e escritorio
2i el n>%ero de estudiantes es + y los datos de $ada $urso los si,uientesG
4'. '+ )/ *+ )/ '. */ )) )/
-0) *+ )/ )0 */ *. */ )' +/
'.' */ */ *+ */ *0 )/ +/ )/
)*' )' )/ */ )/ '+ )/ ). */
'+" )* )/ )/ )/ )* '/ +/ +/
+

NE COD N" NC" N' NC' N* NC* N) NC) NB@E NCC PC
+ '0" */ ) )/ ) )* ' +/ + " "+ ))+
)*' )' ) */ ) '+ ) ). * ' "+ *++
'.' */ * *+ * *0 ) +/ ) * ") *.+
-0) *+ ) )0 * *. * )' + ) "+ )/"
4'. '+ ) *+ ) '. * )) ) + "+ ***
0
!ali2a


EL E2TBDIANTE CON CODI9O '+" CB52O "+ C5EDITO2 T 2B P5O@EDIO :BEG ),)+
EL E2TBDIANTE CON CODI9O )*' CB52O "+ C5EDITO2 T 2B P5O@EDIO :BEG *,++
EL E2TBDIANTE CON CODI9O '.' CB52O ") C5EDITO2 T 2B P5O@EDIO :BEG *,.+
EL E2TBDIANTE CON CODI9O -0) CB52O "+ C5EDITO2 T 2B P5O@EDIO :BEG ),/"
EL E2TBDIANTE CON CODI9O 4'. CB52O "+ C5EDITO2 T 2B P5O@EDIO :BEG *,**
&.'. Es@ue3a cualitati7o
Este es<ue%a es utilizado $uando no se $ono$e el n>%ero de ve$es <ue debe re&etirse la
se$uen$ia de un deter%inado $i$lo En esta $lase de $i$lo el usuario de$ide $u1ndo ter%inar $on
el &ro$eso re&etitivo sin i%&ortar $uantas itera$iones se 6ayan efe$tuadoI a diferen$ia de los
$i$los anteriores, en donde el n>%ero de itera$iones est1 deter%inado desde el &rin$i&io
La i%&le%enta$i(n del %odelo se 6a$e de%ar$ando el ,ru&o de re,istros o datos a &ro$esar
%ediante infor%a$i(n inv1lida &ara el &ro$esoI &or lo tanto, se deben $ono$er las $ara$tersti$as
de los datos y $on base en esto usar una %ar$a $o%o re,istro final <ue deli%ite la infor%a$i(n
<ue interviene dentro del &ro$eso La %ar$a o re,istro $entinela, $o%o ta%bi3n se le $ono$e,
tiene el si,nifi$ado de no 6ay %1s datos, o si%&le%ente no 6ay %1s re,istros &ara &ro$esarI en
otros t3r%inos se lle,( al final del ar$6ivo El re,istro <ue $ontiene la %ar$a ?$entinelaC se
adi$iona al final del ar$6ivo $o%o >lti%o re,istro La or,aniza$i(n de la infor%a$i(n seraG

A r $ 6 i v o

a 5 e , i s t r o ) b

a 5 e , i s t r o * b

a 5 e , i s t r o ' b

a 5 e , i s t r o " b

a % a r $ a b

El valor de la %ar$a es &rodu$to de la es$o,en$ia de un $a%&o dentro del re,istro <ue ten,a
de%ar$ado su ran,o de valores &osibles La %ar$a es$o,ida ser1 un valor del %is%o ti&o &ero
<ue no est3 en el ran,o &osible de valores &er%itidos &ara ese deter%inado $a%&o 2i la %ar$a
es del %is%o ti&o del $a%&o es$o,ido, <uiere de$ir <ue si el $a%&o sele$$ionado es nu%3ri$o el
valor de la %ar$a ta%bi3n lo debe ser, lo %is%o su$ede si el $a%&o es alfanu%3ri$o o l(,i$o
EJercicio resuelto NL 1*
#a$er un al,orit%o <ue en$uentre la su%a y el &ro%edio de un ,ru&o de datos nu%3ri$os
&ositivos <ue entran de a uno &or re,istro
An:lisis
Datos 2e entra2a
O El valor de $ada n>%ero
Datos 2e sali2a
O La su%a de los n>%eros
O El &ro%edio del ,ru&o de n>%eros
Proceso
Co%o los datos entran de a uno &or re,istro, se lee un n>%ero, se su%a y se vuelve a leer
el &r(7i%o &ara su%arlo ta%bi3n lCu1ndo ter%inar este &ro$esom Co%o en este $aso
sola%ente 6ay un $a%&o en el re,istro se deben analizar las $ara$tersti$as de 3ste &ara
es$o,er el valor <ue no est3 &er%itido &ara 3l, de a$uerdo a lo <ue nos di$e el enun$iado
A6ora bien, el $a%&o es nu%3ri$o &ositivo, &or lo <ue ni el valor $ero ni los valores
ne,ativos seran tenidos en $uenta en la su%a de los n>%eros Esto &er%ite es$o,er un
valor &ara la %ar$a <ue est3 en el ran,o %enor o i,ual a $ero 2i se es$o,e el valor $ero,
si,nifi$a <ue se adi$ionar1 un re,istro $on este valor y <ue $uando se en$uentre es &or<ue
no 6ay %1s valores a su%ar En otras &alabras, se lee un n>%ero, se $o%&ara $on $ero, si
es %ayor <ue $ero se tiene en $uenta &ara la su%a, se lee el &r(7i%o y se le 6a$e la %is%a
$o%&ara$i(n y el &ro$eso ser1 $$li$o, 6asta <ue se en$uentre un valor i,ual a $eroI esto
6ar1 <ue se ter%ine el $i$lo de le$tura
Para en$ontrar el &ro%edio es ne$esario $ontar los n>%eros <ue se van a su%ar y su
$1l$ulo debe 6a$erse fuera del $i$lo $uando se obten,a la su%a total
Continuacin
Pro%edio S I &ero este N no est1 dado &or el enun$iado, &or lo tanto 6ay <ue $al$ularlo
De0inicin 2e 7aria.les
NB@G ;ariable <ue al%a$enar1 uno a uno $ada n>%ero o valores a
su%ar, una vez se e8e$uta una instru$$i(n de entrada
2B@AG A$u%ulador <ue totalizar1 los valores a entrar
NG Contador <ue $ontabilizar1 el total de n>%eros
P5O@G Pro%edio de los n>%eros
Al/orit3o
NCO
SUMA, N = 0 (1)
LEA: NUM (2)
MENTRAS NUM > 0 HAGA
SUMA = SUMA + NUM (3)
N = N + 1 (4)
LEA: NUM (5)
FN_MENTRAS
PROM = SUMA / N (6)
ESCRBA: "LA SUMA ES:", SUMA "Y EL PROMEDO", PROM (7)
FN_NCO
Prue.a 2e escritorio
2i el ,ru&o de n>%eros es '/, +/, -+, 4/, " el ,ru&o de re,istros ?ar$6ivoC estara
$onfor%ado de la si,uiente %aneraG
?ALTA RA?ICO PA. 1I2 LI"RO
5e,istro adi$ional $on la %ar$a /
"
4/
-+
+/
'/
#a,a%os un se,ui%iento, &aso a &aso, de lo <ue su$ede al e8e$utarse $ada instru$$i(n
2e e8e$uta la instru$$i(n ?"C 2B@A, N
/ /
2e e8e$uta la instru$$i(n ?'C NB@
'/ ?;alor del &ri%er re,istroC
Al lle,ar a la estru$tura @IENT5A2 se eval>a la e7&resi(nG E2 NB@ b / ?E2 '/ b /CG s, se
e8e$utan ?*C, ?)C y ?+C
?*C 2e le a,re,a NB@ a 2B@A, o sea, / H '/I
su nuevo $ontenido ser1G 2B@A
'/
?)C 2e le adi$iona " a N, o sea, /H"I
nuevo $ontenido de N N
"
?+C 2e lee un nuevo valor de NB@I NB@
+/
Lle,a al final del $i$lo y re,resa a evaluar la $ondi$i(nG E2 NB@ b / ?E2 +/b/CG s, se
e8e$utan ?*C, ?)C y ?+C
?*C 2e le a,re,a NB@ a 2B@A, o sea, '/H+/I
su nuevo $ontenido ser1G 2B@A
-/
?)C 2e le adi$iona " a N, o sea, "H"I
nuevo $ontenido de N N
'
?+C 2e lee un nuevo valor de NB@I NB@
-+
Lle,a al final del $i$lo y re,resa a evaluar la $ondi$i(nG E2 NB@ b / ?E2 -+b/CG s, se
e8e$utan ?*C, ?)C y ?+C
?*C 2e le a,re,a NB@ a 2B@A, o sea, -/ H -+I
su nuevo $ontenido ser1G 2B@A
")+
?)C 2e le adi$iona " a N, o sea, 'H"I
nuevo $ontenido de N N
*
?+C 2e lee un nuevo valor de NB@I NB@
4/
Lle,a al final del $i$lo y re,resa a evaluar la $ondi$i(nG E2 NB@ b / ?E2 4/b/CG s, se
e8e$utan ?*C, ?)C y ?+C
?*C se le a,re,a NB@ a 2B@A, o sea, ")+ H 4/I
su nuevo $ontenido ser1G 2B@A
'*+
?)C se le adi$iona " a N, o sea, * H "I
nuevo $ontenido de N N
)
?+C 2e lee un nuevo valor de NB@ NB@
"
Lle,a al final del $i$lo y re,resa a evaluar la $ondi$i(nG E2 NB@ b / ?E2 "b/CG s, se
e8e$utan ?*C, ?)C y ?+C ?*C 2e le a,re,a NB@ a 2B@A, o sea, '*+ H "I
su nuevo $ontenido ser1G 2B@A
'*0
?)C 2e le adi$iona " a N, o sea, )H"I
nuevo $ontenido de N N
+
?+C 2e lee un nuevo valor de NB@I NB@
/
2e eval>a la $ondi$i(n E2 NB@ b / ?E2 / b /CG NOI $o%o la $ondi$i(n es falsa, se e8e$utar1
la instru$$i(n si,uiente al $i$lo @IENT5A2
?0C 2e $al$ula el valor del P5O@ $o%o 2B@A K N
?'*0 K +C P5O@
)-'
?-C 2e %uestra el >lti%o valor de 2B@A y el valor de P5O@
!ali2a


LA 2B@A E2G '*0
T EL P5O@EDIOG )-'

EJercicio resuelto NL 2I
En un su&er%er$ado un a%a de $asa &one en su $arrito los art$ulos <ue va to%ando de
los estantes La seFora <uiere ase,urarse de <ue el $a8ero le $obre bien lo <ue ella 6a
$o%&radoI &or lo $ual, $ada vez <ue to%a un art$ulo distinto le $olo$a un $(di,o
nu%3ri$o %ayor <ue $ero, anota la $antidad de art$ulos i,uales y su &re$io y, deter%ina
$u1nto dinero ,astar1 en este art$uloI a esto le su%a lo <ue ira ,astando en los de%1s
art$ulos, 6asta <ue de$ide <ue ya to%( todo lo <ue ne$esitaba #a$er un al,orit%o <ue le
%uestre a la seFora el n>%ero del art$ulo, la $antidad de art$ulos de $ada es&e$ie, el
i%&orte total &or art$ulo y el i%&orte total de la $o%&ra
An:lisis
Datos 2e entra2a
O C(di,o asi,nado al art$ulo
O Cantidad de art$ulos i,uales de $ada &re$io
O Pre$io de $ada art$ulo
Continuacin
Datos 2e sali2a
O C(di,o asi,nado al art$ulo
O Pre$io de $ada art$ulo
O ;alor total a &a,ar &or $ada $lase de art$ulo
O ;alor total de la $o%&ra
Proceso
Co%o no se $ono$e la $antidad de art$ulos <ue $o%&rar1 la seFora, se debe usar un
es<ue%a $ualitativo 2e sabe <ue los $(di,os <ue la seFora $olo$a son nu%3ri$os %ayores
<ue $eroI &or lo tanto, se &uede es$o,er 3ste $o%o %ar$a <ue indi<ue <ue no 6ay %1s
art$ulos &or re,istrar
Los $1l$ulos dentro del &ro$eso ser1nG
;alor a &a,ar &or art$ulo S $antidad V &re$io del art$ulo Este total, $o%o debe
%ostrarse &or art$ulo, debe i%&ri%irse dentro del $i$lo
;alor total de la $o%&ra S 2u%a de valores totales a &a,ar &or art$uloI 3ste debe
%ostrarse des&u3s del $i$lo, <ue es $uando se tiene su >lti%o valor
De0inicin 2e 7aria.les
CODAG C(di,o asi,nado &or art$ulo
CANG Cantidad de art$ulos i,uales
P5ECIOG Pre$io del art$ulo
;ALTPAG ;alor total &or art$ulo
;TCG ;alor total de la $o%&ra
Al/orit3o
NCO
VTC = 0
ESCRBA: "CODGO ARTCULO CANTDAD PRECO UNTARO
SUBTOTAL"
LEA: CODA
MENTRAS CODA > 0 HAGA
LEA:CAN, PRECO
VALTPA = CAN * PRECO
VTC = VTC + VALTPA
ESCRBA: CODA, CAN, PRECO, VALTPA
LEA: CODA
FN_MENTRAS
ESCRBA: "TOTAL DE LA COMPRA:", VTC
FN_NCO
?ALTA RA?ICO PA. 1I( LI"RO O ARRELAR F
Prue.a 2e escritorio
5e,istro $on la %ar$a /
0 " +/////
+ ' "/*//'/
) 0 *.////
* ) ''+'+/
' "' *)+//
" + +'/+/
CODA CAN P5ECIO ;ALTP ;TC
" + +'/// '0/'+/ ///
' "' *)+// )")/// '0/'+/
* ) ''+'+/ 4/"/// 0-)'+/
) 0 *.//// ''.//// "+-+'+/
+ ' "/*'/// '/0)/)/ *.++'+/
!ali2a
C2i/o artculo Canti2a2 Precio unitario !u.total
" + +'/+/ '0/'+/
' "' *)++/ )")///
* ) ''+'+/ 4/"///
) 0 *.//// ''.////
+ ' "/*//'/ '/0)/)/
0 " +///// +/////
Total 2e la co3praH P '$.1*2.*I

&.(. ?or3ato /eneral 2e los 2os es@ue3as
NCO
<inicializar contador>
LEA: <cantidad de iteraciones>
MENTRAS <expresin lgica> HAGA
LEA: <registro de datos>
<PROCESO>
FN_MENTRAS
FN_NCO
Esquema cualitativo
NCO
LEA: <campo escogido>
MENTRAS <expresin lgica> HAGA
LEA: <resto del registro>
<PROCESO>
LEA: <campo escogido>
FN_MENTRAS
FN_NCO
&.). -aria.les tipo .an2era o sQitc5e
La bandera es una variable <ue ,eneral%ente usa dos valores e7$luyentes o diferentes, su
$ontenido es uno $ual<uiera de dos valores definidos &or el &ro,ra%ador, el $ual ordena $uando
$a%bia su $ontenido
La bandera es utilizada dentro de la &ro,ra%a$i(n $o%o un sele$$ionador de una de dos
alternativas a se,uir dentro del al,orit%o Antes de lle,ar a la e7&resi(n <ue se utili$e &ara
bifur$ar la e8e$u$i(n, la bandera debe tener asi,nado uno de los dos valores
Los valores es$o,idos &ara la bandera &ueden ser de $ual<uier ti&o de dato, &or e8e%&loG
Tipo 2e 2ato -alores 2e la .an2era
nu%3ri$o / y ", " y '
l(,i$o ; y :
$ar1$ter Q2R y QNR, ]2I^ y ]NO^, Q/R
y Q"R, ]ENCONT5ADO^
y ]NO
ENCONT5ADO^
La bandera ta%bi3n &uede utilizarse &ara la i%&le%enta$i(n de un %odelo $ualitativo,
$uando no es &osible sele$$ionar un valor <ue no est3 dentro del ran,o de valores &er%itido
&ara el $a%&o sele$$ionado dentro del re,istro
EJercicio resuelto NL 21
Elaborar un al,orit%o <ue ,enere los &ri%eros N t3r%inos de la su$esi(nG
"- "+ ". "0 "4 "- '/ ". '"
An:lisis
Datos 2e entra2a
O La $antidad de t3r%inos a ,enerar
Datos 2e sali2a
O Cada uno de los t3r%inos de la su$esi(n a ,enerar
Proceso
El al,orit%o debe ser >til &ara ,enerar $ual<uier $antidad de t3r%inos <ue se le soli$ite y
3sta se le debe dar al al,orit%o antes de e%&ezar a ,enerar los t3r%inos de la su$esi(n
Para ,enerar los t3r%inos se &arte del n>%ero "-, su%ando alternada%ente J' y * al
>lti%o valor ,enerado Esto i%&li$a <ue debe $ono$erse $u1ndo se su%a J' y $u1ndo se
su%a *I una solu$i(n es utilizar una bandera <ue to%e los valores " y ', la $ual se
ini$ializa en "I lue,o, en una estru$tura $ondi$ional se &re,unta si su valor es "I si es
$ierto se resta ' al t3r%ino, si no, se le su%a * y se $a%bia el valor de la bandera de " a '
De0inicin 2e 7aria.les
NTG N>%ero de t3r%inos a ,enerar
TE5G T3r%ino ,enerado, &arte del valor "-
CONTG Contador y ,enerador de t3r%inos entre " y NT
BANG Bandera, es utilizada &ara sele$$ionar si se su%a J' o *
Al/orit3o
NCO
LEA: NT
TER = 17
CONT, BAN = 1
MENTRAS CONT NT HAGA
ESCRBA: TER
S BAN = 1 ENTONCES
TER = TER - 2
BAN = 2
SNO
TER = TER + 3
BAN = 1
FN_S
CONT=CONT + 1
FN_MENTRAS
FN_NCO
Prue.a 2e escritorio
#a,a%os una &rueba <ue ,enere "/ t3r%inosG
NT TER CONT "AN
"/ "-
"+
".
"0
"4
"-
'/
".
'"
"4
''
"
'
*
)
+
0
-
.
4
"/
""
"
'
"
'
"
'
"
'
"
'
"

!ali2a
?ALTA RA?ICO PA. 11I LI"RO
EJercicio resuelto NL 22
#a$er un al,orit%o <ue en$uentre la su%a de los valores de un $on8unto de n>%eros
enteros, la $antidad de valores ne,ativos, &ositivos, i,uales a $ero y el total de n>%eros
en el $on8unto
An:lisis
Datos 2e entra2a
O El valor entero a su%ar
Datos 2e sali2a
O La su%a de todos los n>%eros enteros leidos
O La $antidad de valores ne,ativos
O La $antidad de valores &ositivos
O La $antidad de valores i,uales a $ero
O El total de n>%eros en el $on8unto
Proceso
Co%o no se $ono$e la $antidad de valores a tener en $uenta en la su%a, es ne$esario
utilizar un %odelo $ualitativo Al tener el re,istro de entrada un s(lo $a%&o y el ran,o de
valores de 3ste son los n>%eros enteros ?ne,ativos, $ero y &ositivosC, no e7iste un valor
del %is%o ti&o, $on <ui3n $o%&ararlo &ara ter%inar el $i$lo Bna for%a de i%&le%entar
el %odelo $ualitativo en $asos $o%o 3ste es %ediante el uso de una bandera
2i se es$o,en los valores s2Is y sNOs &ara la bandera, 3sta e%&ezar1 en s2Is, y $uando
ya no e7istan %1s valores a su%ar se le dar1 el valor de sNOs Esto i%&li$a entrar un
valor, su%arlo, y de a$uerdo a si 6ay %1s valores o no, darle el valor de s2Ic o sNOs a la
bandera Para realizar las su%as basta $o%&arar el valor $on $ero y deter%inar si 3ste es
$ero, ne,ativo o &ositivo
De0inicin 2e 7aria.les
NB@G N>%ero o valor a su%ar
2B@AG 2u%atoria de los n>%eros
;ALNG Cantidad de valores ne,ativos
;AL/G Cantidad de valores i,uales a $ero
;ALPG Cantidad de valores &ositivos
TOTALNG Total de n>%eros su%ados Este valor se $al$ular1 des&u3s
del $i$lo $o%o ;ALP H ;ALN H ;AL/
2I9AG ;ariable ti&o bandera <ue se ini$ializar1 en s2IsI $uando no
e7istan %1s valores to%ar1 el valor de sNOs
Al/orit3o
NCO
VALN, VAL0, VALP, SUMA = 0
SGA = "S"
MENTRAS SGA = "S" HAGA
LEA: NUM
SUMA = SUMA + NUM
S NUM > 0 ENTONCES
VALP= VALP + 1
SNO
S NUM = 0 ENTONCES
VAL0 = VAL0 + 1
SNO
VALN = VALN + 1
FN_S
FN_S
LEA: SGA
FN_MENTRAS
TOTALN = VALP + VALN + VAL0
ESCRBA: "SUMA DE LOS NMEROS:", SUMA,
"NUMEROS NEGATVOS:", VALN, "NMEROS
GUALES A CERO:", VAL0, "NMEROS
POSTVOS:", VALP, "TOTAL DE NUMEROS:",
TOTALN
FN_NCO
2i los valores a su%ar son '/, J"+, */, /, J), /, +/, la $onfor%a$i(n de la entrada de datos del
al,orit%o seraG
NO
+/
2I
/
2I
J)
2I
/
2I
*/
2I
J"+
2I
'/
;ALN ;ALO ;ALP 2B@A 2I9A TOTALN NB@
/ / / / 2I - '/
" " " '/ 2I J"+
' ' ' + 2I */
* '+ 2I /
'+ 2I J)
'" 2I /
'" 2I +/
-" NO
!ali2a

2B@A DE LO2 Nq@E5O2G ."
Nq@E5O2 NE9ATI;O2G '
Nq@E5O2 I9BALE2 A CE5OG '
Nq@E5O2 PO2ITI;O2G *
TOTAL DE Nq@E5O2G -

&.*. Ruptura 2e ciclos
Dentro de la &ro,ra%a$i(n, al,unas ve$es, es ne$esario 6a$er <ue un $i$lo se deten,a
abru&ta%ente ?aborteC, &or<ue ya se $u%&li( al,o <ue se ne$esitaba o se estaba bus$ando, &or lo
<ue, &osible%ente, no se al$an$e a satisfa$er $o%&leta%ente en una for%a nor%al la
$ul%ina$i(n de la $antidad de ve$es <ue debe e8e$utarse o re&etirse un $i$lo La ru&tura se 6a$e
$a%biando el sentido de la e7&resi(n l(,i$a <ue $ontrola el $i$lo, &ara <ue 3sta sea falsa y no se
$ontin>e e8e$utando la se$uen$ia de instru$$iones
EJercicio resuelto NL 2#
2e tiene una serie de N n>%eros enteros 2e <uiere saber si dentro de ellos e7iste, &or lo
%enos, uno $uyo valor sea $ero
An:lisis
G La $antidad de n>%eros
O El valor de $ada n>%ero
Datos 2e sali2a
O La salida ser1 un %ensa8e $uyo $ontenido de&ender1 de si se en$uentra o no
el valor $ero dentro de los N n>%eros
Continuacin
2i 6ay un valor $ero, la salida ser1G s2I #AT BN CE5O ENT5E LO2 NB@E5O2sI y si
no la salida ser1G sNO #AT BN ;ALO5 I9BAL A CE5Os
Proceso
Co%o el enun$iado di$e <ue son N n>%eros este valor ser1 dado al al,orit%oI &or lo
tanto, se &uede i%&le%entar un es<ue%a $uantitativo a trav3s de un $ontador <ue to%a
valores entre " y la $antidad de n>%eros
Co%o el ob8etivo del al,orit%o es de$ir si se en$uentra, o no, un valor $ero dentro del
,ru&o de n>%eros, $ada vez <ue se entre un valor se $o%&ara $on $ero, si 3ste esG
O Diferente de $ero se entra el &r(7i%o valor y se le 6a$e la %is%a
o&era$i(n
O 2i es i,ual a $ero se debe detener la b>s<ueda, &or lo tanto se le $a%bia de
valor a la bandera utilizar
Cuando se ter%ine el $i$lo es ne$esario saber si se en$ontr(, o no, un valor $eroI esto lo
6a$e%os %ediante una variable ti&o bandera $uyo valor ini$ial ser1 : y se le $a%biar1 de
$ontenido $uando se en$uentre un valor i,ual a $ero
De0inicin 2e 7aria.les
NNG Cantidad de n>%eros en el ,ru&o
NB@G Cada valor de un n>%ero del ,ru&o
CONTAG Contador de valores entre " y NN
ENCONT5ADOG ;ariable ti&o bandera $uyo valor ini$ial es :
Al/orit3o
NCO
LEA: NN
CONTA = 1
ENCONTRADO = .F.
MENTRAS (CONTA < = NN) (ENCONTRADO =.F.) HAGA
LEA: NUM
S NUM = 0 ENTONCES
ENCONTRADO =.V.
SNO
CONTA = CONTA + 1
FN _S
FN_MENTRAS
S ENCONTRADO = .V. ENTONCES
ESCRBA: "S HAY UN CERO ENTRE LOS NUMEROS"
SNO
ESCRBA: "NO HAY UN CERO ENTRE LOS NUMEROS"
FN_S
FN_NCO
Prue.a 2e escritorio
2i los valores son 0
P&$E4A 8
;aloresG */ J"+ "/ J) " "''
NN CONTA ENCONT5ADO NB@
0 " : */
' J"+
* "/
) J)
+ "
0 "''
-
!ali2a


NO #AT BN CE5O ENT5E LO2 Nq@E5O2

P&$E4A :
;aloresG ")/ .4 / J") "0 /
NN CONTA ENCONT5ADO NB@
0 " : ")/
' .4
* ; /
!ali2a

2j #AT BN CE5O
ENT5E LO2 Nq@E5O2

&.1I. Ro3pi3ientos 2e control 2e eJecucin
Los ro%&i%ientos de $ontrol en la e8e$u$i(n de un al,orit%o se &resentan $uando es
ne$esario detener el &ro$eso &or<ue se 6a &rodu$ido un $a%bio y se deben dar re&ortes de lo
<ue 6a a$onte$ido antes de la ru&tura En estos $asos los re,istros a &ro$esar est1n a,ru&ados
&or lotesI $ada uno de ellos &ertene$e a una deter%inada entidad, &ersona o $osa y tiene un
$a%&o $uyo $ontenido $a%bia $uando se &asa de un lote a otro Para dete$tar el $a%bio de un
lote de re,istros a otro se 6a$e uso de una variable au7iliar, <ue al%a$ene el valor <ue tena el
$a%&o antes del $a%bio de $ontenido Al leer un re,istro y el valor del $a%&o no $a%bia, se
si,ue el &ro$eso nor%alI si su valor es diferente al de la variable au7iliar, se detiene el $ontrol de
la e8e$u$i(n &ara efe$tuar &ro$esos distintos al de la rutina o se$uen$ia
EJercicio resuelto NL 2$
Bna e%&resa $on varias su$ursales tiene la si,uiente infor%a$i(n &or $ada uno de sus
e%&leadosG
O El $(di,o del e%&leado
O El $(di,o de la su$ursal
O No%bres
O El salario %ensual
La infor%a$i(n o re,istros de los e%&leados de $ada su$ursal se en$uentran 8untos dentro
del ar$6ivo
#a$er un al,orit%o <ue &roduz$a un re&orte de los e%&leados, dando totales de salarios
&or $ada su$ursal
An:lisis
Datos 2e entra2a
O C(di,o del e%&leado
O C(di,o de la su$ursal
O No%bres
O 2alario %ensual
Datos 2e sali2a
O C(di,o de la su$ursal
O C(di,o del e%&leado
O No%bres
Continuacin
O 2alario
O Total de salarios &or su$ursal
Proceso
2e debe i%&le%entar un es<ue%a $ualitativo ya <ue no se $ono$e la $antidad de
e%&leados <ue tiene la e%&resa, el $i$lo de le$tura ter%inar1 $uando se
en$uentre un $(di,o de e%&leado $uyo valor sea $ero Para dar los totales &or su$ursal se
6a$e ne$esario dete$tar $u1ndo se &asa de un re,istro &ertene$iente a una su$ursal a otro
de una su$ursal distintaI &ara re$ono$er el $a%bio se 6ar1 uso de una variable au7iliar <ue
al%a$ene el $(di,o de la su$ursal anterior, de tal %anera, <ue $uando el $(di,o de la
su$ursal leda sea diferente al $(di,o de la su$ursal anterior se &roduz$a el re&orte de los
totales de salarios &or su$ursal La i%&le%enta$i(n de la ru&tura se 6ar1 %ediante un
$i$lo @IENT5A2, $uya e7&resi(n l(,i$a ser1 verdadera si el $(di,o de la su$ursal
anterior i,ual al $(di,o de la su$ursal leda y falsa $uando los $(di,os sean distintos
El for%ato de los re&ortes o salida &or su$ursal ser1 el si,uienteG
5EPO5TE DE 2ALA5IO2 2BCB52ALG !!
CDDI9O NO@B5E2 2ALA5IO
!!! !!! !!!77

TOTAL 2ALA5IO2 DE LA 2BCB52ALG W!!!!!77

?ALTA RA?ICO PA. 11( LI"RO
De0inicin 2e 7aria.les
CODG C(di,o del e%&leado
COD2G C(di,o de la su$ursal
NO@G No%bres del e%&leado
2ALG 2alario
TOT2BCG Total de salarios &or $ada su$ursal
COD2AG C(di,o de la su$ursal anterior
Al/orit3o
NCO
LEA: COD, CODS, NOM, SAL
MENTRAS COD <> 0 HAGA
ESCRBA: "REPORTE DE SALAROS SUCURSAL:",
CODS
ESCRBA: "CODGO NOMBRES SALARO"
CODSA = CODS
TOTSUC = 0
MENTRAS (CODS = CODSA) (COD <> 0) HAGA
ESCRBA: COD, NOM, SAL
TOTSUC = TOTSUC + SAL
LEA: COD
S COD <> 0 ENTONCES
LEA: CODS, NOM, SAL
FN_S
FN_MENTRAS
ESCRBA: "TOTAL SALAROS DE LA SUCURSAL:$",
TOTSUC
FN_MENTRAS
FN _NCO
Prue.a 2e escritorio
/
* " " / ) J A I 5 O A N T O N I O * . . - * )
" " . / * : L O 5 E N C I A @ A 5 I A ) ' + / / /
" " 4 / * 5 B T # D E J E 2 q 2 " " 4 * ' +
' " ' / ' C O 5 I N A : 5 A N C I 2 C A . ' * + " )
" " - / ' A L B E 5 T I N A I 2 A B E L " 4 " ' ' "
/ 4 4 / ' 9 B I L L E 5 @ O 2 E 9 B N D O ' ' ' 0 / )
' " " / " L B I 2 A B E 5 T A * " ' + " 0
" ' " / " 9 5 A C I E L A D E L C A 5 @ E N ' + * ) ' *
" " ) / " E L I A 2 J O 2 E " . / / / /
C O D C O D ! N O M ! A L C O D ! A T O T ! U C
" " ) / " E l i a s J o s e " . / / / / / " /
" ' " / " 9 r a $ i e l a d e l C a r % e n ' + * ) ' * " . / / / /
' " " / " L u i s a B e r t a * " ' + " 0 ) * * ) ' *
/ 4 4 / ' 9 u i l l e r % o 2 e , u n d o ' ' ' 0 / ) / ' - ) + 4 * 4
" " - / ' A l b e r t i n a I s a b e l " 4 " * ' " /
' " ' / ' C o r i n a : r a n $ i s $ a . ' * + " ) ' ' ' 0 / )
" " 4 / * 5 u t 6 D e J e s > s " " 4 * ' + / * ) " * 4 ' +
" " . / * : l o r e n $ i a @ a r i a ) ' + / / / " ' * 4 ) * 4
* " " / ) J a i r o A n t o n i o * . . 4 * ) / ) /
/ " " 4 * ' +
+ ) ) * ' +
/
* . . 4 * )

J !ali2a
J
EJercicio resuelto NL 2&
Bna e%&resa de ventas tiene la infor%a$i(n de sus vendedores $lasifi$ada &or su$ursal y
dentro de $ada su$ursal, &or vendedor Cada re,istro de un vendedor &osee los si,uientes
datosG $(di,o de la su$ursal, $(di,o del vendedor, n>%ero de la fa$tura y valor de la
venta
#a$er un al,orit%o <ue %uestre la rela$i(n de ventas 6e$6as &or $ada vendedor, dando
subtotales &or vendedor, &or su$ursal y el ,ran total de ventas de la e%&resa
An:lisis
Datos 2e entra2a
O C(di,o de la su$ursal
O C(di,o del vendedor
O N>%ero de la fa$tura
O ;alor de la venta
Datos 2e sali2a
O C(di,o de la su$ursal
O C(di,o del vendedor
O N>%ero de la fa$tura
O ;alor de la venta
O Total de ventas &or $ada vendedor
O Total de ventas &or su$ursal
O Total de ventas de la e%&resa
Proceso
Co%o no se $ono$e la $antidad de su$ursales <ue tiene la e%&resa es ne$esario
i%&le%entar un es<ue%a $ualitativo Para el $ontrol del $i$lo de entrada de datos se
es$o,e el $a%&o $(di,o de la su$ursal y, el $i$lo se re&etir1 6asta <ue se en$uentre un
valor de $(di,o de su$ursal i,ual a $ero
Para dar totales &or vendedor es ne$esario 6a$er un ro%&i%iento de $ontrol de e8e$u$i(n
$ada <ue, dentro de una su$ursal, se $a%bie de un vendedor a otro Para ello se es$o,e
una variable au7iliar <ue al%a$ene el $(di,o del vendedor anterior y se a$tualiza $uando
entre infor%a$i(n de un vendedor distinto Co%o 6ay <ue dar totales &or su$ursal 6ay <ue
6a$er otro ro%&i%iento de $ontrol $uando se $a%bie de una su$ursal a otra Esta $lase de
&roble%a se deno%ina ro%&i%iento de $ontrol de se,undo nivelI &ueden e7istir
ro%&i%ientos de %1s niveles La salida de infor%a$i(n estar1 de a$uerdo $on el si,uiente
for%atoG
Continuacin
;ENTA2 DEL @E2 2BCB52AL !!
;ENDEDO5 N5O :ACTB5A ;ALO5 ;ENTA
!!! !!! !!!77
!!! !!! !!!77
TOTAL ;ENDEDO5
!!! !!! !!!77
TOTAL ;ENDEDO5 !!!
TOTAL 2BCB52AL !!!
TOTAL E@P5E2A !!!
De0inicin 2e 7aria.les
CO2BCG C(di,o de la su$ursal
CO2BCAG C(di,o de la su$ursal anterior
CO;ENG C(di,o del vendedor
CO;ENAG C(di,o del vendedor anterior
N:G N>%ero de la fa$tura
;;G ;alor de la venta
TO@ENG Total de ventas de un vendedor
TOT2BCG Total de ventas de una su$ursal
TOTEG Total de ventas de la e%&resa
Al/orit3o
NCO
TOTE = 0
LEA: COSUC, COVEN, NF, VV
MENTRAS COSUC <> 0 HAGA
COSUCA = COSUC
TOTSUC = 0
ESCRBA: "VENTAS DEL MES SUCURSAL:", COSUC
ESCRBA: "VENDEDOR NRO. FACTURA VALOR VENTA"
MENTRAS (COSUC = COSUCA) (COSUC <> 0) HAGA
COVENA = COVEN
TOTVEN = 0
MENTRAS (COVEN = COVENA) (COSUC <> 0)
(COSUC = COSUCA)
ESCRBA: COVEN, NF,VV
TOTVEN = TOTVEN + VV
LEA: COSUC
S COSUC <> 0 ENTONCES
LEA: COVEN, NF, VV
FN_S
FN_MENTRAS
ESCRBA: "TOTAL VENDEDOR:$", TOTVEN
TOTSUC = TOTSUC + TOTVEN
FN_MENTRAS
TOTE = TOTE + TOTSUC
ESCRBA: "TOTAL. SUCURSAL:$", TOTSUC
FN_MENTRAS
ESCRBA: "TOTAL EMPRESA:$", TOTE
FN_NCO
Prue.a 2e escritorio
/
/' "- "4 *//////
/' "0 "+ *4+./
/' "0 "" .////
/" 4' *" ).4+/
/" 4' */ */////
/" .4 '+ +.0//
/" .4 '* '')*+/
CO2BC CO2BCA CO;EN CO;ENA N: ;; TOT;EN TOT2BC TOTE
/" /" .4 .4 '* '')*,+/ / / /
/" .4 '+ +.0,// '')*,+/
/" 4' 4' */ *///,// '.'4,+/ '.'4,+/
/" 4' *" ).4,+/ /
/' /' "0 "0 "" .//,// *///,//
/' "0 "+ *4+,./ *).4,+/ 0*"4,// 0*"4,//
/' "- "- "4 */////// / /
/ .//,//
""4+,./ ""4+./
/
*/////// */""4+./*/-+")./
!ali2a
-entas 2el 3es sucursal I1
;endedor Nro fa$tura ;alor venta
.4 '* '')*+/
.4 '+ +.0//
Total vendedor '.'4+/
4' */ */////
4' *" ).4+/
Total vendedor *).4+/
Total su$ursal

0*"4//
-entas 2el 3es sucursal I2
;endedor Nro fa$tura ;alor venta
"0 "" .////
"0 "+ *4+./
Total vendedor ""4+./
"- "4 *///////
Total vendedor *///////
Total su$ursal */""4+./
Total e%&resa */-+")./

?ALTA RA?ICO PA. 12# LI"RO
EJercicio resuelto NL 2'
Cada uno de $uatro atletas desea saber si 6a ba8ado o subido de &eso desde la >lti%a vez
<ue se &es( Para esto $ada uno se &esa $in$o ve$es, $al$ula el &ro%edio de su &eso a$tual
y lo $o%&ara $on el &eso anterior #a$er un al,orit%o <ue deter%ine &ara $ada atleta si
ba8(, subi( de &eso o est1 estable y $u1nto es el in$re%ento en $aso de <ue e7ista
diferen$ia res&e$to al &eso anterior
An:lisis
Datos 2e entra2a
O Pro%edio de &eso de la >lti%a vez <ue se &es( $ada atleta
O Cada uno de los valores de las $in$o &esadas
O Diferen$ia de &esos
Datos 2e sali2a
O Bn %ensa8e <ue di,a si ba8(, subi( o est1 estable
O El in$re%ento de &eso en $aso de <ue e7ista diferen$ia entre los dos &esos
Proceso
2e usar1 un es<ue%a $uantitativo ya <ue se $ono$e el n>%ero de atletas Por $ada uno de
ellos se entrar1n $in$o valores de &esos obtenidos, &ara $al$ular el &ro%edio de &eso
a$tual
P5O@EDIO DE PE2O S ?PE2O" H PE2O' HHPE2O+C K +
La diferen$ia de &esos se obtiene restando el &eso anterior del &ro%edio de &eso a$tual
Al $o%&arar esta diferen$ia $on $ero se &uede estable$er si ba8(, subi( de &eso o est1
estable
De0inicin 2e 7aria.les
P5OANG Pro%edio de &eso anterior
PE2OG Cada uno de los + &esos
P5OACG Pro%edio de &eso a$tual
DPG Diferen$ia de &esos
CONAG Contador de atletas ?entre " y +C
CONPG Contador de &esos ?entre " y +C
2B@APG 2u%a de los + &esos de $ada atleta
Al/orit3o
NCO
CONA = 1
MENTRAS CONA 4 HAGA
LEA: PROAN
CONP, SUMAP = 0
MENTRAS CONP < 5 HAGA
LEA: PESO
SUMAP = SUMAP + PESO
CONP = CONP + 1
FN_MENTRAS
PROAC = SUMAP / 5
DP = PROAC - PROAN
S DP > 0 ENTONCES
ESCRBA: "EL ATLETA", CONA, "SUBO", DP,
"KLOS"
SNO
S DP = 0 ENTONCES
ESCRBA: "EL ATLETA", CONA, "ESTA
ESTABLE"
SNO
DP = DP * -1
ESCRBA: "EL ATLETA", CONA, "BAJO", DP,
"KLOS"
FN_S
FN_S
CONA = CONA + 1
FN_MENTRAS
FN_NCO
Prue.a 2e escritorio
75,0 74,9 75,1 74,8 75,2 75,0
80,5 79,0 79,5 80,,0 79,8 78,9
70,0 71,0 70,5 70,6 70,0 69,0
67,34 67,0 67,3 68,0 68,1 67,0

!ali2a


EL ATLETA " 2BBIO /") XILO2
EL ATLETA ' 2BBIO /'' XILO2
EL ATLETA * BAJO J"/0 XILO2
EL ATLETA ) E2TA E2TABLE

EJercicio resuelto NL 2(
Elaborar un al,orit%o <ue en$uentre el fa$torial de un n>%ero &ositivo
An:lisis
Datos 2e entra2a
O El n>%ero a $al$ularle al fa$torial
Datos 2e sali2a
O El fa$torial del n>%ero
Proceso
El fa$torial de un n>%ero N se obtiene $o%oG
Ng S " V ' V * V ) V V ?N J "C V N
Por defini$i(nG "g S " y /g S "
Para $al$ular la &rodu$toria es ne$esario ,enerar, a trav3s de un $ontador, los n>%eros
entre " y N e ir a$u%ulando $ada &rodu$to en una variable
Continuacin
ini$ializada en uno ?"C, &or ser 3ste el %(dulo de la %ulti&li$a$i(n El &ro$eso de
a$u%ula$i(n se 6a$e $ada vez <ue se ,enera un nuevo n>%ero
De0inicin 2e 7aria.les
NG N>%ero a $al$ularle el fa$torial
CONG Contador y ,enerador de n>%eros entre " y N
:ACG :a$torial del n>%ero N
Al/orit3o
NCO
LEA: N
CON, FAC = 1
MENTRAS CON N HAGA
FAC = FAC * CON
CON = CON + 1
FN_MENTRAS
ESCRBA: "EL FACTORAL DE", N, " ES: ", FAC
FN_NCO
Prue.a 2e escritorio
;alor de NG +
N CON :AC
+ " "
' "
* '
) 0
+ ')
0 "'/
!ali2a


EL :ACTO5IAL DE + E2G "'/

EJercicio resuelto NL 2)
Elaborar un al,orit%o <ue, dado un valor de !, deter%ine el valor de :?!C definida
&or la si,uiente serieG

Teniendo en $uenta los t3r%inos $uyo valor absoluto sean %ayores o i,uales a "/J*
An:lisis
Datos 2e entra2a
O El valor de !
Datos 2e sali2a
O El valor de :?!C
Proceso
La serie &uede ser e7&resada $o%oG
En este $aso el valor del e7&onente $oin$ide $on el n>%ero fa$torial del deno%inadorI
&ara ,enerar este valor se 6ar1 uso de un $ontador <ue &arta de $ero y se in$re%ente de
uno en uno, 6asta lle,ar a N
El t3r%ino a ,enerar ser1G
T3r%ino S ?! V V $ontadorC K ?$ontadorgC
El si,no de $ada t3r%ino se obtiene $o%oG
2i,no S ??J"C V V $ontadorC
El $i$lo ser1 $ontrolado &or el valor del t3r%ino, ya <ue a<uellos valores de los t3r%inos
%enores <ue "/J* no se tendr1n en $uenta
El fa$torial ser1 $al$ulado %ulti&li$ando el fa$torial anterior &or el $ontador $ada <ue 3ste
se in$re%enta en uno
De0inicin 2e 7aria.les
IG ContadorI ,enerador de e7&onente y n>%ero fa$torial
:!G A$u%ulador de la su%a de los t3r%inos de la serie
:ACG :a$torial del $ontador
TE5G T3r%ino de la serie ,enerado
Al/orit3o
NCO
LEA: X
FX, = 0
TER, FAC = 1
MENTRAS [[TER]] >= 10 ** (-3) HAGA
FX = FX + TER
= l + 1
FAC = FAC *
TER = X ** / FAC*(-1) ** l
FN_MENTRAS
ESCRBA: "EL VALOR DE F(X) ES: ", FX
FN_NCO
Prue.a 2e escritorio
! I :! TE5 :AC
' / / " "
" " J ' "
' J " ' '
* " J "*-** 0
) J /**** /+00- ')
+ /**** J /')0- "'/
0 //00- //4.4 -'/
- /"++0 J //'+) +/)/
. /"*/' ///0* )/*'/
4 /"*0+ J///") *0'../
"/ /"*+" ////* *0'..//
!ali2a


EL ;ALO5 DE :?!C E2G /,"*+"

EJercicio resuelto NL 2*
En una ele$$i(n realizada en Piedra Dura se &resentaron tres $andidatosG Pedro, Pablo y
;il%a Por $ada votante se tiene la si,uiente infor%a$i(nG
Piedra$3dulaG N>%ero de la $3dula del votante
O&$i(nG Ca%&o <ue indi$a el $andidato es$o,ido, si el valor del
$a%&o esG
"G vot( &or Pedro
'G vot( &or Pablo
*G vot( &or ;il%a
)G vot( en blan$o
Elaborar un al,orit%o <ue %uestre el n>%ero de votos de&ositados &or $ada $andidato y
el total de votantes
An:lisis
Datos 2e entra2a
O Piedra$3dula de $ada votante
O O&$i(n <ue indi$a el $andidato ele,ido
Datos 2e sali2a
O N>%ero de votos &or Pedro
O N>%ero de votos &or Pablo
O N>%ero de votos &or ;il%a
O N>%ero de votos en blan$o
O N>%ero total de votos
Proceso
Co%o no se $ono$e el total de votantes se debe i%&le%entar un es<ue%a $ualitativoI el
$a%&o es$o,ido dentro del re,istro ser1 Piedra$3dula, el $ual dentro de sus &osibles
valores no tiene uno <ue sea $ero o ne,ativo El $i$lo de entrada de datos ter%inar1
$uando en$uentre un valor de $ero &ara el $a%&o Piedra$3dula
El $a%&o o&$i(n &uede to%ar uno $ual<uiera de los valores entre " y ), &ero s(lo uno de
estos valores en $ual<uier %o%ento 2i :red vot( &or ;il%a y su $3dula es +.. su re,istro
seraG
+.. *
Esta $lase de $a%&os es %uy utilizada dentro de la &ro,ra%a$i(n, funda%ental%ente
$uando se trata de &roble%as de ti&o estadsti$o
Continuacin
De0inicin 2e 7aria.les
PCG N>%ero de &iedra$3dula
OPG O&$i(n ele,ida
N;PEG Contador del n>%ero de votos &or Pedro
N;PAG Contador del n>%ero de votos &or Pablo
N;;IG Contador del n>%ero de votos &or ;il%a
N;BLG Contador del n>%ero de votos en blan$o
NT;G N>%ero total de votos
Al/orit3o
NCO
NVPE, NVPA, NVV, NVBL = 0
LEA: PC
MENTRAS PC > 0 HAGA
LEA: OP
S OP = 1 ENTONCES
NVPE = NVPE + 1
SNO
S OP = 2 ENTONCES
NVPA = NVPA + 1
SNO
S OP = 3 ENTONCES
NVV = NVV + 1
SNO
NVBL = NVBL + 1
FN_S
FN_S
FN_S
LEA:PC
FN_MENTRAS
NTV = NVPE + NVPA + NVV + NVBL
ESCRBA: "VOTOS TOTALES", NTV, "REPARTDOS ASl:
PEDRO", NVPE, "PABLO ", NVPA, "VLMA ", NVV, "EN
BLANCO ", NVBL
FN_NCO
Prue.a 2e escritorio
/
*"' '
""' )
+.- *
+4/ "
+.. *

PC OP N;PA N;PE N;;I N;BL NT;
+.. * / / / /
+4/ " " "
+.- * " ' " +
""' )
*"' '

!ali2a

;OTO2 TOTALE2G +
5EPA5TIDO2 A2IG
PABLO " PED5O "
;IL@A ' EN BLANCO "

EJercicio resuelto No. #I
Bna industria de sobres de tar8etas de navidad dis&one en la a$tualidad de +// sobres,
distribuidos asG *// sobres de "+ $% de lar,o &or "/ $% de an$6o y '// sobres de '/ $%
de lar,o &or "+ $% de an$6o
Para <ue sea &osible introdu$ir una tar8eta en un sobre se re<uiere <ue el lar,o y an$6o de
la tar8eta sean %enores o i,uales al lar,o y an$6o del sobre La industria re<uiere un
al,orit%o <ue i%&ri%a el n>%ero de sobres <ue ne$esitar1 y el n>%ero de sobres <ue
tendr1 <ue &rodu$ir &ara $ubrir la de%anda de tar8etas Por $ada tar8eta &edida se
su%inistra el lar,o y el an$6o de la %is%a La industria s(lo &rodu$e sobres $uando no
tiene e7isten$ias de las di%ensiones &edidas
An:lisis
Datos 2e entra2a
O Lar,o del sobre &edido
O An$6o del sobre &edido
Continuacin
Datos 2e sali2a
O Cantidad de sobres &edidos
O Cantidad de sobres a fabri$ar
Proceso
No se $ono$e el n>%ero de sobres <ue se &edir1nI &or lo tanto, debe i%&le%entarse un
es<ue%a $ualitativo
Por $ada sobre &edido se debe e7a%inar si se tiene o no en las e7isten$ias
2i lar,o a "+ y an$6o a "/ dis%inuye en " la $antidad de sobres de "+ V "/ en $aso de
tener e7isten$ia, es de$ir, si es b / 2i no 6ay e7isten$ias de esta $lase de sobres se debe
&re,untar si e7isten sobres de '/ V "+ 2i los 6ay se dis%inuye en uno esta $lase de
e7isten$ias, y si no, se in$re%enta en uno el n>%ero de sobres a fabri$ar
No si el lar,o a '/ y an$6o a "+, se dis%inuye en " la $antidad de e7isten$ias de esta
$lase de sobres si los 6ay y, si no, se debe in$re%entar en " la $antidad de sobres a
fabri$ar
Defini$i(n de variables
LAG Lar,o del sobre &edido
ANG An$6o del sobre &edido
N2PG Cantidad de sobres &edidos
N2A:G N>%ero de sobres a fabri$ar
2D"+"/G E7isten$ias de sobres de "+ V "/
2D'/"+G E7isten$ias de sobres de '/ V "+
Al/orit3o
NCO
NSP, NSAF = 0
SD1510 = 300
SD2015 = 200
LEA: LA
MENTRAS LA > 0 HAGA
LEA: AN
NSP = NSP + 1
S (LA <= 15) (AN <= 10) ENTONCES
S SD1510 > 0 ENTONCES
SD1510 = SD1510 -1
SNO
S SD2015 > 0 ENTONCES
SD2015 = SD2015 -1
SNO
NSAF = NSAF + 1
FN_S
FN_S
SNO
S (LA <= 20 ) (AN <= 15) ENTONCES
S SD2015 > 0 ENTONCES
SD2015 = SAD2015 - 1
SNO
NSAF = NSAF - 1
FN_S
SNO
NSAF = NSAF + 1
FN_S
FN_S
LEA: LA
FN_MENTRAS
ESCRBA: "SOBRES PEDDOS:", NSP, "SOBRES A FABRCAR", NSF
FN_NCO
Prue.a 2e escritorio
;a%os a asu%ir <ue las e7isten$ias de sobres son de * y ', res&e$tiva%ente
Arc5i7o 2e 2atos
0
25 15
20 16
15 9
25 14
14 6
15 9
15 8

LA AN !D1&1I !D2I1& N!A? N!P
"+ . * ' / /
"* 4 ' " " "
") 0 " ' '
'+ ") / * *
"+ 4 )
*/ "0 +
'+ "+ 0
-

!ali2a


2OB5E2 PEDIDO2G -
2OB5E2 A :AB5ICA5G *
Aspectos a tener en cuentaH
a El es<ue%a $uantitativo se i%&le%enta a trav3s de un $ontador, la e7&resi(n l(,i$a <ue
,obierna el $i$lo se estable$e de a$uerdo al valor ini$ial <ue se le asi,ne a 3ste
b Los $ontadores y a$u%uladores deben &artir de un valor ini$ial
$ Bna vez <ue se entra a un $i$lo, 3ste debe e8e$utar todo el $on8unto de instru$$iones <ue lo
$o%&onen
d En la i%&le%enta$i(n de $ual<uiera de los dos es<ue%as, las variables <ue est1n
involu$radas en la e7&resi(n l(,i$a deben tener al%a$enado un valor
e Cuando e7isten $1l$ulos totales, al,unos se 6a$en dentro del $i$lo y otros &ueden 6a$erse
fuera del $i$lo
f El uso de una bandera e7i,e <ue 3sta ten,a asi,nado un valor en el %o%ento de evaluarse
, 2i un $i$lo ya $u%&li( su %isi(n, &ara <ue este ter%ine antes de <ue la $ondi$i(n en for%a
nor%al sea falsa, es ne$esario alterar la e7&resi(n l(,i$a
&.11. EJercicios propuestos
*. #a$er un al,orit%o <ue en$uentre la su%a de los n>%eros i%&ares $o%&rendidos entre " y
N
*4 Elaborar un al,orit%o <ue en$uentre la desvia$i(n t&i$a de un ,ru&o de datos &ositivos
)/ En$ontrar la raz $uadrada, el $uadrado y el $ubo de un ,ru&o de n>%eros enteros
&ositivos
)" Elaborar un al,orit%o <ue en$uentre el %ayor valor entre un ,ru&o de datos &ositivos
)' #a$er un al,orit%o <ue en$uentre la su%a de los valores %ayor y %enor entre un ,ru&o de
datos &ositivos
)* #a$er un al,orit%o <ue deter%ine la $antidad de tros de valores, entre un $on8unto de
ternas <ue re&resenten tri1n,ulos re$t1n,ulos
)) En $ada uno de una serie de re,istros se en$uentran tres valores <ue &osible%ente
re&resentan los tres lados de un tri1n,ulo #a$er un al,orit%o <ue deter%ine $u1ntos
tri1n,ulos e<uil1teros, is(s$eles y es$alenos 6ay
)+ #a$er un al,orit%o <ue en$uentre la $antidad de valores enteros <ue 6ay entre un &ar de
n>%eros &ositivos
)0 5ealizar un al,orit%o <ue es$riba la &osi$i(n de la $antidad de &untos <ue est3n ubi$ados
en el &ri%er $uadrante de una $ir$unferen$ia $on $entro ?/,/C
)- ;arias a%bulan$ias re$orren la $iudad y $uando se re$ibe en la CENT5AL una lla%ada se
infor%a la ubi$a$i(n de la e%er,en$ia %ediante $oordenadas, lo %is%o <ue la ubi$a$i(n de
todas las a%bulan$ias
La $entral es el &unto ?/,/C u ori,en de las $oordenadas
2e sabe <ue e7isten N a%bulan$ias en servi$io
5eali$e un al,orit%o <ue, dada la infor%a$i(n ne$esaria, infor%e las $oordenadas de la
a%bulan$ia %1s $er$ana al &unto de e%er,en$ia
). Dados N valores, diseFe un al,orit%o <ue 6a,a el si,uiente &ro$esoG
O 2i el valor es %enor <ue $ero $al$ular su $ubo
O 2i el valor est1 entre / y "// $al$ular su $uadrado
O 2i el valor est1 entre "/" y "/// $al$ular su raz $uadrada
)4 Elaborar un al,orit%o <ue deter%ine $u1ntos son los intereses ,enerados en $ada uno de
los N &erodos, &or un $a&ital de ! &esos, <ue se invierte a una $antidad de P &or $iento,
sin retirar intereses
+/ Elaborar un al,orit%o <ue en$uentre el fa$torial de los n>%eros $o%&rendidos entre " y N
+" #a$er un al,orit%o <ue entre dos valores A y B y en$uentre A
B
%ediante su%as
>ni$a%ente
+' Elaborar un al,orit%o <ue %uestre los enteros desde " 6asta N y sus $uadrados, $al$ulados
sola%ente $on su%as y utilizando el %3todo &ro&uesto
N>%ero Cuadrado @3todo
" " "
' ) " H *
* 4 " H * H +
) "0 " H * H + H -
+ '+ " H * H + H - H 4
. . .
. . .
. . .
N

+* Partiendo de la fun$i(n T S *!, elaborar un al,orit%o <ue $al$ule todos los &osibles
valores de T, sabiendo <ue ! &uede to%ar el valor de $ual<uier %>lti&lo entero de - en el
ran,o t/,"///u
+) Elaborar un al,orit%o <ue, dado un valor de !, obten,a el valor de E %ediante la su%a de
la serieG

E !
! ! !
= + + + + "
' * )
' * )
g g g
2i ! es %ayor o i,ual <ue /, in$luyendo los t3r%inos <ue sean %ayores <ue "/
J0

2i ! es %enor <ue $ero


E
E
7
=
"

++ Elaborar un al,orit%o <ue $al$ule &ara ! S / ", /',v , /4, el valor de la serie

! ! ! !
'
'
*
*
)
)
+
' * )
+ + + +
Para $ada valor de ! la su%a se $al$ula 6asta <ue el t3r%ino ,enerado sea %enor o i,ual a
un valor T dado
+0 Elaborar un al,orit%o <ue, dado un valor de !, deter%ine la su%a de los N &ri%eros
t3r%inos de la si,uiente serieG
! ! ! ! !
'
'
)
*
0
)
.
+
"0
' * ) +
g g g g g
+ + + + +
+- #a$er un al,orit%o <ue lea un valor de ! y $al$ule el valor de los &ri%eros N t3r%inos de
la serieG
"
' " * ) + 0 - .
* + - 4
+ + +
! ! ! !
V V V V

+. Elaborar un al,orit%o <ue en$uentre la su%a de los &ri%eros N t3r%inos de la su$esi(n de
:IBONACCI
Nsta se ,enera e%&ezando &or los n>%eros / y " y $al$ulando $ada nuevo %ie%bro $o%o
la su%a de los dos %ie%bros &re$edentes de la su$esi(n, asG
/ " " ' * + . "*
+4 2e tiene una serie de re,istro donde $ada uno de ellos $ontiene ) valores, <ue $orres&onden
a las lon,itudes de diferentes &atas de una %esa
Elaborar un al,orit%o <ue $6e<uee si $on los $uatro valores ledos en $ada re,istro se
&uede fabri$ar una %esa no $o8a, de $uatro &atas o, una %esa no $o8a de tres &atas en $aso
de <ue no se &ueda fabri$ar una de $uatro El al,orit%o debe %ostrar el n>%ero de %esas
de $uatro y tres &atas <ue se &ueden for%ar, lo %is%o <ue la $antidad de &atas sobrantes
0/ Bna e%&resa tiene un n>%ero variable de e%&leados y de $ada uno de ellos &osee la
si,uiente infor%a$i(nG
C(di,o
No%bres
N>%ero de 6i8os
2alario &or 6ora
N>%ero de 6oras traba8adas al %es
La reten$i(n &or $ada e%&leado se deter%ina asG
Para salarios %enores de W*/////G si el n>%ero de 6i8os es %ayor de 0 no 6ay reten$i(nI si
el n>%ero de 6i8os es %enor o i,ual a 0, se le retiene un &or$enta8e i,ual a 0 %enos el
n>%ero de 6i8os dividido &or '
Para salarios i,uales o %ayores a W*/////G si el n>%ero de 6i8os es %enor de *, se le
retiene un *PI si el n>%ero de 6i8os es %ayor o i,ual a * se le retiene un &or$enta8e i,ual a
"/ dividido &or el n>%ero de 6i8os
El subsidio &or $ada 6i8o es de W"'//
Elaborar un al,orit%o <ue %uestreG $(di,o, no%bres, deven,ado, reten$i(n, subsidio y
total a &a,ar
0" Bn vendedor desea $al$ular la $o%isi(n total sobre la venta de varios art$ulos Al
vendedor le $orres&onde el "/P de $o%isi(n sobre art$ulos, $uyo &re$io es %enor o i,ual
a W"/// y el -P de $o%isi(n sobre a<uellos art$ulos $uyo &re$io sea %ayor de W"///
Elabore un al,orit%o &ara obtener la $o%isi(n total, si se $ono$e <ue el vendedor 6izo N
ventas
0' 2e desea obtener el &ro%edio de N ,ru&os <ue est1n en un %is%o aFo es$olar, sabiendo
<ue $ada ,ru&o &uede tener @ alu%nos, $ada alu%no &uede $ursar X %aterias y en todas
las asi,naturas se &ro%edian tres $alifi$a$iones #a$er un al,orit%o <ue $al$ule el
&ro%edio de $ada alu%no, el &ro%edio de $ada ,ru&o y el &ro%edio de los ,ru&os
0* Bna ofi$ina de se,uros 6a reunido datos $on$ernientes a todos los a$$identes de tr1nsito
o$urridos en el 1rea %etro&olitana de @edelln en el >lti%o aFo Por $ada $ondu$tor
involu$rado en un a$$idente se to%an los si,uientes datosG aFo de na$i%iento, se7o ?"G
:e%enino, 'G @as$ulinoC, re,istro del $arro ?"G @edelln, 'G Otras $iudadesC #a$er un
al,orit%o <ue %uestreG
O El &or$enta8e de $ondu$tores %enores de '+ aFos
O Por$enta8e de $ondu$tores del se7o fe%enino
O Por$enta8e de $ondu$tores %as$ulinos $on edades entre "' y */ aFos
O Por$enta8e de $ondu$tores $uyos $arros est1n re,istrados fuera de @edelln
0) Bna e%&resa e7tran8era de avia$i(n fu%i,a $ose$6as $ontra una ,ran variedad de &la,as
Los valores $obrados a los ,ran8eros de&enden de lo <ue 3ste desea fu%i,ar y de $u1ntas
6e$t1reas se fu%i,an, de a$uerdo a la si,uiente distribu$i(nG
Ti&o "G fu%i,a$i(n $ontra %alas 6ierbas, "/ d(lares &or 6e$t1rea
Ti&o 'J fu%i,a$i(n $ontra lan,ostas, "+ d(lares &or 6e$t1rea
Ti&o *G fu%i,a$i(n $ontra ,usanos, '/ d(lares &or 6e$t1rea
Ti&o )G fu%i,a$i(n $ontra todo lo anterior, */ d(lares &or 6e$t1rea
2i el 1rea a fu%i,ar es %ayor de "/// 6e$t1reas, el ,ran8ero ,oza de un +P de des$uento
Ade%1s, $ual<uier ,ran8ero $uya $uenta sobre&ase los */// d(lares se le des$uenta un
"/P sobre la $antidad <ue e7$eda di$6o &re$io 2i se a&li$an a%bos $on$e&tos, el
$orres&ondiente a la su&erfi$ie se $onsidera &ri%ero Por $ada &edido se tiene la si,uiente
infor%a$i(nG no%bre del ,ran8ero, ti&o de fu%i,a$i(n soli$itada ?", ', *,)C y el n>%ero de
6e$t1reas a fu%i,ar Por $ada soli$itud se debe su%inistrarG no%bre del ,ran8ero y valor a
&a,ar
0+ 2e desea invertir una $antidad de dinero de %anera <ue lle,ue a ser ! &esos en T aFos 2i
la tasa a$tual de inter3s es de 5P, enton$es la $antidad a invertir ?el valor &resente de !C
est1 dado &or la si,uiente f(r%ulaG
!
5 ? V C " / /" +
00 #a$er un al,orit%o <ue obten,a el &ro%edio de tie%&o &or se%ana, &or %es y &or aFo de
un atleta <ue re$orre la %is%a ruta durante + das a la se%ana
0- A lo lar,o de un da un $a8ero &ro$esa a las &ersonas <ue lle,an a efe$tuar %ovi%ientos
ban$arios Estos %ovi%ientos son esen$ial%ente $onsi,na$iones y retiros Deter%inar la
$antidad total de dinero obtenido &or $on$e&to de $onsi,na$iones y retiros en todo el da, lo
%is%o <ue un balan$e <ue indi<ue si 6ubo %1s retiros <ue $onsi,na$iones y la diferen$ia
absoluta
0. #a$er el $ontrol de un tablero <ue re,istra los &untos de set de un &artido de tenis de + sets
sin %uerte s>bita, es de$ir, <ue ,ana el set a<u3l <ue lle,ue a 0 &untos o %1s, $on dos
&untos de venta8a sobre el adversario Debe %ostrarse un %ensa8e $on el no%bre del
8u,ador <ue ,ana $ada set y el no%bre del ,anador del &artido
04 En un $urso se &ra$ti$an ) evalua$iones $on los si,uientes &or$enta8esG '+P, '/P, '+P y
*/P, res&e$tiva%ente Por $ada estudiante se infor%a $(di,o y las $uatro notas #a$er un
al,orit%o <ue $al$ule la nota definitiva de $ada estudiante, el &ro%edio de notas definitivas
del $urso y el &or$enta8e de &erdedores
-/ #a$er un al,orit%o <ue $al$ule el valor &resente de P &esos al " P de inter3s, &ara &erodos
de uno a veinte aFos en &asos de dos aFos ?ver f(r%ula e8er$i$io de ren,l(n 0*C
-" La $riba de Erat(stenes es una t3$ni$a &ara ,enerar n>%eros &ri%os 2e $o%ienza
es$ribiendo todos los enteros i%&ares desde * 6asta NI lue,o se eli%ina $ada ter$er
ele%ento des&u3s de *, $ada <uinto ele%ento des&u3s de +, et$, 6asta <ue los %>lti&los de
todos los enteros i%&ares %enores <ue N 6ayan sido eli%inados Los enteros <ue <uedan
$onstituyen la lista e7a$ta de los n>%eros &ri%os entre * y N DiseFar un al,orit%o <ue
,enere los n>%eros &ri%os entre " y "///, utilizando la t3$ni$a de la $riba
-' 2u&on,a <ue una tienda en &arti$ular vende todas sus %er$an$as a un &re$io de W"/// o
%enos 2u&on,a, ade%1s, <ue todos los $o%&radores &a,an $on una %oneda de W"///
todas sus $o%&ras DiseFe un al,orit%o &ara leer los &re$ios de los art$ulos vendidos y
&ara $al$ular el n>%ero de %onedas <ue debe dar a $a%bio, de tal %anera, <ue devuelva un
%ni%o de %oneda fra$$ionaria Por e8e%&lo, si el &re$io de la venta es de W)+/, el $a%bio
debe ser una %oneda de W+// y una %oneda de W+/
-* Es$riba un al,orit%o &ara leer e i%&ri%ir un te7to de entrada y deter%inar el n>%ero de
ora$iones y &alabras involu$radas Asu%a <ueG
a Cada ora$i(n ter%ina $on un &unto, y <ue el $ar1$ter &unto no es utilizaJ
do &ara nin,>n otro &ro&(sito
b Las &alabras est1n $onfor%adas &or letras y se&aradas &or blan$o
-) Cierta su$esi(n &arte de los n>%eros /, ", "I de a6 en adelante los nuevos t3r%inos se
for%an %ediante la su%a de los tres t3r%inos in%ediata%ente anteriores, asG
/,",",',),-,"*,')
#a$er un al,orit%o <ue ,enere y %uestre los &ri%eros N t3r%inos de la su$esi(n
-+ Elaborar un al,orit%o <ue entre la 6ora de un da en 6oras, %inutos y se,undosI se desea
obtener la 6ora a los */ se,undos si,uientes
-0 Dado un %es del aFo y si el aFo es o no bisiesto, 6a$er un al,orit%o <ue $al$ule los das
del %es
-- Bn distribuidor de 8u,uetes 6a 6e$6o una e7$elente $o%&ra de "//// 8u,uetes en $a8as
re$tan,ulares de diversos ta%aFos El distribuidor desea &oner las $a8as en esferas &l1sti$as
de brillantes $olores y sellarlas $o%o &a<uetes de sor&resa Las esferas son de $uatro
di1%etros diferentesG ), 0, . y "/ &ul,adasI &or lo <ue &ara realizar todo en orden desea
saber $u1ntas esferas de $ada di1%etro debe $o%&rarI la dia,onal de una $a8a re$tan,ular,
$uyas di%ensiones son A, B y C, est1 dada &or y es, ade%1s, la di%ensi(n %ayor El
distribuidor debe $al$ular las lon,itudes de las dia,onales de las $a8as y deter%inar el
n>%ero de las <ue son de ) &ul,adas o %enos, las $o%&rendidas entre ) y 0 &ul,adas, et$
Las di%ensiones de $ada $a8a est1n en un re,istro DiseFar un al,orit%o <ue deter%ine el
n>%ero de esferas de $ada ta%aFo <ue se ne$esitan &ara e%&a$ar los 8u,uetes
-. Bn restaurante &a,a a sus %eseros dos $lases de $o%isionesG
O Bna $o%isi(n del -P sobre toda venta
O Otra $o%isi(n <ue de&ende del ti&o de ventaG "+P si la venta es de $ontado, "/P si la
venta se 6izo en $6e<ue y, +P si se 6izo $on tar8eta de $r3dito
El restaurante tiene &or $ada ventaG
Identifi$a$i(n del vendedor ?", ', *C
Ti&os de ventas ?"G $ontadoI 'G $6e<ueI *G tar8etaC
Cuanta de la venta
Elaborar un al,orit%o <ue obten,a el total a &a,ar a $ada uno de los e%&leados
-4 2e tiene la si,uiente infor%a$i(n &or $ada uno de los N estudiantes de la universidadG
Edad
2e7o ?"G %as$ulinoI 'G fe%eninoC
Carrera ?"G in,enieraI 'G otra $arreraC
#a$er un al,orit%o <ue obten,aG
J Pro%edio de edad de los estudiantes de In,eniera
J Por$enta8e de 6o%bres en la universidad
J Por$enta8e de %u8eres <ue estudian In,eniera
./ Bn al%a$3n tiene ) de&arta%entos nu%erados $onse$utiva%ente del " al ), los $uales
venden art$ulos de diferente naturaleza Por $ada art$ulo se tiene la si,uiente
infor%a$i(nG
J C(di,o del art$ulo
J C(di,o de&arta%ento
J Cantidad vendida
J Pre$io de venta unitario
J Pre$io de $osto unitario
J Indi$ativo <ue di$e si el &rodu$to es i%&ortado o $olo%biano ?"G Colo%biaJ noI'G
I%&ortadoC
#a$er un al,orit%o <ue deter%ine, &or $ada de&arta%ento, &or $u1ntos y &or $u1les
&rodu$tos i%&ortados se obtuvo una utilidad su&erior a W"//////,oo y la utilidad total &or
de&arta%ento
." 2e desea or,anizar una $o%&eten$ia de %oto$i$lis%o, &ara la <ue se 6an estable$ido +
$ate,orasG
Pri%eraG $ilindra8es de %otos 6asta "//$$
2e,undaG $ilindra8es de %otos de "/"$$ 6asta '+/$$
Ter$eraG $ilindra8es de %otos de '+"$$ 6asta *+/$$
CuartaG $ilindra8es de %otos de *+"$$ 6asta +//$$
AuintaG $ilindra8es de %otos su&eriores a +//$$
Por $ada &arti$i&ante se tiene un re,istro $on los si,uientes datosG
O Identifi$a$i(n
O No%bres
O Cate,ora en la <ue se ins$ribi(
O Cilindra8e de la %oto
Elaborar un al,orit%o <ueG
a Co%&ruebe la validez de la $ate,ora dada, res&e$to al $ilindra8e &or $ada &arti$i&ante
b 2i el &arti$i&ante $u%&le el re<uisito anterior debe %ostrar su identifi$a$i(n y su no%bre
$ @uestre la $antidad de &arti$i&antes a$e&tados en $ada $ate,ora
d @uestre el total de &arti$i&antes a$e&tados
.' Elaborar una al,orit%o <ue 6a,a el si,uiente $enso &ara una e%&resa de trans&orte
a N>%ero de ve6$ulos $uyo %odelo sea anterior a "44+
b N>%ero de ve6$ulos $uyo %odelo sea de "44+ o &osterior y $uya $a&a$idad sea %enor de
*+ &asa8eros
$ N>%ero de buses $uyo %odelo sea &osterior a "44+ $on $a&a$idad %ayor de *+ &asa8eros
d N>%ero de busetas $on $a&a$idad %enor de *+ &asa8eros
e El total de ve6$ulos de la e%&resa
Por $ada ve6$ulo la e%&resa tiene la si,uiente infor%a$i(nG
J Ti&o de ve6$ulo ?"G busetaI 'G busC
J @odelo del ve6$ulo
J Ca&a$idad del ve6$ulo
.* En una en$uesta realizada entre los &osibles ele$tores se obtienen los si,uientes ti&os de
res&uestasG
" Absten$ionista
' Los de la &o%ada
* Los beli$osos
) Los $a&os
+ Los fas$istas
0 La iz<uierda ,oda
- No sabe &or <uien votar1
Cada res&uesta se en$uentra en un re,istro de los $uales no se sabe $u1ntos 6ay #a$er un
al,orit%o <ue $al$ule el &or$enta8e <ue re&resenta $ada res&uesta, res&e$to al n>%ero total
de en$uestados
.) Bn ban$o tiene el &roble%a de $al$ular los intereses <ue a fin de aFo 6abr1 de a$reditar a
$ada uno de los $lientes Por $ada $liente tiene la si,uiente infor%a$i(nG
J C3dula
J Ca&ital
J El da del $alendario ?aFo de *0/ dasC en <ue el $a&ital fue in,resado al
ban$o
J Tasa de inter3s a a&li$arG
Inter3s S Xi K "// H ?*0/ J @CK*0/
DondeG
X es el $a&ital
@ es el da
i es la tasa de inter3s
Ta%bi3n desea $al$ular el n>%ero de $lientes, el total del $a&ital de&ositado y el total de
intereses
.+ Bna ,asolinera &resta ) $lases de servi$ios Por $ada servi$io <ue &reste se tienen los
si,uientes datosG $lase de servi$io &restado ?valores del " al )C, 8ornada en la <ue se &rest(
el servi$io ?@G %aFana, TG tardeC y valor del servi$io Al final del da se re<uiere
deter%inar el valor &rodu$ido &or $ada $lase de servi$io, el n>%ero de ve$es <ue se &rest(
$ada servi$io, el servi$io <ue %1s ve$es se &rest( y si 3ste se &rest( %1s en la %aFana o en
la tarde
.0 2e tiene un $on8unto de re,istros donde $ada uno de ellos $ontiene los si,uientes $a%&osG
J 2e7o ?"G %as$ulinoI 'G fe%eninoC
J AFo de na$i%iento
J Estado $ivil ?2G solteroI CG $asadoC
2e desea saber $u1ntas &ersonas &ueden votar en $ada una de las dos &r(7i%as ele$$iones
<ue se realizan $ada dos aFos, sie%&re en los aFos &ares y en el %es de %arzo 2(lo &ueden
votar <uienes ten,an ". aFos $u%&lidos el *" de di$ie%bre del aFo anterior La
infor%a$i(n &edida se debe dis$ri%inar asG
J El n>%ero de 6o%bres solteros
J EI n>%ero de 6o%bres $asados
J El n>%ero de %u8eres solteras
J El n>%ero de %u8eres $asadas
J El total de &ersonas solteras y $asadas
J El total de &ersonas <ue &ueden votar
.- En el su&er%er$ado BA5ATA, $ada se%ana el ,erente soli$ita al 8efe de $ada una de las
se$$iones la si,uiente infor%a$i(nG $(di,o del art$ulo, e7isten$ia, de%anda y $osto de
f1bri$a del art$ulo La de%anda se infor%a tabulada ?"Gbuena de%anda, 'G&o$a de%andaC
El ,erente desea un infor%e &or art$ulo de $ada se$$i(n, $o%o si,ueG
2e$$i(n, $(di,o del art$ulo, n>%ero de art$ulos a &edir, $osto total &or art$ulo y &or
se$$i(n y el ,ran total de los &edidos &or las se$$iones
Para deter%inar el n>%ero de art$ulos a &edir se tiene el si,uiente $riterioG si el art$ulo
tiene &o$a de%anda o una e7isten$ia %enor de + unidades, se &iden '/ unidades, de lo
$ontrario no se &ide 2i el art$ulo tiene buena de%anda y e7isten$ia %ayor de +/ unidades,
se &iden "//, de lo $ontrario '//
.. #a$er un al,orit%o <ue deter%ine si lo n>%eros N", N', N*, N), N+ est1n ordenados
as$endente%ente
.4 Cal$ular y es$ribir las tablas de %ulti&li$ar del "* al '0 en los si,uientes ran,osG '+ al *+,
)+ al +/ y 0/ al .+ lo %is%o <ue el &ro%edio de $ada ran,o
4/ #a$er un al,orit%o <ue obten,a la su%a de los %>lti&los de @ entre varios @ y N ledos
?@ a N, y a%bos n>%eros enterosC
4" 2e tienen N re,istros donde $ada uno $ontieneG
J Edad
J Ti&o ?"G alto, 'G ba8o, *G %edioC
J Na$ionalidad ?"G latino, 'G ,er%ano, *G ind>C
#a$er un al,orit%o <ue obten,aG
J N>%ero de ind>es altos
J Total de latinos
J 9er%anos ba8os %enores de */ aFos
J Total de ind>es %edianos
J Total de ,er%anos
J Latinos ba8os %enores de )/ aFos
4' Por $ada uno de N estudiantes se tiene la nota obtenida en una %ateria #a$er un al,orit%o
<ue obten,aG la nota %17i%a, la %ni%a, $u1ntos &erdieron y $u1ntos ,anaron la
asi,natura
4* 2e tiene un ,ru&o de re,istros $on las si,uientes $ara$tersti$asG X re,istros tienen un valor
5 @ re,istros tienen un valor P Los valores de @ y X se indi$an &or %edio del &ri%er
re,istro ?re,istro identifi$adorC
Elaborar un al,orit%o &ara en$ontrar el valor del si,uiente $1l$uloG
CALCBLO S ?2?X, 5C J 2?@,PCCK?X H @C
DondeG
2 ?X, 5C es la su%a de los X valores 5
2 ?@, PC es la su%a de los @ valores P
4) #a$er un al,orit%o <ue lea el n>%ero total de e7&eri%entos de fsi$a <ue entrar1n
se,uida%ente
Por $ada e7&eri%ento se tieneG
J ;elo$idad ini$ial ;I
J ;elo$idad final ;I:
J Distan$ia re$orrida &or un %(vil D
A$elera$i(n
;: ;I
D
=
V V' V V'
V '
Deter%inarG
J N>%ero de %(viles a$elerados ?a$elera$i(n &ositivaC
J N>%ero de %(viles desa$elerados ?a$elera$i(n ne,ativaC
J N>%ero de %(viles sin a$elera$i(n
J ;alor &ro%edio de la a$elera$i(n
4+ En$ontrar la $antidad de n>%eros &ri%os <ue 6ay entre N y @ ?N a @C
2i el Milovatio 6ora de ener,a es a W"/// y el %etro $>bi$o de a,ua a W'///, 6a$er un
al,orit%o <ue deter%ineG
J Total a &a,ar &or a,ua y ener,a &or $ada usuario
J Total re$audado &or a,ua
J Total re$audado &or ener,a y n>%ero total de usuarios en $ada estrato
40 Las E%&resas P>bli$as desean $rear un al,orit%o <ue $al$ule los &a,os <ue deben
efe$tuarse &or $on$e&to de servi$iosI &ara ello $uenta $on la si,uiente infor%a$i(n &or
usuarioG
J El $(di,o del usuario
J Aval>o de la &ro&iedad
J Le$tura anterior de a,ua
J Le$tura a$tual de a,ua
J Le$tura anterior de ener,a
J Le$tura a$tual de ener,a
J Le$tura anterior de tel3fono
J Le$tura a$tual de tel3fono
J Otras entidades
Otras entidades tiene un valor de " si 6ay $obro &ara 3stas y ' si no 6ay $obro En $aso de
<ue sea " vendr1 a $ontinua$i(n otro re,istro <ue $ontieneG
J El $(di,o del usuario
J Clave tel3foni$a
J Pa,o tel3foni$a
J Clave re&ara$iones
J Pa,o re&ara$iones
Clave tel3foni$a y re&ara$iones tiene el valor de " si e7iste el $on$e&toI si no, tiene el valor
de '
Ade%1s &osee los si,uientes datos adi$ionales
J Tasa %uni$i&al de aseoG "P del aval>o
J A,uaG $onsu%o libre &ri%eros '/ %etros $>bi$os y a W'/// %etro $>bi$o
e7$edente
J El ener,aG W"/// el MilovatioK6ora
J Tel3fonoG W0 el i%&ulso
Los $onsu%os se obtienen de la diferen$ia de le$turas
El al,orit%o debe &rodu$ir &or usuarioG $(di,oI &a,os &or a,ua, luz, tel3fonoI tasa
%uni$i&al de aseoI otras entidadesI y el total a &a,ar
4- 2e tiene la si,uiente infor%a$i(n &or $ada una de las %aterias <ue $ursa $ada estudianteG
J C(di,o del estudiante
J C(di,o de la %ateria
J Nota definitiva
No se $ono$e el n>%ero de estudiantes ni el n>%ero de %aterias $ursadas &or $ada
estudiante
Elaborar una al,orit%o <ue %uestreG
J C(di,o del estudiante
J N>%ero de %aterias $ursadas
J Nota %ayor y en <u3 %ateria la obtuvo
4. La e%&resa de avia$i(n PAJA5O2 ;OLADO5E2 &osee * aviones $on $a&a$idad de "//
&asa8eros $ada uno
La e%&resa tiene asi,nadas * rutas, las $uales vuelan una vez al da entreG
J @edelln J A&artad(, ruta "
J @edelln J Cau$asia, ruta '
J @edelln J Auibd(, ruta *
La e%&resa tiene $o%o &olti$a $an$elar el vuelo $uandoG
a El n>%ero de &asa8eros reservados sea inferior al '/P del $u&o del avi(n
b Cuando el n>%ero de reserva$iones &ara 3ste es %enor <ue el e7$edente del $u&o nor%al
&ara otra ruta, en este $aso se 6ar1n los dos vuelos &ara una %is%a ruta
Elaborar un al,orit%o <ue $al$uleG
J N>%ero de &asa8eros &or vuelo
J 5utas a las $uales se $u%&li( el vuelo
J N>%ero de vuelos $an$elados
J En $aso de $an$elar vuelos <u3 rutas fueron
Por $ada reserva$i(n se tiene un re,istro $on el n>%ero de la ruta ?", ' ( *C
44 En el &ro$eso de re,istros de %aterias a $ursar, una universidad tiene la si,uiente
infor%a$i(n &or %ateriaG $(di,o del estudiante, $(di,o de la %ateria, n>%ero de $r3ditos
Las %aterias <ue $ursar1 $ada estudiante est1n reunidas &or ,ru&o #a$er un al,orit%o <ue
%uestre &or estudianteG $(di,o del estudiante, $(di,o de la %ateria, n>%ero de $r3ditos de
la %ateria y total de $r3ditos a $ursar &or el estudiante
"// Bna e%&resa tiene la si,uiente infor%a$i(n &or $ada uno de sus e%&leadosG $(di,o
e%&leado, $(di,o se$$i(n, $(di,o de de&arta%ento, $(di,o de la su$ursal y salario del
e%&leado
#a$er un al,orit%o <ue %uestre el $(di,o y el salario de $ada e%&leado dando totales &or
se$$i(n, de&arta%ento y su$ursal, y el total del salario a &a,ar &or &arte de la e%&resa
"/" Los re,istros <ue $ontienen la infor%a$i(n de los e%&leados de una e%&resa se en$uentran
$lasifi$ados &or se$$i(n, y a su vez, 3stas &or su$ursalI el ,erente de la e%&resa &re$isa de
un listado de sueldos de los e%&leados, donde se es&e$ifi<ue la infor%a$i(n de $ada uno
&or se$$i(n y los totales de sueldo &or se$$i(n y &or su$ursal <ue est1n ubi$ados en los
ran,osG W)+//// a W0/////, W0/"/// a W4///// y %ayores <ue W4///// DiseFe el
ar$6ivo de entrada
"/' Bna $o%&aFa vende + &rodu$tos diferentes Para la venta de 3stos e%&lea $ierto n>%ero
de vendedores, donde $ada vendedor est1 en$ar,ado de la venta de $ierto ti&o de &rodu$to
?&ero un &rodu$to &uede ser vendido &or varios vendedoresC La $o%&aFa ne$esita un
listado de $o%isi(n &or vendedorI &ara 6a$er esto tiene un re,istro &or $ada vendedor $on
los si,uientes datosG $(di,o del vendedor, $(di,o del &rodu$to, $antidad de unidades
vendidas, &re$io %ni%o de venta &or unidad y &re$io de venta &or unidad ?el &re$io
%ni%o de venta &or unidad es el &re$io <ue se le fi8a al vendedor &ara vender el &rodu$toC
Por $ada vendedor se debe %ostrarG $(di,o del vendedor, &re$io %ni%o de venta total,
&re$io de venta total, $o%isi(n ?3sta se $al$ula de a$uerdo al $(di,o del art$ulo de la
si,uiente %aneraCG
Cdigo del artculo Comisin
/444 "+ P del &re$io de venta total )/P de la
diferen$ia del &re$io de venta total y el &reJ
$io de venta %ni%o total
'///'444 "/ P del &re$io %ni%o de venta total %1s
el +/ P de la diferen$ia del &re$io de venta
total, $on res&e$to al &re$io %ni%o de venta
total
*///*444 "/ P &or unidad %1s el + P del &re$io %J
ni%o de venta total
)///)444 W '// &or unidad


Captulo '
E2T5BCTB5A2
ADICIONALE2
Aun<ue $ual<uier &ro,ra%a a&ro&iado se &uede elaborar utilizando sola%ente las tres
estru$turas b1si$as de $ontrol des$ritas antes, el uso de 3stas se $onvierte en solu$iones
&arti$ulares de la i%&le%enta$i(n de la estru$tura de$isi(n l(,i$a o %ientras Es ne$esario
analizar en $u1les de estos $asos &arti$ulares se &uede utilizar la estru$tura adi$ional, teniendo
en $uenta <ue lo <ue ellas 6a,an ta%bi3n se &uede solu$ionar $on una de las estru$turas b1si$as
'.1. Estructura caso o seleccin 3Rltiple
Esta estru$tura &er%ite sele$$ionar una, dentro de un $on8unto de alternativas, $on base en el
valor al%a$enado en un $a%&o variable deno%inado sele$tor o $a%&o $ontrolador de la
estru$tura Es una estru$tura sele$tiva %>lti&le donde, de a$uerdo $on el valor <ue ten,a el
$ontrolador, se realiza una deter%inada tarea una sola vez, es de$ir, no re&ite la e8e$u$i(n de la
tarea o se$uen$ia De a$uerdo al valor <ue ten,a el $ontrolador el $ontrol de e8e$u$i(n del
&ro,ra%a &asa a uno de varios &untos de 3ste, evitando as una serie de &re,untas ?estru$tura
de$isi(n l(,i$a o un anida%iento de las %is%asC
Aun<ue el valor <ue &uede al%a$enar el $ontrolador &uede, en al,unos $asos, &ertene$er a
distintos ti&os de datos, lo %1s ,eneral es <ue los &osibles valores sean n>%eros naturales del
n>%ero uno en adelante
Representacin
CASOS DE <variable>
CASO 1:
<SECUENCA 1>
CASO 2:
<SECUENCA 2>
.
.
CASO N:
<SECUENCA N>
OTROS
CASOS: <SECUENCA N+1>
FN_CASOS
EJe3plo
CASOS DE K
CASO 1: K = K + 1
ESCRBA: K
CASO 2: K = K + 2
ESCRBA: K
CASO 3: K = K + 3
ESCRBA: K
OTROS
CASOS: ESCRBA K
FN_CASOS
?unciona3iento
Al lle,ar a la estru$tura se eval>a el valor al%a$enado en la variable utilizada $o%o
$ontrolador, &ara deter%inar $u1l de las se$uen$ias se efe$t>a Bna se$uen$ia se e8e$utar1 s, y
s(lo s, uno de los r(tulos ?$asosC $orres&ondientes $oin$ide $on el valor a$tual del $ontrolador
Por tanto, el valor a$tual del $ontrolador deter%ina $u1l de las se$uen$ias se va a e8e$utar 2i el
valor del $ontrolador no $oin$ide $on nin,uno de los r(tulos des$ritos y la se$uen$ia &or defe$to
?NH"C est1 &resente, enton$es 3sta ser1 e8e$utada 2i esta se$uen$ia no est1 &resente ?es o&$ional
usarlaC y el valor del $ontrolador no $oin$ide $on nin,uno de los r(tulos, no ser1 e8e$utada
nin,una de las se$uen$iasI &or lo tanto, $ontinuar1 $on la estru$tura si,uiente
En for%a ,eneral se &uede de$ir, <ue si el valor del $ontrolador es i, se e8e$utar1 una sola vez
la se$uen$ia $orres&ondiente al $aso i y <ue la se$uen$ia ?NH"C se e8e$utar1 si est1 &resente,
&ara $ual<uier valor del $ontrolador <ue no $oin$ida $on nin,>n $aso
EJercicio resuelto No. #1
Bna e%&resa tiene $uatro es$alas de salario nu%eradas $onse$utiva%ente del " al ),
ade%1s, tiene un &ro,ra%a de in$entivos de a$uerdo a la $ate,ora y si el n>%ero de
unidades &rodu$idas es %ayor de +/ 2i est1 en la $ate,ora " se le da un in$re%ento de
sueldo e<uivalente al +P de su salario, si est1 en la ' del -P, en la * del "/P y en la ) del
"+PI esto es &or $ada e%&leado
2e tiene la si,uiente infor%a$i(nG no%bres, salario %ensual, $ate,ora y n>%ero de
unidades &rodu$idas
#a$er un al,orit%o <ue deter%ine el total deven,ado &or $ada e%&leado
An:lisis
Datos 2e entra2a
O No%bres
O 2alario %ensual
O Cate,ora
O N>%ero de unidades &rodu$idas
Datos 2e sali2a
O No%bres
O Total deven,ado
Proceso
2e usar1 un es<ue%a $ualitativo, ya <ue no se $ono$e el n>%ero de e%&leados Co%o las
$ate,oras son nu%3ri$as $onse$utivas, se &uede utilizar la estru$tura $aso y, dentro de
$ada una de estas &re,untas si tiene in$entivos o no
De0inicin 2e 7aria.les
NO@G No%bres del traba8ador
2AL@G 2alario %ensual
CATG Cate,ora
NBPG N>%ero de unidades &rodu$idas
TDE;G Total deven,ado
Al/orit3o
INICIO
LEA: NOM
MENTRAS NOM <> '*' HAGA
LEA: SALM, CAT, NUP
TDEV = SALM
CASOS DE CAT
CASO 1: S NUP > 50 ENTONCES
TDEV = TDEV + 0.05 * SALM
FN_S
CASO 2: S NUP > 50 ENTONCES
TDEV = TDEV + 0.07 * SALM
FN_S
CASO 3: S NUP > 50 ENTONCES
TDEV = TDEV + 0.1 * SALM
FN_S
CASO 4: S NUP > 50 ENTONCES
TDEV = TDEV + 0.15 * SALM
FN_S
FN_CASOS
ESCRBA: NOM, "DEVENGO $", TDEV
LEA: NOM
FN_MENTRAS
FIN_INICIO
Prue.a 2e escritorio
Arc5i7o 2e 2atos
ALBE5TO '+//// * )+
JBAN *///// ' +'
LBY "+//// ) */
ANA '///// " ./
NO@ 2AL@ CAT NBP TDE;
ANA '///// " ./ '"////
LBY "+//// ) */ "+////
JBAN *///// ' +' *'"///
ALBE5TO '+//// * )+ '+////
!ali2a

ANA DE;EN9OG W '"////
LBY DE;EN9O W "+////
JBAN DE;EN9OG W *'"///
ALBE5TO DE;EN9OG W '+////

EJercicio resuelto No. #2
En un &ro,ra%a de&ortivo se 6a $on$luido <ue la dura$i(n de la sesi(n de &r1$ti$a
de&ende del &eso de la &ersona y de las $ondi$iones <ue &resenta en la revisi(n %3di$a
La revisi(n %3di$a $alifi$a a las &ersonas $o%o de $ondi$i(n *, ), + ( 0 El tie%&o de
$ada &ersona es i,ual al &eso &or una rata <ue se basa en su $ondi$i(nI 3sta es
res&e$tiva%enteG /"+, /'", /'' y /'0 Elaborar un al,orit%o <ue $al$ule las dura$iones
&ara las sesiones individuales
An:lisis
Datos 2e entra2a
O Identifi$a$i(n de la &ersona
O Peso de la &ersona
O Condi$i(n
Datos 2e sali2a
O Identifi$a$i(n de la &ersona
O Tie%&o de dura$i(n de la sesi(n de &r1$ti$a
Proceso
2e debe utilizar un es<ue%a $ualitativo El &ro$eso a utilizar se 6a$e &or &ersona y en
for%a re&etida 6asta <ue se en$uentre una identifi$a$i(n i,ual a $ero 2e utilizar1 una
estru$tura $aso, $uyo sele$tor ser1 la $ondi$i(n de la &ersona Co%o el ran,o de la
$ondi$i(n es de tres a seis, dentro del al,orit%o ser1 %odifi$ado de uno a $uatro
?Al,unos len,ua8es de &ro,ra%a$i(n a$e&tan ran,os no $onse$utivos, in$lusive $on $asos
es&e$ifi$ados $o%o un $on8unto de valoresC
De0inicin 2e 7aria.les
lDENG Identifi$a$i(n de la &ersona
PE2OG Peso de la &ersona
CONG Condi$i(n
TG Tie%&o de dura$i(n de la sesi(n
5G 5ata de $ondi$i(n
Al/orit3o
NCO
LEA: lDEN
MENTRAS DEN > 0 HAGA
LEA: PESO, CON
CON = CON - 2
CASOS DE CON
CASO 1: R = 0.15
CASO 2: R = 0.21
CASO 3: R = 0.22
CASO 4: R = 0.26
FN_ CASOS
T = PESO * R
ESCRBA: DEN, T
LEA: DEN
FN_MENTRAS
FN_NCO
Prue.a 2e escritorio
Arc5i7o 2e 2atos
/
//+ 04 )
//) 0. )
//* 0+ *
//' ./ 0
//" -. +
IDEN PE2O CON 5 T
//" -. + /'' "-"0
//' ./ 0 /'0 '/./
//* 0+ * /"+ 4-+
//) 0. ) /'" ")'.
//+ 04 ) /'" "))4
!ali2a
//" "-"0
//' '/./
//* 4-+
//) ")'.
//+ "))4
'.2. Estructura PARA
La estru$tura para &er%ite <ue una o %1s instru$$iones secuencia se re&itan $ero o %1s
ve$es, %ientras los valores de una &ro,resi(n arit%3ti$a de raz(n $re$iente o de$re$iente se
vayan asi,nando a una variable deno%inada variable de $ontrol del $i$lo &ara El $ontrol del
$i$lo se 6a$e en for%a auto%1ti$a $on base en &ar1%etros <ue estable$e el &ro,ra%ador
Esta estru$tura es usada $uando se tiene un es<ue%a $uantitativo y el $ontador <ue $ontrola
el $i$lo se in$re%enta o dis%inuye en un valor $onstante La diferen$ia $o%o se i%&le%enta
esta $lase de $i$los $on la estru$tura mientras, es <ue el para %ane8a la ini$ializa$i(n del
$ontador y su in$re%ento en for%a auto%1ti$a, es de$ir, lo 6a$e la estru$tura
Los valores de los &ar1%etros <ue %ane8a este $i$lo son $ontrolados &or la estru$tura y, una
vez estable$idos sus valores o a$tivado el $i$lo, no es fa$tible $a%biarlos
Representacin
PARA VC = L, LF, NC HAGA
<secuencia>
FN_PARA
Don2eH
;CG ;ariable nu%3ri$a entera <ue sirve de $ontrol del $i$lo ?$ontador en la estru$tura
%ientrasC
LlG E7&resi(n entera utilizada $o%o l%ite ini$ial del ran,o de valores <ue &uede to%ar
;C ?valor ini$ial del $ontadorC
L:G E7&resi(n entera usada $o%o l%ite final del ran,o de valores <ue &uede to%ar ;C
?valor final del $ontador o n>%ero de re&eti$iones del $i$lo en el es<ue%a
$uantitativoC
INCG E7&resi(n entera <ue indi$a el valor del in$re%ento o dis%inu$i(n de la variable de
$ontrolI si el valor es uno se &uede o%itir
EJe3plo
PARA = 1, 5, 1 HAGA
ESCRBA:
FN_ PARA
Este e8e%&lo usando la estru$tura %ientras seraG
= 1
MENTRAS 1 5
ESCRBA:
= + 1
FN_MENTRAS
?unciona3iento
Cuando se a$tiva la estru$tura, es asi,nado el valor de Ll a ;C ?;C S LIC en for%a
auto%1ti$aI se $o%&ara ;C $on L:G 2i ;C b L:, no se e8e$uta la se$uen$ia y salta a e8e$utar la
instru$$i(n si,uiente al $i$lo ?se e8e$uta $ero ve$esCG 2i ;C L:, se e8e$uta la se$uen$ia de
instru$$iones una vez y auto%1ti$a%ente re,resa al &rin$i&io del $i$lo &ara a$tualizar la variable
de $ontrol, in$re%ent1ndola $on el valor de INC ?;C S ;C H INCCI se $o%&ara nueva%ente ;C
$on L:G 2i ;C b L:, se de8a de e8e$utar la se$uen$ia &asando a la instru$$i(n si,uienteG 2i ;C a
L:, se e8e$uta otra vez la se$uen$ia y re,resa a a$tualizar ;C Este &ro$eso $ontin>a 6asta <ue
;C to%a un valor su&erior a L:
En $aso de <ue INC sea ne,ativo, la se$uen$ia de instru$$iones se e8e$uta sie%&re <ue la
variable de $ontrol to%e un valor %ayor o i,ual <ue el l%ite final ?;C b L:C
Ta%bi3n se &uede de$ir <ue si el in$re%ento ?INCC es &ositivo, la se$uen$ia se e8e$uta
sie%&re <ue la variable de $ontrol sea %enor o i,ual al l%ite final ?;C a L:C
EJercicios resueltos No. ##
En$ontrar el fa$torial de un n>%ero N &ositivo ?&roble%a resuelto No '- %ediante la
estru$tura @IENT5A2C
An:lisis
El %is%o e8er$i$io realizado anterior%ente &ero utilizando la estru$tura PA5A, ya <ue es
un es<ue%a $uantitativo y el in$re%ento del $ontador es $onstante
Al/orit3o
NCO
LEA: N (1)
FAC = 1 (2)
PARA CON = 1, N, 1 HAGA
FAC = FAC * CON (3)
FN_PARA
ESCRBA: "EL FACTORAL DE", N, "ES:", FAC (4)
FN_NCO
Prue.a 2e escritorio
@ire%os el al,orit%o, &aso a &aso, su&oniendo un N i,ual a )
2e e8e$uta la instru$$i(n " N )
2e e8e$uta la instru$$i(n ' :AC "
2e a$tiva el $i$lo PA5A y o$urre lo si,uienteG
O 2e ini$ializa CON en " ?CON S "C CON
"
O 2e $o%&ara CON $on N
Es CON a N ?Es " )CG s, se e8e$uta la instru$$i(n * una vez
?*C 2e lleva " V " a :AC :AC
"
5e,resa auto%1ti$a%ente al &rin$i&io del $i$lo yG
O In$re%enta CON en " ?CON S " H "C CON
'
O Co%&ara CON $on N
Es CON a N ?Es ' a )C s, se e8e$uta la instru$$i(n *
?*C 2e lleva " V ' a :AC :AC
'
5e,resa al &rin$i&io del $i$lo yG
O In$re%enta CON en " CON
*
O Co%&ara CON $on N
Es CON a N ?Es * a )CG s, se e8e$uta la instru$$i(n *
?*C 2e lleva * V ' a :AC :AC
0
5e,resa al &rin$i&io del $i$lo yG
O In$re%enta CON en " CON
)
O Co%&ara CON $on N
Es CON a N ?Es ) a )CG s, se e8e$uta la instru$$i(n *
?*C 2e lleva ) V 0 a :AC :AC
')
5e,resa al &rin$i&io del $i$lo yG
O In$re%enta CON en " CON
+
O Co%&ara CON $on N
Es CON a N ?Es + a )CG no, se sale de la estru$tura $i$lo y e8e$uta la instru$$i(n si,uiente
?)C
?)C Al e8e$utarse esta instru$$i(n se %ostrar1 el si,uiente resultadoG


EL :ACTO5IAL DE ) E2G ')
EJercicio resuelto No. #$
Por $ada uno de los estudiantes de una universidad se tiene un re,istro identifi$ador <ue
$ontieneG $(di,o del estudiante, no%bre y n>%ero de %aterias $ursadas A $ontinua$i(n
de este re,istro vienen los re,istros identifi$adores de %aterias $ursadas, tantos $o%o
%aterias vio durante el se%estre Por $ada %ateria $ursada se tiene la si,uiente
infor%a$i(nG $(di,o de la %ateria, no%bre y n>%ero de $r3ditos #a$er un al,orit%o <ue
%uestre &or estudianteG la infor%a$i(n de $ada %ateria, el n>%ero de $r3ditos $ursados, el
&ro%edio $r3dito y el &ro%edio $r3dito &onderado de todos los estudiantes
An:lisis
Datos 2e entra2a
En este $aso se tienen dos $lases de re,istros de entrada 2i es un re,istro identifi$ador de
estudiante, 3ste $ontieneG
O C(di,o del estudiante
O No%bres del estudiante
O N>%ero de %aterias $ursadas
2i es un re,istro identifi$ador de %ateria, se tienen los si,uientes datos de entradaG
O C(di,o de la %ateria
O No%bre de la %ateria
O N>%ero de $r3ditos de la %ateria
Datos 2e sali2a
O C(di,o del estudiante
O No%bres
O N>%ero de %aterias $ursadas
O C(di,o de $ada %ateria
O No%bre de $ada %ateria
O N>%ero de $r3ditos de $ada %ateria
O Nota de $ada %ateria
O Total de $r3ditos $ursados
O Pro%edio $r3dito del estudiante
O Pro%edio $r3dito &onderado de los estudiantes
Proceso
Co%o no se $ono$e la $antidad de estudiantes se 6a$e uso de un es<ue%a $ualitativo, <ue
ter%ine $uando en$uentre un valor de $(di,o de estudiante i,ual a $ero Por $ada re,istro
identifi$ador de estudiante se elabora un $i$lo $uantitativo utilizando la estru$tura PA5A,
$uya variable de $ontrol flu$t>e entre " y el n>%ero de %aterias $ursadas &or el
estudiante
Infor%a$i(n a $al$ular &or estudianteG
Total de $r3ditos S 2u%a de los $r3ditos de las %aterias $ursadas Este $1l$ulo se 6a$e a
trav3s de un a$u%ulador <ue totali$e el total de $r3ditos
Pro%edio $r3dito S 2u%atoria de $r3ditosf V Notaf dividido &or el total de $r3ditos
$ursados
Pro%edio $r3dito &onderado S 2u%atoria de los &ro%edio $r3ditos dividido &or el total de
estudiantes
?or3ato 2e la sali2a 2e in0or3acinH
CODI9OG !!!!!! NO@B5E2G!!!!!! @ATCB52ADA2G!!
CODI9O @ATE5IA NO@B5E2 NOTA
!!!!! !!!!!!!!!!! !!!
G G G
G G G
C5EDITO2 CB52ADOG !!
P5O@EDIO C5EDITOG !!!
CODI9OG!!!!!! NO@B5E2G!!!!!!! @ATCB52ADA2G!!
G G G
P5O@EDIO DEL
95BPO


De0inicin 2e 7aria.les
CODEG C(di,o del estudiante
NO@EG No%bre del estudiante
N@CG N>%ero de %aterias $ursadas
COD@G C(di,o de la %ateria
NO@@G No%bre de la %ateria
NCG N>%ero de $r3ditos de la %ateria
NOTAG Califi$a$i(n obtenida en $ada %ateria
NCCG N>%ero de $r3ditos $ursados
PCG Pro%edio $r3dito
PCPG Pro%edio $r3dito &onderado
NTG N>%ero total de estudiantes
2B@A"G 2u%atoria de los $r3ditosf VNotaf
2B@A'G 2u%atoria de los &ro%edio $r3ditos
IG ;ariable de $ontrol del $i$lo PA5A
Al/orit3o
NCO
NT, SUMA2 = 0
LEA: CODE
MENTRAS CODE > 0 HAGA
LEA: NOME, NMC
NCC, SUMA1 = 0
ESCRBA: "CODGO", CODE, "NOMBRES", NOME, "MATCURSADAS", NMC
ESCRBA:"CODGOMATERA NOMBRES NOTA"
PARA = 1, NMC, 1 HAGA
LEA: CODM, NOMM, NC, NOTA
NCC = NCC + NC
SUMA1= SUMA1 + NC * NOTA
ESCRBA: CODM, NOMM, NOTA
FN_PARA
PC = SUMA1 / NCC
NT = NT + 1
SUMA2 = SUMA2 + PC
ESCRBA: "CREDTOS CURSADOS:", NCC
ESCRBA: "PROMEDO CREDTO:", PC
LEA: CODE
FN_MENTRAS
PCP = SUMA2 / NT
ESCRBA: "PROMEDO DEL GRUPO:", PCP
FN_NCO
Prue.a 2e escritorio
0
S-114 ALGORTMOS 4 2.0
EE-114 ELECTRCDAD 4 3.0
771 ELDA 2
NM-212 MATEMTCAS 5 2.0
S-114 ALGORTMOS 4 3.0
678 JORGE 2
S-544 SMULACN 4 3.0
S-214 ESTRUCTURAS 3 4.0
S-114 ALGORTMOS 4 5.0
644 CORNA 3



CODE NOME NMC CODM NOMM NC NOTA NCC PC PCP NT SUMA SUMA! I
664 CORNA 3 S-114 ALGORTMOS 4 5.0 0 0 0 0 1
S-214 ESTRUCTURAS 3 4.0 4 20.0 2
S-544 SMULACN 4 3.0 7 32.0 3
11 4.0 1 44.0 4 4
678 JORGE 2 S-114 ALGORTMOS 4 3.0 0 0 1
NM-214 MATEMTCAS 5 2.0 4 12 2
771 ELDA 2 9 2.44 2 22 6.44 3
EE-114 ELECTRCDAD 4 3.0 0 0 1
S-114 ALGORTMOS 4 2.0 4 12 2
0 8 2.5 2.98 3 20 8.94 3

!ali2a
CODI9OG 00) NO@B5E2G CO5INA @ATCB52ADA2G *
CODI9O @ATE5IAG NO@B5E2 NOTAG
I2IJ"") AL9O5IT@O2 +/
I2IJ'") E2T5BCTB5A2 )/
I2IJ+)) 2I@BLACIDN */
C5EDITO2 CB52ADO2G ""
P5O@EDIO C5EDITOG )/

CODI9OG 0-. NO@B5E2G JO59E @ATCB52ADA2G'
CDDI9O @ATE5IAG NO@B5E2G NOTAG
I2IJ"") AL9O5IT@O2 */
IN@J'"' @ATE@ETICA2 '/
C5EDITO2 CB52ADO2G 4
P5O@EDIO C5EDITOG '))

CDDI9OG --" NO@B5E2G ELDA @ATCB52ADA2G '
CDDI9O @ATE5IA NO@B5E2G NOTAG
IEEJ"") ELECT5ICIDAD */
I2IJ"") AL9O5IT@O2 '/
C5NDITO2 CB52ADO2G .
P5O@EDIO C5NDITOG '+
P5O@EDIO 95BPO '4.


'.#. Estructura REPETIR B,ACER MIENTRA! SUED
Esta es otra estru$tura re&etitiva de $ontrol <ue es i%&le%entada &ara efe$tuar un $i$lo Es
&are$ida a la estru$tura mientras y en al,unos as&e$tos se $o%&le%entan 2e utiliza en
situa$iones en las <ue se desea <ue una se$uen$ia se re&ita, al %enos una vez, antes de
$o%&robar la $ondi$i(n de re&eti$i(n y est1 for%ada &or dos &artesG una e7&resi(n de ti&o
l(,i$o y la se$uen$ia de instru$$iones, donde una de ellas debe estar %odifi$ando la e7&resi(n
La diferen$ia es&e$ial entre la estru$tura repetir y la estru$tura mientras es <ue en la &ri%era
la se$uen$ia de instru$$iones se e8e$uta &or lo %enos una vez, antes de evaluar la $ondi$i(n de
re&eti$i(n y, en la estru$tura mientras la $ondi$i(n de ter%ina$i(n es evaluada &ri%ero y, &or lo
tanto, el ,ru&o de instru$$iones o $a%&o de la senten$ia &uede ser o no e8e$utado
Representacin
REPETR
<secuencia>
MENTRAS <expresin lgica>
EJe3plo
REPETR
A= A + 1
ESCRBA: A, B
MENTRAS A <= B
?unciona3iento
Al entrar a la estru$tura se e8e$uta la se$uen$ia de instru$$iones una vez y se eval>a la
$ondi$i(nI si 3sta es falsa, se sale de la estru$tura y $ontin>a $on la instru$$i(n si,uienteI y si es
verdadera, se re&ite la e8e$u$i(n de la se$uen$ia y vuelve a evaluar la $ondi$i(nI el &ro$eso se
re&ite %ientras <ue la $ondi$i(n sea verdadera
La se$uen$ia, enton$es, se e8e$utar1 re&etida%ente %ientras <ue la e7&resi(n l(,i$a sea
$ierta, ase,ur1ndose <ue la se$uen$ia se e8e$uta &or lo %enos una vez La estru$tura repetir
&uede i%&le%entarse en $i$los $uyos es<ue%as sean $ualitativos o $uantitativos 0as
instrucciones no se repiten cuando la condicin es "alsa
EJercicio resuelto No. #&
#a$er un al,orit%o <ue en$uentre la su%a de los &ri%eros N n>%eros naturales,
?E8er$i$io resuelto No "-, %ediante la estru$tura @IENT5A2C
An:lisis
El %is%o realizado &ara el e8er$i$io &ro&uesto No "-, &ero utilizando la estru$tura
repetir
Al/orit3o
NCO
SUMA = 0 (1)
NUM = 1 (2)
LEA: N (3)
REPETR
SUMA = SUMA + NUM (4)
NUM = NUM +1 (5)
MENTRAS NUM <= N
ESCRBA: "LA SUMA ES: ", SUMA (6)
FN_NCO
Prue.a 2e escritorio
Para un N i,ual a ) %ire%os la e8e$u$i(n del al,orit%o, &aso a &aso
2e e8e$uta la instru$$i(n " 2B@A
/
2e e8e$uta la instru$$i(n ' NB@
"
2e e8e$uta la instru$$i(n * N
)
2e e8e$uta la instru$$i(n ) 2B@A
"
2e e8e$uta la instru$$i(n + NB@
'
2e eval>a la $ondi$i(n es NB@ aS N ?Es ' aS )CG si, se e8e$utan ) y +
E8e$u$i(n de ) 2B@A
*
E8e$u$i(n de + NB@
*
2e eval>a la $ondi$i(n es NB@ aS N ?Es * aS )CG si, se e8e$utan ) y +
E8e$u$i(n de ) 2B@A
0
E8e$u$i(n de + NB@
)
2e eval>a la $ondi$i(n es NB@ aS N ?Es ) aS )CG si, se e8e$utan ) y +
E8e$u$i(n de ) 2B@A
"/
E8e$u$i(n de + NB@
+
2e eval>a la $ondi$i(n es NB@ aS N ?Es + aS )CG no, se sale y e8e$uta la instru$$i(n 0
!ali2a


LA 2B@A E2G "/

EJercicio resuelto No. #'
2e re$o%iendan be$as &ara estudiantes se,>n su &ro%edio $r3dito El ti&o de
re$o%enda$i(n se basa en la si,uiente tablaG
Pro3e2io Reco3en2acin
b). @uy fuerte re$o%enda$i(n
b)+ y a ). :uerte re$o%enda$i(n
b)/ y a )+ 5e$o%endado
a )/ No re$o%endado
Por $ada estudiante se tiene un re,istro de datos $on la si,uiente infor%a$i(nG $(di,o y
&ro%edio $r3dito DiseFar un al,orit%o <ue infor%e &or estudianteG $(di,o, &ro%edio y
re$o%enda$i(n, &ro%edio $r3dito ,eneral de los soli$itantes y el n>%ero de
re$o%enda$iones de $ada ti&o
An:lisis
Datos 2e entra2a
O C(di,o del estudiante
O Pro%edio $r3dito
Datos 2e sali2a
O C(di,o
O Pro%edio
O Ti&o de re$o%enda$i(n ?se 6ar1 %ediante un %ensa8eC
O N>%ero de estudiantes %uy fuerte re$o%endados
O N>%ero de estudiantes de fuerte re$o%enda$i(n
O N>%ero de estudiantes re$o%endados
O N>%ero de estudiantes no re$o%endados
O Pro%edio $r3dito ,eneral de los estudiantes
Proceso
2e utilizar1 un es<ue%a $ualitativo i%&le%entado %ediante la estru$tura repetir, ya <ue
se su&one <ue al %enos un estudiante 6a,a soli$itud El $i$lo se e8e$utar1 iterativa%ente
6asta <ue en$uentre un $(di,o de estudiante i,ual a $ero Por $ada re,istro se 6ar1 un
an1lisis de a$uerdo al valor <ue ten,a su &ro%edio $r3dito, &ara to%ar la de$isi(n sobre
<u3 ti&o de re$o%enda$i(n se le da Ta%bi3n, de a$uerdo $on el valor del &ro%edio
$r3dito se debe ir $ontando el n>%ero de estudiantes de $ada ti&o de re$o%enda$i(n
Para el $1l$ulo del &ro%edio $r3dito ,eneral se debe usar un a$u%ulador <ue totali$e los
&ro%edios $r3ditos
De0inicin 2e 7aria.les
CODG C(di,o del estudiante
PCG Pro%edio $r3dito
E@:5G N>%ero de estudiantes de %uy fuerte re$o%enda$i(n
E:5G N>%ero de estudiantes de fuerte re$o%enda$i(n
E5G N>%ero de estudiantes re$o%endados
EN5G N>%ero de estudiantes no re$o%endados
2PCG 2u%atoria de los &ro%edios $r3dito
NTEG N>%ero total de estudiantes
PC9G Pro%edio $r3dito ,eneral
Al/orit3o
INICIO
EMFR, EFR, ER, ENR, SPC = 0
LEA: COD
HAGA
LEA: PC
SPC = SPC + PC
S PC >= 4.8 ENTONCES
EMFR = EMFR + 1
ESCRBA: COD, PC, "MUY FUERTE RECOMENDACON"
SNO
S PC >= 4.5 ENTONCES
EFR = EFR+ 1
ESCRBA: COD, PC, "FUERTE RECOMENDACON"
SNO
S PC >= 4.0 ENTONCES
ER = ER +1
ESCRBA: COD, PC, "RECOMENDADO"
SNO
ENR = ENR +1
ESCRBA: COD, PC, "NO RECOMENDADO"
FN_S
FN_S
FN_S
LEA: COD
MENTRAS COD <> 0
NTE = EMFR + EFR + ER +ENR
PCG = SPC / NTE
ESCRBA: EMFR, EFR, ER, ENR, PCG
FIN_INICIO
Prue.a 2e escritorio
Arc5i7o 2e 2atos
/
*'0 +/
'+" )'
*+0 )-
*)' )4
**" *+
COD PC E@:5 E:5 E5 EN5 2PC NTE PC9
**" *+ / / / / / + ))0
*)' )4 " " " " *+
*+0 )- ' .)
'+" )' "*"
*'0 +/ "-*
/ ''*
!ali2a

**" *+ NO 5ECO@ENDADO
*)' )4 @BT :BE5TE 5ECO@ENDACION
*+0 )- :BE5TE 5ECO@ENDACIDN
'+" )' 5ECO@ENDADO
*'0 +/ @BT :BE5TE 5ECO@ENDACIDN
' " " " ))0

EJercicio resuelto No. #(
Elabore un al,orit%o <ue for%e un $uadro $on lnea doble en el $entro de la &antalla de
un $o%&utador
An:lisis
Datos 2e entra2a
O :ila donde ini$ia el $uadro
O :ila donde ter%ina el $uadro
O Colu%na donde ini$ia el $uadro
O Colu%na donde ter%ina el $uadro
Datos 2e sali2a
O El $uadro en &antalla
Proceso
2e 6ar1 uso deG
O La fun$i(n ,oto7y ?$,fCG ubi$a el $ursor en la $olu%na $ y en la fila f de la &antalla
O El ordinal de los $ara$teres A2CCIIG '/+,"..,'// y ".0 ?bus$arlo en la tabla de
$ara$teres A2CCIIC
E8e%&loG Es$ribaG $ar1$ter ?'/+CI i%&ri%e S
De0inicin 2e 7aria.les
:IG :ila donde ini$ia el $uadro
::G :ila donde ter%ina el $uadro
CIG Colu%na donde ini$ia el $uadro
C:G Colu%na donde ter%ina el $uadro
Al/orit3o
NCO
LEA: F, FF, C, CF // Se coloca la lnea superior e inferior
PARA = C + 1, CF 1, 1 HAGA
gotoxy (, F)
escriba: caracter (205)
gotoxy (, FF)
escriba: caracter (205)
FN PARA
// Se colocan las lneas verticales
PARA = F + 1, FF, 1, 1 HAGA
gotoxy (C, )
escriba: carcter (186)
gotoxy (CF, )
escriba: carcter (186)
FN PARA

// Se colocan las esquinas
gotoxy (C, F)
escriba: caracter (201)
gotoxy (CF, F)
escriba caracter (187)
gotoxy (C, FF)
escriba: caracter (200)
gotoxy (CF, FF)
escriba: carcter (188)
FN_NCO
#a,a la &rueba de es$ritorio $on el si,uiente re,istroG
- "4 "4 0'
EJercicio resuelto No. #)
En las e%&resas &>bli$as se in,resa la si,uiente infor%a$i(n &or usuarioG
O C(di,o de instala$i(n
O No%bres y a&ellidos
O Le$tura a$tual de a,ua ?%
*
C
O Le$tura anterior de a,ua ?%
*
C
O Le$tura a$tual de ener,a ?M=K6C
O Le$tura a$tual de ener,a ?M=K6C
O Le$tura anterior de ener,a ?M=K6C
O Estrato so$ioe$on(%i$o
Para el estrato uno se tiene esti&ulado un des$uento del +/P sobre el valor de la fa$tura
Para los estratos dos y tres se tiene esti&ulado un des$uento del */P sobre el valor de la
fa$tura
Para el estrato $uatro no e7iste re$ar,o ni des$uento
Para los estratos $in$o y seis se tiene esti&ulado un re$ar,o del '/P sobre el valor de la
fa$tura
Ela.ore un al/orit3o para conocerH
" Total a &a,ar &or $onsu%o de a,ua y ener,a &or usuario ?" M=K6 vale
W"/// y un %
*
de a,ua W"'//C
' Total re$audado ?WC &or a,ua y ener,a &or las e%&resas &>bli$as
* Total re$audado &or estrato
An:lisis
Datos 2e entra2a
O C(di,o de instala$i(n
O No%bre del usuario
O Le$tura a$tual del a,ua
O Le$tura anterior del a,ua
O Le$tura a$tual de ener,a
O Le$tura anterior de ener,a
O Estrato so$ioe$on(%i$o
Datos 2e sali2a
O C(di,o de instala$i(n
O No%bre del usuario
O Estrato so$io e$on(%i$o
O Total a &a,ar &or a,ua y ener,a $ada usuario
O Total re$audado &or a,ua y ener,a &or las e%&resas &>bli$as
O Total re$audado &or $ada estrato
Proceso
La entrada de infor%a$i(n se 6ar1 a trav3s del &ro$edi%iento $a&tura, e7$e&to el estrato
so$ioe$on(%i$o <ue se $a&turar1 a trav3s de la te$la enter en un %en> donde el
des&laza%iento se 6a$e a trav3s de fle$6as El &ro$edi%iento $a&tura tendr1 los
si,uientes &ar1%etros de envoG
C(di,o de instala$i(n CI
No%bre del usuario NO@
Le$tura a$tual de a,ua LEACA
Le$tura anterior de a,ua LEANA
Le$tura a$tual de ener,a LEACE
Le$tura anterior de ener,a LEANE
Debido a <ue este &ro$edi%iento valida la infor%a$i(n <ue $a&tura, dentro de 3l las
variables nu%3ri$as deben definirse $o%o $ara$teres y, lue,o de la valida$i(n,
$onvertirlos a n>%eros
V ;er &ro$edi%ientos en el $a&tulo si,uiente
!u.al/orit3o
PROCEDMENTO CAPTURA (C, NOM,LEACA,LEANA,LEACE,LEANE)
LEA: C
S C <> 0 ENTONCES
LEA: NOM, LEACA, LEANE,LEACE, LEANE
FN_CAPTURA
El &ro$edi%iento $1l$ulo obtiene lo <ue el usuario debe &a,ar &or $on$e&to de a,ua y
ener,a y a$u%ula lo re$audado &or estrato
Par:3etro 2e reci.o
O Le$tura a$tual de a,ua LEACA
O Le$tura anterior de a,ua LEANA
O Le$tura a$tual de ener,a LEACE
O Le$tura anterior de ener,a LEANE
O Por$enta8e a&li$ado al estrato PO5
Par:3etros 2e en7o
O Pa,o &or a,ua PCA
O Pa,o &or ener,a PCE
O Total a &a,ar :ACTB5A
O Total re$audado &or estrato 5E2
!u.al/orit3o
PROCEDMENTO CALCULO (LEACA, LEANA, LEACE, LEANE, POR,
PCA, PCE, FACTURA, RES)
PCA = (LEACA - LEANA) * MCA * POR
PCE = (LEACE - LEANE) * KWH * POR
FACTURA = PCA + PCE
RES = RES + FACTURA
FN_CALCULO
De0inicin 2e 7aria.le
CIG C(di,o de instala$i(n
NO@G No%bre del usuario
E2G Estrato so$ioe$on(%i$o
LEACAG Le$tura a$tual del a,ua
LEANAG Le$tura anterior de a,ua
LEACEG Le$tura a$tual de ener,a
LEANE Le$tura anterior de ener,a
PCAG Pa,o de a,ua &or usuario
PCEG Pa,o de ener,a &or usuario
:ACTB5AG Pa,o total del usuario
@CAG ;alor %etro $>bi$o de a,ua
XL#G ;alor Xilovatio 6ora
5E",5E',5E*,5E),5E+, 5E0G Totales re$audados &or $ada estrato
T5AEG Total re$audado &or a,ua
T5EEG Total re$audado &or ener,a
Al/orit3o
NCO
RE1, RE2, RE3, RE4, RE5, RE6, TRAE, TREE = 0
CAPTURA (C, NOM, LEACA, LEANA, LEACE, LEANE)
MENTRAS C <> 0 HAGA
ESCRBA: "ESTRATO 1"
ESCRBA: "ESTRATO 2"
ESCRBA: "ESTRATO 3"
ESCRBA: "ESTRATO 4"
ESCRBA: "ESTRATO 5"
ESCRBA: "ESTRATO 6"
ESCRBA: "SELECCONE OPCON"
LEA: ES
CASOS DE ES
CASO 1:
CALCULO (LEACA, LEANA, LEACE,
LEANE, 0.5, PCA, PCE, FACTURA, RE1)
CASO 2:
CALCULO (LEACA, LEANA, LEACE,
LEANE, 0.7, PCA, PCE, FACTURA, RE2)
CASO 3:
CALCULO (LEACA, LEANA, LEACE,
LEANE, 0.7, PCA, PCE, FACTURA, RE3)
CASO 4:
CALCULO (LEACA, LEANA, LEACE,
LEANE, 1.0, PCA, PCE, FACTURA, RE4)
CASO 5:
CALCULO (LEACA, LEANA, LEACE,
LEANE, 1.2, PCA, PCE, FACTURA, RE5)
CASO 6:
CALCULO (LEACA, LEANA, LEACE,
LEANE, 1.2, PCA, PCE, FACTURA, RE6)
FN_CASOS
TRAE = TRAE + PCA
TREE = TREE + PCE
ESCRBA: NOM, ES, PCA, PCE, FACTURA
CAPTURA (C, NOM, LEACA, LEANA, LEACE, LEANE)
FN_MENTRAS
ESCRBA: TRAE, TREE, RE1, RE2, RE3, RE4, RE5, RE6
FN_NCO
Aspectos a tener en cuenta
a Al lle,ar a la estru$tura CA2O, la variable <ue 6a$e las ve$es de $ontrolador debe tener
asi,nado un valor
b Al entrar a la estru$tura CA2O s(lo se e8e$uta una de las se$uen$iasG a<u3lla <ue $oin$ida
$on el valor del sele$tor
$ En la estru$tura PA5A las variables de $ontrol l%ite ini$ial y l%ite final, &ueden ser
e7&resiones $uyos valores son %ane8ados en for%a auto%1ti$a, &or lo <ue 3stas no deben ser
%ani&uladas &or el usuario dentro de la se$uen$ia
d El uso de la variable de $ontrol des&u3s de un $i$lo PA5A no es a$onse8able, &or<ue en
al,unos $asos se des$ono$e su valorI &or lo tanto, se deber1 destruir su valor %ediante una
asi,na$i(n &ara su &osterior utiliza$i(n
e La estru$tura 5EPETI5 &uede usarse en es<ue%as $uantitativos o $ualitativos, sie%&re <ue
se ten,a la $erteza de <ue la se$uen$ia se debe e8e$utar al %enos una vez
f A las variables de la $ondi$i(n del 5EPETI5 se les debe asi,nar un valor antes de evaluar la
$ondi$i(n
, Aun<ue $on @IENT5A2 se &uede i%&le%entar $ual<uier $i$lo, 5EPETI5 y PA5A al,unas
ve$es fa$ilitan la &ro,ra%a$i(n
'.$. EJercicios propuestos
"/* 2e tienen *// re,istros donde $ada uno de ellos $ontieneG
O Estatura ?"G Alto, 'G Ba8o, *G @edianoC
O Na$ionalidad ?"G Latino, 'G 9er%ano, *G #ind>C
O Edad
#a$er un al,orit%o <ue deter%ineG n>%ero de ind>es altos, latinos %edianos, total de
latinos, ,er%anos ba8os, total de ,er%anos %enores de */ aFos y latinos ba8os %enores de )/
aFos
"/) En la ele$$i(n del $andidato estudiantil se &resentaron + $andidatos nu%erados
$onse$utiva%ente del " al + Cada ele$tor de&osit( su voto $on el n>%ero de su $andidato
favorito Al final del es$rutinio se desea saber $u1ntos votos obtuvo $ada $andidato y el
&or$enta8e de votos &or $ada &arti$i&ante
$tili6ando la estructura P)()3 solucione los siguientes 88 e'ercicios:
"/+ #a$er un al,orit%o <ue $al$ule e i%&ri%a los n>%eros &ri%os $o%&rendidos entre " y
"//
"/0 Desarrolle un al,orit%o <ue lea tres re,istros, donde $ada uno de ellos $onten,a las
ordenadas y abs$isas de tres &untos sobre el &lano $artesiano e investi,ue si los tres &untos
for%an una lnea re$ta
"/- Cierta universidad tiene N estudiantes Elabore un al,orit%o <ue en$uentre el &ro%edio de
edad de los estudiantes %ayores de '" aFos y el &ro%edio de edad del resto de estudiantes
Por $ada estudiante se tiene un re,istro <ue $ontiene su $(di,o y edad
"/. En un ,ru&o de N re,istros se tienen las notas deG AL9O5IT@O2, @ATE@ATICA2 y
E2PAwOL de $ada uno de los estudiantes DiseFe un al,orit%o <ue obten,a la nota
&ro%edio de $ada estudiante
"/4 Elabore un al,orit%o <ue lea "// n>%eros y deter%ine la %edia de los n>%eros &ositivos
y ne,ativos
""/ El seno de ! &uede $al$ularse, de for%a a&ro7i%ada, su%ando los N &ri%eros t3r%inos de
la serie infinitaG
2ean ! !
! ! !
= + +
* + -
* + - g g g

Elabore un al,orit%o &ara $al$ular el seno de !, %ediante la su%a de los
&ri%eros N t3r%inos
""" DiseFe un al,orit%o <ue $onvierta los N &ri%eros n>%eros &ositivos a n>%eros ro%anos
""' Es$ribir un al,orit%o <ue $al$ule !
n
dondeG
!, &uede ser $ual<uier n>%ero real
n, un n>%ero &ositivo, nulo o ne,ativo
""* Elabore un al,orit%o <ue obten,a el $uadrado de los &ri%eros N n>%eros, utilizando
su%as >ni$a%ente
"") Elabore un al,orit%o <ue obten,a el $ubo de los &ri%eros N n>%eros #1,alo utilizando
%ulti&li$a$iones y su%as >ni$a%ente
""+ Elabore un al,orit%o <ue &er%ita $al$ular el fa$torial de los &ri%eros N n>%eros usando
su%as >ni$a%ente
Btilizando la estru$tura REPETIR, solu$ione los si,uientes "/ e8er$i$iosG
""0 Bna e%&resa &osee los si,uientes datos en el re,istro de $ada uno de sus $lientesG
No%bre, se7o, ?c@c o s:C, edad, altura ?en %etrosC, &eso ?en librasC, $olor de los o8os ?"
&ara azules, ' &ara $astaFos y * &ara los de%1sC, $olor del $abello ?" &ara $astaFo, ' &ara
rubio y * &ara los de%1sC DiseFe un al,orit%o &ara <ue lea el ar$6ivo e i%&ri%a los
no%bres deG
aC Todas las %u8eres de $abello rubio y o8os azules, <ue %iden entre "0+ %etros y "-+
%etros y <ue &esen %enos de "'/ libras
bC Todos los 6o%bres de o8os $astaFos de %1s de "-/ %etros de altura y <ue &esen entre "./
y ''/ libras
""- 2e tiene un $on8unto de re,istros $on la si,uiente infor%a$i(nG $3dula y n>%ero de 6i8os
Elaborar un al,orit%o <ue deter%ine $u1ntas &ersonas tienen 6i8os y $u1ntas no tienenI
ade%1s, se desea $ono$er el &ro%edio de n>%ero de 6i8os
"". En un pea'e se desea saber $u1ntos $arros y $u1ntos buses &asaron en un da, el &ro%edio
de &ersonas <ue via8an en $arro y el &ro%edio de los <ue via8an en bus Elabore un
al,orit%o &ara en$ontrar lo anterior, teniendo en $uenta <ue &or $ada ve6$ulo <ue &ase se
elabora un re,istro donde se es&e$ifi$a el ti&o de ve6$ulo ?" si es bus y ' si es un $arro
diferenteC y el n>%ero de &ersonas <ue lo o$u&an
""4 Bn ad%inistrador desea obtener los datos ne$esarios &ara elaborar una $urva de salarios en
su e%&resa, en fun$i(n del &unta8e asi,nado &or valoriza$i(n de %3ritos Las f(r%ulas
e%&leadas &ara este &ro&(sito son las si,uientesG
2
P &ara P
P &ara P
=
+ <
+
R
S
T
"-/ / ).+ "'/
"./// " "./// "'/
'

? C K ? K C
Elabore un al,orit%o <ue en$uentre 2 &ara valores de P desde '/ a '// $on in$re%entos de
+, dondeG
2 S 2alario en &esos
P S Punta8e
"'/ Para un &erodo de "/ aFos se invierten '+/ %il &esos en los aFos ", *, +, - y 4
Deter%inar el valor del $a&ital al final de los aFos ", ', *, ), +, 0, -, ., 4 y "/, $on intereses
del '/P anual
"'" Bna esta$i(n $li%1ti$a &ro&or$iona un &ar de te%&eraturas diarias ?%17i%a, %ni%a J no
es &osible <ue al,una o a%bas te%&eraturas sea / ,radosC La &are8a fin de te%&eraturas es
/, / Elabore un al,orit%o &ara deter%inar el n>%ero de das, $uyas te%&eraturas se 6an
&ro&or$ionado, las %edidas %17i%a y %ni%a, el n>%ero de errores ?te%&eraturas de /
,radosC y el &or$enta8e <ue re&resentan
"'' #a,a un al,orit%o <ue $al$ule y tabule los valores de la fun$i(nG
f?7, yC S ?7
'
J y
'
CK?7
'
H y
'
C
"'* Elabore un al,orit%o <ue lea dos n>%eros @ y N ?@ a NC y $al$ule los %>lti&los de @
$o%&rendidos entre @ y N
"') Por $ada estudiante de una universidad se tienen los si,uientes datosG $(di,o del
estudiante, no%bre, valor $r3dito del estudiante, n>%ero de $r3ditos to%ados y, valor del
re$ar,o en la %atr$ula
#a$er un al,orit%o <ue entre la anterior infor%a$i(n y %uestre &or $ada estudianteG
$(di,o, no%bre, valor $r3dito, n>%ero de $r3ditos, valor del re$ar,o y total &a,ado, lo
%is%o <ue el %onto &a,ado &or todos los estudiantes
"'+ DiseFar un al,orit%o &ara $al$ular el n>%ero de &untos $on $oordenadas de valores
enteros <ue est1n $ontenidos en la si,uiente eli&seG
! T
' '
"0 '+
" + =
(otasG Los &untos sobre la eli&se se $onsideran dentro de ella
El intervalo de $oordenadas est1 li%itado &or los e8es %ayor y %enor de la eli&se, es de$irG
_) a ! a ) y _+ a T a +
"'0 Elabore un al,orit%o <ue $al$ule, usando un %en>, si $ada uno de un $on8unto de
n>%eros &ositivos esG &ar, &ri%o y &erfe$to ?un n>%ero es &erfe$to $uando la su%a de
todos sus divisores, e7$e&to &or 3l %is%o da el %is%o n>%eroC
Captulo (
2BBP5O95A@A2
A lo lar,o del te7to se 6an tratado los &roble%as $o%o un todo, $o%o si fuesen un solo
%(dulo Bna de las ,randes venta8as <ue tiene la &ro,ra%a$i(n estru$turada es la divisi(n de
&roble%as ,randes en sub&roble%as y, a su vez, 3stos ta%bi3n &ueden dividirse en &roble%as
%1s &e<ueFos Esta t3$ni$a le &er%ite dar %1s entendibilidad y fa$ilidad en la $onstru$$i(n y
$orre$$i(n de los errores <ue se &resentan en la solu$i(n de un &roble%a deter%inado Cada una
de las divisiones <ue se 6a$en &ara obtener la solu$i(n de un &roble%a se deno%ina %(dulo y
3stos son i%&le%entados &or %edio de los sub&ro,ra%as
$n subprograma es un al,orit%o diseFado &ara efe$tuar una tarea &arti$ular, ba8o la
de&enden$ia de un al,orit%o u otro sub&ro,ra%a <ue lo utiliza De esta %anera, el sub&ro,ra%a
es diseFado &ara ser utilizado &or otros &ro$esos %1s a%&lios, dentro de los $uales e7iste un
flu8o de re$ibo y entre,a de infor%a$i(n
La utiliza$i(n de sub&ro,ra%as en la solu$i(n de &roble%as ,randes tiene %u$6as venta8as
Por e8e%&lo, &ara tareas <ue deban efe$tuarse %1s de una vez, la %odularidad evita la ne$esidad
de &ro,ra%a$i(n redundante, esen$ial%ente el %is%o $on8unto de instru$$ionesI en vez de ello,
un %(dulo &uede $onstruirse e invo$arse $ada vez <ue se ne$esite 6a$er la %is%a labor, &or lo
tanto, el uso de %(dulos &er%ite o 6a$e <ue los &ro,ra%as sean %1s $ortos De i,ual %anera, la
fra,%enta$i(n en %(dulos individuales &ro&or$iona $laridad, fa$ilidad de distribu$i(n de
traba8o en e<ui&o y, &or ser al,orit%os $ortos, son %1s f1$iles de es$ribir, $orre,ir y su
estru$tura l(,i$a es %1s $lara <ue la de los &ro,ra%as <ue no est1n divididos en %(dulos
El sub&ro,ra%a, &or ser un al,orit%o, debe $u%&lir $on las %is%as $ara$tersti$as de 3ste y
6a$er tareas si%ilares $o%o a$e&tar datos, es$ribir datos y 6a$er $1l$ulosI sin e%bar,o, es
utilizado &ara un &ro&(sito es&e$fi$o El sub&ro,ra%a re$ibe datos del al,orit%o o
subal,orit%o <ue lo invo$a y 3ste le devuelve resultados 2u labor &uede $o%&ararse $on la de
un 8efe <ue le da instru$$iones a un e%&leado ?2ub&ro,ra%aC, &ara <ue reali$e una deter%inada
labor y as &oder $ontinuar $on su traba8oI se detiene %ientras su subalterno realiza la tarea y
$uando 3ste le devuelve los resultados reanuda su labor Asi%is%o, $uando un al,orit%o invo$a
un sub&ro,ra%a le $ede el $ontrol de e8e$u$i(n a 3ste, &or lo tanto, detiene la e8e$u$i(n de la
&r(7i%a instru$$i(n 6asta <ue el sub&ro,ra%a se e8e$ute, le entre,ue resultados y le devuelva el
$ontrol de e8e$u$i(n
La $o%uni$a$i(n <ue se estable$e entre el al,orit%o lla%ante y el sub&ro,ra%a se 6a$e a
trav3s de variables deno%inadas &ar1%etros, <ue 6a$en las ve$es de re$i&iente, unas de re$ibo y
otras de envo de infor%a$i(n
Bn sub&ro,ra%a &uede ser invo$ado tantas ve$es $o%o se ne$esite y, a su vez, los
sub&ro,ra%as &ueden invo$ar a otros sub&ro,ra%as, $o%o &uede verse en la fi,ura si,uiente


P a s a
i n f o r m a c i n
c e d e c o n t r o l

R e t o r n a
c o n t r o l e
i n f o r m a c i n





S u b p r o g r a m a
A


< n s t r u c c i o n e s >



S u b p r o g r a m a
B
S u b p r o g r a m a
A





C e d e c o n t r o l

R e t o r n a
c o n t r o l
S u b p r o g r a m a
C






P a s a
i n f o r m a c i n
c e d e c o n t r o l
P a s a
i n f o r m a c i n
c e d e c o n t r o l
R e t o r n a
c o n t r o l e
i n f o r m a c i n
R e t o r n a
c o n t r o l e
i n f o r m a c i n
< n s t r u c c i o n e s >
< n s t r u c c i o n e s >
< n s t r u c c i n i >
L l a m a d a a C
< n s t r u c c i o n e s 1 >
< L l a m a d a u n o a A >
< n s t r u c c i n 3 >
< L l a m a d a u n o a B >
< n s t r u c c i n i >
< n s t r u c c i n k >
< L l a m a d a d o s a A >
< n s t r u c c i n n >
En el ,r1fi$o las fle$6as indi$an el flu8o de e8e$u$i(n del al,orit%oI observe <ue $uando se
e8e$uta una instru$$i(n de lla%ada a un sub&ro,ra%a, el al,orit%o lla%ante se detiene, ya <ue
no sola%ente le transfiere infor%a$i(n al sub&ro,ra%a sino ta%bi3n el $ontrol de e8e$u$i(nI
esto 6a$e <ue se a$tive el sub&ro,ra%a, se les d3 valor a las variables <ue lo $onfor%an y se
e8e$uten una a una las instru$$iones Bna vez <ue finaliza su e8e$u$i(n, tiene la infor%a$i(n
re<uerida &or el al,orit%o lla%anteI &or lo tanto, se la entre,a y devuelve el $ontrol de
e8e$u$i(n a la instru$$i(n si,uiente o a la %is%a instru$$i(n desde donde fue lla%ado,
de&endiendo de la $lase de sub&ro,ra%a
En la fi,ura ta%bi3n se %uestra <ue un al,orit%o &uede invo$ar las ve$es <ue sea ne$esario
al %is%o sub&ro,ra%a y <ue un sub&ro,ra%a &uede, a su vez, invo$ar a otros subal,orit%os
Cuando un al,orit%o invo$a a un sub&ro,ra%a es $o%o si las instru$$iones de 3ste se
$o&iaran dentro del al,orit%o y las e8e$utaraI en el $aso del sub&ro,ra%a A, no tiene sentido
tener el %is%o ,ru&o de instru$$iones re&etidas dentro del al,orit%oI $o%o los sub&ro,ra%as
&ueden $o%&ilarse y &onerse a &unto inde&endiente%ente del &ro,ra%a <ue los invo<ue, 3stos
se diseFan &ara <ue sean usados en diferentes &ro,ra%as Por e8e%&lo, si en un siste%a de
$(%&uto $on fre$uen$ia se ne$esitan ordena%ientos de los ele%entos de un ve$tor, una buena
solu$i(n es diseFar un sub&ro,ra%a <ue 6a,a el ordena%iento y $ada vez <ue sea ne$esario
i%&le%entarlo, si%&le%ente se le en$o%ienda la tarea al sub&ro,ra%a ?No 6ay <ue 6a$erloC
(.1. Clasi0icacion 2e los su.pro/ra3as
La divisi(n de los sub&ro,ra%as se 6a$e $on base en el n>%ero o $antidad de valores <ue el
sub&ro,ra%a le enva al &ro,ra%a o sub&ro,ra%a lla%ante
(.1.1. Proce2i3iento o su.rutinas
2on sub&ro,ra%as <ue devuelven $ero o %1s valores al &ro,ra%a o sub&ro,ra%a <ue lo
invo$a ?utilizaC y retornan el $ontrol de e8e$u$i(n a la instru$$i(n si,uiente desde donde se
lla%an
a. Representacin
PROCEDMENTO Nombre (PARMETROS)
nstrucciones
FN_NOMBRE
El No%bre dado al sub&ro,ra%a debe $u%&lir $on las nor%as &ara $onfor%ar no%bres de
variables y debe ser >ni$o ?no &ueden e7istir dos o %1s sub&ro,ra%as $on el %is%o no%breC
Los Par1%etros son una lista de $a%&os variables se&arados &or $o%as y son utilizados &ara
estable$er la $o%uni$a$i(n entre el %(dulo <ue lo a$tiva y el sub&ro,ra%a Bnos &ar1%etros
ser1n de re$ibo ?al%a$enan la infor%a$i(n <ue les enva el %(dulo <ue los invo$aC y otros de
envo de infor%a$i(n ?la transfieren a <uien invo$a el sub&ro,ra%aC
EJercicio resuelto No. #*
#a$er un sub&ro,ra%a <ue ordene tres n>%eros distintos en for%a as$endente
An:lisis
La &arte de an1lisis en la $onstru$$i(n de un sub&ro,ra%a es se%e8ante a la <ue se 6a
desarrollado 6asta a6ora $on los al,orit%os <ue se 6an venido tratando en los $a&tulos
anteriores
Consiste enton$es en dete$tar $u1les son los &ar1%etros de re$ibo, $u1les los de envo y el
&ro$eso <ue es ne$esario 6a$er &ara lle,ar a los &ar1%etros de envo, &artiendo de los de
re$ibo
Par:3etros 2e reci.o
2on las variables <ue van a re$ibir infor%a$i(n del %(dulo <ue los invo$a, si%ilares a los
datos de entrada <ue se 6an dete$tado en los al,orit%os anteriores, $on la diferen$ia de
<ue a los datos de entrada se les transfiere infor%a$i(n a trav3s de una instru$$i(n de
le$tura y a los &ar1%etros de re$ibo se les da infor%a$i(n a trav3s del %(dulo <ue invo$a
el sub&ro,ra%aI o sea, <ue es un asi,na%iento de infor%a$i(n auto%1ti$a desde las
variables <ue envan infor%a$i(n, desde el %(dulo lla%ante, 6a$ia los &ar1%etros de
re$ibo del sub&ro,ra%a Estos &ar1%etros sonG
O ;alor del &ri%er n>%ero
O ;alor del se,undo n>%ero
O ;alor del ter$er n>%ero
Par:3etros 2e en7o
2on los &ar1%etros <ue envan infor%a$i(n al %(dulo <ue invo$a al sub&ro,ra%a,
se%e8ante a los datos de salida de los al,orit%os, $on la diferen$ia de <ue los &ar1%etros
de envo le entre,an la infor%a$i(n a las variables <ue la re$iben dentro del %(dulo
lla%ante
O @enor valor
O ;alor %edio
O @ayor valor
Proceso
Para deter%inar el orden as$endente de los tres n>%eros, &ri%ero se en$uentra el %enor
de todos a trav3s de $o%&ara$iones entre s y se asi,na al %enor valor, lue,o se en$uentra
el se,undo %enor y se asi,na al valor %edio y el restante, &or defe$to, es el valor %ayor
De0inicin 2e 7aria.les
O5DENG No%bre del &ro$edi%iento
P;G Pri%er valor
2;G 2e,undo valor
T;G Ter$er valor
@ENO5G ;alor %enor
@EDIOG ;alor %edio
@ATO5G ;alor %ayor
Al/orit3o
PROCEDMENTO ORDEN (PV, SV, TV, MENOR, MEDO, MAYOR)
S (PV<SV) (PV<TV) ENTONCES
MENOR=PV
S SV<TV ENTONCES
MEDO=SV
MAYOR=TV
SNO
MEDO=TV
MAYOR=SV
FN_S
SNO
S SV<TV ENTONCES
MENOR= SV
S PV<TV ENTONCES
MEDO =PV
MAYOR =TV
FN_S
SNO
MENOR=TV
S PV<SV ENTONCES
MEDO= PV
MAYOR= SV
SNO
MEDO= SV
MAYOR= PV
FN_S
FN_S
FN_S
FN_ORDEN
.. Acti7acin 2e un proce2i3iento
El sub&ro,ra%a no ini$ia ni ter%ina &or s %is%oI &or lo tanto, ne$esita ser a$tivado ?6a$erlo
fun$ionarC desde un %odulo e7terno Esto se 6a$e $uando el %(dulo lla%ante ne$esita la ayuda
&ara una labor es&e$fi$a <ue 6a$e el %(dulo subordinado La a$tiva$i(n se 6a$e a trav3s de la
si,uiente instru$$i(n
?or3ato
No%bre ?Ar,u%entosC
Los ar,u%entos son no%bres de $a%&os ?$onstantes o variablesC, <ue usa el %odulo a%&lio
y <ue tienen una $orres&onden$ia biunvo$a $on los &ar1%etros $on los $uales se $onstruy( el
sub&ro,ra%aI &or lo tanto, estos deben ser i,uales en n>%ero y en ti&o de dato <ue los
&ar1%etros, ya <ue a $ada ar,u%ento le $orres&onde un &ar1%etro ( vi$eversa
Los ar,u%entos ta%bi3n son de dos $lasesG unos <ue envan infor%a$i(n al sub&ro,ra%a y
otros <ue re$iben infor%a$i(n
Cuando el sub&ro,ra%a es a$tivado, los ar,u%entos de envo son $o&iados en los &ar1%etros
de re$ibo, ?&ar1%etros de re$ibo ar,u%entos de envoC T $uando el subal,orit%o de8a de
e8e$utarse los &ar1%etros de envo le asi,nan infor%a$i(n a los ar,u%entos de re$ibo
?ar,u%entos de re$ibo &ar1%etros de envoC
Por e8e%&lo, elaborar la instru$$i(n <ue a$tive el &ro$edi%iento O5DEN Este sub&ro,ra%a
tiene 0 &ar1%etros ?tres de re$ibo y tres de envoC, &or lo tanto, la instru$$i(n <ue lo invo<ue
debe tener 0 ar,u%entos ?tres de envo y tres de re$iboC
2i las variables a utilizar $o%o ar,u%entos son en su ordenG N", N', N*, @EN, @ED y
@AT la instru$$i(n sera
O5DEN ?N", N', N*, @EN, @ED, @ATC
Lo <ue si,nifi$a lo si,uienteG
a Cuando se a$tiva el sub&ro,ra%a ?e%&ieza a e8e$utarseC
PV=N1
SV=N2
TV=N3
Por lo tanto N", N' y N* deben tener valor
b Cuando O5DEN de8a de e8e$utarse ?re,resa infor%a$i(nC
MEN=MENOR
MED=MEDO
MAY=MAYOR
EJercicio resuelto No. $I
Elaborar un al,orit%o <ue a$tive el &ro$edi%iento O5DEN
An:lisis
Datos 2e entra2a
O Los valores de los tres n>%eros a ordenar
Datos 2e sali2a
O Los tres n>%eros ordenados
Proceso
2e leen los tres n>%eros, se invo$a el sub&ro,ra%a <ue 6a$e el ordena%iento y se
%uestran los valores ordenados
De0inicin 2e 7aria.les
N"G ;alor del &ri%er n>%ero
N'G ;alor del se,undo n>%ero
N*G ;alor del ter$er n>%ero
@ENG ;alor del n>%ero %enor
@EDG ;alor del n>%ero inter%edio
@ATG ;alor del n>%ero %ayor
Al/orit3o
NCO
LEA: N1, N2, N3
ORDEN (N1,N2,N3, MEN, MED, MAY)
ESCRBA: "VALOR MENOR:", MEN, "VALOR MEDO:", MED,
"VALOR MAYOR:", MAY.
FN_NCO
Prue.a 2e escritorio
2i los valores a entrar sonG '/,"),"/, en el al,orit%o &asara lo si,uienteG
2e e8e$uta la instru$$i(n "G
N" N' N* @EN @ED @AT
'/ ") "/
Al e8e$utarse la instru$$i(n ' se le $ede el $ontrol de e8e$u$i(n al sub&ro,ra%a O5DEN,
&ara <ue e8e$ute sus instru$$iones y devuelva los resultados &edidosI &or tanto, le es dado a $ada
&ar1%etro su res&e$tiva dire$$i(n de %e%oria
N" P; N' 2; N* T; @EN, @ENO5 @ED, @EDIO @AT, @ATO5
'/ '/ ") ") "/ "/ "/ ") '/
La anterior ,r1fi$a %uestra $(%o las variables del sub&ro,ra%a s(lo son llevadas a %e%oria
en el %o%ento en <ue 3ste se a$tivaI y <ue los &ar1%etros P;, 2; y T; tienen una dire$$i(n de
%e%oria diferente a la de los ar,u%entos N", N' y N*, y los &ar1%etros @ENO5, @EDIO y
@ATO5, $o%&arten la %is%a dire$$i(n de %e%oria $on los ar,u%entos @EN, @ED y @AT
res&e$tiva%ente
Al devolverse el $ontrol de e8e$u$i(n al al,orit%o, las variables de 3sta tienen los si,uientes
$ontenidos
N" N' N* @EN @ED @AT Desa&are$en las variables
'/ ") "/ "/ ") '/ del sub&ro,ra%a
Al e8e$utarse la instru$$i(n * la salida ser1G

VALOR MENOR: 10
VALOR MEDO: 14
VALOR MAYOR: 20
(.1.2. ?unciones
2on sub&ro,ra%as <ue le devuelven al &ro,ra%a o sub&ro,ra%a <ue los invo$a un >ni$o
valor El valor <ue 3stas devuelven lo 6a$en a trav3s de una variable involu$rada en una
instru$$i(n de retorno, dentro del $on8unto de instru$$iones, o en el no%bre de 3staI &or lo tanto,
este ti&o de sub&ro,ra%as en su en$abeza%iento ?&rototi&oC s(lo tienen &ar1%etros de re$ibo
Las fun$iones devuelven el $ontrol de e8e$u$i(n a la %is%a instru$$i(n desde donde se lla%an
a. Representacin
FUNCN Nombre (PARAMETROS DE RECBO)
nstrucciones
Retorne valor
FN_Nombre
EJercicio resuelto No. $1
Elaborar una fun$i(n <ue en$uentre el valor %ayor en un $on8unto de * n>%eros reales
diferentes
An:lisis
Par:3etros 2e reci.o
O ;alor del &ri%er n>%ero
O ;alor del se,undo n>%ero
O ;alor del ter$er n>%ero
-alor 2e retorno BPar:3etros 2e en7oD
O El valor %ayor de los tres n>%eros
Proceso
2e $o%&aran los tres valores entre sI el valor <ue resulte %ayor ser1 llevado a una
variable y este ser1 el valor <ue retorna la fun$i(n
De0inicin 2e 7aria.les
@ATO5G No%bre de la fun$i(n
N"G Pri%er n>%ero
N'G 2e,undo nu%ero
N*G Ter$er n>%ero
;AL@ATG ;alor %ayor entre N", N' y N*
!u.al/orit3o
FUNCN MAYOR (N1, N2, N3)
S (N1 > N2) (N1 > N3) ENTONCES
VALMAY = N1
SNO
S (N2 > N3) ENTONCES
VALMAY = N2
SNO
VALMAY = N3
FN_S
FN_S
RETORNE VALMAY
FN_MAYOR
.. Acti7acin 2e una 0uncin
5e$uerde <ue las fun$iones, &or no tener en su en$abeza%iento &ar1%etros de envo, la
instru$$i(n <ue a$tive a la fun$i(n ta%&o$o tendr1 ar,u%entos de re$ibo El valor <ue devuelve
la fun$i(n debe ser asi,nado a una variable, la $ual debe ser del %is%o ti&o de dato del valor
<ue devuelve la fun$i(n ?no &uede e7istir in$o%&atibilidad de ti&os de datosC
?or3ato
;ariable S No%bre de la fun$i(n ?Ar,u%entosC
Por e8e%&lo, elaborar una instru$$i(n <ue invo<ue a la fun$i(n @ATO5
Co%o la fun$i(n tiene tres &ar1%etros, se debe invo$ar $on tres ar,u%entos y re$ibir el valor
<ue ella devuelve en una variable 2i los valores a enviar son NB@", NB@' y NB@* y se
re$ibe el valor %ayor en la variable NB@_@ATO5 la instru$$i(n seraG
NB@_@ATO5 S @ATO5 ?NB@", NB@', NB@*C
EJercicio resuelto No. $2
Elaborar un al,orit%o <ue a$tive la fun$i(n @ATO5
An:lisis
Datos 2e entra2a
O Los valores de los tres n>%eros
Datos 2e sali2a
O El valor %ayor entre los tres n>%eros
Proceso
2e leen los tres valores, se invo$a la fun$i(n y se i%&ri%e el valor %ayor
De0inicin 2e 7aria.les
NB@"G ;alor del &ri%er n>%ero
NB@'G ;alor del se,undo n>%ero
NB@*G ;alor del ter$er n>%ero
NB@_@ATO5G ;ariable <ue re$ibe de la fun$i(n el valor %ayor
Al/orit3o
NCO
LEA: NUM1, NUM2, NUM3
NUM_MAYOR = MAYOR (NUM1, NUM2, NUM3)
ESCRBA: "EL VALOR MAYOR ENTRE:", NUM1, ",", NUM2, "y", NUM3,
"ES:",NUM_MAYOR
FN_NCO
Bna venta8a de las fun$iones es <ue &ueden estar involu$radas en e7&resiones, $o%o se
%uestra en el si,uiente al,orit%o
En al,unos $asos &arti$ulares, $uando el &ro,ra%a lo re<uiera, se &ueden enviar valores
$onstantes $o%o ar,u%entos, $uando se invo$a un sub&ro,ra%a ?&ro$edi%iento ( fun$i(nC
EJercicio resuelto No. $#
Btilizar la fun$i(n @ATO5 &ara en$ontrar el valor %ayor entre 4/+ y dos valores <ue
entrar1 el usuario
Al/orit3o
NCO
LEA:NUM1, NUM2
ESCRBA: " EL VALOR MAYOR ENTRE:", NUM1, ",", NUM2, "y 90.5
ES:", MAYOR (NUM1, NUM2, 90.5)
FNAL_NCO
(.2. Docu3entacin 2e su.pro/ra3as
Bna de las ,randes utilidades <ue tienen los sub&ro,ra%as es <ue se $onstruyen &ara <ue
sean utilizados &or diferentes %(dulos, $ada <ue se re<uiera la tarea es&e$fi$a <ue realiza el
%(dulo subordinado
Debido a esto, $ada <ue se $onstruye un sub&ro,ra%a se debe indi$ar la for%a de su e%&leo
Esta do$u%enta$i(n debe in$luirG
(ombre: es el no%bre es$o,ido &or <uien lo $onstruye, &ara diferen$iarlo de los de%1s
sub&ro,ra%asI &or lo tanto, debe ser >ni$o
)uncin: es la reda$$i(n de lo <ue 6a$e el sub&ro,ra%a
Par1%etrosG 2e deben des$ribir $ada uno y en el orden en <ue se en$uentran en la listaI no
i%&orta el no%bre del &ar1%etro, &ero s el ti&o de dato de $ada uno de ellos
En al,unos $asos es&e$fi$os es ne$esario des$ribir otras $ara$tersti$as tales $o%oG
#/todo usado: esta &arte se des$ribe en $aso de <ue la solu$i(n de la tarea <ue 6a$e el
sub&ro,ra%a ten,a %1s de un %odelo de solu$i(nI en $onse$uen$ia, se debe de$ir $u1l de los
%3todos de solu$i(n se e%&le(
Otros sub&ro,ra%as usadosG si el %(dulo a$tiva otros sub&ro,ra%as, es $onveniente in$luir
la do$u%enta$i(n de 3stos
Ejemplo- elaborar la do$u%enta$i(n del sub&ro,ra%a $onstruido en el e8er$i$io resuelto
nu%ero *4
(ombre: orden ?&ro$edi%ientoC
)uncin: entre,a ordenados as$endente%ente tres valores diferentes
Los valores ordenados los transfiere en tres variables distintas
Par;metros:
" No%bre <ue re$ibe el &ri%er valor nu%3ri$o a ordenar
' ;ariable <ue re$ibe el se,undo valor nu%3ri$o
* Ca%&o <ue re$ibe el ter$er valor nu%3ri$o
) Ca%&o sen$illo <ue entre,a el valor %enor de los tres datos
+ Ca%&o sen$illo <ue entre,a el valor inter%edio de los tres datos
0 Ca%&o sen$illo <ue entre,a el valor %ayor de los tres valores entre,ados
#/todos: entre,a los valores ordenados en variables distintas a las re$ibidas
%tros subprogramas utili6ados: Nin,uno
Cuando se utiliza un sub&ro,ra%a no interesa $ono$er el no%bre de las variables utilizadas
$o%o &ar1%etros, &ero s el orden en <ue se en$uentran en la lista y el ti&o de dato de $ada una
de ellas
EJercicio resuelto No. $$
Elabore un sub&ro,ra%a <ue en$uentre la su%a y el &ro%edio de un $on8unto de N
n>%eros, lo %is%o <ue el &ro,ra%a <ue lo invo<ue
An:lisis
Par:3etros 2e reci.o
O Cantidad de n>%eros N
Par:3etros 2e en7o
O 2u%a de los N n>%eros 2B@A
O Pro%edio de los n>%eros P5O@
Proceso
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG 2B@P5O@

!u.al/orit3o
PROCEDMENTO SUMPROM (N, SUMA, PROM)
SUMA = 0
PARA = 1, N, 1 HAGA
LEA: NUM
SUMA = SUMA + NUM
FN_PARA
PROM = SUMA / N
FN_SUMPROM
Al/orit3o lla3ante
An:lisis
Datos de entrada
O Cantidad de n>%eros CN
Datos de salida
O 2u%a de los n>%eros 2B@
O Pro%edio de los n>%eros P5O@EDIO
Al/orit3o
NCO
LEA: CN
SUMPROM (CN, SUM, PROMEDO)
ESCRBA: "LA SUMA DE LOS", CN, "NUMEROS ES:", SUM
ESCRBA: "EL PROMEDO ES:", PROMEDO
FN_NCO
EJercicio resuelto No. $&
Elaborar un sub&ro,ra%a <ue en$uentre la su%a y el &ro%edio de un $on8unto de
n>%eros enteros, lo %is%o <ue el sub&ro,ra%a <ue lo utili$e
An:lisis
Par:3etros 2e reci.o.
No tiene
Par:3etros 2e en7o
O La su%a del $on8unto de n>%erosG 2
O El &ro%edio de los n>%erosG P
Proceso
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG 2P5O@
Co%o no se sabe $uantos n>%eros son, una solu$i(n es leer el $on8unto de n>%eros en el
sub&ro,ra%a a trav3s de un es<ue%a $ualitativo, usando una bandera &ara $ontrolar el
$i$lo de entrada e ir $ontando y su%ando los n>%eros ledos
Deben usarse las si,uientes variables lo$alesG
NG Contador de n>%eros, ne$esario &ara $al$ular el &ro%edio
2LG Bandera o s=it$6e &ara $ontrolar al $i$lo de entrada de datos, to%ar1 los valores 2 si
6ay %1s valores o N $uando no e7isten %1s datos
NB@G N>%ero <ue se lee
!u.al/orit3o H
PROCEDMENTO SPROM (S, P)
SW = S
N, S = 0
MENTRAS SW = 'S' HAGA
LEA: NUM
S = S + NUM
N = N+ 1
ESCRBA: "HAY MAS DATOS S/N "
LEA: SW
FN_MENTRAS
P = S / N
FN_SPROM
Al/orit3o lla3ante
An:lisis
Datos de entrada
No tiene
Datos de salida ?ar,u%entos &ara lla%ar a 2P5O@ C
O 2u%a de los n>%erosG 2B@
O Pro%edio de los n>%erosG P5O@
NCO
SPROM (SUM, PROM)
ESCRBA: "LA SUMA ES:", SUM
ESCRBA: "EL PROMEDO ES:", PROM
FN_NCO
EJercicio resuelto No. $'
Elaborar un sub&ro,ra%a <ue en$uentre el salario bruto, dedu$$i(n, subsidio y salario
neto, de un e%&leado <ue labora ! 6oras a T &esos
La reten$i(n &ara el e%&leado se deter%ina asG &ara salarios %enores de W)///// si el
n>%ero de 6i8os es %ayor de 0 no 6ay reten$i(nI si el n>%ero de 6i8os es %enor o i,ual a
0, se le retiene un &or$enta8e i,ual a 0 %enos el n>%ero de 6i8os dividido &or ' Para
salarios i,uales o %ayores de W)///// si el n>%ero de 6i8os es %enor de *, se le retiene
un *PI si el n>%ero de 6i8os es %ayor o i,ual a * se le retiene un &or$enta8e i,ual a "/
dividido &or el n>%ero de 6i8osI &or $ada 6i8o, al e%&leado se le da un subsidio de W'///
An:lisis
Par:3etros 2e reci.o
O Nu%ero de 6oras traba8adasG !
O ;alor 6ora traba8adaG T
O Nu%ero de 6i8osG N#
Par:3etros 2e en7o
O 2alario brutoG 2B
O Dedu$$i(nG DED
O 2ubsidioG 2BB
O 2alario netoG 2N
Proceso
2B S ! V T
La dedu$$i(n se obtiene $o%&arando el salario bruto $on )///// y de a$uerdo al n>%ero
de 6i8os
El subsidio ser1 '/// V N#
2NS 2B J DED H 2BB
Clase de subprograma: P5OCEDI@IENTO
(ombre: CAL_2ALA5IO
-aria.les
P5G Por$enta8e de reten$i(n ?variable lo$alC
!u.al/orit3o
PROCEDMENTO CAL_SALARO (X, Y, NH, SB, DED, SUB, SN)
SB = X * Y
S SB < 400000 ENTONCES
S NH > 6 ENTONCES
PR = 0
SNO
PR = (6-NH)/2
FN_S
SNO
S NH < 3 ENTONCES
PR = 3
SNO
PR = 10/NH
FN_S
FN_S
DED = SB * PR/100
SUB = 2000 * NH
SN = SB - DED + SUB
FN_CAL_SALARO
EJercicio resuelto No. $(
2e tiene la si,uiente infor%a$i(n &or $ada uno de los e%&leados de una e%&resaG
C(di,o
No%bre
N>%ero de 6i8os
2alario &or 6ora
N>%ero de 6oras traba8adas &or %es
La dedu$$i(n y el subsidio de $ada e%&leado se $al$ula de a$uerdo $on lo esti&ulado en
el sub&ro,ra%a anterior ?e8er$i$io resuelto No )0C
Elaborar un al,orit%o <ue %uestreG $(di,o, no%bres, salario bruto, reten$i(n, subsidio y
salario neto
An:lisis
Datos 2e entra2a
O C(di,oG COD
O No%bresG NO@
O N>%ero de 6i8osG N#
O 2alario &or 6oraG 2#
O N>%ero de 6oras traba8adas al %esG N#T
Datos 2e sali2a
O C(di,o
O No%bres
O 2alario brutoG 2B5
O Dedu$$i(nG DEDBC
O 2ubsidioG 2B
O 2alario netoG 2NETO
Proceso
2e usar1 el sub&ro,ra%a CAL_2ALA5IO, &ara obtener &or $ada traba8adorG salario
bruto, reten$i(n, subsidio y salario neto
Co%o no se $ono$e la $antidad de e%&leados de la e%&resa, se debe i%&le%entar un
es<ue%a $ualitativo usando el $(di,o del e%&leado
Cada vez <ue se en$uentre un $(di,o diferente de $ero, se entrar1 la infor%a$i(n del
e%&leado y se invo$ar1 el sub&ro,ra%a CAL_2ALA5IO &ara obtener los resultados
&edidos
Al/orit3o
NCO
LEA: COD
MENTRAS COD <> 0 HAGA
LEA: NOM, NH, SH, NHT
CAL_SALARO (NHT, SH, NH, SBR, DEDUC, SU, SNETO)
ESCRBA: COD, NOM, SBR, DEDUC, SU, SNETO
ESCRBA: "ENTRE CODGO O CERO PARA TERMNAR"
LEA: COD
FN_MENTRAS
FN_NCO
EJercicio resuelto No. $)
Elaborar un sub&ro,ra%a <ue en$uentre el fa$torial de un n>%ero entero %ayor o i,ual a
$ero
An:lisis
Par:3etros 2e reci.o
O El n>%eroG N
Par:3etros 2e en7o
O El fa$torial del n>%eroG :ACTO
Proceso
Clase del sub&ro,ra%aG :BNCIDN
No%breG :AC
El fa$torial de N se define $o%o "G si N es i,ual a $ero, o "V'V*VNJ"VN si N es %ayor
<ue $ero El &ro$eso usado ser1 el %is%o <ue se i%&le%enta en el e8er$i$io resuelto
nu%ero **
!u.al/orit3o
FUNCN FAC (N)
FACTO=1
PARA = 1, N, 1 HAGA
FACTO= FACTO*
FN_PARA
RETORNE FACTO
FN_FAC
EJercicio resuelto No. $*
Elaborar un al,orit%o <ue utili$e el sub&ro,ra%a :AC &ara en$ontrar el fa$torial de un
n>%ero
An:lisis
Datos 2e entra2a
O El n>%ero a $al$ularle el fa$torialG NB@
Datos 2e sali2a
O El fa$torial del n>%eroG :ACTO5
Al/orit3o
NCO
LEA: NUM
FACTOR = FAC (NUM)
ESCRBA: "EL FACTORAL DE", NUM, "ES:", FACTOR
FN_NCO

EJercicio resuelto No.&I
Bsando la fun$i(n :AC, elaborar un al,orit%o <ue en$uentre el fa$torial de los &ri%eros
N n>%eros naturales
An:lisis
Datos 2e entra2a
O La $antidad de n>%eros a $al$ularle el fa$torialG N
Datos 2e sali2a
O Cada uno de los fa$toriales de los n>%eros $o%&rendidos entre " y N
Al/orit3o
NCO
LEA: N
PARA = 1, N, 1
ESCRBA: "EL FACTORAL DE", , "ES:", FAC ()
FN_PARA
FN_NCO
EJercicio resuelto No. &1
Elaborar un sub&ro,ra%a <ue deter%ine si un n>%ero es &ri%o o no
An:lisis
Par:3etros 2e reci.o
O El n>%ero a evaluar si es &ri%o o noG N
Par:3etros 2e en7o
O Bna res&uesta <ue di,a si el n>%ero es &ri%o o noG 5E2 ?Al%a$enara 2, si el
n>%ero es &ri%o o N si no lo esC
Proceso
Clase de sub&ro,ra%aG :BNCIDN
No%breG P5I@O
Bn n>%ero es &ri%o si s(lo es divisible &or la unidad y &or s %is%o Lo anterior i%&li$a
$6e<uear si el n>%ero N tiene o no divisores, fuera de " y NI esos &osibles divisores
estar1n entre ' y NK', &or eso no se $6e<ueara si N es divisible &or un n>%ero %ayor a
NK'
Para darnos $uenta si N es divisible &or un n>%ero $ual<uiera M, usare%os el o&erador
%(dulo Este o&erador devuelve el residuo de una divisi(n entera Por e8e%&lo "" %(dulo
* S ', <ue resulta de dividir "" &or * y sobran ' . %(dulo ' S / Auiere de$ir enton$es,
<ue si un n>%ero $ual<uiera N es divisible &or M, enton$es al dividir N &or M el residuo es
$ero 2i se en$uentra <ue N s es divisible &or $ual<uier n>%ero entre ' y la %itad de N,
<uiere de$ir <ue N no es &ri%o, &or lo tanto, se ro%&er1 el $i$lo
-aria.les locales a la 0uncin
@ITADG Parte entera de dividir N &or '
IG ;ariable de $ontrol del $i$lo, to%ar1 valores entre ' y @ITAD
!u.al/orit3o
FUNCON PRMO (N)
MTAD = N/2
= 2
MENTRAS ( <= MTAD) (N MOD <> 0)
= + 1
FN_MENTRAS
S > MTAD ENTONCES
RES = 'S'
SNO
RES = 'N'
FN_S
RETORNE RES
FN_PRMO
EJercicio resuelto No. &2
Elaborar un al,orit%o <ue %ediante la fun$i(n P5I@O, deter%ine si un n>%ero es &ri%o
o no
An:lisis
Datos 2e entra2a
O El n>%ero a evaluarG NB@
Datos 2e sali2a
O Bn %ensa8e <ue di,a si el n>%ero $6e<ueado es &ri%o o no
Al/orit3o
NCO
LEA: NUM
S PRMO (NUM) = 'S' ENTONCES
ESCRBA: NUM, "ES PRMO"
SNO
ESCRBA: NUM, "NO ES PRMO"
FN_S
FN_NCO
EJercicio resuelto No. &#
Bsando la fun$i(n P5I@O, elaborar un al,orit%o <ue en$uentre los &ri%eros N n>%eros
&ri%os
An:lisis
Datos 2e entra2a
O La $antidad de n>%eros &ri%os a bus$arG CNP
Datos 2e sali2a
O Los N &ri%eros n>%eros &ri%os
Proceso
@ediante un $i$lo <ue to%e valores entre uno y CNP, se $6e<uearan los n>%eros
naturales en for%a $onse$utiva de " en adelante La variable de $ontrol de este $i$lo s(lo
se in$re%entara $uando al lla%ar a la fun$i(n P5I@O, la res&uesta sea 2, &ero el
$ontador <ue est3 ,enerando los n>%eros de " en adelante se in$re%entar1 sea $ual fuere
el valor <ue retorne la fun$i(n P5I@O
-aria.les
NG Contador <ue ,enera los n>%eros de uno en adelante
IG ;ariable de $ontrol del $i$lo
Al/orit3o
NCO
LEA: CNP
N, = 1
MENTRAS <=CNP HAGA
S PRMO (N) = 'S' ENTONCES
ESCRBA: N, "ES EL PRMO",
= + 1
FN_S
N = N + 1
FN_MENTRAS
FN_NCO
Aspectos a tener en cuenta
a Los sub&ro,ra%as deben ser lo %1s si%&les <ue se &uedaI deben re&resentar tareas <ue s(lo
se e8e$utan una vez, o &osible%ente en tareas re&etitivas <ue son de uso %uy fre$uente
dentro de la &ro,ra%a$i(n
b Bn &ro,ra%a se si%&lifi$a %ediante su divisi(n en %(dulos <ue se &ueden $onsiderar
inde&endiente%ente, lo <ue %1s interesa es <u3 6a$e el %(dulo y $(%o lo 6a$e
$ Los sub&ro,ra%as, $o%o re&resenta$i(n de %(dulos, tienen todas las $ara$tersti$as de un
al,orit%o
d Los sub&ro,ra%as no s(lo son >tiles &ara evitar la re&eti$i(n de instru$$iones dentro de un
al,orit%o, sino <ue son a&li$ables en la i%&le%enta$i(n de la &ro,ra%a$i(n %odular Esta se
basa en la des$o%&osi$i(n des$endente ?arriba J aba8oC o 8erar<ua de %(dulos, <ue se
enlazan %ediante un %(dulo &rin$i&al o raz
e Los %(dulos realizan sie%&re una tarea deter%inada y $onstan de un $on8unto de
instru$$iones y un no%bre &or el $ual son lla%ados o invo$ados desde un al,orit%o u otro
sub&ro,ra%a
f Cuando se invo$a un &ro$edi%iento, el $ontrol de e8e$u$i(n es transferido a la instru$$i(n
del no%bre del sub&ro,ra%a, y $uando retorna devuelve el $ontrol a la instru$$i(n si,uiente
del %(dulo <ue lo a$tiv( y si es una fun$i(n el $ontrol retorna a la %is%a instru$$i(n <ue la
invo$a
, Los sub&ro,ra%as, &or lo ,eneral, deben ser de$larados antes del al,orit%o <ue lo invo$a
6 Los ar,u%entos deben ser i,uales en n>%ero y en ti&o de datos a los &ar1%etros
i Los sub&ro,ra%as &ueden ser $onstruidos sin &ar1%etros, lo $ual es una &r1$ti$a &o$o
re$o%endable 2i esto su$ede, se di$e <ue traba8an $on variables ,lobales <ue son a<u3llas
definidas en el %(dulo <ue invo$a al sub&ro,ra%a
8 Los &ar1%etros de un sub&ro,ra%a no sie%&re sirven en for%a e7$lusiva &ara re$ibir y
entre,ar infor%a$i(n En %u$6os $asos los %is%os &ar1%etros $u%&len a%bos &ro&(sitosI
$o%o &ar1%etros de re$ibo transfieren infor%a$i(n 6a$ia el %(dulo invo$ante
(.#. EJercicios propuestos
Elaborar un subprograma ! su documentacin para los siguientes 8< e'ercicios.
"'- En$ontrar !
y
&or %ulti&li$a$iones su$esivas
"'. Obtener !
y
utilizando su%as >ni$a%ente, donde ! &uede ser un n>%ero real y T &ositivo,
$ero o ne,ativo
"'4 Ordenar tres $ara$teres en orden as$endente
"*/ Deter%inar si un n>%ero es &erfe$to o no Bn n>%ero N es &erfe$to si la su%a de todos
sus divisores, e7$e&to &or el %is%o, da N
"*" Convertir un n>%ero de$i%al a $ual<uier base r
"*' En$ontrar el valor de e
7
&ara una valor de 7 dado, %ediante la serieG
"
' *
' *
+ + + + !
! !
g g

teniendo en $uenta los t3r%inos <ue sean %ayores <ue "/
J*
"** En$ontrar un t3r%ino de la su$esi(n de :ibona$$i
"*) En$ontrar el &er%etro y 1rea de un tri1n,ulo, $uando s(lo se $ono$en sus lados
"*+ En$ontrar la su%a y el &ro%edio de los valores enteros $o%&rendidos entre N y @, donde
Na@
"*0 En$ontrar los divisores de N
Para los siguientes 8< e'ercicios elaborar el subprograma ! el algoritmo .ue los acti-a.
"*- En$ontrar las &ri%eros N n>%eros &erfe$tos
"*. Obtener los &ri%eros )/ %>lti&los de N
"*4 En$ontrar A
B
y lue,o obtenerG
???AVVBC VVCC VVDC VVE
")/ Dibu8ar un tri1n,ulo e<uil1tero de lado L, $on asteris$os
")" C6e<uear $u1ntos de N &untos del &lano $artesiano est1n en el $uadrante ", ', *, y )
")' Obtener el inter3s ,enerado &or ! &esos <ue se invierte a & &or$iento %ensual en un
&erodo de N %eses
")* En$ontrar la 6ora a los )/ se,undos si,uientes de la 6ora a$tual
")) Obtener el &ro%edio $r3dito de un estudiante <ue $ursa N %aterias, $on n>%ero de
$r3ditos distintos
")+ Deter%inar si $on ) valores <ue re&resentan &atas de %esas se &uede $onstruir una %esa
de ) &atas no $o8a o de * &atas no $o8a, en $aso de <ue no se &ueda $onstruir una de ) &atas
no $o8a
")0 En$ontrar su edad en aFos, %eses y das <ue tendr1 dentro de N aFos
Captulo )
A55E9LO2
En los $a&tulos anteriores se 6a %ane8ado el $on$e&to de $a%&o variable $o%o uno o %1s
$ara$teres, a los <ue se le asi,na un es&a$io en %e%oria donde se &uede ,uardar en for%a
te%&oral un >ni$o valor, bien sea nu%3ri$o, $ar1$ter o l(,i$o En este $a&tulo el $on$e&to de
variable se e7tender1 a un ,ru&o o $ole$$i(n de ellas, a,ru&adas ba8o un %is%o no%bre
:re$uente%ente se %ane8an $on$e&tos rela$ionados $o%o una $ole$$i(n de datos Por
e8e%&lo, en las %ontaFas de Antio<uia ve%os un $on8unto de a$3%ilas %ane8adas &or un arriero
y no i%&orta $ono$er el no%bre, se7o, o $olor de $ada una de ellas &ara %en$ionarlasG
si%&le%ente de$i%os %ulas
Los datos sie%&re <ue est3n rela$ionados se &ueden or,anizar en estru$turas, de tal %anera
<ue &ode%os tener un $on8unto de datos nu%3ri$os, l(,i$os, o $ara$teres %ane8ados a trav3s de
un %is%o no%bre de variable Bna estru$tura de datos es la or,aniza$i(n <ue re$iben los datos
&ara <ue sean tratados $o%o una unidad
E7isten varias for%as de or,anizar los datos o valores <ue %ane8a un al,orit%o, los %1s
$o%unes son los arre,los y los ar$6ivos de datos
Bn arre,lo es un $on8unto finito de $o%&onentes del %is%o ti&o, los $uales se diferen$ian o
rela$ionan a trav3s de un subndi$e
Todas las $o%&onentes &ertene$ientes, lla%adas ta%bi3n elementos del arre,lo, est1n una a
$ontinua$i(n de otra, tienen el %is%o ta%aFo o es&a$io en %e%oria, son todas de un %is%o
ti&o de dato y, &or lo tanto, tienen i,ual for%a de al%a$ena%iento
Para %ane8ar en for%a inde&endiente $ada $o%&onente del arre,lo se usa un ndice, <ue es
una e7&resi(n de ti&o entero ?sin de$i%alesC <ue indi$a $u1l de los ele%entos del arre,lo
<uere%os rela$ionar 2ie%&re <ue se <uiere traba8ar o %en$ionar una $o%&onente es ne$esario
adi$ionar el ndi$e al no%bre ,en3ri$o del arre,loI es 3ste el <ue 6a$e inde&endiente una de otra
E8e%&los de ndi$esG
" I IND M H I I V 8ota J "
Clasi0icacin 2e los arre/los
).1. Arre/los 2e una 2i3ensin o 7ectores
Bn -ector es un arre,lo donde los ele%entos <ue lo $onfor%an est1n dis&uestos ba8o un
%is%o $on$e&to de $lasifi$a$i(n ?fila o $olu%naC, es de$ir, los datos est1n or,anizados de una
%anera lineal, &or lo <ue &ara referen$iar un ele%ento del arre,lo es ne$esario un ndi$e, <ue
indi<ue la &osi$i(n relativa del ele%ento en el arre,lo
Cuando al no%bre del arre,lo se le adi$iona el ndi$e, bien sea entre &ar3ntesis o $or$6etes,
la $o%&onente al $ual 6a$e referen$ia el ndi$e es to%ada $o%o una variable si%&le, i,ual a las
<ue en $a&tulos anteriores se 6an venido tratandoI &or lo tanto, &uede estar involu$rada en una
e7&resi(n, en una entrada o salida de datos, o en una asi,na$i(n
9r1fi$a%ente un ve$tor &uede ser re&resentado en $ual<uiera de las si,uientes for%asG
aNO@B5Eb
Co%o fila ?ALTA R8?ICO PA. 2I2 LI"RO
Co%o $olu%na aNO@B5Eb
?ALTA R8?ICO PA. 2I2 LI"RO
Donde el no%bre es el <ue se 6a es$o,ido &ara todos los ele%entos del arre,lo, y $ada
re$t1n,ulo re&resenta las $o%&onentes o ele%entos <ue lo $onfor%an
2i los valores */, "+, '/, 0/ y ./ re&resentan las edades de $in$o &ersonas y <uere%os tener
al%a$enada esta infor%a$i(n en %e%oria &ara ser utilizada en un &ro$eso &or $o%&utadora,
&erfe$ta%ente &ode%os ,uardarla en $in$o no%bres de variables distintas $o%o EDAD",
EDAD', EDAD*, EDAD) y EDAD+I &ero l<u3 &asa si no son $in$o sino %il edades, o %1s de
%ilm, sin duda <ue se $onvierte en un &ro$eso en,orroso y dif$il de %ane8ar, &ero <ue se &uede
solu$ionar al%a$enando esa infor%a$i(n en un arre,lo, <ue en este $aso sera de una di%ensi(n
2i se es$o,e el no%bre EDAD $o%o no%bre del arre,lo &ara identifi$ar el $on8unto de las +
edades, interna%ente en %e%oria se se&aran $in$o es&a$ios ?dire$$iones de %e%oriaC
adya$entes &ara al%a$enar en el %o%ento o&ortuno la infor%a$i(n re<uerida 2i un &ro,ra%a
utiliza la variable ti&o arre,lo EDAD, des&u3s de la $o%&ila$i(n su$eder1 lo si,uienteG
@E@O5IA
EDADt"u aBA2B5Ab Dire$$i(n !
EDADt'u aBA2B5Ab Dire$$i(n ! H "
EDADt*u aBA2B5Ab Dire$$i(n ! H '
EDADt)u aBA2B5Ab Dire$$i(n ! H *
EDADt+u aBA2B5Ab Dire$$i(n ! H )
Donde $ada ele%ento del ve$tor EDAD se &uede &ro$esar $o%o si fuese una variable si%&le,
al o$u&ar $ada uno una &osi$i(n de %e%oria diferenteI esto i%&li$a <ue en los arre,los el
a$$eso a un ele%ento se 6a$e en for%a dire$ta, es de$ir, <ue $ual<uier ele%ento se &uede
referen$iar sin ne$esidad de a$$esar los anteriores a 3l
Las si,uientes dos instru$$iones %uestran la inde&enden$ia <ue tiene $ada una de las
variables <ue &ertene$en al arre,lo, al adi$ionar el ndi$e
LEA: EDAD[1], EDAD[3], EDAD[5]
ESCRBA: EDAD[5], EDAD[1]
2i los valores de las tres variables des$ritas en la instru$$i(n de la le$tura son en su orden */,
'/ y ./, al e8e$utarse las instru$$iones anteriores su$eder1 lo si,uienteG
@E@O5IA
EDADt"u */ Dire$$i(n !
EDADt'u aBA2B5Ab Dire$$i(n ! H "
EDADt*u '/ Dire$$i(n ! H '
EDADt)u aBA2B5Ab Dire$$i(n ! H *
EDADt+u ./ Dire$$i(n ! H )
!ali2a


)I #I
En ,eneral se &uede de$ir <ue EDADtlu 6a$e referen$ia al $ontenido <ue tiene la
$o%&onente, o ele%ento ubi$ado en la &osi$i(n i del arre,lo EDAD, donde " a i a +
Los arre,los &ueden ser utilizados $o%o a$u%uladores o $ontadores, ini$ializando $ada uno
de sus ele%entos Por e8e%&lo, llevar $ero a $ada uno de los ele%entos del arre,lo EDAD
!olucin utiliMan2o MIENTRA!
NCO
NDCE = 1
MENTRAS NDCE <= 5 HAGA
EDAD [NDCE] = 0
NDCE = NDCE + 1
FN_MENTRAS
FN_NCO
!olucin utiliMan2o PARA
NCO
PARA NDCE = 1, 5, 1 HAGA
EDAD [NDCE] = 0
FN_PARA
FN_NCO
!olucin utiliMan2o REPETIR
NCO
NDCE = 1
HAGA
EDAD [NDCE] = 0
NDCE = NDCE + 1
MENTRAS NDCE <= 5
FN_NCO
EJercicio resuelto No. &$
#a$er un al,orit%o <ue for%e un ve$tor de N ele%entos, $uyos valores son nu%3ri$os
<ue entran de a uno &or re,istro, y lue,o obten,a la su%a y el &ro%edio de los ele%entos
ubi$ados en las &osi$iones i%&ares del ve$tor
An:lisis
Datos 2e entra2a
O La $antidad de valores <ue $onfor%ar1n el ve$tor
O Cada uno de los ele%entos del ve$tor
Datos 2e sali2a
O 2u%a de los ele%entos i%&ares
O Pro%edio de los ele%entos i%&ares
Proceso
Co%o se $ono$e la $antidad de valores <ue se al%a$enar1n en el ve$tor ?n>%ero de
ele%entosC, se &uede i%&le%entar un es<ue%a $uantitativo 2e 6ar1 uso de la estru$tura
PA5A en el &ro$eso de entrada y la estru$tura @IENT5A2 &ara el &ro$eso de $1l$ulo de
la su%a y el &ro%edioI esto s(lo &or ilustrar su e%&leo, ya <ue indistinta%ente &uede
i%&le%entarse $ual<uiera de ellas &ara los dos &ro$esos 5e$uerdeG todo lo <ue 6a$en las
estru$turas PA5A y 5EPETI5 &uede 6a$erse $on la estru$tura @IENT5A2 Para obtener
los ele%entos i%&ares se ini$ializa el $ontador en " y se in$re%enta de dos en dos, 6asta
<ue to%e un valor <ue 6a,a falsa la e7&resi(n l(,i$a
De0inicin 2e 7aria.les
NG N>%ero de ele%entos del arre,lo
XG ;ariable de ti&o $ontador, utilizada $o%o $ontroladora de los
$i$los PA5A y @IENT5A2
;G No%bre del ve$tor
2B@AG 2u%atoria de los ele%entos i%&ares del arre,lo ;
P5O@G Pro%edio de los ele%entos i%&ares
NEIG N>%ero de ele%entos i%&ares del arre,lo
Al/orit3o
NCO
LEA: N (1)
PARA K = 1, N, 1
LEA: V[K] (2)
FN_PARA
K = 1 (3)
SUMA, NE = 0 (4)
MENTRAS K <= N HAGA
SUMA = SUMA + V[K] (5)
NE = NE + 1 (6)
K = K + 2 (7)
FN_MENTRAS
PROM = SUMA / NE (8)
ESCRBA: "LA SUMA ES:", SUMA, (9)
"Y EL PROMEDO:", PROM
FN_NCO
Prue.a 2e escritorio
@ire%os el al,orit%o, &aso a &aso, su&oniendo un N i,ual a - y los si,uientes valores &ara
$ada uno de los ele%entos del arre,lo ;
* )
" )
J '
/
" /
* /
) /
2e e8e$uta la instru$$i(n ", N
-
2e a$tiva el $i$lo PA5A, X Co%&araG es " a -G s,
"
2e e8e$uta la instru$$i(n ', LEAG ;t"u,
V
40

V[1] V[2] V[3] V[4] V[5] V[6] V[7]

2e in$re%enta X ?X S "H"C X Co%&araG es ' a -G s,
'
2e e8e$uta la instru$$i(n ', LEAG ;t'u,
V
40 30
V[1] V[2] V[3] V[4] V[5] V[6] V[7]

2e in$re%enta X ?X S 'H"CI X Co%&araG es * a -G s,
*
2e e8e$uta la instru$$i(n ', LEAG ;t*u,
V
40 30 10
V[1] V[2] V[3] V[4] V[5] V[6] V[7]

2e in$re%enta X ?X S *H"CI X Co%&araG es ) a -G s,
)
2e e8e$uta la instru$$i(n ', LEAG ;t)u,
V
40 30 10 0
V[1] V[2] V[3] V[4] V[5] V[6] V[7]

2e in$re%enta X ?X S )H"CI X Co%&araG es + a -G s,
+
2e e8e$uta la instru$$i(n ', LEAG ;t+u,
V
40 30 10 0 -2
V[1] V[2] V[3] V[4] V[5] V[6] V[7]

2e in$re%enta X ?X S +H"CI X Co%&araG es 0 a -G s,
0
2e e8e$uta la instru$$i(n ', LEAG ;t0u,
V
40 30 10 0 -2 14
V[1] V[2] V[3] V[4] V[5] V[6] V[7]

2e in$re%enta X ?X S 0H"C X Co%&araG es - a -G s,
-
2e e8e$uta la instru$$i(n ', LEAG ;t-u,
V
40 30 10 0 -2 14 34
V[1] V[2] V[3] V[4] V[5] V[6] V[7]

2e in$re%enta X ?X S -H"CI X Co%&araG es . a -G no,
.
2ale del $i$lo PA5A y <uedan al%a$enados en %e%oria los - valores de los ele%entos del
ve$tor ;
2e e8e$uta la instru$$i(n *, X
"
2e e8e$uta la instru$$i(n ), 2B@A NEI
/ /
A$tiva el $i$lo @IENT5A2
2e $o%&araG E2 " -G s, se e8e$utan las instru$$iones +, 0 y -
?+C se lleva 2B@A H ;t"u a 2B@A ?/ H )/C 2B@A
)/
?0C se lleva NEI H " a NEI, ?/ H "C NEI
"
?-C se lleva X H ' a X, ?" H 'C X
*
2e $o%&araG E2 * -G s, se e8e$utan las instru$$iones +, 0 y -
?+C se lleva 2B@A H ;t*u a 2B@A ?)/ H "/C 2B@A
+/
?0C se lleva NEI H " a NEI, ?" H "C NEI
'
?-C se lleva X H ' a X, ?* H 'C X
+
2e $o%&araG E2 + -G s, se e8e$utan las instru$$iones +, 0 y -
?+C se lleva 2B@A H ;t+u a 2B@A ?+/ H ?J'CC 2B@A
).
?0C se lleva NEI H " a NEI, ?' H "C NEI
*
?-C se lleva X H ' a X, ?+ H 'C X
-
2e $o%&araG E2 - -G s, se e8e$utan las instru$$iones +, 0 y -
?+C se lleva 2B@A H ;t-u a 2B@A ?). H *)C 2B@A
.'
?0C se lleva NEI H " a NEI, ?* H "C NEI
)
?-C se lleva X H ' a X, ?- H 'C X
4
2e $o%&araG E2 4 -G no, se sale del $i$lo @IENT5A2 y $ontin>a 6a$ia aba8o
2e e8e$uta la instru$$i(n ., se lleva a P5O@ .'K) P5O@
'/+
2e e8e$uta la instru$$i(n 4 y la salida ser1G


LA 2B@A E2 .' T EL P5O@EDIOG '/+
EJercicio resuelto No. &&
#a$er un al,orit%o <ue $al$ule el valor &ro%edio, la varianza y la desvia$i(n t&i$a de un
,ru&o de datos &ositivos, dis&uestos de a uno &or re,istro
An:lisis
Datos 2e entra2a
O Cada uno de los datos del ,ru&o
Datos 2e sali2a
O El &ro%edio
O La varianza
O La desvia$i(n t&i$a
Proceso
Analizando el enun$iado ve%os <ue no se di$e $u1ntos son los datos <ue 6ay en el ,ru&o,
&or lo tanto es ne$esario i%&le%entar un es<ue%a $ualitativo y $ontar los valores del
,ru&o, ya <ue es un valor ne$esario &ara &oder $al$ular los datos de salida Co%o los
datos de entrada son &ositivos se 6ar1 un $i$lo @IENT5A2 <ue re&ita la le$tura y
&ro$eso de $ada dato, sie%&re <ue el valor ledo sea %ayor <ue $ero No se &odr1 utilizar
un $i$lo PA5A ya <ue se des$ono$e el l%ite final, y la $antidad de valores del ,ru&o
El &ro%edio es i,ual a

=
N
" i
i
KN !

Donde !i son $ada uno de los valores y N la $antidad de 3stos Por lo tanto es ne$esario,
&ri%ero, $al$ular la su%a de los valores y, $o%o ya se di8o, la $antidad de 3stos
La varianza es i,ual a

=

N
" i
'
i
"C K?N &ro%edioC ?!

Co%o se ve en la f(r%ula, &ara $al$ular la varianza se obtiene &revia%ente el &ro%edio,
&ara lo $ual es ne$esario su%ar $ada uno de los datos Para el $1l$ulo de la varianza
ta%bi3n se ne$esitan los datos del ,ru&o Para no volverlos a entrar, 3stos se ,uardar1n en
un arre,lo lineal $uando se est3 $al$ulando el &ro%edio, de tal %anera <ue $uando se
$al$ule la varianza 3stos est1n en %e%oria y no 6aya ne$esidad de leerlos sino de
utilizarlos dire$ta%ente Al for%ar el ve$tor $ono$e%os la $antidad de valoresI lue,o &ara
utilizar los ele%entos de 3ste, basta $on i%&le%entar un $i$lo desde " 6asta el ta%aFo del
ve$tor, <ue en este $aso &uede ser un $i$lo PA5A
Cuando se for%e el ve$tor 6ay <ue tener $uidado, &ara <ue el >lti%o valor ledo, $ero en
este $aso, no 6a,a &arte del arre,lo, ya <ue no es un valor del ,ru&oI esto se &uede 6a$er
de dos for%asG dis%inuyendo en uno el ta%aFo del arre,lo si 3ste se en$uentra
dire$ta%ente en la instru$$i(n de le$tura, o utilizando una variable <ue al%a$ene $ada
dato ledo y lue,o &asando su $ontenido al ve$tor y <ue $uando to%e el valor $ero
ter%ine el $i$lo de entrada
De0inicin 2e 7aria.les
DATOG Cada uno de los valores del ,ru&o
NG Contador de valores e ndi$e del ve$tor, <ue al final del $i$lo de entrada
de datos tendr1 al%a$enado el ta%aFo del ve$tor
!G No%bre del ve$tor
2B@A"G 2u%atoria de los valores &ara el $1l$ulo del &ro%edio
P5O@G Pro%edio del ,ru&o de datos
IG ;ariable de $ontrol del $i$lo PA5A
2B@A'G 2u%atoria &ara $al$ular la varianza Puede utilizarse la %is%a variable
2B@A"m
;A5G ;arianza del ,ru&o de valores
D TG Desvia$i(n t&i$a
Al/orit3o
NCO
N, SUMA1, SUMA2 = 0
LEA: DATO
MENTRAS DATO <> 0 HAGA
SUMA1 = SUMA1 + DATO
N = N +1
X[N] = DATO
LEA: DATO
FN_MENTRAS
PROM = SUMA1 / N
PARA = 1, N, 1 HAGA
SUMA2 = SUMA2 + (X[] - PROM)**2
FN_PARA
VAR = SUMA2 / (N -1)
DT = VAR
ESCRBA: "PROMEDO =", PROM, "VARANZA =", VAR,
"DESVACON TPCA =", DT
FN_NCO
Prue.a 2e escritorio
La &rueba se 6ar1 teniendo en $uenta el si,uiente ar$6ivo de datosG
/
"
+
"/
*
0
)
5e,istro $entinela
N 2B@A" 2B@A' DATO I ! P5O@;A5 DT
!t"u !t'u !t*u !t)u !t+u !t0u
/ / / ) " ) 0 * "/ + " ).* 4*- */0
" ) /0..4 0 '
' "/ '/+-. * *
* "* +)/0- "/ )
) '* *'"++0 + +
+ '. *'"0)+ " 0
0 '4 )0.**) / -
!ali2a


P5O@EDIOG ).* ;A5IANYAG 4*- DE2;IACIDN TjPICAG */0
EJercicio resuelto No. &'
Elaborar un al,orit%o <ue for%e dos ve$tores A y B de N y @ ele%entos res&e$tiva%ente
y for%e un nuevo arre,lo C, $on los ele%entos <ue $orres&ondan a la uni(n de A y B La
uni(n de A y B son los ele%entos del ve$tor A <ue no est1n en el ve$tor B Los ve$tores
no tienen ele%entos re&etidos A y B tienen %17i%o '/ ele%entos
An:lisis
Datos 2e entra2a
O El ta%aFo del arre,lo A
O El ta%aFo del arre,lo B
O Los ele%entos del ve$tor A
O Los ele%entos del ve$tor B
Datos 2e sali2a
O Los ele%entos del ve$tor C
Proceso
Co%o se $ono$e la $antidad de ele%entos de $ada uno de los dos ve$tores, &ara su le$tura
se utiliza un es<ue%a $uantitativo Lue,o se &asan los ele%entos del ve$tor A al nuevo
ve$tor C y se 6a$e un $i$lo e7terno <ue re$orra los ele%entos del ve$tor B y uno interno
<ue re$orra los ele%entos del ve$tor A, bus$ando $ada ele%ento de B en A, si un
ele%ento de B no se en$uentra en A enton$es se &asa al ve$tor C
De0inicin 2e 7aria.les.
NG N>%ero de ele%entos del ve$tor A
@G N>%ero de ele%entos del ve$tor B
A, B y CG No%bre de los tres ve$tores
NECG N>%ero de ele%entos del ve$tor C
I, XG ;ariables de $ontrol de $i$los
Al/orit3o
NCO
LEA: N, M
PARA = 1, N, 1 HAGA
LEA: A[]
FN_PARA
PARA K = 1, M, 1 HAGA
LEA: B[K]
FN_PARA
PARA = 1, N HAGA
C[] = A[]
FN_PARA
NEC = N
PARA K = 1, M, 1 HAGA
= 1
MENTRAS ( <= N) (B[K] <> A[]) HAGA
= + 1
FN_MENTRAS
S > N ENTONCES
NEC = NEC + 1
C[NEC] = B[K]
FN_S
FN_PARA
PARA = 1, NEC, 1 HAGA
ESCRBA: C[]
FN_PARA
FN_NCO
EJercicio resuelto No. &(
Elaborar un sub&ro,ra%a <ue en$uentre la &osi$i(n del %ayor ele%ento de un ve$tor de
ta%aFo N
An:lisis
Par:3etros 2e reci.o
O El ta%aFo del ve$tor
O Los ele%entos del ve$tor
Par:3etros 2e en7o
O La &osi$i(n <ue o$u&a el %ayor de los ele%entos del arre,lo
Proceso
Para en$ontrar la &osi$i(n <ue o$u&a el %ayor ele%ento del ve$tor es ne$esario re$orrer
todo el arre,lo, &or lo $ual el sub&ro,ra%a se le debe enviar &or &arte del %(dulo <ue lo
invo<ue el ta%aFo y todos los valores del ve$torI este envo se debe 6a$er a trav3s del
no%bre del ve$tor sin subndi$e En el $aso de <ue el no%bre del arre,lo se le a$o%&aFe
de un ndi$e <uiere de$ir <ue s(lo es transferido el valor del ele%ento <ue rela$ione el
ndi$e
Para en$ontrar esta &osi$i(n se asu%e <ue el &ri%er ele%ento es el %ayor y se re$orre el
ve$tor a &artir de la &osi$i(n ' en adelante, $a%biando el valor de la &osi$i(n $ada vez
<ue se en$uentre un ele%ento de %ayor &eso
Clase de sub&ro,ra%aG :BNCIDN
No%breG PO2@AT
De0inicin 2e 7aria.les
NG Ta%aFo del ve$tor
;ECG No%bre asi,nado al ve$tor
PO2@G Lu,ar dentro del arre,lo donde se en$uentra el valor %ayor
@ATO5G ;ariable <ue al%a$ena el valor %ayor del arre,lo
IG ;ariable de $ontrol de $i$lo
!u.al/orit3o
FUNCN POSMAY (N, VEC)
MAYOR = VEC[1]
POSM = 1
PARA = 2, N, 1 HAGA
S MAYOR < VEC[] ENTONCES
MAYOR = VEC[]
POSM =
FN_S
FN_PARA
RETORNE POSM
FN_POSMAY
EJercicio resuelto No. &)
Elaborar un al,orit%o <ue invo<ue el sub&ro,ra%a anterior
An:lisis
Datos 2e entra2a
O El ta%aFo del ve$tor
O El ve$tor
Datos 2e sali2a
O La &osi$i(n <ue o$u&a el %ayor ele%ento del ve$tor
Proceso
@ediante un $i$lo $uantitativo se lee el ve$tor, se lla%a a la fun$i(n PO2@AT &ara <ue
bus<ue la &osi$i(n del valor %ayor y se i%&ri%e di$6o valor
De0inicin 2e 7aria.les
T;G Ta%aFo del ve$tor
AG No%bre del ve$tor
PO2@ATO5G Posi$i(n <ue o$u&a el valor %ayor
IG ;ariable de $ontrol del $i$lo
Al/orit3o
NCO
LEA: TV
PARA = 1, TV, 1 HAGA
LEA: A[]
FN_PARA
POSMAYOR = POSMAY (TV, A)
ESCRBA: "EL VALOR MAYOR EST EN LA POSCN:",
POSMAYOR
FN_NCO
EJercicio resuelto No. &*
Elaborar un sub&ro,ra%a <ue lea un ve$tor de N ele%entos
An:lisis
Par:3etros 2e reci.o
O Ta%aFo del ve$tor ?debe ser &ro&or$ionado &or el usuarioCG N
Par:3etros 2e en7o
O El ve$tor ledoG ;EC
Proceso
Co%o se $ono$e el n>%ero de ele%entos del ve$tor, se e%&lea un es<ue%a $uantitativo
Clase de sub&ro,ra%aG P5OCEDI@IENTO ?Enva %1s de un valorC
No%breG LEE5_;EC
-aria.les localesH
#G ;ariable de $ontrol del $i$lo de entrada
!u.al/orit3o
PROCEDMENTO LEER_VEC (N, VEC)
PARA H = 1, N, 1 HAGA
LEA: VEC[H]
FN_PARA
FN_LEER_VEC
EJercicio resuelto No. 'I
Elaborar un sub&ro,ra%a <ue i%&ri%a un ve$tor de ta%aFo N
An:lisis
Par:3etros 2e reci.o
O El ta%aFo del ve$torG N
O El ve$torG ;EC
Par:3etros 2e en7o
No 6ay ?Los valores no los devuelve a <uien lo lla%a, sino <ue los enva a un %edio
e7terno de salidaC
Proceso
Los ele%entos se %uestran %ediante un es<ue%a $uantitativo
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG I@P5I@I5_;EC
-aria.les locales
#G ;ariable de $ontrol del $i$lo
!u.al/orit3o
PROCEDMENTO MPRMR_VEC (N, VEC)
PARA H = 1, N, 1 HAGA
ESCRBA: VEC[H]
FN_PARA
FN_MPRMR_VEC
).1.1. Operaciones .:sicas con arre/los
O B>s<ueda
O Ordena$i(n
O Inser$i(n
O Borrado
"Rs@ue2a
La b>s<ueda $onsiste en en$ontrar un deter%inado valor dentro de un $on8unto de datos, &ara
re$u&erar al,una infor%a$i(n aso$iada $on el valor bus$ado
E7isten diferentes for%as de 6a$er esta o&era$i(nG
O B>s<ueda 2e$uen$ial o lineal
O B>s<ueda Binaria
O B>s<ueda #A2#
O Erboles de b>s<ueda
%1s"ueda secuencial. Es una t3$ni$a sen$illa &ara bus$ar un ele%ento dentro de un arre,lo,
y $onsiste en re$orrer todo el ve$tor ele%ento a ele%ento desde el &ri%ero 6asta el ulti%o 2i se
en$uentra el valor bus$ado, el &ro$eso devolver1 la &osi$i(n donde se en$uentra di$6o ele%ento,
de lo $ontrario se enviar1 un %ensa8e <ue infor%e <ue el valor bus$ado no se en$uentra dentro
del arre,lo
EJercicio resuelto No. '1
Elaborar un sub&ro,ra%a <ue bus<ue en for%a se$uen$ial un ;ALO5 dentro de un
arre,lo de N ele%entos
An:lisis.
Par:3etros 2e reci.o.
O Ta%aFo del ve$torG N
O El ve$tor donde se 6ar1 la b>s<uedaG ;EC
O El valor a bus$arG ;ALO5B
Par:3etros 2e en7o.
O La &osi$i(n donde se en$uentra el valor bus$ado o $ero si no se
en$uentraG I
Proceso.
@ediante un $i$lo $uantitativo se bus$ar1 el valor dentro del ve$tor ele%ento a ele%ento
y si se da una $oin$iden$ia se ro%&e el $i$lo
Clase de sub&ro,ra%aG :BNCIDN
No%breG Bq2ABEDA2EC
-aria.les locales
IG ;ariable de $ontrol del $i$lo de b>s<ueda, ser1 el valor enviado &or la
fun$i(n, si el valor bus$ado se en$uentra
!u.al/orit3o
FUNCN BUSQUEDASEC (N, VEC, VALORB)
= 1
MENTRAS(<=N) (VALORB<> VEC[]) HAGA
= + 1
FN_MENTRAS
S <= N ENTONCES
RETORNE
SNO
RETORNE 0
FN_S
FN_BSQUEDA_SEC
EJercicio resuelto No. '2
Elaborar un al,orit%o <ue use el sub&ro,ra%a anterior &ara deter%inar si se en$uentra o
no un deter%inado ;ALO5 dentro de los ele%entos de un ve$tor de ta%aFo N
An:lisis
Datos 2e entra2a
O El ta%aFo del ve$torG N
O El ve$torG ;EC
O El valor a bus$arG ;ALO5B
Datos 2e sali2a
O Bn %ensa8e <ue di,a si el valor bus$ado se en$uentra o no dentro del
ve$tor
Proceso
2e usar1n los sub&ro,ra%as LEE5_;EC T Bq2ABEDA2EC &ara leer el ve$tor y
efe$tuar la b>s<ueda del valor
De0inicin 2e 7aria.les
IG ;ariable de $ontrol del $i$lo
PO2ICIDNG ;ariable donde se re$ibe el valor devuelto &or la fun$i(n
Al/orit3o
NCO
LEA: N
LEER_VEC (N, VEC)
LEA: VALORB
POSCON = BUSQUEDASEC (N, VEC, VALORB)
S POSCON <> 0 ENTONCES
ESCRBA: "EL VALOR", VALORB, "ESTA EN LA POSCON",
POSCN, "DEL VECTOR"
SNO
ESCRBA: "EL VALOR ", VALORB, " NO SE ENCUENTRA EN
EL VECTOR"
FN_S
FN_NCO
%1s"ueda binaria. Note <ue en la b>s<ueda se$uen$ial, $uando no se en$uentra el valor
bus$ado, en el $aso &eor, 6ay <ue re$orrer todo el ve$tor Esto 6a$e <ue el &ro$eso no ten,a ,ran
efi$ien$ia, sobre todo $uando el ta%aFo del ve$tor es %uy ,rande El %3todo de b=s.ueda
binaria, $onsiste en dividir el ve$tor en dos &artes y $o%&arar el valor bus$ado $on el ele%ento
<ue est1 en la %itad del arre,lo, si no 6ay $oin$iden$ia enton$es se deter%ina si el valor
bus$ado est1 en la &ri%era %itad del arre,lo o en la se,unda %itad, eli%inando $on ello la
b>s<ueda en $ual<uiera de las dos %itades 2e $o,e la %itad donde &osible%ente se en$uentra el
valor bus$ado y se re&ite la %is%a $o%&ara$i(n arriba %en$ionada Con esta nueva
$o%&ara$i(n se eli%ina nueva%ente la %itad de los datos <ue <uedaron El &ro$eso $ontin>a
6asta <ue se d3 una $oin$iden$ia, o se &ueda de$ir <ue el valor bus$ado no est1 en el ve$tor
Para &oder 6a$er b>s<ueda binaria &ri%ero 6ay <ue ordenar el ve$torI si el ve$tor no est1
ordenado, no se &uede deter%inar en $u1l de las %itades se en$uentra el valor <ue se desea
bus$ar
EJercicio resuelto No. '#
Elaborar un sub&ro,ra%a <ue 6a,a b>s<ueda binaria de un ;ALO5 en un ve$tor
&revia%ente ordenado
An:lisis
Par:3etros 2e reci.o
O Ta%aFo del ve$torG N
O El ve$tor ordenado A
O El valor a bus$ar dentro del arre,loG ;ALO5BB2CADO
Par:3etro 2e en7o
O La &osi$i(n donde se en$uentra el valor bus$ado o $ero si no se
en$uentra
Proceso
El arriba %en$ionado
Clase de sub&ro,ra%aG :BNCIDN
No%breG BB2ABEDABIN
-aria.les locales
PG L%ite ini$ial de la se$$i(n del ve$tor donde se 6a$e la b>s<ueda
BG L%ite final de la se$$i(n del ve$tor donde se 6a$e la b>s<ueda
2LG Bandera usada &ara ro%&er el $i$lo
@ITADG Parte $entral del ve$tor

!u.al/orit3o
FUNCON BUSQUEDABN (N, A, VALORBUSCADO)
P = 1
U = N
SW = 0
MENTRAS (P <= U) (SW =0) HAGA
MTAD = [[(P + U) / 2]] //Toma la parte entera de (P + U) / 2
S A[MTAD] = VALORBUSCADO ENTONCES
SW = 1
SNO
S VALORBUSCADO < A[MTAD] ENTONCES
U = MTAD - 1
SNO
P = MTAD + 1
FN_S
FN_S
FN_MENTRAS
S VALORBUSCADO = A[MTAD] ENTONCES
RETORNE MTAD
SNO
RETORNE 0
FN_S
FN_BUSQUEDA_BN
Or2enacin
La ordena$i(n se refiere a la o&era$i(n de or,anizar los ele%entos de un ve$tor en al,>n
orden dadoG as$endente o des$endente 2i el ordena%iento es $re$iente o as$endente, si,nifi$a
<ue 6ay <ue or,anizar sus ele%entos de tal %anera <ueG
At"u a At'u a At*u a At)u a AtNu
2i el ordena%iento es as$endente si,nifi$ar <ueG
At"u b At'u b At*u b At)u b AtNu
E7isten diferentes %odelos &ara or,anizar los ele%entos de un arre,loG
Los %3todos %as $o%unes sonG
O @NTODO DE BB5BBJA
O @NTODO DE BB5BBJA @EJO5ADO
O O5DENACIDN PO5 2ELECCIDN
O IN2E5CIDN O @NTODO DE LA BA5AJA
O 2#ELL
O BIN2O5T O PO5 B5NA2
O PO5 @ONTICBLO2 O #EAP2O5T
O PO5 @EYCLA O @E59E2O5T
O @ETODO DE LA 2ACBDIDA O 2#ACXE52O5T
O 5APID 2O5T O ABICX 2O5T
O PO5 E5BOLE2
;a%os a desarrollar al,unos de los &rin$i&ales %3todos de or,aniza$i(n de los ele%entos de
un arre,lo
2rdenacion por burbuja. Es un %3todo &o$o efi$iente 2e basa en $o%&arar ele%entos
adya$entes del ve$tor e inter$a%biar sus valores, si est1n desordenados Los valores %1s
&e<ueFos burbu8ean 6a$ia el ini$io del ve$tor ?ordena$i(n as$endenteC, %ientras <ue los valores
%1s ,randes $o%ienzan a subir 6a$ia la &arte final del ve$tor Por e8e%&lo, se $o%&ara At"U $on
At'uI si est1n desordenados se inter$a%bian At"u $on At'u y as su$esiva%ente a lo lar,o del
ve$tor Al ter%inar la &ri%era &asada, el ele%ento %ayor se en$uentra al final y el %enor 6a ido
des$endiendo 6a$ia el &rin$i&io del ve$tor 2e vuelve a 6a$er una nueva e7&lora$i(n,
$o%&arando ele%entos $onse$utivos e inter$a%biando Pero esta vez el ele%ento %ayor no se
$o%&ara ?est1 en su &osi$i(n $orre$taC El ve$tor <uedar1 ordenado $uando se 6ayan 6e$6o NJ"
&asadas 2i los valores del ve$tor sonG
./ ++ *+ '" "+ ;ECTO5 O5I9INAL DE TA@AwO + ?NC
++ ./ *+ '" "+
++ *+ ./ '" "+
++ *+ '" ./ "+
++ *+ '" "+ ./
2e ne$esitaron ) $o%&ara$iones ?NJ"C &ara $olo$ar el valor %ayor de >lti%o
En la se,unda &asada o$urrir1 lo si,uienteG
*+ ++ '" "+ ./
*+ '" ++ "+ ./
*+ '" "+ ++ ./
Ter$era &asadaG
'" *+ "+ ++ ./
'" "+ *+ ++ ./
Cuarta &asadaG
"+ '" *+ ++ ./
En total se ne$esitaron $uatro &asadas &ara ordenar un ve$tor de + ele%entos
EJercicio resuelto No. '$
Elaborar un sub&ro,ra%a <ue ordene un ve$tor &or el %3todo de la BB5BBJA
An:lisis
Par:3etros 2e reci.o
O Ta%aFo del ve$torG N
O El ve$torG A
Par:3etros 2e en7o
O ;e$tor A ordenado ?2er1 &ar1%etro de re$ibo y de envoC
Proceso
El arriba e7&li$ado
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG O5DENBB5BBJA
-aria.les locales
I, JG ;ariables de $ontrol de $i$los
AB!G ;ariable <ue al%a$ena te%&oral%ente uno de los dos valores a
inter$a%biar
!u.al/orit3o
PROCEDMENTO ORDENBURBUJA (N, A)
PARA =1, N-1, 1 HAGA
PARA J =1, N-, 1 HAGA
S A[J] > A[J+1] ENTONCES
AUX = A[J]
A[J] = A[J+1]
A[J+1] = AUX
FN_S
FN_PARA
FN_PARA
FN_ORDENBURBUJA
2rdenacin por burbuja mejorado. Este %3todo es efi$iente $uando los valores del ve$tor
se en$uentran ordenados o se%iordenados 2e basa en el %is%o &ro$eso anterior, &ero si en una
&asada no o$urren inter$a%bios <uiere de$ir <ue el ve$tor esta ordenado, &or lo tanto 6ay <ue
i%&le%entar un %e$anis%o &ara detener el &ro$eso $uando o$urra una &asada sin inter$a%bios
EJercicio resuelto No. '&
Elaborar un sub&ro,ra%a <ue ordene un ve$tor &or el %3todo de burbu8a %e8orado
An:lisis
Par:3etros 2e reci.o.
O Ta%aFo del ve$torG T;
O El ve$torG A
Par:3etros 2e en7o
O ;e$tor A ordenado ?2er1 &ar1%etro de re$ibo y de envoC
Proceso
El sub&ro,ra%a se 6a$e $on la instru$$i(n 5EPETI5 y una variable ti&o bandera <ue
ro%&a el $i$lo si no se dete$tan inter$a%bios en una &asada
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG O5DENBB5BBJA_@EJO5ADO
-aria.les locales
I, JG ;ariables de $ontrol de $i$los
AB!G ;ariable <ue al%a$ena te%&oral%ente uno de los dos valores a
inter$a%biar
BANG ;ariable ti&o bandera <ue se usa &ara ro%&er el $i$lo
!u.al/orit3o
PROCEDMENTO ORDENBURBUJA_MEJORADO (TV, A)
= 1
REPTA
BAN = 1
PARA J = 1, TV - , 1 HAGA
S A[J] > A[J+1] ENTONCES
AUX = A[J]
A[J] = A[J+1]
A[J+1] = AUX
BAN = 0
FN_S
FN_PARA
= + 1
MENTRAS BAN < > 1
FN_ORDENBURBUJA_MEJORADO
2rdenamiento por seleccin. Este %3todo se basa en bus$ar el %enor valor de todo el ve$tor
e inter$a%biarlo $on el ele%ento <ue se en$uentra en la &osi$i(n uno Para en$ontrar este valor
se asu%e <ue el %enor de todo del ,ru&o es el <ue est1 en la &osi$i(n uno, y se re$orre todo el
ve$tor a &artir de la &osi$i(n dos en adelanteI $uando se en$uentre un valor %enor <ue 3l, se le
$a%bia el valor a la variable donde se 6a ,uardado el su&uesto %enor Lue,o se bus$a el
se,undo %enor asu%iendo <ue es el ele%ento ubi$ado en la &osi$i(n dos, y se re$orre todo el
ve$tor a &artir de la &osi$i(n tres en adelante, 6a$iendo el $a%bio res&e$tivo $uando se
en$uentre un valor %enor <ue 3l Bna vez en$ontrado el se,undo %enor se inter$a%bia $on el
valor ubi$ado en la &osi$i(n dos del ve$tor El &ro$eso de b>s<ueda de %enores se 6a$e NJ"
ve$es
Por $ada %enor bus$ado 6ay <ue ,uardar en una variable la &osi$i(n donde se en$uentra ese
%enor
E8e%&lo 2i el ve$tor a ordenar esG "/ '/ " * / su$edera lo <ue se %uestra en el si,uiente
,r1fi$o
PA2O ACCIDN At"u At'u At*u At)u At+u
"
2e inter$a%bia el &ri%er %enor $on
la &osi$i(n uno
"/V '/ " * /V
'
2e inter$a%bia el se,undo %enor
$on la &osi$i(n dos
/ '/V "V * "/
*
2e inter$a%bia el ter$er %enor $on la
&osi$i(n tres
/ " '/V *V "/
)
2e inter$a%bia el $uarto %enor $on
la &osi$i(n $uatro
/ " * '/V "/V

Aueda ordenado el ve$tor / " * "/ '/

Note <ue des&u3s del $uarto inter$a%bio el ele%ento ubi$ado en la &osi$i(n $in$o, de &or s
<ueda ordenadoI ade%1s no 6ay %1s ele%entos $on <uien $o%&ararlo se ter%ina el &ro$eso,
des&u3s de 6a$er NJ" inter$a%bios, o bus$ado NJ" %enores
EJercicio resuelto No. ''
Elaborar un sub&ro,ra%a <ue ordene un ve$tor &or el %3todo de sele$$i(n
An:lisis
Par:3etros 2e reci.o.
O Ta%aFo del ve$torG N
O El ve$torG A
Par:3etros 2e en7o
O ;e$tor A ordenado ?2er1 &ar1%etro de re$ibo y de envoC
Proceso
2e ne$esitan dos estru$turas ti&o $i$loG un $i$lo e7terno <ue bus<ue los NJ" %enoresI esta
b>s<ueda se 6a$e utilizando una variable <ue al%a$ene ese valor %enor y otra <ue ,uarde
la &osi$i(n donde est1 ubi$ado El otro $i$lo interno bus$a los %enores Para la b>s<ueda
del &ri%er %enor se su&one <ue el valor ubi$ado en la &osi$i(n uno es el %enor, es de$ir,
se asi,na este valor a la variable <ue al%a$enar1 el %enor y, se i%&le%enta el se,undo
$i$lo o $i$lo interno desde la &osi$i(n si,uiente donde se su&one est1 el %enor 6asta N, y
se e%&ieza a $o%&arar la variable <ue $ontiene el %enor su&uesto $on los ele%entos
si,uientes, a$tualizando su $ontenido $ada <ue se en$uentre un valor inferior al valor <ue
$ontiene la variable Cuando se ter%ina de re$orrer el arre,lo a trav3s del $i$lo interno, se
tiene lo$alizado el valor %enor de todos y el lu,ar donde est1 ubi$adoI enton$es se 6a$e
el inter$a%bio $on la &osi$i(n uno Lue,o se su&one <ue el se,undo %enor es el ubi$ado
en la &osi$i(n dos, se $o%&ara 3ste $on los ele%entos subsi,uientes 6asta en$ontrar este
se,undo %enor y su &osi$i(n y se inter$a%bia $on la &osi$i(n dos, y as su$esiva%ente
Cada <ue se ne$esite 6a$er un inter$a%bio se ,uarda el $ontenido del ele%ento <ue va a
ser ree%&lazado &or el %enor en una variable au7iliar, &ara lue,o trasladarlo al lu,ar
res&e$tivo
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG O5DEN2ELECCIDN
I, MG ;ariables de $ontrol de $i$los
PO2G 9uarda la &osi$i(n donde est1 el %enor
@ENO5G 9uarda el %enor bus$ado
AB!G ;ariable <ue al%a$ena te%&oral%ente uno de los dos valores a inter$a%biar
!u.al/orit3o
PROCEDMENTO ORDENSELECCON (N, A)
PARA = 1, N-1, 1 HAGA
MENOR = A[]
POS =
PARA K = +1, N, 1
S MENOR > A[K] ENTONCES
MENOR = A[K]
POS = K
FN_S
FN_PARA
AUX = A[]
A[] = MENOR
A[POS] = AUX
FN_PARA
FN_ORDENSELECCON
2rdenamiento por insercin directa (baraja). Este %3todo se basa en la t3$ni$a utilizada
&or los 8u,adores de $artas El 8u,ador va ubi$ando $ada $arta en la &osi$i(n $orre$ta El
8u,ador e%&ieza a ordenar sus $artas a &artir de la se,unda $arta <ue le lle,a 2i tiene las $artas
A, J, las $olo$a $o%o J, A ?6a$e el inter$a%bioC La t3$ni$a usada &ara el ordena%iento es ir
insertando $ada uno de los ele%entos a &artir del ele%ento dos en el lu,ar <ue le $orres&onde
&or su valor, lo <ue i%&li$a $orrer todos los valores de la dere$6a una &osi$i(n &ara de8ar
es&a$io El valor <ue se inserta se 6a$e en el lu,ar <ue tena el ulti%o valor des&lazado, y &ara
no borrar su $ontenido se ,uarda en una variable au7iliar
EJercicio resuelto No. '(
Elaborar un sub&ro,ra%a <ue ordene un ve$tor &or el %3todo de la bara8a
An:lisis
Par:3etros 2e reci.o.
O Ta%aFo del ve$torG T;
O El ve$torG A
Par:3etros 2e en7o
O ;e$tor A ordenado ?2er1 &ar1%etro de re$ibo y de envoC
Proceso
El arriba %en$ionado
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG O5DENBA5AJA
-aria.les locales
I, XG ;ariables de $ontrol de $i$los
AB!G ;ariable <ue al%a$ena te%&oral%ente uno de los dos valores a
inter$a%biar
BANG ;ariable ti&o bandera <ue se usa &ara ro%&er el $i$lo
!u.al/orit3o
PROCEDMENTO ORDENBARAJA (TV, A)
PARA K = 2, TV, 1 HAGA
AUX = A[K]
= K
BAN = 0
MENTRAS ( > 1) (BAN = 0) HAGA
S A[-1] > AUX ENTONCES
A[] = A[-1]
= - 1
SNO
BAN = 1
FN_S
FN_MENTRAS
A[] = AUX
FN_PARA
FN_ORDEN_BARAJA
Insercin
Esta o&era$i(n $onsiste en adi$ionar un nuevo ele%ento al arre,lo 2e debe tener en $uenta
<ue no se sobre&ase el ta%aFo dado en la defini$i(n del arre,lo La o&era$i(n &uede darse $on
un arre,lo desordenado u ordenado 2i el arre,lo esta desordenado la o&era$i(n es si%&le, se
in$re%enta en uno el n>%ero de ele%entos y en esa &osi$i(n ?NH"C, se inserta el nuevo
ele%ento
EJercicio resuelto No. ')
Elaborar un sub&ro,ra%a <ue inserte un ;ALO5 en un ve$tor desordenado
An:lisis
Par:3etros 2e reci.o.
O Ta%aFo del ve$torG T;
O El ve$torG A
O El valor a insertarG ;IN
Par:3etros 2e en7o
O El ve$tor A $on un ele%ento %1s
O El ta%aFo del ve$tor T; in$re%entado en uno
Proceso
El arriba %en$ionado
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG IN2E5TA5_DE2O5DENADO
-aria.les locales
No tiene
!u.al/orit3o
PROCEDMENTO NSERTAR_DESORDENADO (TV, A, VN)
TV = TV+1
A[TV] = VN
FN_NSERTAR_DESORDENADO.
2i el arre,lo esta ordenado, 6ay <ueG
O Bus$ar el lu,ar dentro del arre,lo donde debe insertarse el nuevo valor &ara <ue el arre,lo
$ontin>e ordenado
O Correr todos los ele%entos del ve$tor una &osi$i(n 6a$ia la iz<uierda, &ara abrirle es&a$io al
nuevo ele%ento, a &artir del lu,ar donde debe insertarse el nuevo dato
O Insertar el nuevo ele%ento del ve$tor en el es&a$io <ue le $orres&onde
EJercicio resuelto No. '*
Elaborar un sub&ro,ra%a <ue inserte un nuevo ele%ento en un ve$tor ordenado
as$endente%ente
An:lisis
Par:3etros 2e reci.o.
O Ta%aFo del ve$torG T;
O El ve$torG A
O El valor a insertarG ;ALIN
Par:3etros 2e en7o
O ;e$tor A $on un ele%ento %1s
O Ta%aFo del ve$tor T; in$re%entado en uno
Proceso
El arriba %en$ionado
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG IN2E5TA5_O5DENADO
-aria.les locales
IG ;ariable de $ontrol del $i$lo de b>s<ueda
XG ;ariable <ue $ontrola el $i$lo <ue 6a$e el des&laza%iento de los eleJ
%entos
!u.al/orit3o
PROCEDMENTO NSERTAR_ORDENADO (TV, A, VALN)
= 1
MENTRAS ( <= TV) (VALN > A[]) HAGA
= + 1
FN_MENTRAS
TV = TV + 1
PARA K = TV, + 1, -1 HAGA
A[K] = A[K-1]
FN_PARA
A[] = VALN
FN_NSERTAR_ORDENADO
"orra2o
Es eli%inar un ele%ento del arre,loI &uede darse $uando el arre,lo esta desordenado u
ordenado Para 6a$er el &ro$eso 6ay <ueG
O ;erifi$ar <ue el arre,lo no est3 va$o
O Bus$ar la &osi$i(n donde se en$uentra el ele%ento a borrar
O Correr los ele%entos una &osi$i(n 6a$ia la iz<uierda, a &artir de la &osi$i(n si,uiente donde
se en$uentra el valor a borrar
O Dis%inuir el n>%ero de ele%entos del ve$tor en uno
O Enviar un %ensa8e en $aso de <ue el ele%ento a borrar no est3 dentro del arre,lo
EJercicio resuelto No. (I
Elaborar un sub&ro,ra%a <ue borre un ele%ento en un ve$tor ordenado o desordenado
An:lisis
Par:3etros 2e reci.o.
O Ta%aFo del ve$torG T;
O El ve$torG A
O El valor a borrarG ;ALO5B
Par:3etros 2e en7o
O ;e$tor A $on un ele%ento %enos
O Ta%aFo del ve$tor T; dis%inuido en uno
Proceso
El arriba %en$ionado
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG BO55A5_ELE@ENTO
-aria.les locales
IG ;ariable de $ontrol del $i$lo de b>s<ueda
XG ;ariable <ue $ontrola el $i$lo <ue 6a$e el des&laza%iento de los ele%entos
!u.al/orit3o
PROCEDMENTO BORRAR_ELEMENTO (TV, A, VALORB)
= 1
MENTRAS ( <= TV) (VALORB <> A[] HAGA
= + 1
FN_MENTRAS
S <= TV ENTONCES
PARA K = , TV-1, 1 HAGA
A[K] = A[K+1]
FN_PARA
TV = TV - 1
SNO
ESCRBA: VALORB, " NO ESTA EN EL ARREGLO "
FN_S
FN_BORRAR_ELEMENTO
EJercicio Resuelto No. (1
Elaborar un al,orit%o <ue lea un ve$tor de N ele%entos $on Na"// y $onstruya un
@ENq <ue &er%itaG
" Leer un ve$tor de ta%aFo N
' I%&ri%ir el ve$tor
* Insertar un valor en el ve$tor
) Ordenar el ve$tor en for%a as$endente &or $ual<uiera de los %3todos de
ordena$i(n e7&uestos
+ Insertar un nuevo ele%ento sin daFar el ordena%iento
0 Bus$ar un valor en el arre,lo &or el %3todo de b>s<ueda binaria
- Borrar un ele%ento del ve$tor
An:lisis
Datos 2e entra2a
O El ta%aFo del ve$tor
O Los ele%entos del ve$tor
O El valor a insertar $uando el ve$tor est1 desordenado
O El valor a insertar $uando el ve$tor est1 ordenado
O El valor a bus$ar
O El valor a borrar
Datos 2e sali2a
O El ve$tor, $ada vez <ue el usuario lo <uiera ver
Proceso
Todo lo &edido en el al,orit%o ya se 6a 6e$6o en los sub&ro,ra%as anteriores, de tal
%anera <ue se 6ar1 uso de ellos ?Todos est1n $odifi$ados en la librera LIB;EC#C
-aria.les
NG El ta%aFo del ve$tor
AG El no%bre del ve$tor
;IN"G El &ri%er valor a insertar
;IN'G El se,undo valor a insertar
;ALBB2G El valor a bus$ar
;ALBOG El valor a borrar
OPCIDNG 2ele$$i(n a to%ar dentro del @ENq
OPCIDN"G @3todo de ordena%iento sele$$ionado
5E2PG 5es&uesta <ue devuelve la fun$i(n BB2ABEDABIN
2I9AG To%a de de$isi(n s re,resa o no al @ENq &rin$i&al
Al/orit3o
NCO
LEA: N
REPTA
ESCRBA: "1: LEER EL VECTOR"
ESCRBA: "2: MPRMR EL VECTOR"
ESCRBA: "3: NSERTAR DESORDENADO"
ESCRBA: "4: ORDENAR EL VECTOR"
ESCRBA: "5: NSERTAR ORDENADO"
ESCRBA: "6: BUSCAR UN VALOR"
ESCRBA: "7: BORRAR UN ELEMENTO"
ESCRBA: "8: SALR"
ESCRBA: "ELJA SU OPCN"
LEA: OPCN
CASOS DE OPCN:
CASO 1: LEER_VEC (N, A)
CASO 2: MPRMR_VEC (N, A)
CASO 3: LEA: VN1
NSERTAR_DESORDENADO(N,A,VN1)
CASO 4:
REPTA
ESCRBA: "1: BURBUJA"
ESCRBA:"2: BURBUJA_MEJORADO"
ESCRBA: "3: SELECCN"
ESCRBA: "4: BARAJA"
ESCRBA: "5: VOLVER AL MEN PPAL"
ESCRBA: "ELJA MTODO DE
ORDENAMENTO"
LEA: OPCN1
CASOS DE OPCON1
CASO 1:
ORDENBURBUJA
(N, A)
CASO 2:
ORDENBURBUJA_
MEJORADO (N, A)
CASO 3:
ORDENSELECCN
(N, A)
CASO 4:
ORDENBARAJA
(N, A)
CASO 5: ESCRBA:
"REGRESA AL MEN
PRNCPAL"
FN_CASOS
MENTRAS OPCN1 <> 5
CASO 5: LEA VN2
NSERTAR_ORDENADO (N, A, VN2)
CASO 6: LEA: VALBUS
RESP = BSQUEDABN
(N, A, BALBUS)
S RESP <> 0 ENTONCES
ESCRBA:VALBUS,"
EST EN LA
POSCN.",
RESP, "DEL VECTOR"
SNO
ESCRBA: VALBUS."
NO EST DENTRO DEL
VECTOR"
FN_S
CASO 7: LEA: VALBO
BORRAR_ELEMENTO(N.A,VALBO)
CASO 8: ESCRBA: "EST SEGURO QUE DESEA
SALR S/N?"
LEA: SGA
S SGA = 'N' ENTONCES
OPCN = 1
FN_S
FN_CASOS
MENTRAS OPCN <> 8
FN_NCO
EJericicio resuelto No. (2
DiseFar un sub&ro,ra%a <ue dado un ve$tor <ue &ueda $ontener ele%entos du&li$ados
diferentes de $ero, le ree%&la$e $ada ele%ento re&etido &or un $ero y en$uentre el
n>%ero de %odifi$a$iones realizados
An:lisis
Par:3etros 2e reci.o
O El ta%aFo del ve$tor
O El ve$tor $on ele%entos re&etidos
Par:3etros 2e en7o
O El ve$tor $on los ele%entos re&etidos ree%&lazados &or $eros, ser1 un
&ar1%etro tanto de entrada $o%o de salida
O El n>%ero de %odifi$a$iones 6e$6as
Proceso
@ediante un $i$lo e7terno se re$orre el arre,lo desde la &osi$i(n uno 6asta la NJ" y se
$o%&ara el ele%ento uno $on las &osi$iones $o%&rendidas entre dos y N 2i al,>n
ele%ento entre dos y N es i,ual al ele%ento uno, se $a%bia su valor &or $ero y se
in$re%enta el n>%ero de %odifi$a$iones 6e$6asI lo %is%o se 6a$e desde el ele%ento dos
6asta el ele%ento NJ" y as su$esiva%ente
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG CA@BIO
-aria.les locales
NG Ta%aFo del ve$tor
;ECG No%bre del ve$tor
N@G N>%ero de %odifi$a$iones 6e$6as
X, LG ;ariables $ontroladoras de los $i$los
!u.pro/ra3a
PROCEDMENTO CAMBO (N, VEC, NM)
NM = 0
PARA K = 1, N-1, 1 HAGA
PARA L = K+1, N, 1 HAGA
S (VEC[K] = VEC[L]) (VEC[K] <> 0)
VEC[L] = 0
NM = NM+1
FN_S
FN_PARA
FN_PARA
FN_CAMBO
).2. Arre/los 2e 2os 2i3ensiones o 3atrices
Las %atri$es son estru$turas de datos <ue or,anizan su infor%a$i(n en for%a de tablasI es
de$ir, los ele%entos <ue la $onfor%an est1n dis&uestos ba8o dos $on$e&tos de $lasifi$a$i(n ?"ila
! columnaC Para &oder indi$ar el lu,ar donde se en$uentra un deter%inado ele%ento, es
ne$esario utilizar dos ndi$esG uno &ara indi$ar el ren,l(n o fila y otro &ara indi$ar la $olu%na
Puede %irarse una %atriz $o%o un ve$tor de ve$toresI &or lo tanto, es un $on8unto de
$o%&onentes en el <ue se ne$esitan dos subndi$es &ara identifi$ar un ele%ento <ue &ertenez$a
al arre,lo
Bn arre,lo bidi%ensional N V @ tiene N filas y @ $olu%nasI &or lo tanto, tiene N V @
ele%entos dis&uestos interior%ente en %e%oria en for%a su$esiva 9r1fi$a%ente se &uede
re&resentar $o%o una tabla de valores 2i A es una %atriz de + V - se re&resentar1 asG
A
:ila "
:ila '

!

At', )u
:ila *


:ila )


:ila +



Colu%na )

Colu%na +
Colu%na "
Colu%na '
Colu%na 0
Colu%na *
Colu%na -
Colu%na )
El arre,lo anterior tiene *+ ele%entos, todos ellos $on el no%bre A y se diferen$ian entre s
&or dos ndi$esI el &ri%ero indi$a la fila donde est1 ubi$ado el ele%ento y el se,undo la
$olu%na El ele%ento At', )u 6a$e referen$ia al $ontenido del ele%ento ubi$ado en la fila '
$olu%na )
En ,eneral, se &uede de$ir <ue el ele%ento i, 8 de un arre,lo bidi%ensional 6a$e referen$ia al
$ontenido del ele%ento ubi$ado en la fila i, $olu%na 8, dondeG
" a i a n>%ero de filas y " a 8 a n>%ero de $olu%nas
Cual<uier ele%ento del arre,lo &uede referen$iarse en for%a dire$ta, sie%&re <ue al no%bre
del arre,lo se le adi$ionen los dos ndi$es La instru$$i(n LEAG At", "u, At+, -u, At', )u, At+,
*u, At), )u tiene $o%o efe$to entrar + valores al arre,lo AI si estos valores sonG "/, "+, )/, 44 y
", y el al%a$ena%iento interno ser1G
A -
"/
)/

"
+ 44 "+

Los de%1s ele%entos no tendr1n infor%a$i(n
La instru$$i(n E2C5IBAG At+, -u, At', )u &rodu$ir1 la si,uiente salidaG


"+ )/
Para llevar infor%a$i(n a todo el arre,lo se &uede 6a$er de dos for%asG una ser1 llenando
&ri%ero la fila uno, lue,o la fila ', 6asta la fila NI y la otra sera llenando &ri%ero la $olu%na
uno, lue,o la dos y as su$esiva%ente 6asta llenar la $olu%na @, todo de&ender1 de la for%a
$o%o se en$uentren dis&uestos los datos en el ar$6ivo de entrada Por e8e%&loG llevar
infor%a$i(n a una %atriz A de * V ', &or filas
Para resolver el &roble%a se ne$esitan dos $i$los, uno e7terno <ue $ontrole las filas y otro
interno <ue &or $ada valor <ue to%e la variable de $ontrol del $i$lo e7terno re$orra todas las
$olu%nas
El al,orit%o seraG
PARA = 1, 3, 1 HAGA
PARA J = 1, 2, 1 HAGA
LEA: A[, J]
FN_PARA
FN_PARA
2i se utiliza el $i$lo PA5A, o el si,uiente si se utiliza el $i$lo @IENT5A2
= 1 1
MENTRAS <= 3 HAGA
J = 1 2
MENTRAS J <= 2 HAGA
LEA: A[, J] 3
J = J+1 4
FN_MENTRAS
= +1 5
FN_MENTRAS
;ea%os lo <ue su$ede si,uiendo $ada uno de los &asos del anterior al,orit%o, su&oniendo
<ue los valores a entrar sonG
+
"
"/
*
.
)
?ALTA COMPLETAR R8?ICO PA. 2#) LI"RO
2e e8e$uta la instru$$i(n " I,
"
A$tiva el $i$lo @IENT5A2 e7terno, $o%&ara es I a *G sI e8e$uta la instru$$i(n 'I J,
"
A$tiva el $i$lo @IENT5A2 interno, $o%&ara es J aG ' sI e8e$uta las instru$$iones * y )
?*C Lee el ele%ento AtI, Ju ?At", "uC
A
)
?)C In$re%enta J en ", o sea "H"I J,
'
5e,resa a evaluar la $ondi$i(n del $i$lo interno, es ' 'G sI se e8e$utan las instru$$iones * y
)
?*C Lee el ele%ento AtI, Ju ?At", 'uC
A
) .
?)C In$re%enta J en ", o sea 'H"I J,
*
5e,resa a evaluar la $ondi$i(n del $i$lo interno, es * a 'G noI $o%o la $ondi$i(n es falsa
e8e$uta la instru$$i(n +
?+C In$re%enta I en ", o sea "H"I I,
'
5e,resa a evaluar la $ondi$i(n del $i$lo e7terno, es ' a *G s, e8e$uta la instru$$i(n 'I J,
"
A$tiva el $i$lo @IENT5A2 interno, $o%&ara es " a 'G sI se e8e$utan las instru$$iones * y ),
?*C Lee el ele%ento AtI, Ju, ?At', "uC
A
) .
*
?)C In$re%enta J en ", o sea "H"I J,
'
re,resa a evaluar la $ondi$i(n del $i$lo interno, es ' a 'G sI se e8e$utan las instru$$iones * y
)
?*C Lee el ele%ento AtI, Ju, ?At', 'uC
A
) .
* "/
?)C In$re%enta J en ", o sea 'H"I J,
*
5e,resa a evaluar la $ondi$i(n del $i$lo interno, es * a 'G noI $o%o la $ondi$i(n es falsa,
e8e$uta la instru$$i(n +
?+C In$re%enta I en ", o sea 'H"I I,
*
5e,resa a evaluar la $ondi$i(n del $i$lo e7terno, es * a *G s, e8e$uta la instru$$i(n 'I J,
"
A$tiva el $i$lo @IENT5A2 interno, $o%&ara es " ' sI se e8e$utan las instru$$iones * y ),
?*C Lee el ele%ento AtI, Ju, ?At*, "uC
A
) .
* "/
"
?)C In$re%enta J en ", o sea "H"I J,
'
5e,resa a evaluar la $ondi$i(n del $i$lo interno, es ' a 'G sI se e8e$utan las instru$$iones * y
)
?*C Lee el ele%ento AtI, Ju, ?At*, 'uC
A
) .
* "/
" +
?)C In$re%enta J en ", o sea 'H"I J,
*
5e,resa a evaluar la $ondi$i(n del $i$lo interno, es * a 'G noI $o%o la $ondi$i(n es falsa,
e8e$uta la instru$$i(n +
?+C In$re%enta I en ", o sea *H"I I,
)
5e,resa a evaluar la $ondi$i(n del $i$lo e7terno, es ) a *G noI sale del $i$lo e7terno y
ter%ina el &ro$eso
lAu3 $ara$tersti$as no $u%&le el anterior al,orit%om
E7isten varios ti&os de %atri$es
O #atri6 cuadrada. Bna %atriz es $uadrada $uando el n>%ero de filas es i,ual al n>%ero de
$olu%nas Por lo tanto, los ele%entos ubi$ados en la dia,onal &rin$i&al $u%&len <ue la fila
es i,ual a la $olu%na
O #atri6 identidad (* Es ta%bi3n una %atriz $uadrada donde los ele%entos <ue est1n
ubi$ados en la dia,onal &rin$i&al son " y el resto de ele%entos tienen un valor de /
O #atri6 transpuesta. La %atriz trans&uesta A
T
de la %atriz A de $ual<uier orden es a<u3lla en
la $ual las filas de una %atriz son las $olu%nas de la otra
O #atri6 sim/trica. La %atriz si%3tri$a debe $u%&lir la $ondi$i(n de <ue el ele%ento !tI, Xu
S !tX, Iu &ara una %atriz N V @ dondeI " a I a N y
" a X a @
O #atri6 in-ersa. Es una %atriz A <ue se re&resenta &or A
J"
y tal <ue
! V !
Z"
S I, donde I es la %atriz identidad
EJercicio resuelto No. (#
Elaborar un al,orit%o <ue entre los ele%entos &or $olu%nas de una %atriz A de orden N
y lue,o en$uentre la su%a de los ele%entos ubi$ados en la dia,onal &rin$i&al y la su%a
de los ele%entos ubi$ados en la dia,onal se$undaria
Datos 2e entra2a
O El orden de la %atriz ?N>%ero de filas S n>%ero de $olu%nasC
O Los ele%entos de la %atriz
Datos 2e sali2a
O La su%a de los ele%entos de la dia,onal &rin$i&al
O La su%a de los ele%entos de la dia,onal se$undaria
Proceso
Para entrar los datos del arre,lo, &ri%ero se debe $ono$er el orden de la %atriz y lue,o
6a$er dos $i$los ?@IENT5A2 O PA5AC, uno e7terno <ue re$orra las $olu%nas y uno
interno <ue &or $ada valor de las $olu%nas re$orra todas las filas
Co%o ya se di8o, los ele%entos de la dia,onal &rin$i&al $u%&len la $ondi$i(n de <ue la
fila es i,ual a la $olu%naI vea%os es<ue%1ti$a%ente <u3 $ara$tersti$a $u%&len los
ele%entos ubi$ados en la dia,onal se$undaria
A






De a$uerdo $on la fi,ura, los ele%entos ubi$ados en la dia,onal se$undaria sonG el At",
)u, At', *u, At*, 'u, y el At), "u, donde la fila $re$e desde " 6asta N y la $olu%na de$re$e
desde N 6asta "
Esto nos &er%ite ubi$ar el lu,ar donde se en$uentra $ada ele%ento, analizando sus
$ara$tersti$as Por e8e%&lo, son los ele%entos <ue $u%&len <ue la fila %1s la $olu%na es
i,ual a NH" Ta%bi3n se &uede ,enerar utilizando una variable <ue en un &rin$i&io to%e
el valor %17i%o de la $olu%na, a$tivando un $i$lo <ue re$orra las filas desde " 6asta NI
en la %edida <ue $rez$an las filas se de$re%enta di$6a variable en " Otra %anera de
en$ontrarlos es re&resentando las $olu%nas en t3r%inos de las filas Por e8e%&lo, $uando
la fila vale " la $olu%na ?NJ"H"C S N, $uando la fila vale ' la $olu%na vale ?NJ'H"C S NJ
" y, $uando la fila vale N la $olu%na vale ?NJNH"C S "I si se utiliza este %3todo, s(lo ser1
ne$esario un $i$lo y no se ne$esita de una variable adi$ional Ta%bi3n son ne$esarios dos
a$u%uladores donde se su%en, &or se&arado, los ele%entos ubi$ados en $ada una de las
dia,onales
De0inicin 2e 7aria.les
NG Ta%aFo del arre,lo
AG No%bre de la %atriz
I, XG ;ariables $ontroladoras de $i$lo
2B@APG 2u%a de los ele%entos de la dia,onal &rin$i&al
2B@A2G 2u%a de los ele%entos de la dia,onal se$undaria
Al/orit3o
NCO
LEA: N
PARA K = 1, N, 1 HAGA
PARA = 1, N, 1 HAGA
LEA: A[, K]
FN_PARA
FN_PARA
SUMAP, SUMAS = 0
PARA = 1, N, 1 HAGA
SUMAP = SUMAP + A[, ]
SUMAS = SUMAS + A[, N-+1]
FN_PARA
ESCRBA: "SUMA DE LOS ELEMENTOS DE LA DAGONAL PRN-
CPAL", SUMAP, "Y DE LA SECUNDARA", SUMAS
FN_NCO
Prue.a 2e escritorio
2i el orden de la %atriz es ) y los valores de los ele%entos los n>%erosG /, ", ), 0, -, ., 4, "/,
"", "', +, "', -, *, "", y '/, el &ro$eso de for%a$i(n de la %atriz ?entrada de datosC, sera el
si,uienteG
Lue,o del &ro$eso de entrada su$edera lo si,uienteG
N 2B@AP 2B@A2 I
) / / "
/ - '
. "4 *
"* '. )
** *) +
!ali2a


2B@A DE ELE@ENTO2 DE LA
DIA9ONAL P5INCIPALG ** T DE
LA 2ECBNDA5IAG *)
EJercicio resuelto No. ($
#a$er un al,orit%o <ue en$uentre e i%&ri%a la %atriz trans&uesta de una %atriz @AT
An:lisis
Datos 2e entra2a
O N>%ero de filas de la %atriz
O N>%ero de $olu%nas de la %atriz
O Los ele%entos del arre,lo
Datos 2e sali2a
O Los ele%entos de la %atriz trans&uesta
Proceso
La %atriz trans&uesta de la %atriz @AT se en$uentra inter$a%biando las filas &or las
$olu%nas y las $olu%nas &or las filas 2i T@AT es la %atriz trans&uesta de @AT, i%&li$a
enton$es <ue T@AT tJ, Iu @AT tI, Ju
2i el $ontenido de @AT esG
+ . " 4
"+ "" 4 ) @AT S
"0 ) * /

+ "+ "0
. "" )
" 4 *
T@AT S
4 ) /

Co%o se &uede ver, se invierte el orden de la %atrizI es de$ir, el n>%ero de filas de @AT
es i,ual al n>%ero de $olu%nas de T@AT y el n>%ero de $olu%nas se invierte &or el
n>%ero de filas de T@AT
Defini$i(n de variables
N:G N>%ero de filas de la %atriz
NCG N>%ero de $olu%nas de la %atriz
@ATG No%bre de la %atriz
I, JG ;ariables de $ontrol de $i$los e ndi$es de la %atriz
T@ATG @atriz trans&uesta de @AT
El al,orit%o 6ar1 uso del &ro$edi%iento LEE5Z@AT <ue lee una %atriz &or filas, usando
los ar,u%entos de envo N: ?n>%ero de filasC, NC ?n>%ero de $olu%nasC, y el de re$ibo
@AT ?%atrizC Construyendo $o%o e8er$i$io el &ro$edi%iento 2i lo $ree ne$esario b1sese
en el e8er$i$io resuelto No -*
Al/orit3o
NCO
LEA: NF, NC
LEER_MAT (NF, NC, MAT)
PARA = 1, NF, 1 HAGA
PARA J = 1, NC, 1 HAGA
TMAT[J, ] = MAT[, J]
FN_PARA
FN_PARA
PARA = 1, NC, 1 HAGA
PARA J = 1, NF, 1 HAGA
ESCRBA: TMAT[, J]
FN_PARA
FN_PARA
FN_NCO
EJercicio resuelto No. (&
#a$er un al,orit%o <ue lea una %atriz de N: filas y NC $olu%nas y $al$ule la su%a de
las filas y de las $olu%nas, de8ando los resultados en dos ve$tores, uno $on la su%as de
las filas y otro $on la su%a de las $olu%nasI i%&ri%a los dos ve$tores
An:lisis
Datos 2e entra2a
O N>%ero de filas de la %atriz
O N>%eros de $olu%nas de la %atriz
O Los ele%entos de la %atriz
Datos 2e sali2a
O El ve$tor <ue $ontienen la su%a de las filas
O El ve$tor <ue $ontiene la su%a de las $olu%nas
Proceso
Los ele%entos del arre,lo se entrar1n &or filasI &ara en$ontrar la su%a de los ele%entos
de una fila o de una $olu%na es ne$esario un a$u%ulador, <ue ini$ie en $ero $ada <ue se
$a%bia de una fila a otra o de una $olu%na a otra Este &ro$eso de a$u%ula$i(n de los
valores de los ele%entos se &uede 6a$er de dos for%asG una es utilizando una variable
au7iliar $o%o a$u%ulador y una vez <ue se su%e una fila el valor del a$u%ulador se lleva
a una &osi$i(n del ve$tor y se ini$ializa en $ero &ara obtener la su%a de la &r(7i%a filaI
otra %anera es utilizando la &osi$i(n del ve$tor $o%o si fuera un a$u%ulador, &or tanto el
valor ini$ial de $ada ele%ento del ve$tor debe &artir de $ero $ada <ue se ini$ie la su%a
En el al,orit%o se &lantear1n las dos alternativasG la &ri%era se utilizar1 $uando se est3n
su%ando los ele%entos ubi$ados en $ada fila, y la se,unda $uando se est3n su%ando los
ele%entos &ertene$ientes a las $olu%nas
2i la %atriz es @AT y tiene los si,uientes ele%entos, los $ontenidos de los ve$tores se
%uestran a $ontinua$i(n
@AT NC ;: de ta%aFo N:
"/ ) * . '+
*/ ") "" " +0
NC
@ATtI, Xu
XS"
+/ / ) 0 0/

'" " ' + '4
N: . + * 0

''
;C de ta%aFo NC

""4 ') '* '0

N:
@ATtI, Xu
XS"


De0inicin 2e 7aria.les
N:G N>%ero de filas de la %atriz
NCG N>%ero de $olu%nas
@ATG No%bre de la %atriz
I, XG ;ariables $ontroladoras de $i$los
2B@A:G A$u%ulador &ara su%ar los ele%entos de las filas
;:G ;e$tor <ue $ontiene la su%a de las filas
;CG ;e$tor <ue $ontiene la su%a de las $olu%nas
Al/orit3o
NCO
LEA: NF, NC
LEER_MAT(NF, NC, MAT)
PARA = 1, NF, 1 HAGA
SUMAF = 0
PARA K = 1, NC, 1 HAGA
SUMAF = SUMAF + MAT[, K]
FN_PARA
VF[] = SUMAF
FN_PARA
PARA K = 1, NC, 1 HAGA
VC[K] = 0
PARA = 1, NF, 1 HAGA
VC[K] = VC[K] + MAT[, K]
FN_PARA
ESCRBA: "COLUMNA", K, VC[K]
FN_PARA
PARA = 1, NF, 1 HAGA
ESCRBA: "FLA", , VF[]
FN_PARA
FN_NCO
EJercicio resuelto No. ('
Bn tablero de da%as es un arre,lo de . filas &or . $olu%nas Bn uno ?"C re&resenta la
&resen$ia de una fi$6a ro8a en el tablero, un dos ?'C re&resenta la &resen$ia de una fi$6a
ne,ra en el tablero y un $ero ?/C re&resenta la ausen$ia de fi$6a #a$er un al,orit%o <ue
$al$uleG
O El n>%ero de fi$6as ro8as
O El n>%ero de fi$6as ne,ras
O El n>%ero total de fi$6as
An:lisis
Datos 2e entra2a
O Los ele%entos de la %atriz de . V . ( estado del tablero
Datos 2e sali2a
O Total de fi$6as ro8as
O Total de fi$6as ne,ras
O N>%ero total de fi$6as en el tablero
Proceso
Para saber la $lase de fi$6a <ue e7iste en un $a8(n del tablero se $o%&ara el estado de
$ada ele%ento $on ", ' ( /, y de a$uerdo $on el resultado se in$re%enta el $ontador
es$o,ido &ara $ada $aso Bn &osible estado del tablero de da%as sera el si,uienteG
TAB .
/ / " " / / / /
' / " / / / / "
/ / / / / / / /
' ' / / / ' / "
/ / / / / / / /
/ / / ' / / " /
/ / / / " / / /
. ' / / ' / / / '
Donde e7isten siete ?-C fi$6as ro8as y . fi$6as ne,ras &ara un total de "+ fi$6as en el
tablero
De0inicin 2e 7aria.les
TABG @atriz <ue $ontiene las $lases de fi$6as
N:5G N>%ero de fi$6as ro8as
N:NG N>%ero de fi$6as ne,ras
T:TG Total de fi$6as en el tablero
I, XG ;ariables $ontroladoras de $i$los
Al/orit3o
NCO
PARA = 1, 8 1 HAGA
PARA K = 1, 8, 1 HAGA
LEA: TAB[, K]
FN_PARA
FN_PARA
NFR, NFN = 0
PARA = 1, 8, 1 HAGA
PARA K = 1, 8, 1 HAGA
S TAB[, K] = 1 ENTONCES
NFR = NFR + 1
SNO
S TAB[, J] = 2 ENTONCES
NFN = NFN + 1
FN_S
FN_S
FN_PARA
FN_PARA
TFT = NFR + NFN
ESCRBA: NFR, NFN, TFT
FN_NCO
EJercicio resuelto No. ((
Bn e7a%en tiene "// &re,untas de sele$$i(n %>lti&le Cada &re,unta, dentro de sus
alternativas, s(lo tiene una res&uesta $orre$ta Las res&uestas $orre$tas est1n en un ve$tor
;C5 de "// &osi$iones, donde ;C5tXu re&resenta la res&uesta $orre$ta de la &re,unta X
Por $ada estudiante se elabora un re,istro <ue $ontieneG no%bre del estudiante y a
$ontinua$i(n "// valores <ue $orres&onden a las res&uestas dadas &or el estudiante &ara
$ada una de las "// &re,untas
Elaborar un al,orit%o <ue entre el ve$tor de res&uestas $orre$tas, for%e un ve$tor $on los
no%bres de los estudiantes, for%e una %atriz de N V "// $on las res&uestas dadas &or los
estudiantes e i%&ri%a los no%bres de los estudiantes <ue a&robaron el e7a%en ?se
re<uiere una $alifi$a$i(n %ni%a de 0/ &untos &ara a&robarC y, el n>%ero de estudiantes
<ue lo &erdieron
An:lisis
Datos 2e entra2a
O Los "// ele%entos del ve$tor de res&uestas $orre$tas
O El n>%ero de estudiantes <ue &resentaron el e7a%en
O Los no%bres de los N estudiantes
O Las "// res&uestas dadas &or $ada uno de los "// estudiantes
Datos 2e sali2a
O Los no%bres de los estudiantes <ue ,anaron el e7a%en
O La $antidad de &erdedores
Proceso
Para al%a$enar la infor%a$i(n re<uerida en el &ro$eso se ne$esitan tres arre,los
Bn ve$tor de "// &osi$iones <ue $ontiene las res&uestas $orre$tas del e7a%en, un ve$tor
de N &osi$iones $on los no%bres de los estudiantes y la %atriz <ue re&resenta las
res&uestas dadas &or los N estudiantes a las "// &re,untas del e7a%en
Para obtener el &unta8e de un estudiante se $o%&ara la res&uesta dada a la &re,unta X $on
la &osi$i(n X del ve$tor de res&uestas $orre$tas y si $oin$iden se in$re%enta en uno el
$ontador de res&uestas $orre$tas
El diseFo de los arre,los sera el si,uienteG
; 5 C
" ' * ) + 0 - " / /

5 e s & u e s t a $ o r r e $ t a d e l a & r e , u n t a )


5e,istro de entrada &or estudianteG

N o % b r e

5 e s & u e s t a d a d a & o r e l
e s t u d i a n t e a l a & r e , u n t a '
5 e s & u e s t a " / /


;e$tor de no%bres de los estudiantesG
" ' * ) + 0 - N

N o % b r e d e l e s t u d i a n t e n > % e r o *

@atriz de res&uestas dadas &or los estudiantes
@ 5
" ' * ) + " / /
"
'
*
)
+

N
5 e s & u e s t a d a d a & o r e l
e s t u d i a n t e N a l a & r e , u n t a *

De0inicin 2e 7aria.les
;5CG ;e$tor de res&uestas $orre$tas
NG N>%ero de estudiantes <ue &resentaron el e7a%en
NO@G ;e$tor $on los no%bres de los estudiantes de orden N
@5G @atriz de res&uestas de orden N
PBNG ;ariable utilizada &ara $ontar las res&uestas $orre$tas de $ada
estudiante
NPG ;ariable usada &ara $ontar el n>%ero de &erdedores
L, XG ;ariables $ontroladoras de $i$los
Al/orit3o
NCO
PARA K = 1, 100, 1 HAGA
LEA: VRC[K]
FN PARA
LEA: N
PARA L = 1, N, 1 HAGA
LEA: NOM[L]
PARA K = 1, 100, 1 HAGA
LEA: MR[L, K]
FN_PARA
FN_PARA
NP = 0
ESCRBA: "NOMBRES DE LOS GANADORES"
PARA L = 1, N, 1 HAGA
PUN = 0
PARA K = 1, 100, 1 HAGA
S MR[L, K] = VRC[K] ENTONCES
PUN = PUN + 1
FN_S
FN_PARA
S PUN >= 60 ENTONCES
ESCRBA: NOM[L]
SNO
NP = NP + 1
FN_S
FN_PARA
ESCRBA: "NMERO DE PERDEDORES", NP
FN_NCO
EJercicio resuelto No. ()
Elaborar un al,orit%o <ue lea &ara un arre,lo bidi%ensional la infor%a$i(n sobre ventas
de NP &rodu$tos, ,rabando en la &ri%era $olu%nas el $(di,o del art$ulo y en la si,uiente
el n>%ero de unidades vendidas $ada %es ?%eses de */ dasC
Cada fila $orres&onde a los datos &ara un art$uloI utilizar las tres $olu%nas si,uientes
&ara $al$ularG &ro%edio de ventas diarias, &ro%edio de ventas en los das <ue las 6ubo y
n>%ero de das <ue se vendi(I i%&ri%a la %atriz
An:lisis
Datos 2e entra2a
La $antidad de &rodu$tos
Las ventas de $ada &rodu$to ?infor%a$i(n &ara el arre,loC
Datos 2e sali2a
La infor%a$i(n <ue $ontiene la %atriz lue,o del &ro$eso
Proceso
Co%o el arre,lo tiene en la &ri%era $olu%na el $(di,o del art$ulo, ini$ial%ente tendr1 *"
$olu%nas ?una del $(di,o y */ $orres&ondientes a las ventas 6e$6as $ada da del %esC En
$aso de <ue en un da no se 6a,a venta, esa &osi$i(n tendr1 valor de $ero La $olu%na *'
del arre,lo al%a$enar1 el &ro%edio de ventas diarias &or art$ulo, <ue se $al$ula su%ando
$ada fila desde la $olu%na dos 6asta la treinta y uno y, dividiendo el resultado sobre los
treinta das del %es, asG
El &ro%edio de ventas diarias del art$ulo " ser1G

;entas M
M
" */
'
*"
, K
=

El &ro%edio de ventas en los das <ue las 6ubo ?$olu%na **C se obtiene su%ando las
ventas del &rodu$to y dividiendo &or el n>%ero de das en <ue 6ubo ventas, o sea la
$antidad de ventas diferentes de $ero
Cada re,istro de entrada $orres&onde a una fila de la %atriz ini$ial, 3ste se diseFara de la
si,uiente %aneraG
D a t o * "


C ( d i , o
A r t $ u l o
; e n t a s 6 e $ 6 a s e l d a ' ; e n t a s 6 e $ 6 a s e l d a * /

De0inicin 2e 7aria.les
NPG Cantidad de &rodu$tos
;ENG @atriz de ventas diarias
ND#;G N>%ero de das en <ue 6ubo ventas
I, XG Indi$es de los $i$los
2B@AG 2u%a de ventas en los */ das del %es
El al,orit%o 6ar1 uso del &ro$edi%iento I@P5I@I5Z@AT <ue i%&ri%e la %atriz &or
filas, usando los ar,u%entos de envo NP ?n>%ero de filasC, **, ?n>%ero de $olu%nasC y
la %atriz ;EN Construya el &ro$edi%iento 2i lo $ree ne$esario vea el e8er$i$io resuelto
No -)
Al/orit3o
NCO
LEA: NP
LEER_MAT (NP, 31, VEN)
PARA = 1, N, 1 HAGA
SUMA, NDHV = 0
PARA K = 2, 31, 1 HAGA
SUMA = SUMA + VEN[, K]
S VEN[, K] <> 0 ENTONCES
NDHV = NDHV + 1
FN_S
FN_PARA
VEN[, 32] = SUMA / 30
VEN[, 33] = SUMA / NDHV
FN_PARA
MPRMR_MAT (NP, 33, VEN)
FN_NCO
EJercicio resuelto No. (*
2e re<uiere 6a$er un sub&ro,ra%a <ue $al$ule el &ro%edio arit%3ti$o de las $olu%nas de
una %atriz y los al%a$ene en un ve$tor
An:lisis
Par:3etros 2e reci.o
El n>%ero de filas de la %atriz
El n>%ero de $olu%nas
Los ele%entos del arre,lo
Par:3etros 2e en7o
Bn ve$tor <ue $ontiene en $ada &osi$i(n el &ro%edio arit%3ti$o de $ada
$olu%na de la %atriz
Proceso
2e deben e%&lear dos $i$losG uno e7terno <ue re$orra las $olu%nas y uno interno <ue
re$orra las filas &ara su%ar los ele%entos de $ada $olu%na y lue,o dividir esta su%a &or
el n>%ero de filas de la %atriz &ara obtener el &ro%edio
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG P5O@C
-aria.les
AG No%bre de la %atriz
NG N>%ero de filas de la %atriz
@G N>%ero de $olu%nas
;PCG ;e$tor <ue $ontiene el &ro%edio de las $olu%nas, de ta%aFo @
2B@AG ;ariable au7iliar &ara totalizar los ele%entos de $ada $olu%na
I, XG ;ariables au7iliares $ontroladoras de los $i$los
!u.pro/ra3a
PROCEDMENTO PROMC (A, N, M, VPC)
PARA = 1, M, 1 HAGA
SUMA = 0
PARA K = 1, N, 1 HAGA
SUMA = SUMA + A[K, ]
FN_PARA
VEC[] = SUMA / N
FN_PARA
FN_PROMC
EJercicio resuelto No. )I
Elaborar un sub&ro,ra%a <ue $al$ule la su%a de los ele%entos de las filas de una %atriz,
las al%a$ene en un ve$tor y, ade%1s, en$uentre la &osi$i(n del ele%ento %ayor de di$6o
ve$tor
An:lisis
Par:3etros 2e reci.o
El n>%ero de filas de la %atriz
El n>%ero de $olu%nas
Los ele%entos del arre,lo
Par:3etros 2e en7o
Bn ve$tor <ue $onten,a las su%as de los ele%entos de las filas de la
%atriz
La &osi$i(n <ue o$u&a el ele%ento %ayor del ve$tor resultante
Proceso
Para en$ontrar el ve$tor <ue $onten,a la su%a de las filas de la %atriz se i%&le%enta un
$i$lo e7terno <ue re$orra las filas, y otro interno <ue re$orra las $olu%nas, $ada <ue la
variable <ue $ontrola el $i$lo e7terno se ubi$a en una fila deter%inada Bna vez <ue se
for%a el arre,lo unidi%ensional se debe en$ontrar la &osi$i(n <ue o$u&a el ele%ento
%ayor del arre,lo Pero, en el e8er$i$io resuelto No +- se $onstruy( la fun$i(n PO2@AT
<ue 6a$e esta tarea, &or lo tanto, este sub&ro,ra%a la invo$ar1
2i el sub&ro,ra%a a $onstruir se lla%a 2B@A:, es<ue%1ti$a%ente se %irara asG
2B@A: ?aPar1%etrosbC
:or%a$i(n del ve$tor $on las su%as de las filas
Lla%ada a la fun$i(n PO2@AT, se le entre,a el ve$tor for%ado y devuelve la &osi$i(n
del ele%ento %ayor
2 B @ A : ? a P a r 1 % e t r o s b C
: o r % a $ i ( n d e l v e $ t o r $ o n l a s s u % a s d e
l a s f i l a s
L l a % a d a a l a f u n $ i ( n P O 2 @ A T , s e l e
e n t r e , a e l v e $ t o r f o r % a d o y d e v u e l v e l a
& o s i $ i ( n d e l e l e % e n t o % a y o r

P O 2 @ A T
a i n s t r u $ $ i o n e s b
? C
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG 2B@A:
-aria.les
N:G N>%ero de filas de la %atriz
NCG N>%ero de $olu%nas
@AG No%bre del arre,lo bidi%ensional
;2:G ;e$tor <ue $ontiene la su%a de las filas de la %atriz de ta%aFo
N:
PO2@AG Posi$i(n <ue o$u&a el ele%ento %ayor de ;2:
X, LG ;ariables $ontroladoras de los $i$los
!u.pro/ra3a
PROCEDMENTO SUMAF (MA, NF, NC, VSF, POSMA)
PARA K = 1, NF, 1 HAGA
VSF[K] = 0
PARA L = 1, NC, 1 HAGA
VSF[K] = VSF[K] + MA[K, L]
FN_PARA
FN_PARA
POSMA = POSMAY ( NF, VSF)
FN_SUMAF
EJercicio resuelto No. )1
Construir un sub&ro,ra%a <ue lea el n>%ero de filas y los ele%entos de una %atriz de "/
$olu%nas
An:lisis
En este $aso, el %(dulo subordinado no re$ibe infor%a$i(n del %(dulo <ue lo invo<ue ya
<ue los valores a entrar los va a re$ibir desde un %edio e7terno de entrada de datos, &ero
s le devuelve infor%a$i(n
Puede usarse LEE5Z@AT, <ue sera lo %is%o
Par:3etros 2e reci.o
No 6ay
Par:3etros 2e en7o
N>%ero de filas de la %atriz
Los ele%entos de la %atriz
De0inicin 2e 7aria.les
LECTB5AG No%bre del sub&ro,ra%a
:G N>%ero de filas del arre,lo bidi%ensional
@AT5IYG No%bre de la %atriz
I, JG ;ariables $ontroladoras de $i$los
!u.pro/ra3a
PROCEDMENTO LECTURA (F, MATRZ)
LEA: F
PARA = 1, F, 1 HAGA
PARA J = 1, 10, 1 HAGA
LEA: MATRZ[, J]
FN_PARA
FN_PARA
FN_LECTURA
EJercicio resuelto No. )2
Elaborar un sub&ro,ra%a <ue es$ribaG
a Los ele%entos de un ve$tor <ue $ontiene el &ro%edio de estudiantes &or
nivel de una universidad
b Los ele%entos de un ve$tor $uyos ele%entos son los estudiantes &or
fa$ultad de una universidad
$ La fa$ultad <ue tiene %ayor n>%ero de estudiantes
An:lisis
Par:3etros 2e reci.o
N>%ero de ele%entos del ve$tor <ue $ontienen los &ro%edios
El ve$tor de &ro%edios
El n>%ero de ele%entos del ve$tor de estudiantes &or fa$ultad
El ve$tor de n>%ero de estudiantes &or fa$ultad
La fa$ultad <ue tiene %ayor n>%ero de estudiantes
Par:3etros 2e en7o
La infor%a$i(n no la enva al %(dulo <ue lo invo$a sino a un %edio e7terno de salida,
&or lo tanto, no tiene &ar1%etros de envo
Clase de sub&ro,ra%aG P5OCEDI@IENTO
No%breG 2ALIDA
-aria.les
NPG Ta%aFo del ve$tor <ue $ontiene los &ro%edios
;P5O@G ;e$tor <ue $ontiene los estudiantes &or nivel de la universidad
NE:G Ta%aFo del ve$tor de estudiantes &or fa$ultad
;:ACG ;e$tor de estudiantes &or fa$ultad
@AT:G ;ariable <ue $ontiene el n>%ero de la fa$ultad $on %ayor n>%ero de
estudiantes
IG ;ariable $ontroladora de $i$lo
!u.pro/ra3a
PROCEDMENTO SALDA (NP, VPROM, NEF, VFAC, MAYF)
ESCRBA: "UNVERSDAD DE ANTOQUA"
ESCRBA: "PROMEDO DE ESTUDANTES POR NVEL"
ESCRBA: "NVEL PROMEDO"
PARA = 1, NP, 1 HAGA
ESCRBA: , VPROM[]
FN_PARA
ESCRBA: "TOTAL DE ESTUDANTES POR FACULTAD"
ESCRBA: "FACULTAD ESTUDANTES"
PARA = 1, NEF, 1 HAGA
ESCRBA: , VFAC[]
FN_PARA
ESCRBA: "FACULTAD CON MAYOR NMERO DE ESTUDANTES",
MAYF
FN_SALDA
EJercicio resuelto No. )#
#a$er un al,orit%o <ue utili$e el sub&ro,ra%a LECTB5A &ara leer el n>%ero de
fa$ultades y el n>%ero de estudiantes de los "/ niveles de $ada fa$ultadI utili$e el
sub&ro,ra%a P5O@C &ara $al$ular el &ro%edio de estudiantes &or nivel en la
universidadI utili$e el sub&ro,ra%a 2B@A: &ara $al$ular el total de estudiantes &or
fa$ultad, y lo$alizar la fa$ultad <ue tiene %ayor n>%ero de estudiantesI utili$e el
sub&ro,ra%a 2ALIDA &ara i%&ri%ir la infor%a$i(n re<uerida
An:lisis
Co%o se &uede ver en el enun$iado, toda la labor <ue debe realizar el al,orit%o est1 ya
6e$6a &or los sub&ro,ra%asI &or tanto, el traba8o del al,orit%o ser1 invo$ar a los %(dulos
res&e$tivos &ara <ue entre,uen la infor%a$i(n re<uerida
El al,orit%o debe definir sus &ro&ias variables &ara enviar y re$ibir infor%a$i(n de las
estru$turas subordinadas
9r1fi$a%ente se &uede %irar de la si,uiente %aneraG

A L 9 O 5 I T @ O
P O 2 @ A T
2 A L I D A 2 B @ A : P 5 O @ C L E C T B 5 A
De0inicin 2e 7aria.les
N:ACG N>%ero de fa$ultades de la universidad
NI;ELG @atriz de N:AC filas y "/ $olu%nas <ue al%a$enar1, en $ada
ele%ento, el n>%ero de estudiantes &or nivel en la universidad
2u estru$tura ser1G
N i v e l
"

N i v e l
" /
: a $ u l t a d "

! : a $ u l t a d *


N : A C

Donde ! ser1 el n>%ero de estudiantes <ue tiene la fa$ultad * en el nivel +
;P5O@G ;e$tor de &ro%edios de estudiantes &or nivel en la Bniversidad
;EP:G ;e$tor <ue $ontiene el total de estudiantes &or fa$ultad
:@ATO5G :a$ultad <ue tiene el %ayor n>%ero de estudiantes
Trans0erencia 2e in0or3acin entre 32ulos
M2ulo 1 BLECTURAD
Este %(dulo devuelve al al,orit%o la infor%a$i(n de entrada <ue es al%a$enada en la
variable N:AC y en la %atriz NI;EL
M2ulo 2 BPROMCD
2e le entre,a infor%a$i(n a trav3s de los ar,u%entos NI;EL, N:AC, "/, devuelve el ve$tor
de &ro%edios ;P5O@
M2ulo # B!UMA?D
2e le entre,a infor%a$i(n a trav3s de las variables NI;EL, N:AC, "/, devuelve el ve$tor
<ue $ontiene el total de estudiantes &or fa$ultad ;EP: y la fa$ultad de %ayor n>%ero de
estudiantes :@ATO5
M2ulo $ B!ALIDAD
2e le entre,an los ar,u%entos "/, ;P5O@, N:AC, ;EP: y :@ATO5 y %uestra la
infor%a$i(n a trav3s de un %edio e7terno de salida
Al/orit3o
NCO
LECTURA (NFAC, NVEL)
PROMC (NVEL, NFAC, 10, VPROM)
SUMAF (NVEL, NFAC, 10, VEPF, FMAYOR)
SALDA (10, VPROM, NFAC, VEPF, FMAYOR)
FN_NCO
).#. Arre/los 3ulti2i3ensionales
Pueden e7istir arre,los de tres y %1s di%ensiones, &ero la %ayora de las a&li$a$iones o
&ro$esos &or $o%&utadora no utilizan arre,los $on %1s de tres di%ensiones &or<ue los arre,los
,astan bastante %e%oria &rin$i&al, y %u$6as ve$es e7iste ,ran $antidad de %e%oria se&arada y
no utilizadaI ta%bi3n &or<ue visualizar un arre,lo $on %1s de tres di%ensiones no es f1$il
Bn arre,lo de tres di%ensiones &uede visualizarse $o%o una $a8aG un $on8unto de tablas, una
tras otra, donde los ele%entos <ue $onfor%an el arre,lo est1n dis&uestos ba8o tres $on$e&tos de
$lasifi$a$i(n tPLANO, :ILA, COLB@NAuI &or lo tanto, la referen$ia$i(n de un ele%ento
$ual<uiera est1 dire$$ionada &or tres ndi$es
Por e8e%&loG re&resentar un arre,lo tridi%ensional, PLAN de * &lanos, 0 filas y ) $olu%nas




P l a n o *


!



P l a n o '

: i l a s


P l a n o "


C o l u % n a s


Donde ! 6a$e referen$ia al $ontenido del ele%ento PLANt', *, )u o sea el ele%ento del
arre,lo PLAN ubi$ado en el &lano ', fila *, $olu%na ) En ,eneral, se &uede de$ir <ue PLANtP,
:, Cu 6a$e referen$ia al ele%ento del arre,lo PLAN ubi$ado en el &lano P, fila :, $olu%na C
dondeG
" aS P aS No de &lanos, " aS : aS No de filas y " aS C aS No de $olu%nas
EJercicio resuelto No. )$
#a$er un al,orit%o <ue entre los ele%entos de un arre,lo tridi%ensional de N: filas, NC
$olu%nas y NP &lanosI en$uentre el valor %ayor de los ele%entos del arre,lo y el lu,ar
<ue o$u&a
An:lisis
Datos 2e entra2a
El n>%ero de &lanos
El n>%ero de filas
El n>%ero de $olu%nas
Los ele%entos del arre,lo
Datos 2e sali2a
El valor %ayor y la &osi$i(n <ue o$u&a dentro del arre,lo
Proceso
El arre,lo se re$orrer1 &or &lanos y dentro de 3stos &or filasI esto i%&li$a tener tres
$i$losG uno e7terno <ue re$orra los &lanos, uno inter%edio <ue re$orra las filas, y uno
interno <ue re$orra las $olu%nas Para en$ontrar el ele%ento %ayor dentro del arre,lo
asu%i%os <ue el valor %ayor es el ele%ento t", ", "u, o sea, el ele%ento ubi$ado en el
&lano ", fila ", $olu%na "I lue,o se $ontin>a $o%&arando este %ayor $on los de%1s
ele%entos del arre,lo, efe$tuando $a%bios $ada vez <ue se en$uentre un valor %ayor
De0inicin 2e 7aria.les
A5TDG No%bre del arre,lo tridi%ensional
NPG N>%ero de &lanos del arre,lo
N:G N>%ero de filas del arre,lo
NCG N>%ero de $olu%nas del arre,lo
:, C, PG ;ariables $ontroladoras de $i$los
@ATO5G ;alor %ayor de los ele%entos del arre,lo
:@G :ila donde se en$uentra @ATO5
C@G Colu%na donde se en$uentra @ATO5
P@G Plano donde se en$uentra @ATO5
Al/orit3o
NCO
LEA: NP, NF, NC
PARA P = 1, NP, 1 HAGA
PARA F = 1, NF, 1 HAGA
PARA C = 1, NC, 1 HAGA
LEA: ARTD[P, F, C]
FN_PARA
FN_PARA
FN_PARA
MAYOR = ARTD[1, 1, 1]
FM, CM, PM = 1
PARA P = 1, NP, 1 HAGA
PARA F = 1, NF, 1 HAGA
PARA C = 1, NC, 1 HAGA
S MAYOR < ARTD[P, F, C] ENTONCES
MAYOR = ARTD[P, F, C]
FM = F
CM = C
PM = P
FN_S
FN_PARA
FN_PARA
FN_PARA
ESCRBA: "EL MAYOR VALOR DEL ARREGLO ES:", MAYOR, "Y ESTE
UBCADO EN EL PLANO", PM, "FLA", FM, "COLUMNA", CM
FN_NCO
EJercicio resuelto No. )&
Bna e%&resa a3rea ofre$e + vuelos a los $lientes Cada avi(n de la lnea tiene +/ filas de
asientos y 0 $olu%nas Para efe$tos de siste%atiza$i(n, un asiento o$u&ado se re&resenta
%ediante un uno y un asiento libre $on un $ero #a$er un al,orit%o <ue %uestre el
n>%ero de &asa8eros <ue lleva $ada vuelo
An:lisis
Datos 2e entra2a
La infor%a$i(n o estado de los vuelos Arre,lo tridi%ensional de unos y
$eros
Datos 2e sali2a
El n>%ero de &asa8eros de $ada vuelo
Proceso
La infor%a$i(n se al%a$enar1 en un arre,lo tridi%ensional de ta%aFo + V +/V 0, <ue a su
vez re&resenta la $antidad de &asa8eros <ue &uede trans&ortar la lnea a3rea 2e 6ar1 uso
de un $ontador <ue totali$e la $antidad de &asa8eros <ue lleva $ada vuelo, el $ual debe
$o%enzar en $ero $ada <ue se &ro$ese la infor%a$i(n &ertene$iente a $ada avi(n
De0inicin 2e 7aria.les
PBE2TOG No%bre del arre,lo
:, C, PG ;ariable $ontroladoras de los $i$los
NP;G Contador de &asa8eros &or vuelo
Al/orit3o
NCO
PARA P = 1, 5, 1 HAGA
PARA F = 1, 50, 1 HAGA
PARA C = 1, 6, 1 HAGA
LEA: PUESTO[P, F, C]
FN_PARA
FN_PARA
FN_PARA
PARA P = 1, 5, 1 HAGA
NPV = 0
PARA F = 1, 50, 1 HAGA
PARA C = 1, 6, 1 HAGA
S PUESTO[P, F, C] = 1 ENTONCES
NPV = NPV + 1
FN_S
FN_PARA
FN_PARA
ESCRBA: "EL VUELO", P, "LLEVA", NPV, "PASAJEROS"
FN_PARA
FN_NCO
Aspectos a tener en cuenta
a El no%bre asi,nado a los arre,los debe se,uir las %is%as nor%as &ara la $onfor%a$i(n de
no%bres de variables si%&les
b 2i a un ele%ento de un arre,lo se le asi,na un valor, 3ste debe ser $o%&atible $on el ti&o de
dato de los ele%entos del %is%o
$ Los arre,los s(lo e7isten en %e%oria &rin$i&al, y los datos interna%ente est1n or,anizados
de %anera lineal
d Los ndi$es de un arre,lo &ueden ser variables, $onstantes o e7&resiones <ue den $o%o
resultado un valor entero
e Los ele%entos individuales de un arre,lo &ueden ser utilizados en e7&resiones, asi,na$i(n,
entrada y salida de datosI &ara su utiliza$i(n es ne$esario a$o%&aFar el no%bre del arre,lo
$on los ndi$es <ue ubi<uen &lena%ente el ele%ento <ue se re<uiere referen$iar
f Todos los ele%entos de un arre,lo deben ser del %is%o ti&o ?enteros, reales, bol3anos o
$ara$teresC
, Bn arre,lo se debe i%&le%entar $uando e7iste toda una serie de datos &ertene$ientes al
%is%o ti&o y $uando sus valores son re<ueridos en %e%oria &ara el &ro$eso &or
$o%&utadora
6 2e debe tener $uidado en no a$$eder un ele%ento de un arre,lo <ue no est3 dentro del ran,o
de ndi$es &reestable$idos
i Los &ro$esos <ue utilizan arre,los %ultidi%ensionales re<uieren $i$los, en lo ,eneral un
$i$lo &or di%ensi(n
).$. EJercicios propuestos
")- #a$er un al,orit%o <ue entre + valores y los al%a$ene en un ve$tor e i%&ri%ir el ve$tor
"). Elaborar un al,orit%o <ue ,enere un arre,lo de N ele%entos y en$uentre el valor y la
&osi$i(n del %ayor ele%ento
")4 Bsando el arre,lo anterior, es$ribir los ele%entos $uyos valores sean %>lti&los de *
"+/ #a$er un al,orit%o <ue entre una serie de valores, los al%a$ene en un ve$tor y su%e los
ele%entos de las &osi$iones &ares, lo %is%o <ue las &osi$iones i%&ares &or se&arado
"+" #a$er un al,orit%o <ue for%e un ve$tor del <ue no se sabe el n>%ero de ele%entos
Cal$ule el &ro%edio de los ele%entos y for%e dos nuevos arre,los, uno $on los ele%entos
%enores o i,uales al &ro%edio y otro $on los su&eriores I%&ri%a los dos nuevos arre,los
"+' Elaborar un al,orit%o <ue lea dos arre,los unidi%ensionales de i,ual ta%aFo y for%e un
ter$er arre,lo %ediante el &rodu$to de los ele%entos de los dos arre,los, to%ados en orden
inverso, es de$ir, &rodu$tos del &ri%er ele%ento del &ri%er arre,lo $on el >lti%o del
se,undoI del se,undo del &ri%er arre,lo $on el &en>lti%o del se,undo arre,loI 6asta lle,ar
al >lti%o del &ri%er arre,lo $on el &ri%ero del se,undo arre,lo I%&ri%ir el arre,lo
for%ado
"+* Elaborar un al,orit%o <ue for%e un ve$tor B de @ ele%entos, lue,o entre el valor de la
variable CLA;E y la bus<ue se$uen$ial%ente dentro del arre,lo, sus&endiendo la
b>s<ueda $uando la en$uentre
"+) #a$er el %is%o al,orit%o anterior a&li$ando Bq2ABEDA BINA5IA DE LA CLA;E
"++ 2e tienen dos arre,los unidi%ensionales A y B de @ ele%entos Partiendo de los dos
arre,los, elaborar un al,orit%o <ue for%e tres nuevos arre,los El &ri%ero $on la su%a de
los ele%entos res&e$tivos, el otro $on el &rodu$to y el >lti%o $on la diferen$ia
"+0 Elaborar un al,orit%o <ue su%a los ele%entos de un ve$tor de ta%aFo N, e7$e&to el
&ri%ero, >lti%o y el ele%ento del $entro
"+- Elaborar un al,orit%o <ue for%e dos arre,los El &ri%ero $ontiene los @ $(di,os de los
estudiantes <ue &erdieron CO@PBTADO5A2 y el se,undo los N $(di,os de los
estudiantes <ue &erdieron AL9O5IT@O2 Partiendo de los dos arre,los for%ar uno nuevo
$on los $(di,os de los estudiantes <ue &erdieron a%bas %aterias
"+. Elaborar un sub&ro,ra%a <ue en$uentre el ele%ento %enor en un ve$tor
"+4 Elaborar un sub&ro,ra%a <ue en$uentre las &osi$iones <ue o$u&an el ele%ento %ayor y
%enor en un ve$tor
"0/ Elaborar un sub&ro,ra%a <ue inserte un valor en el lu,ar <ue le $orres&onda en un ve$tor
ordenado des$endente%ente
"0" Elaborar un sub&ro,ra%a <ue verifi<ue si una lnea de te7to <ue ter%ina en &unto es un
PALIND5O@O Bn te7to es &alndro%o si se lee lo %is%o de iz<uierda a dere$6a o de
dere$6a a iz<uierda E8e%&loG A@O5 A 5O@A, OTTO
"0' Elaborar un sub&ro,ra%a <ue eli%ine todas las ve$es <ue a&are$e un valor en un arre,lo
unidi%ensional, sin destruir la infor%a$i(n de entrada
"0* Elaborar un sub&ro,ra%a <ue su%e los ele%entos $orres&ondientes de dos ve$tores, dando
$o%o resultado un nuevo ve$tor
"0) Elaborar un al,orit%o <ue en$uentre la interse$$i(n de dos ve$tores A y B, de N y @
ele%entos res&e$tiva%ente
"0+ Bna $adena de al%a$enes tiene la si,uiente infor%a$i(n de sus e%&leadosG $(di,o,
no%bre y $ar,oI los datos de los e%&leados se deben al%a$enar en ve$tores &aralelos
Elabore un al,orit%o <ue %uestre los datos de los e%&leados ordenados alfab3ti$a%ente
"00 2e tienen dos ,ru&os de datos de ta%aFo @ y N Elabore un al,orit%o <ue inserte uno de
los dos ,ru&os en el otro a &artir de una &osi$i(n dada
"0- 2i ! y T son ve$tores de i,ual ta%aFo, elaborar un al,orit%o <ue utili$e tres
sub&ro,ra%as &ara obtener los &ar1%etros a y b de la e$ua$i(n de la re$ta
T S a H b7, %ediante las f(r%ulasG


= =
= = = =

=
N
" i
N
" i
' '
N
" i
N
" i
N
" i
N
" i
' ' '
!iC ? !i N
!iTi !i Ti !i
a


= =
= = =

=
N
" i
'
N
" i
'
N
" i
N
" i
N
" i
!iC ? !i N
Ti !i !iTi N
b
"0. Elaborar un al,orit%o <ue for%e dos ve$tores de NA y NB ele%entos, los $uales, se sabe,
est1n ordenados as$endente%ente $ada uno :or%e un ter$er arre,lo <ue <uede ordenado
en la %edida <ue &asan los ele%entos de los dos arre,los ini$iales I%&ri%ir el nuevo
arre,lo
"04 Elaborar un al,orit%o <ue for%e un ve$tor $on una serie de $(di,os y otro $on una serie
de no%bres aso$iados a los $(di,os Lue,o entre un $on8unto de $(di,os y deter%ine si
est1n o no en el arre,lo y, si es as, es$riba el $(di,o y el no%bre
"-/ Es$ribir un al,orit%o <ue dado un ve$tor de ta%aFo N eli%ine de 3ste $uantas ve$es
a&arez$a un valor Es$riba el arre,lo y su nuevo ta%aFo
"-" Es$ribir un al,orit%o <ue dado un arre,lo unidi%ensional y su ta%aFo, eli%ine sus
ele%entos re&etidos, de8ando un ele%ento en $ada $aso
"-' Dado un arre,lo unidi%ensional de ta%aFo N, en$uentre la %oda, es de$ir, el valor <ue se
&resenta %1s n>%ero de ve$es entre sus ele%entos
"-* Es$riba un al,orit%o $on las %is%as $ara$tersti$as <ue el anterior, en el $aso de <ue
e7ista %1s de una %oda
"-) 2i tres ele%entos $uales<uiera de un ve$tor ; se rela$ionan &or la e$ua$i(nG
;tIH'u S ;tIH"u H ;tlu, si ;t"u S ", ;t'u S ', en$ontrar los &ri%eros N ele%entos del
ve$tor
"-+ Elaborar un al,orit%o <ue entre un arre,lo unidi%ensional, $al$ule e i%&ri%aG
N>%ero de datos re&etidos en el arre,lo
El n>%ero de valores i%&ares
El n>%ero de valores &ares
"-0 Elaborar un al,orit%o <ue for%e dos arre,los rela$ionados <ue al%a$enen los $(di,os de
los N art$ulos <ue se venden en un al%a$3n y la e7isten$ia ?n>%ero de, unidades
e7istentesC de $ada uno de los art$ulos, asG
C(di,o E7isten$ia
"/" */
'// )/
Del art$ulo "/" 6ay */ unidades en e7isten$iaI del art$ulo '//, 6ay )/ unidades y as
su$esiva%ente
Por $ada &roveedor o $liente <ue lle,a al al%a$3n se ,enera un re,istro $on los si,uientes
datosG
O Ti&o de transa$$i(n t" &ara &roveedor ?re$iboCI ' &ara $liente ?ventaCu
O C(di,o del art$ulo transado
O N>%ero de unidades transadas ?re$ibidas o vendidasC
2e re<uiere $al$ular lo si,uiente &ara $ada transa$$i(nG
O 2i es re$ibo, se su%a a las e7isten$ias a$tuales de este art$ulo el n>%ero de unidades
transadas
O 2i es venta, se resta a las unidades en e7isten$ia de ese art$ulo las unidades vendidas
Al final se deben %ostrar los $(di,os de los art$ulos y las e7isten$ias de $ada uno de ellos,
es de$ir, el arre,lo de $(di,os y de e7isten$ias ya a$tualizado
Asu%a <ue en nin,>n %o%ento la $antidad vendida es %ayor <ue la $antidad, en e7isten$ia,
y &or lo tanto no le &resentan in$onsisten$ias
"-- Elaborar un al,orit%o <ue for%e tres ve$tores de N ele%entos $ada unoG rela$ionados
entre s, los $uales $ontienen la renta l<uida, el &atri%onio y el valor $r3dito <ue
$orres&onde a esa renta l<uida o a ese &atri%onio, asG
5ENTA LIABIDA PAT5I@ONIO ;ALO5 C5EDITO
'+/// "///// "*/
*//// "+//// '//
)//// '"//// './
Para una renta l<uida entre / y W'+/// o un &atri%onio no %ayor de W"/////, el valor del
$r3dito $orres&ondiente es W"*/I &ara una renta l<uida %ayor de W'+/// y %enor de W*//// o
un &atri%onio %ayor de W"///// y %enor o i,ual a W"+////, el valor $r3dito $orres&ondiente
es de W'//, et$ Por $ada estudiante <ue se %atri$ula se for%a un re,istro $on los si,uientes
datosG
O C(di,o del estudiante
O 5enta l<uida
O Patri%onio
O N>%ero de $r3ditos a $ursar
2e debe %ostrar el $(di,o, lo <ue debe &a,ar $ada estudiante y el total re$audado &or
%atr$ula
"-. 2e tienen dos arre,los unidi%ensionales Bno de ellos $on N ele%entos y, el otro $on @
ele%entos Los ele%entos de los dos arre,los se en$uentran ordenados en for%a
as$endente Elabore un al,orit%o <ue entre los dos ve$tores se for%e uno nuevo de N H @
ele%entos, el $ual $ontendr1 los ele%entos de los dos arre,los ordenados de %enor a
%ayor
"-4 En una universidad se efe$t>a un e7a%en de ad%isi(n <ue $onsta de dos &ruebasG a&titud
%ate%1ti$a y a&titud verbal Cada &re,unta tiene + o&$iones nu%eradas del " al + 2e
&re&ara un re,istro $on 0/ $a%&os de una sola &osi$i(n <ue $ontiene, $ada uno, la
res&uesta $orre$ta a la &re,unta $orres&ondiente Las */ &ri%eras &osi$iones $orres&onden
al e7a%en de a&titud %ate%1ti$a y las restantes a las de a&titud verbal
2e &resentaron al e7a%en N estudiantes y &ara $ada uno de ellos se &re&ar( un re,istro $on
los si,uientes datosG
O N>%ero de la $reden$ial
O 5es&uestas al e7a%en de a&titud %ate%1ti$a
O 5es&uestas al e7a%en de a&titud verbal
2e re<uiere saberG
O Punta8e obtenido &or $ada estudiante en $ada e7a%en
O El &unta8e total &or estudiante
O El &unta8e &ro%edio de $ada e7a%en
O El &unta8e &ro%edio total
O La $reden$ial y el &unta8e $orres&ondiente a los estudiantes <ue obtuvieron un &unta8e
su&erior o i,ual al &ro%edio
O El %ayor &unta8e y el n>%ero de la $reden$ial del estudiante <ue la obtuvo
"./ #a$er un al,orit%o <ue lea dos arre,los A y B y for%e un nuevo arre,lo @, $uyos
ele%entos $orres&onden a la uni(n de los $on8untos definidos &or A y B La uni(n de A y
B son los ele%entos del $on8unto A %1s los ele%entos del $on8unto <ue no est1n en A
"." El dese%&eFo usual de un ,ru&o de ventas est1 en re,istros ?ar$6ivoC, dos valores &or
re,istroI el &ri%ero es el n>%ero de identifi$a$i(n de un vendedor &arti$ular y el se,undo
el n>%ero de ventas <ue 6a 6e$6o Elaborar un al,orit%o <ue %uestre el n>%ero de
identifi$a$i(n y el n>%ero de ventas, donde 3stas a&arez$an ordenadas en for%a
as$endente
".' Elaborar un al,orit%o <ue lea una lista de n>%eros enteros &ositivos y e8e$ute las
si,uientes o&era$ionesG
" @ostrar los n>%eros de la lista en orden $re$iente
' Cal$ular e i%&ri%ir la %ediana ?valor $entralC
* Deter%inar el n>%ero <ue o$urre %1s fre$uente%ente
) I%&ri%ir una lista <ue $onten,aG
)" N>%eros %enores <ue */
)' N>%eros %ayores <ue -/
)* N>%eros <ue no &ertenez$an ni al ,ru&o )" ni al )'
".* Dados dos ve$tores ordenados alfab3ti$a%ente $on @ y N no%bres de los e%&leados de
una e%&resa, 6a$er un al,orit%o &ara obtener un nuevo ve$tor, <ue no $onten,a no%bres
re&etidos y est3 ordenado
".) Bna $adena de al%a$enes tiene su$ursales en $uatro $iudades diferentes y un total de N
e%&leados El re,istro &re&arado &ara $ada e%&leado tiene los si,uientes $a%&osG no%bre,
$iudad, $(di,o
Los datos de los $lientes est1n en ve$tores &aralelos DiseFar un al,orit%o <ue ordene
todos los datos de los e%&leados de %odo <ue se &ueda visualizar, &or su$ursal, la lista de
los e%&leados en orden alfab3ti$o $re$iente
".+ Elaborar un al,orit%o <ue for%e dos ve$tores <ue $onten,an NO@B5E2 y 2E!O de los
alu%nos de la %ateria Algoritmos 9enerar dos nuevos arre,losG uno <ue $onten,a los
no%bres de los 6o%bres y otro el de las %u8eres, a%bos ordenados alfab3ti$a%ente
".0 Elaborar un al,orit%o <ue lea una %atriz &or filas y la i%&ri%a &or $olu%nas
".- Elabore un sub&ro,ra%a <ue deter%ine si un n>%ero es auto%(rfi$o Bn n>%ero
auto%(rfi$o es a<u3l <ue al elevarlo siste%1ti$a%ente a una &oten$ia %ayor <ue $ero, las
>lti%as $ifras del resultado $orres&onden al %is%o n>%ero Por e8e%&loG
-0
"
S -0I -0
'
S +--0I -0
*
S )*.4-0I -0
)
S ***0'"-0, &ruebe $on las * &ri%eras
&oten$ias
".. Elaborar un al,orit%o <ue lea el orden de una %atriz y sus ele%entos y en$uentre los
ele%entos %ayor y %enor y sus &osi$iones
".4 #a$er un al,orit%o <ue lea el orden de un arre,lo bidi%ensional y sus ele%entosI
$onvierta la %atriz en un arre,lo unidi%ensional La $onversi(n debe 6a$erse &or
$olu%nas, es de$ir, %over la &ri%era $olu%na al ve$tor, a $ontinua$i(n la se,unda
$olu%na y as su$esiva%ente I%&ri%a el arre,lo for%ado
"4/ Elaborar un al,orit%o <ue lea el n>%ero de filas y de $olu%nas de una %atriz y sus
ele%entos Lue,o inter$a%bie el $ontenido de la &ri%era y la >lti%a $olu%na, de la
se,unda y la &en>lti%a y as 6asta $o%&letar $a%bios <ue den una %atriz $on $olu%nas
invertidas I%&ri%a la %atriz
"4" 5esuelva el %is%o &roble%a anterior, 6a$iendo inter$a%bio de filas
"4' Elaborar un al,orit%o <ue lea el orden y la %atriz %is%a, lue,o la invierta &or filas, asG
El ele%ento ?", "C se inter$a%bie $on el ?N, @CI el ?", 'C $on el ?N, @ Z"CI el ?", *C $on el
?N, @Z'C y as su$esiva%ente I%&ri%ir la %atriz invertida
"4* Elaborar un al,orit%o <ue lea el orden y los ele%entos de una %atriz $uadrado y averi,xe
si es si%3tri$a, es de$ir, si todos los &ares de ele%entos e<uidistantes &er&endi$ular%ente
de la dia,onal &rin$i&al son i,uales
"4) Elaborar un al,orit%o <ue for%e una %atriz $on datos &rovenientes de una serie de
re,istros, su8eto a lo si,uienteG
O El $ontenido de $ada re,istro es un ele%ento de la %atriz
O La %atriz tiene + $olu%nas y un %17i%o de +/ filas
O El al%a$ena%iento debe 6a$erse &or filas, es de$ir, los &ri%eros + re,istros for%an la fila
uno y as su$esiva%ente
"4+ Elaborar un al,orit%o <ue for%e una %atriz $on las si,uientes $ara$tersti$asG
a La &ri%era fila y &ri%era $olu%na tienen $o%o ele%entos los n>%eros del / al '/
$onse$utivos
b Los de%1s ele%entos se obtienen de %ulti&li$ar $ada ele%ento de la fila uno &or $ada
ele%ento de la $olu%na uno I%&ri%ir la %atriz E8e%&loG

/ " ' * ) +
" " ' * ) +
' ' ) 0 . "/
* * 0 4 "' "+
) ) . "' "0 '/
+ + "/ "+ '/ '+
.
.
.
.
'/


'/
.
.
.
.
.
.
.
.
.
)//

"40 Bna f1bri$a &rodu$e N art$ulos diferentes y utiliza @ su$ursales &ara su distribu$i(n,
variando el &re$io de venta de $ada art$ulo se,>n la su$ursal <ue lo distribuye Para esto
la f1bri$a tiene un $uadro <ue %uestra el &re$io de $ada art$ulo se,>n la su$ursal <ue lo
distribuye Al final de $ada &erodo $ada su$ursal enva a la f1bri$a la $antidad vendida de
$ada arti$ulo, for%1ndose un nuevo $uadro Elaborar un al,orit%o <ue en$uentre las
ventas totales de la f1bri$a &ara $ada uno de los art$ulos y &ara $ada una de las su$ursales
"4- Dos ta6>res se 6an ideado el si,uiente 8ue,oG
Elaboran una tabla de 0 filas &or 0 $olu%nas
El ta6>r A di$eG tiro los dados y $ada uno de ellos %e indi$a una fila de la tabla, lue,o
%ulti&li$o entre s los ele%entos de las dos filas y 3se es %i &unta8eI el ta6>r B di$eG tiro los
dados y $ada uno de ellos %e re&resenta una $olu%na, lue,o su%o los ele%entos
$orres&ondientes y 3se es %i &unta8e
l2e &odr1 de$ir a si%&le vista <ui3n es el ,anadorm
Elabore un al,orit%o <ue entre la tabla y los valores dados &or los dados y $o%&ruebe <ui3n
es el ,anador, sabiendo <ue el ta6>r B tira los dados $uando $ono$e los resultados del ta6>r A
"4. Elaborar un al,orit%o <ue entre una %atriz de @ V N y ordene en for%a $re$iente los
ele%entos de las $olu%nas del arre,lo
"44 Dada una %atriz si%3tri$a, elaborar un al,orit%o <ue la $onvierta a trian,ular inferior ?el
tri1n,ulo su&erior dere$6o debe $ontener $eros, e7$e&tu1ndose la dia,onal &rin$i&alC
'// Elaborar un al,orit%o <ue llene una %atriz de orden N $on $eros, e7$e&to las dos
dia,onales <ue deben $ontener unos
'/" Dada una %atriz ordenada as$endente%ente $on base en la &ri%era $olu%na, insertarle los
ele%entos de un ve$tor, de tal for%a <ue el &ri%er ele%ento de 3ste no destruya el
ordena%iento
'/' Elabore un al,orit%o <ue for%e una %atriz de N V @ ele%entos $on blan$o y n>%eros del
$ero al nueve, dis&ersos en el $uer&o de la %atriz y lue,o bus<ue las &osi$iones <ue
$ontienen n>%eros y los $olo<ue en for%a $onse$utiva desde la fila uno en adelante, &or
e8e%&loG
4 4 6 7 8 9
6 7 1
8 9 1

'/* Dadas dos %atri$es elaborar un al,orit%o <ue obten,a la %atriz &rodu$to
'/) Elaborar un al,orit%o <ue entre una %atriz N V @ y un valor y en$uentre el &rodu$to de
3ste &or la %atriz
'/+ Elaborar un al,orit%o <ue for%e una %atriz de N V @ ele%entos Cada ele%ento del
arre,lo re&resenta las ventas atribuibles a $ada uno de los N vendedores de una e%&resa,
&ara $ada uno de los @ aFos de o&era$iones <ue 6a tenido la %is%a y, lue,o $al$ularG
O El total de ventas de $ada vendedor en los @ aFos
O El total de ventas en $ada aFo
O El ,ran total de ventas de la e%&resa
'/0 Elaborar un al,orit%o <ue a$tuali$e la tabla de $lasifi$a$i(n del Ca%&eonato Profesional
de :>tbol de su &asI lue,o de efe$tuada una fe$6a, el al,orit%o debe leerG
O Bn re,istro &or e<ui&o <ue $onten,a los si,uientes datosG
J C(di,o del e<ui&o
J Partidos 8u,ados
J Partidos ,anados
J Partidos e%&atados
J Partidos &erdidos
J 9oles a favor
J 9oles en $ontra
J Puntos
O Bn re,istro &or &artido <ue $onten,a los si,uientes datosG
J C(di,o del e<ui&o lo$al
J 9oles del e<ui&o lo$al
J C(di,o del e<ui&o visitante
J 9oles del e<ui&o visitante
El al,orit%o debe %ostrar la tabla leda, ordenada de a$uerdo a la &untua$i(n, lue,o de 6aber
$al$ulado los &untos &ara $ada e<ui&o
'/- Dada una %atriz de N filas &or @ $olu%nas <ue debe ser leda, elaborar un al,orit%o <ue
ordene los ele%entos del arre,lo en for%a des$endente &or filas
'/. Bn $aballo est1 ubi$ado en una de las &osi$iones de un tablero de a8edrez Elaborar un
al,orit%o <ue averi,xe <u3 nueva &osi$i(n &odr1 to%ar des&u3s de una 8u,ada,
$ono$iendo el lu,ar ini$ial donde se en$uentra
'/4 2e desea obtener el ,rado de efi$ien$ia de N o&erarios de una f1bri$a &rodu$tora de
tornillos, de a$uerdo $on las si,uientes $ondi$iones <ue se les i%&one &ara un &erodo
deter%inado Condi$ionesG
" Ausen$ia del traba8o *,+ 6oras
' Tornillos defe$tuosos a *//
* Tornillos &rodu$idos b "////
Los ,rados de efi$ien$ia del traba8ador son asi,nados de la si,uiente for%aG
O 2i no $u%&le nin,una $ondi$i(nG 9rado S +
O 2i s(lo $u%&le la &ri%era $ondi$i(nG 9rado S -
O 2i s(lo $u%&le la se,unda $ondi$i(nG 9rado S .
O 2i s(lo $u%&le la ter$era $ondi$i(nG 9rado S 4
O 2i $u%&le la &ri%era y la se,undaG 9rado S "'
O 2i $u%&le la &ri%era y la ter$eraG 9rado S "*
O 2i $u%&le la se,unda y la ter$eraG 9rado S "+
O 2i $u%&le las tres $ondi$ionesG 9rado S '/
Por $ada traba8ador se tiene un re,istro $on los si,uientes datosG
O C(di,o del traba8ador
O #oras de ausen$ia
O Tornillos defe$tuosos
O Tornillos &rodu$idos
Elaborar un al,orit%o <ue $al$ule &ara $ada traba8ador su $orres&ondiente ,rado de
efi$ien$ia e i%&ri%a toda su infor%a$i(n
'"/ Bn $a%&o de ,olf $onsta de ". 6oyos, en ellos debe introdu$irse, su$esiva%ente, una
&elota a base de ,ol&es $on un bast(n En una tar8eta van anot1ndose el n>%ero de ,ol&es
re<ueridos &ara lle,ar a $ada uno de los 6oyos En la %is%a tar8eta &ueden anotarse los
,ol&es de varios 8u,adores, ya <ue 3sta tiene la for%a de una tabla ?%atrizCG los ren,lones
$orres&onden a los 8u,adores y las $olu%nas a $ada 6oyo del $a%&o Por e8e%&lo, si en un
8ue,o &arti$i&an ) 8u,adores la tar8eta tendr1 ) ren,lones y ". $olu%nas El 8ue,o lo ,ana
el &arti$i&ante <ue lle,ue al 6oyo ". $on el %enor n>%ero de ,ol&es
2u&on,a <ue des&u3s de $on$luido el &artido se tiene la tar8eta $on todos los ,ol&es de los N
8u,adores
Elaborar un al,orit%o <ue entre los datos y obten,aG
O La for%a$i(n de un ve$tor $on los no%bres de los &arti$i&antes
O El no%bre de la &ersona <ue o$u&( el &ri%er lu,ar, el se,undo, et$, 6asta el en3si%o
'"" Considere un %initablero de a8edrez de ) V ) y trate de situar $uatro reinas, de tal %odo,
<ue no se coman entre s 5e$uerde <ue una reina $o%e sobre su fila, su $olu%na y las dos
dia,onales <ue &asan &or su &osi$i(n
'"' Bn avi(n dis&one de "./ &lazas, de las $uales 0/ son de no fu%ador y nu%eradas del " al
0/ y "'/ &lazas nu%eradas del 0" al "./ DiseFar un al,orit%o <ue &er%ita reservar
&lazas del avi(n y di,a $u1ntos &asa8eros de $ada $lase o$u&an asientos en el vuelo
'"* Estudiantes &rovenientes de +/ %uni$i&ios 6an de$idido &resentar e7a%en de in,reso a la
universidad 2e re<uiere de una %atriz <ue indi<ue los resultados de las &ersonas de $ada
$ole,io <ue 6an &resentado el e7a%en La entrada est1 $o%&uesta &or el n>%ero de la
$reden$ial, el $(di,o del $ole,io ?de " a +/C y el resultado del e7a%en La salida debe
tener los &untos de los estudiantes &ro$edentes de $ada $ole,io
'") Elabore un al,orit%o <ue entre los ele%entos de una %atriz $uadrada de orden N y
deter%ine si es un CBAD5ADO @A9ICO 2e $onsidera $uadrado %1,i$o a<u3l en el <ue
la su%a de $ada una de las filas, su%a de $ada una, de las $olu%nas y su%a de $ada una de
las dia,onales son la %is%a $antidad
'"+ En las ele$$iones &ara Al$alde del PBEBLITO PAI2A se 6an &resentado tres $andidatos
?A, B, CC El Pueblito est1 dividido en + zonas de vota$i(n
El re&orte de votos de la zona se re$ibe en ordenG &ri%ero la zona ", la ', la *, la ) y &or
>lti%o la zona +
Elabore un al,orit%o <ueG
O :or%e una %atriz de + filas y * $olu%nas <ue $onten,a, en $ada fila, los votos re&ortados
&or las zonas &ara $ada uno de los tres $andidatos
O En$uentre el total de votos obtenidos &or $ada $andidato y el &or$enta8e <ue 3ste re&resenta
O Es$riba un %ensa8e de$larando ,anador a un $andidato, si 3ste obtuvo %1s del +/P de la
vota$i(n
'"0 Elabore un al,orit%o <ue lea el n>%ero de filas y de $olu%nas de una %atriz y la %atriz
%is%a 2e ase,ura <ue los valores de los ele%entos est1n entre " y 0 :or%e 0 ve$tores
$on los ele%entos i,uales a ", ', *, ), + y 0, %uestre el ta%aFo de los ve$tores y di,a $u1l
es la %oda, es de$ir, el ele%ento <ue %1s ve$es se re&ite en la %atriz
'"- Elabore un al,orit%o <ue &ara una %atriz A de orden N V @ obten,aG
O 2u%a de $ada fila i%&ar
O Produ$toria de la dia,onal se$undaria
O N>%ero de valores i,uales a $ero y
O 2u%a de todos los ele%entos de las $olu%nas &ares
'". A es un arre,lo unidi%ensional de N ele%entos
Elaborar un al,orit%o &ara $olo$ar el ve$tor A $o%o dia,onal se$undaria de un arre,lo B
de N V N
'"4 Elaborar un al,orit%o <ue lea una %atriz A de orden N V N y $onstruya otra %atriz B, asG
O Los ele%entos de la dia,onal &rin$i&al y se$undaria son los %is%os de A
O En los de%1s lu,ares deben ir los %>lti&los de + de iz<uierda a dere$6a y de arriba 6a$ia
aba8o
''/ #a$er un al,orit%o <ue $onstruya y es$riba la si,uiente %atrizG
"'0 "'/ "") "/. "/' 40
4/ .) -. -' 00
0/ +) ). )'
*0 */ ')
". "'
0
''" 2e tiene un ,ru&o de N estudiantes identifi$ados $o%o ", ', * NI $ada uno de ellos to%a
las %is%as . %ateriasG ", ', * .I se%estral%ente, el &rofesor de $ada %ateria re&orta a la
ofi$ina de re,istros el $(di,o del estudiante, el n>%ero de la %ateria y la $alifi$a$i(n
obtenida Elaborar un al,orit%o <ue obten,aG
O Las $alifi$a$iones &ro%edio obtenidas &or $ada estudiante, %ostradas en for%a as$endente
O El &ro%edio de notas en $ada uno de . $ursos
O El estudiante $on %ayor &ro%edio
''' Leer una %atriz B de *. V *. y efe$tuar los si,uientes &asosG
O Inter$a%biar los ele%entos de la dia,onal &rin$i&al $on los ele%entos de la dia,onal
se$undaria
O Inter$a%biar la fila "- $on la $olu%na ")
O Es$ribir la nueva %atriz
''* Bna universidad tiene "' $arreras $odifi$adas del " al "' y $ada $arrera tiene "/ se%estres
nu%erados del " al "/ 2e%estral%ente $ada $arrera elabora un re,istro <ue $ontieneG
$(di,o de la $arrera y, a $ontinua$i(n, los "/ $ostos $orres&ondientes a los "/ se%estres
Elaborar un al,orit%o <ue $al$ule e i%&ri%aG
O Costos totales y &ro%edio &or se%estre de todas las $arreras
O Costos &or $arrera en for%a des$endente
O Costo ,lobal de la universidad
O El se%estre %enos $uantioso
'') Es$ribir un al,orit%o <ue lea una fi$6a $on los snto%as de un enfer%o y de a$uerdo $on
la si,uiente tabla %uestre la enfer%edad del &a$ienteG
EN:E5@EDAD 2INTO@A2
" ::::T
' TTTTT
* TTT::
) :TT::
+ ::T:T


*/ T:TT:
2i los snto%as ledos no est1n en las tablas, se debe %ostrar un %ensa8e de error
''+ Elaborar un al,orit%o <ue lea un arre,lo tridi%ensional y en$uentre la su%a de sus
ele%entos
''0 #a$er un al,orit%o <ue en$uentre la su%a de tres arre,los tridi%ensionales
''- Pre&arar un al,orit%o <ue inserte una %atriz al final de un arre,lo de tres di%ensiones y lo
i%&ri%a
''. Dado un arre,lo tridi%ensional $>bi$o, $al$ular e i%&ri%ir la su%a de los ele%entos
ubi$ados en su dia,onal &rin$i&al
''4 Dado $ual<uier arre,lo tridi%ensional del $ual se sabe <ue sus ele%entos son $eros,
elaborar un al,orit%o <ue for%e sus aristas $on unos
'*/ Elaborar un al,orit%o <ue entre un arre,lo tridi%ensional $>bi$o y en$uentre la su%a de
los ele%entos <ue &ertenez$an a $ual<uiera de las dia,onales
'*" #a$er un al,orit%o <ue for%e un arre,lo tridi%ensional, $uyos ele%entos est3n ordenados
$on base en las &osi$iones fila y $olu%na dadas
'*' Bn arre,lo tridi%ensional $ontiene la $antidad de 6o%bres y %u8eres <ue 6ay en 0 $ursos
de $ada una de las "/ fa$ultades de una universidad Donde 2E!O tI, J, Xu re&resenta el
n>%ero de estudiantes del $urso I, de se7o J, de la fa$ultad X En$ontrarG
O Cantidad de 6o%bres en $ada fa$ultad
O Cantidad de %u8eres &or fa$ultad
O La fa$ultad $on %ayor n>%ero de %u8eres
'** Elaborar un al,orit%o <ue su%e dos arre,los tridi%ensionales, ele%ento a ele%ento
'*) Dado un arre,lo de $uatro di%ensiones llenarlo $on $eros, e7$e&to los &ri%eros ele%entos
de la $uarta di%ensi(n <ue deben ser unos

Captulo *
5E9I2T5O2 T A5C#I;O2
*.1. Re/istros
Bn re,istro es una estru$tura de datos $o%&uesta 2e &uede de$ir <ue un re,istro es un
$on8unto de $a%&os variables rela$ionadas <ue, en ,eneral, &ueden &ertene$er a ti&os de datos
diferentes, lla%adas $o%&onentes del ti&o re,istro, donde todas las $o%&onentes &ueden
%ani&ularse ba8o un solo no%bre de variable Por e8e%&lo, si se tiene un re,istro de datos
$o%&uesto &or los $a%&osG $3dula, no%bres, dedu$$i(n y salario, &ode%os re&resentarlo de la
si,uiente for%aG
*'+/0*'" 2AND5A :ONNE95A )//// 0*////
Co%o &uede notarse, dentro del re,istro s(lo 6ay datos ?infor%a$i(nCI es el, &ro,ra%ador
<uien le $olo$a no%bres a $ada dato &ara &oderlos al%a$enar en la %e%oria de la $o%&utadora
2i la infor%a$i(n del e%&leado se fuera a tratar en for%a individual y los no%bres de
variables sele$$ionados &ara $ada $a%&o fueranG CC, NO@, DEDBC y 2AL, al e8e$utarse la
instru$$i(nG
LEAG CC, NO@, DEDBC, 2AL
O$urrir1 en %e%oria lo si,uienteG
?ALTA R8?ICO PA. 2)I LI"RO
La infor%a$i(n de la e%&leada est1 dis&ersa en la %e%oria La idea de usar re,istros es
a,ru&ar toda la infor%a$i(n en una %is%a 1rea de %e%oria ba8o un solo no%bre 2i se to%a la
deter%ina$i(n de <ue E@P" es una variable de tipo registro, o sea, &uede al%a$enar en el 1rea
asi,nada toda la infor%a$i(n de un e%&leado, ,r1fi$a%ente se &uede %irar de la si,uiente
%anera

memoria

< cdula >
< nombres >
< deduccin >
< salarios >

EMP1
Para <ue E@P" sea to%ada $o%o una variable ti&o re,istro, el &ro,ra%ador debe definirla
$o%o tal, de a$uerdo al len,ua8e de &ro,ra%a$i(n <ue est3 utilizandoI es de$ir, el tipo de dato
registro no est1 &redefinido, ya <ue sus $o%&onentes van a de&ender de $ada &ro,ra%a en
es&e$ial A %odo de e8e%&lo, el anterior re,istro en CHH se definira asG
struct empleado
{
long cc;
char nom[36];
double deduc;
double sal;
};
Lo anterior <uiere de$ir <ue el &ro,ra%ador 6a definido un ti&o de dato re,istro lla%ado
empleado y <ue a $ual<uier variable <ue se le asi,ne el ti&o de dato e%&leado, &uede al%a$enar
los valores de las $o%&onentesG $$, no%, dedu$ y sal En CHH se 6ara de la si,uiente for%aG
e%&leado e%&", e%&'I
En la anterior instru$$i(n se define a e%&" y e%&' $o%o variables ti&o re,istro, &or lo tanto,
&ueden al%a$enar todos los valores de los $a%&os <ue $onfor%an al ti&o de dato e%&leado, y su
re&resenta$i(n interna seraG
?ALTA R8?ICO PA. 2)1 LI"RO
Las variables ti&o re,istro e%&" y e%&' son variables $o%&uestasI &ara referen$iar a $ada una
de sus $o%&onentes 6ay <ue $ualifi$arlas, o sea, de$ir en for%a e7&l$ita a $ual de las
$o%&onentes del re,istro se <uiere uno referir La $ualifi$a$i(n se 6a$e asG
7aria.lesTtipoTre/istro.co3ponente.
Por eJe3ploH
e%&"$$ 6a$e referen$ia al valor de la $3dula al%a$enada en el 1rea de datos ?re,istroC
e%&"
e%&'no% 6a$e referen$ia al no%bre <ue 6ay en el 1rea de dato e%&'
e%&"no%t)u referen$ia al $ar1$ter $uarto del no%bre al%a$enado en el 1rea de datos e%&",
?en CHH sera el <uintoC
La instru$$i(nG
LEAG e%&"$$, e%&"no%, e%&"dedu$, e%&"sal, lleva infor%a$i(n a la variable ti&o &
re,istro e%&", $o%o lo %uestra la fi,ura si,uienteG
?ALTA R8?ICO PA. 2)1 LI"RO
2i 6ay ne$esidad de %over la infor%a$i(n de una variable ti&o re,istro a otra, se &uede 6a$er
$o%&onente a $o%&onente o %oviendo toda la infor%a$i(n al %is%o tie%&o Por e8e%&loG
e%&'$$ S e%&"$$
e%&'no% S e%&"no%
e%&'dedu$ S e%&"dedu$
e%&'sal S e%&"sal
sera lo %is%o <ue tenerG e%&' S e%&"
EJercicio resuelto No. )'
:or%ar un re,istro $on los $a%&osG $3dula, no%bre, &a,o, lue,o &asarlo a otro re,istro e
i%&ri%ir la infor%a$i(n
An:lisis
Datos 2e entra2a
O C3dula
O No%bre
O Pa,o
Datos 2e sali2a
O C3dula
O No%bre
O Pa,o
Proceso
#ay <ue definir las dos variables ti&o re,istro est8 ! est:3 se leen los valores de las
$o%&onentes est", lue,o se &asa a est' y se i%&ri%en
De0inicin 2e 7aria.les
est' y est'G ;ariables ti&o re,istro
$$G Co%&onente $3dula
no%G Co%&onente no%bre
&a,oG Co%&onente &a,o
Al/orit3o
NCO
LEA: est1.cc, est1.nom, est1.pago
est2 = est1
ESCRBA: est2.cc, est2.nom, est2.pago
FN_NCO
*.1.1. Arre/lo 2e re/istros
Es una estru$tura de datos de ,ran utilidad e i%&ortan$ia en la &ro,ra%a$i(n de a&li$a$iones,
ya <ue %u$6as ve$es es deseable, desde el &unto de vista de la l(,i$a del &ro,ra%a en
&arti$ular, %antener dis&onible en %e%oria &rin$i&al una serie de re,istro $on infor%a$i(n del
%is%o ti&o &ara su &ro$esoI di$6os re,istros no estar1n dis&ersosI 6ar1n &arte de un arre,lo, lo
<ue fa$ilita su %ane8o
Bn arre,lo de re,istros es %uy &are$ido a un ar$6ivo de datos ?te%a &r(7i%o a tratarC se
diferen$ian en <ue los arre,los de re,istros residen en %e%oria &rin$i&al y los ar$6ivos en
%e%oria au7iliar, &or lo tanto, estos >lti%os tiene e7isten$ia &er%anente
Otra i%&ortan$ia <ue tienen los arre,los de re,istro es <ue $ada uno de sus ele%entos est1
for%ado &or varios $a%&os &ertene$ientes a diferentes ti&os de datos, a diferen$ia de los otros
ti&os de arre,los donde sus ele%entos son de un solo ti&o
EJercicio resuelto No. )(
:or%ar un arre,lo de %17i%o "// re,istros donde $ada ele%ento $onten,aG $3dula,
no%bres y &a,o, lue,o ordenarlo &or el $a%&o no%bre, insertar un nuevo re,istro sin
daFar el ordena%iento e i%&ri%irlo
An:lisis
Datos 2e entra2a
O Los $a%&os $3dula, no%bre y &a,o
Datos 2e sali2a
O La infor%a$i(n del arre,lo de re,istros ordenada alfab3ti$a%ente
Proceso
La infor%a$i(n $3dula, no%bre y &a,o ser1 un re,istro y $ada re,istro ser1 un ele%ento
del arre,lo 2i el arre,lo lo lla%a%os ; y sus $o%&onentesG $$, no% y P, ,r1fi$a%ente se
vera asG
;
;t"u ;t'u ;t"//u
;t"u$$
;t"u
no%
;t"u& ;t'u$$
;t'u
no%
;y'u&
;t"//u
$$
;t"//u
no%
;t"//u
&

vv
vv


El &roble%a se resolver1 a trav3s de %(dulos ?sub&ro,ra%asC

ALGORTMO
LEER MPRMR ORDENAR NSERTAR
El sub&ro,ra%a LEE5 re$ibe la $antidad de ele%entos del arre,lo ?n>%ero de
estudiantesC N y enva el ve$tor ;
I@P5I@I5 5e$ibe N y ;
O5DENA5 5e$ibe N y ; y enva ; ordenado
IN2E5TA5 5e$ibe N y ; y enva N y ;
Otras variables
I, XG ;ariables de $ontrol de $i$los
@ENO5G Al%a$ena el no%bre %enor en el ordena%iento
PO2G Al%a$ena la &osi$i(n donde est1 el no%bre %enor
AB!G ;ariable de ti&o re,istro <ue ,uarda te%&oral%ente un ele%ento
del ve$tor %ientras se 6a$e el ordena%iento
5IG 5e,istros a insertar
PROCEDMENTO LEER (N, V)
PARA = 1, N, 1 HAGA
LEA: V[].CC, V[].NOM, V[].P
FN_PARA
FN_LEER
PROCEDMENTO MPRMR (N, V)
PARA = 1, N, 1 HAGA
ESCRBA: V[].CC, V[].NOM, V[].P
FN_PARA
FN_MPRMR
PROCEDMENTO ORDENAR "N# $%
PARA = 1, N-1, 1 HAGA
MENOR = V[].NOM
POS =
PARA K = +1, N, 1 HAGA
S MENOR > V[].NOM ENTONCES
MENOR = V[K].NOM
POS = K
FN_S
FN_PARA
AUX = V[]
V[] = V[POS]
V[POS] = AUX
FN_PARA
FN_ORDENAR
PROCEDMENTO NSERTAR " N# $# RI %
= 1
MENTRAS ( <= N) (R.NOM > V[].NOM) HAGA
= +1
FN_MENTRAS
N = N+1
PARA K = N, +1, -1 HAGA
V[K] = V[K-1]
FN_PARA
V[K] = R
FN_NSERTAR
Al/orit3o principal
Datos 2e entra2a
O La $antidad de ele%entos del ve$tor
O La infor%a$i(n del ve$tor
O C3dula, no%bre y &a,o a insertar
Datos 2e sali2a
O La infor%a$i(n del ve$tor re,istro
De0inicin 2e 7aria.les
NG Cantidad de ele%entos
AG No%bre del arre,lo
5G ;ariable ti&o re,istro
5CCG C3dula a insertar
5NO@G No%bre a insertar
5PG Pa,o a insertar
OPG O&$i(n a sele$$ionar en el %en>
2I9AG O&$i(n &ara insertar nuevos ele%entos
Al/orit3o
NCO
&EA' N
REPTA
ESCRBA: 1: LEER EL ARREGLO
ESCRBA: 2: MPRMR ARREGLO
ESCRBA: 3: ORDENAR ARREGLO
ESCRBA: 4: NSERTAR ELEMENTO
ESCRBA: 5: SALR
ESCRBA: ELJA OPCN
LEA OP
CASOS DE OP
CASO1: LEER (N, A)
CASO2: MPRMR (N, A)
CASO3: ORDENAR (N, A)
CASO4: REPTA
LEA: R.CED, R.NOM, R.P
NSERTAR (N, A, R)
ESCRBA: DESEA NSERTAR OTRO
ESTUDANTE S/N
LEA: SGA
MENTRAS SGA = 'S'
CASO5: ESCRBA: FN DEL PROGRAMA
MENTRAS OP <> 5
FN_NCO
*.2. Arc5i7os
Bn ar$6ivo es un dis&ositivo l(,i$o donde se &ueden al%a$enar en for%a &er%anente
,randes vol>%enes de infor%a$i(n, dividido en estru$turas de datos ?re,istrosC todas del %is%o
ti&o y rela$ionadas
El %ane8o de infor%a$i(n a trav3s de ar$6ivos es de ,ran utilidad en la &ro,ra%a$i(n, ya <ue
&er%ite la $a&tura de infor%a$i(n al%a$enada en ellos &ara su &osterior utiliza$i(n en diversos
&ro,ra%as, evitando tener <ue entrar en for%a %anual la infor%a$i(n <ue se <uiere &ro$esarI y
al%a$enar ,ran $antidad de infor%a$i(n en es&a$ios redu$idos y $on una alta &re$isi(n en el
%ane8o de los datos
En ,eneral los ar$6ivos se &ueden a,ru&ar en tres ,randes $ate,orasG
O Archi-os de programa: son los &ro,ra%as fuentes <ue se es$riben en un deter%inado
len,ua8e de &ro,ra%a$i(n Estos &ro,ra%as son ,uardados en %edios %a,n3ti$os au7iliares
&ara su &osterior utiliza$i(n Estos ar$6ivos se &ueden $ar,ar del %edio %a,n3ti$o a
%e%oria, $o%&ilarlos, e8e$utarlos, i%&ri%irlos y volverlos a ,uardar donde estaban o en otro
%edio de al%a$ena%iento distinto
O Archi-os de te,to: estos al%a$enan letras, &alabras, frases, &1rrafos y se suelen $rear y
%antener %ediante &ro,ra%as <ue &ro$esan o editan te7to
O Archi-os de datos: son la $lase de ar$6ivos <ue se tratar1n en este $a&tulo y, $o%o su
no%bre lo indi$a, 3stos al%a$enan valores Bn ar$6ivo de datos $ontiene infor%a$i(n <ue un
&ro,ra%a $rea y &osterior%ente &ro$esaI de i,ual for%a &uede usarse &ara al%a$enar los
resultados de la e8e$u$i(n de un &ro,ra%a
*.2.1. Co3ponentes 2e un arc5i7o
Bn ar$6ivo es un $on8unto de datos rela$ionados entre s, $on una or,aniza$i(n 8er1r<ui$a, de
%odo <ue $ada ar$6ivo est3 for%ado &or un $on8unto de re,istros y estos, a su vez, for%ados
&or una serie de $a%&os Bn re,istro es la unidad de %edida de un ar$6ivo, <ue $ontiene la
infor%a$i(n <ue se utiliza en los diferentes &ro,ra%as y son tratados de %anera inde&endiente
Bn re,istro &uede $ontener dentro del $on8unto de $a%&os <ue lo $onfor%an, uno <ue 6a$e
<ue el re,istro en &arti$ular sea >ni$o, es de$ir, lo diferen$ie de los de%1s lla%ado $a%&o $lave
9r1fi$a%ente se &uede %irar un ar$6ivo de datos de la si,uiente for%aG





Co%o se des&rende del ,r1fi$o, los $a%&os $orres&onden a las $olu%nas y los re,istros a las
filas
El ta%aFo o lon,itud de un re,istro se %ide en bytes y ser1 la resultante de su%ar las
lon,itudes de los $a%&os <ue lo $onfor%an Es i%&ortante tener en $uenta <ue los $a%&os <ue
$onfor%an un re,istro deben referen$iar una %is%a infor%a$i(n y de i,ual %anera los re,istros
deben estar rela$ionados $on la raz(n de ser del ar$6ivo
E3plea2os
Co2i/o Depto No3.re !alario
"") /" Elas Jos3 "./ ///
"'" /" 9ra$iela del Car%en '+* )'*
'"" /" Luisa Berta *"' +"0
/44 /' 9uiller%o 2e,undo ''' 0/)
""- /' Albertina Isabel "4" ''"
'"' /' Corina :ran$is$a .'* +")
""4 /* 5ut6 de Jes>s ""4 *'+
"". /* :loren$ia @aria )'+ ///
*"" /) Jairo Antonio *.. -*)
:in del ar$6ivo
Co%o se &uede ver, en un ar$6ivo de datos lo <ue se ,uarda es infor%a$i(n, es el
&ro,ra%ador <uien de$ide <u3 no%bre le $olo$a al re,istro y a $ada uno de los $a%&os
individuales <ue inte,ran el re,istro Otros e8e%&losG
Clientes
C<2ula No3.re Apelli2o Direccin Tel<0ono
").-4+0* :redy Jara%illo Cra "/ No "/J"- '*"/")+
)-.40*'" Leonel Osorno Cll -/ No ""J". )+04.-)
0+.-)"'* :abi1n 5os Cll '/ No "'J4 +.40'/"
-*'.)+0' 9isela 9il Cra )* No "/J'" *'")+0.
EO:
In7entario
C2i/o Descripcin Uni2a2es -alorFuni2a2
-/'""/ Bu8a '// -+//
./'/"/ ;1lvula +/ .+/
4/'""/ @an,uera + *+-+/



EO:
Li.ros
C2i/oFli.ro Ttulo C2i/oFautor Uni2a2es
+/'""+ Antes del fin .)0'"). "'
0/'/"- DoFa B1rbara -4.+0'" '"
4/'""- El t>nel )+0.4*' *'



EO:
EO: si,nifi$a End Of :ile ?:in del Ar$6ivoC, es un indi$ador <ue a&are$e lue,o del >lti%o
re,istro del ar$6ivo, denotando el final del %is%o
*.2.2. Clasi0icacin 2e los arc5i7os se/Rn su uso
O Archi-os permanentes: son ar$6ivos r,idos, ya <ue la infor%a$i(n <ue al%a$enan $a%bia
%uy &o$oI son usados &ara e7traer infor%a$i(n <ue se utiliza en otros ar$6ivos o &ro$esos
Por e8e%&lo, el ar$6ivo <ue $onten,a toda la infor%a$i(n sobre los salarios de los e%&leados
de una e%&resa
O Archi-os maestros: la infor%a$i(n al%a$enada en esta $lase de ar$6ivos %ane8a el estado o
situa$i(n de una entidad o al,>n as&e$to de ella, y su a$tualiza$i(n o $a%bios de los datos de
los re,istros se 6a$e &eri(di$a%ente Por e8e%&lo, un ar$6ivo <ue al%a$ene el inventario de
los bienes de una e%&resa
O Archi-os histricos: son ar$6ivos %aestros <ue ya no se utilizan y <ue su fun$i(n es s(lo de
$onsulta &ara <uienes desean obtener infor%a$i(n sobre el &asado Por e8e%&lo, la
infor%a$i(n $ontenida en las 6o8as de vida a$ad3%i$a de los estudiantes <ue ter%inaron su
$arrera en la d3$ada &asada
O Archi-os de mo-imiento: son te%&orales y su fun$i(n &rin$i&al es $a&tar infor%a$i(n &ara
a$tualizar los ar$6ivos %aestros 2us re,istros %uestran las transa$$iones o %ovi%ientos <ue
se &rodu$en durante un deter%inado &erodo Cuando el ar$6ivo %aestro se a$tualiza, usando
los ar$6ivos de %ovi%iento, 3stos >lti%os &ierden su validez y se &ueden destruir Por
e8e%&loG los $a%bios de au%ento de salarios, dedu$$iones y sobresueldos &rodu$idos
durante un deter%inado &eriodo
*.2.#. Concepto 2e cla7e
La $lave o llave &rin$i&al es el $a%&o o la $o%bina$i(n de $a%&os del ar$6ivo <ue &er%iten
identifi$ar o diferen$iar &lena%ente $ada re,istro de los de%1s Cada ar$6ivo debe tener una
$lave o llave &rin$i&al, $on el fin de &oder en$ontrar y re$u&erar la infor%a$i(n de un re,istro
&arti$ular en un %o%ento dado Para los e8e%&los anteriores anali$e%os $u1l o $u1les $a%&os
$onfor%an las $laves de los ar$6ivos y &or<u3G
Clientes
Ca3po Cla7eU EEplicacin
Tel3fono NO Dos $lientes diferentes &ueden tener el %is%o n>%ero
telef(ni$o Por e8e%&lo, una &are8a de es&osos
Dire$$i(n NO Dos $lientes diferentes &ueden $o%&artir la %is%a
dire$$i(n
A&ellido NO Dos $lientes diferentes &ueden tener el %is%o a&ellido
No%bre NO Dos $lientes diferentes &ueden tener el %is%o no%bre
C3dula 2I La $3dula es >ni$a y diferente &ara $ada $liente
In7entario
Ca3po Cla7eU EEplicacin
;alorJunidad NO Dos o %1s re&uestos &ueden tener el %is%o &re$io
Bnidades NO Es &osible <ue las e7isten$ias de dos o %1s re&uesJ
tos $oin$idan
Des$ri&$i(n NO Aun<ue es &o$o fre$uente, es &osible <ue dos re&uestos
diferentes ten,an la %is%a des$ri&$i(n
C(di,o 2I A $ada re&uesto $orres&onde un $(di,o <ue lo diferen$ia
de los de%1s L(,i$a%ente este $(di,o es diferente &ara
$ada ti&o de re&uesto
Li.ros
Ca3po Cla7eU EEplicacin
Bnidades NO Es &osible <ue de dos o %1s libros se ten,an las %is%as
e7isten$ias
Ttulo NO Dos libros diferentes &ueden tener el %is%o ttulo
C(di,oJautor NO Bn autor &uede es$ribir dos o %1s libros
C(di,oJlibro 2I A $ada libro $orres&onde un $(di,o <ue lo diferen$ia
de los de%1s Este $(di,o es >ni$o y diferente &ara
$ada libro
lCu1l sera el $a%&o $lave en el ar$6ivo de e%&leadosm
a Cla-e simple: un ar$6ivo tiene $lave si%&le si 3sta est1 $onfor%ada &or un solo $a%&o En
los $asos anteriores, todas las $laves son si%&les Para diferen$iarlas de los de%1s atributos,
utilizare%os el $ar1$ter es&e$ial z $o%o &refi8o Por e8e%&loG
zC3dula ?ClientesC, zC(di,o ?InventarioC, z C(di,oJlibro ?LibrosC son $laves si%&les
b Cla-e compuesta: es a<uella <ue est1 $onfor%ada &or dos o %1s $a%&os del ar$6ivo Por
e8e%&loG su&(n,ase un ar$6ivo de &r3sta%os bibliote$arios $on la si,uiente estru$turaG
Pr3sta%oJBlibliote$ario S yC3dulaJalu%no, C(di,oJlibro, :e$6aJ&r3sta%o, :e$6aJ
devolu$i(n{
Anali$e%os a6ora $u1l o $u1les atributos son $andidatos a $lave del ar$6ivo y &or<u3G
Ca3po Cla7eU EEplicacin
:e$6aJdevolu$i(n NO Dos o %1s libros diferentes &ueden ser re,resados
en la %is%a fe$6a
:e$6aJ&r3sta%o NO Dos o %1s libros diferentes &ueden ser &restados
en la %is%a fe$6a
C(di,oJlibro NO 2i $onsidera%os <ue el ar$6ivo debe al%a$enar la
6istoria de los &r3sta%os, enton$es el %is%o libro
&udo 6aber sido &restado a diferentes estudiantes
C3dulaJalu%no NO Bn alu%no &uede 6a$er &r3sta%os de dos o %1s
libros diferentes
A,otada la &osibilidad de estable$er una $lave si%&le, debe%os a6ora &ro$urar estable$er
una $lave $o%&uesta Lue,o de des$artar o&$iones $o%oG
Ca3pos Cla7eU EEplicacin
C3dulaJalu%no H Bn alu%no &uede &restar el %is%o libro en
C(di,oJlibro NO o$asiones diferentes
C3dulaJalu%no H Bn alu%no &uede &restar diferentes libros en la
fe$6aJ&r3sta%o NO %is%a fe$6a
C3dulaJalu%no H Bn alu%no &uede devolver diferentes libros en
fe$6aJdevolu$i(n NO la %is%a fe$6a
Lle,a%os al si,uiente an1lisisG
Ca3pos Cla7eU EEplicacin
C3dulaJalu%no H 2(lo e7iste una o$urren$ia del re,istro en todo
C(di,oJlibro H 2I el ar$6ivo 2e asu%e <ue no es &osible <ue un
:e$6aJ&r3sta%o libro sea &restado dos ve$es en un %is%o da
Por lo tanto &ode%os afir%ar <ueG
Pr3sta%oJBlibliote$ario S yzC3dulaJalu%no, zC(di,oJlibro, z:e$6aJ&r3sta%o, :e$6aJ
devolu$i(n{
Los $a%&os <ue est1n dentro de las llaves son los $o%&onentes del re,istro
*.2.$. Al3acena3iento 2e arc5i7os 9 su acceso a la in0or3acin
E7iste una rela$i(n dire$ta entre la for%a $o%o se al%a$ena la infor%a$i(n en un ar$6ivo y
la %anera $o%o se re$u&era su infor%a$i(n &osterior%ente El %edio de al%a$ena%iento
deter%ina el %odo y velo$idad de a$$eso a los datos En for%a ,eneral se &uede de$ir <ue 6ay
tres %3todos &ara re$u&erar o a$$eder a la infor%a$i(n de un ar$6ivoG se$uen$ial, se$uen$ial
inde7ado y aleatoria o al azar
a Acceso secuencial: En este $aso los re,istros se &ro$esan en el orden en <ue se ,uardaron en
el ar$6ivo Esta $lase de ar$6ivos se utiliza $uando el volu%en de infor%a$i(n es ,rande y
sus datos no $a%bian $ontinua%ente, los re,istros o$u&an &osi$iones de %e%oria
$onse$utivas y la for%a de a$$eder a ellos es de uno en uno a &artir del &ri%ero, no se &uede
ir en for%a dire$ta $o%o en los arre,los o en la otra $lase de or,aniza$i(n a un deter%inado
re,istro Los re,istros se al%a$enan en for%a ordenada, as$endente o des$endente &or su
$a%&o $lave La $lave en este $aso no ,uarda nin,una rela$i(n $on su &osi$i(n fsi$a <ue
o$u&a en el %edio donde se al%a$ena En sntesis, 3ste %3todo 6a$e <ue los re,istros se
e7a%inen uno des&u3s de otro ?si se <uiere bus$ar la infor%a$i(n del re,istro do$e, 6ay <ue
e7a%inar la infor%a$i(n de los &ri%eros on$e re,istrosC Aun<ue los ar$6ivos se$uen$iales
o$u&an &o$o es&a$io, su &ro$eso es %1s lento $o%&arado $on otros %3todos de
al%a$ena%iento, $o%o el aleatorio &or e8e%&lo La a$tualiza$i(n de estos ar$6ivos &uede
6a$erse res$ribiendo un nuevo re,istro en el lu,ar <ue o$u&a un re,istro <ue ya no se
ne$esita o sa$ando una nueva $o&ia del ar$6ivo, donde s(lo se tienen en $uenta los re,istros
<ue se ne$esitan
Para $rear un nuevo ar$6ivo a$tualizado se deber1 leer del ar$6ivo e7istente $ada uno de los
re,istros, $a%biar la infor%a$i(n en %e%oria &rin$i&al y lue,o al%a$enarlos en un nuevo
ar$6ivo Los re,istros <ue no se ne$esitan %odifi$ar se &asar1n al nuevo ar$6ivo, tal $o%o
est1n en el ar$6ivo anti,uo Por e8e%&lo, si se tiene el si,uiente ar$6ivo %aestro de los
$lientes de una e%&resa
Clientes
C<2ula No3.re Apelli2o Direccin Tel<0ono
").-4+0* :redy Jara%illo Cra "/ No "/J"- '*"/")+
)-.40*'" Leonel Osorno Cll -/ No ""J". )+04.-)
0+.-)"'* :abi1n 5os Cll '/ No "'J4 +.40'/"
-*'.)+0' 9isela 9il Cra )* No "/J'" *'")+0.
EO:
2i los $lientes Leonel y 9isela $a%bian de tel3fono, es ne$esario a$tualizar esos $a%bios en
el ar$6ivo de $lientes Co%o se di8o, una de las for%as de 6a$er estos $a%bios en el a$$eso
se$uen$ial es &asar la infor%a$i(n del ar$6ivo a uno nuevo, o sea, 6a$er lo si,uienteG leer el
re,istro de :redy ?&asarlo del %edio de al%a$ena%iento donde se en$uentra el ar$6ivo $lientes
a %e%oria &rin$i&alCI $o%o no 6ay <ue 6a$erle $a%bios se &asa tal $o%o est1 al nuevo ar$6ivo
Lue,o se lee el re,istro de Leonel, se $a%bia el tel3fono &or )'"*.'+ y se &asa al nuevo
ar$6ivoI a $ontinua$i(n se lee el re,istro de :abi1n y se &asa tal $o%o est1I y &or >lti%o se lee
el re,istro de 9isela, se $a%bia el n>%ero telef(ni$o &or '.0--0- y se &asa al nuevo ar$6ivo
Este nuevo ar$6ivo se ,uarda y se borra el anti,uo, si se <uiere se $a%bia el no%bre nuevo &or
$lientes
Nue7o
C<2ula No3.re Apelli2o Direccin Tel<0ono
").-4+0* :redy Jara%illo Cra "/ No "/J"- '*"/")+
)-.40*'" Leonel Osorno Cll -/ No ""J". )'"*.'+
0+.-)"'* :abi1n 5os Cll '/ No "'J4 +.40'/"
-*'.)+0' 9isela 9il Cra )* No "/J'" )+".-'/
EO:
b. Acceso secuencial inde,ado: es una variante en la or,aniza$i(n y re$u&era$i(n de
infor%a$i(n en for%a se$uen$ial En este $aso los re,istros se en$uentran ordenados &or
un $a%&o $lave y 3ste deter%ina su &osi$i(n en el ar$6ivo Cada re,istro se re$ono$e
&or su $a%&o $laveI &ara esto utiliza estru$tura au7iliar $ono$ida $o%o ndi$e Los
ndi$es se &resentan de una %anera $otidiana en nuestras vidas Por e8e%&loG la
b>s<ueda de una &alabra en un di$$ionario se 6a$e %1s r1&ida, ,ra$ias al ndi$e <ue 3ste
&resenta Los ndi$es son una estru$tura for%ada $on los valores de inde7a$i(n, o $lave,
%ediante la $ual se 6a$e la b>s<ueda, las dire$$iones <ue $orres&onden a la lo$aliza$i(n
fsi$a y el %3todo de inde7a$i(n usado &ara realizar la b>s<ueda 9r1fi$a%ente se
&ueden ver de la si,uiente %aneraG
CLA-E DIRECCI%N CAMPO 1 .............. CAMPO N
") '+
"- "-
'" ")
'* '.
'+ '"
'- '-
'. '*

Las b>s<uedas se realizan a trav3s del ndi$e, lo $ual resulta sustan$ial%ente %1s efi$iente
<ue una b>s<ueda se$uen$ial En el e8e%&lo anterior &odra &ensarse en una b>s<ueda binaria,
aun<ue real%ente e7isten %3todos de b>s<uedas a>n %1s efi$ientes utilizando estru$turas un
&o$o %1s $o%&le8as, $o%o 1rboles, entre otras
A diferen$ia de los ar$6ivos se$uen$iales no es ne$esario leer los nJ" re,istros &re$edentes
&ara leer el en3si%o Los %3todos de inde7a%iento, ,eneral%ente, no son $ono$idos &or el
&ro,ra%ador, es de$ir, la b>s<ueda es llevada a $abo ,ra$ias a fun$iones de los len,ua8es de
&ro,ra%a$i(n, &or lo tanto 3stos son trans&arentes &ara el usuario
$ Acceso aleatorio: Este ti&o de or,aniza$i(n &er%ite <ue e7ista una rela$i(n es&e$ial entre la
$lave de un re,istro y la dire$$i(n real de la $laveI esto 6a$e <ue se &ueda leer y es$ribir un
re,istro en for%a aleatoria
La for%a de a$$eder a un re,istro es %ediante su &osi$i(n en el %edio de al%a$ena%iento,
es de$ir indi$ando el lu,ar <ue o$u&a en el $on8unto de re,istros, debido a <ue $ada $lave tiene
una >ni$a dire$$i(n Pri%ero se lo$aliza la dire$$i(n y lue,o se a$$ede a la infor%a$i(n del
re,istro De todos %odos, la rela$i(n $laveJdire$$i(n de&ender1 de los datos del ar$6ivo y del
dis&ositivo de al%a$ena%iento
Bna venta8a de los ar$6ivos de a$$eso dire$to es la ra&idez $on <ue se lle,a a un deter%inado
re,istro 2i se desea a$$eder al re,istro noventa y nueve, se va dire$ta%ente a ese re,istro sin
ne$esidad de re$orrer los noventa y o$6o re,istros anterioresI esta venta8a se des$o%&ensa $on
la ,ran $antidad de es&a$io <ue $onsu%e
El a$$eso dire$to se utiliza $uando las %odifi$a$iones son $ontinuas Por e8e%&loG #a$er las
$onsi,na$iones o retiro de una entidad ban$aria
*.2.&. Procesa3iento 2e arc5i7os
Antes de entrar en detalle, es ne$esario, tener $laros los si,uientes $on$e&tosG
G Apuntador: es un indi$ador l(,i$o <ue los siste%as usan &ara identifi$ar el re,istro <ue se
<uiere referen$iar en un %o%ento deter%inado Cuando se ini$ia el &ro$eso, el a&untador se
$olo$a al &rin$i&io del &ri%er re,istro del ar$6ivoI y $ada vez <ue se 6a,a un &ro$eso de
le$tura o es$ritura sobre el ar$6ivo, el a&untador se %ueve al &rin$i&io del re,istro si,uiente
G #arca de "in de archi-o (End %" )ile o simplemente E%): $uando se ter%ina de 6a$er un
&ro$eso $on un ar$6ivo, es ne$esario 6a$er la o&era$i(n de $errar el ar$6ivoI 3sta 6a$e <ue al
ar$6ivo se le adi$ione un nuevo re,istro donde se $olo$a una %ar$a, $ono$ida $o%o %ar$a
de fin de ar$6ivo, utilizada &ara saber $u1ndo se lle,a al final de los re,istros <ue $ontienen
infor%a$i(n Esta %ar$a se $o%&orta $o%o un re,istro $entinela y &uede inter&retarse $o%o
<ue se lle,( al final del ar$6ivo o no 6ay %1s datos La %ar$a &er%ite i%&le%entar un $i$lo
$ualitativo &ara re$orrer el ar$6ivo <ue finalizar1 $uando 3sta sea dete$tada
a Crear el archi-o. Per%ite rela$ionar una variable ti&o ar$6ivo, lla%ada no%bre interno del
ar$6ivo, $on el no%bre <ue el ar$6ivo tendr1 en el %edio de al%a$ena%iento, lla%ado
no%bre e7terno La instru$$i(nG
C5EA5 ?A, ^CG|DATO2DAT^CG ,enera una $one7i(n entre el no%bre interno A y el no%bre
e7terno del ar$6ivo, dondeG A es la variable $on la <ue se %ane8ar1 el ar$6ivo en el &ro,ra%a
y DATO2DAT es el no%bre <ue se le dar1 al ar$6ivo en el dis$o duro
b Abrir el archi-o. AB5I5?ACG $onsiste en des&rote,er el 1rea donde residir1 o reside el
ar$6ivo, &ara &oder tener a$$eso a la infor%a$i(nI es de$ir, el ar$6ivo <ueda a dis&osi$i(n del
&ro,ra%a <ue lo 6a abierto y el a&untador se ubi$a al &rin$i&io del &ri%er re,istro
$ Escribir en el archi-o. E2C5IBA?A,5CG &asa la infor%a$i(n <ue 6ay en la variable ti&o
re,istro 5 en %e%oria al ar$6ivo $uyo no%bre e7terno est1 rela$ionado $on A, o sea,
adi$iona un re,istro al ar$6ivo
d 0eer de un archi-o. LEA?A,5CG &asa la infor%a$i(n de un re,istro del ar$6ivo a %e%oria
&rin$i&al, el re,istro $uya infor%a$i(n se trans&orta a la %e%oria &uede serG el referen$iado
&or el a&untador en el $aso de un ar$6ivo de a$$eso se$uen$ial, o el en$ontrado %ediante
al,>n %3todo de b>s<ueda i%&le%entado &or $ada len,ua8e, en el $aso de un ar$6ivo
inde7ado, o el re,istro 6allado %ediante un %3todo de b>s<ueda i%&le%entado &or el
&ro,ra%ador en el $aso de un ar$6ivo dire$to 2i el ar$6ivo es se$uen$ial $ada vez <ue se lee
un re,istro salta y &osi$iona el a&untador en el re,istro si,uiente
e Sobreescribir en el archi-o. 2OB5EE2C5IBA?A,5CG a$tualiza o %odifi$a la infor%a$i(n del
re,istro <ue en el %o%ento est3 en %e%oria y lo lleva a la %is%a &osi$i(n donde estaba
f Cerrar el archi-o. CE55A5?ACG esta instru$$i(n 6a$e lo si,uienteG
J Le da &rote$$i(n al 1rea donde reside el ar$6ivo y a$tualiza el dire$torio del %edio de
al%a$ena%iento refle8ando el nuevo estado del ar$6ivo
J Destruye las $one7iones fsi$as y l(,i$as <ue se $onstruyeron $uando se abri( el ar$6ivo
J Adi$iona un re,istro des&u3s del >lti%o ,rabado donde $olo$a la %ar$a de fin de ar$6ivo
Ejemplo- si 5 es una variable ti&o re,istro, $uyos $o%&onentes sonG $3dula, no%bre y salario
y A es el no%bre interno de un ar$6ivo se$uen$ial, donde se <uiere ,uardar la si,uiente
infor%a$i(nG
/
+ ' /
0 * '
4 + -
A l b e r t o
J u a n
A n a
* ' / / /
* + / / /
* / / / /
Al e8e$utar AB5I5?AC, o$urrir1 lo si,uienteG


@ e % o r i a
A & u n t a d o r
@ e % o r i a a u 7 i l i a r

5
a b a s u r a b
a b a s u r a b
a b a s u r a b
La instru$$i(nG LEAG 5CC, 5NO@ 52AL, &asa infor%a$i(n desde un %edio e7terno de
entrada a la dire$$i(n de %e%oria donde reside la variable 5




@ e % o r i a
A & u n t a d o r


5
4 + -
A n a
* / / / / /
@ e % o r i a a u 7 i l i a r
E2C5IBA?A, 5C, &asa la infor%a$i(n al%a$enada en la variable 5 al ar$6ivo




@ e % o r i a
A & u n t a d o r


5
4 + -
A n a
* / / / / /
4 + - A n a * / / / / /

@ e % o r i a a u 7 i l i a r
LEAG 5CC, 5NO@, 52AL, &asa la infor%a$i(n del se,undo re,istro a %e%oria




@ e % o r i a
A & u n t a d o r

5
0 * '
J u a n
* + / / / /
4 + - A n a * / / / / /
@ e % o r i a a u 7 i l i a r
E2C5IBA?A, 5C




@ e % o r i a
A & u n t a d o r

5
0 * '
J u a n
* + / / / /
4 + - A n a * / / / / / 0 * ' J u a n * + / / / /
@ e % o r i a a u 7 i l i a r
LEAG 5CC, 5NO@ 52AL




@ e % o r i a
A & u n t a d o r

5
+ ' /
A l b e r t o
* ' / / / /
4 + - A n a * / / / / / 0 * ' J u a n * + / / / /
@ e % o r i a a u 7 i l i a r
E2C5IBA?A5C




@ e % o r i a
A & u n t a d o r

5
+ ' /
A l b e r t o
* ' / / / /
4 + - A n a * / / / / / 0 * ' J u a n * + / / / /
@ e % o r i a a u 7 i l i a r
Al e8e$utarse la instru$$i(nG CE55A5?AC, o$urre lo si,uienteG
4+- Ana *///// 0*' Juan *+//// +'/ Alberto *'//// KV
5e,istro / 5e,istro " 5e,istro ' 5e,istro
$on la
%ar$a
2obre la %ar$a EO:, se &uede ade%1s de$ir lo si,uienteG
O Es %ane8ada $o%o una $onstante l(,i$a %ane8ada interna%ente &or la $o%&utadora, $uando
el ar$6ivo es abierto su valor es :AL2O y $uando se dete$ta la %ar$a de fin de datos $a%bia
a ;E5DADE5O
O El valor $olo$ado en el re,istro de&ende de la ar<uite$tura de la $o%&utadora y es
trans&arente &ara el &ro,ra%ador, s(lo i%&orta el valor <ue en un %o%ento deter%inado
ten,a la $onstante EO:
O Aun<ue el re,istro donde se $olo$a la %ar$a 6a$e &arte del ar$6ivo, no se tiene en $uenta al
en$ontrar el ta%aFo del ar$6ivo en $antidad de re,istrosI &or lo tanto, el ar$6ivo anterior
tiene un ta%aFo de tres re,istros
*.2.'. Operaciones .:sicas so.re arc5i7os
a Adicin: in,resa nuevos re,istros al ar$6ivo Antes de es$ribir un nuevo re,istro es &re$iso
validar <ue 3ste no e7ista, utilizando la $lave del ar$6ivo
b #odi"icacin: a$tualiza la infor%a$i(n de un re,istro e7istente
$ &etiro: eli%ina un re,istro del ar$6ivo 2i el ar$6ivo es se$uen$ial, ,eneral%ente se utiliza un
]borrado l(,i$o^ ?no fsi$o, es de$ir, fsi$a%ente el re,istro si,ue o$u&ando es&a$io de
al%a$ena%iento, lo $ual &odra $onsiderarse $o%o una desventa8aC El borrado l(,i$o
$onsiste en la destina$i(n de un $a%&o del ar$6ivo &ara ,uardar el estado l(,i$o de $ada
re,istro ?A$tivo ( Ina$tivoC, de tal for%a <ue eli%inar un re,istro sea tan si%&le $o%o
$a%biar su estado de A$tivo a Ina$tivo ?o de " a /C Con ar$6ivos Inde7ados debe
reor,anizase o reinde7arse el ndi$e, lo $ual a ve$es resulta una tarea $o%&le8a, &ero
afortunada%ente es realizada &or 6erra%ientas de los len,ua8es de &ro,ra%a$i(n ?los
as&e$tos rela$ionados $on %3todos de inde7a$i(n y b>s<ueda se en$uentran fuera del
al$an$e de este libroC
Operaciones so.re arc5i7os secuenciales
EJercicio resuelto No. ))
Dado el si,uiente ar$6ivo se$uen$ialG
E2TBDIANTE S yzCDDI9O, NO@B5E, DI5ECCIDN, E2TADO{
DondeG
zG Clave
C(di,oG N>%ero de identidad del alu%no
No%breG No%bre del alu%no
EstadoG Indi$ador nu%3ri$o del estado de $ada re,istro " &ara a$tivo ( / &ara
ina$tivo
a Es$ribir un al,orit%o <ue adi$ione un estudiante al ar$6ivo
b Bn al,orit%o <ue %odifi<ue la infor%a$i(n de un estudiante en el ar$6ivo
$ Al,orit%o <ue retire un estudiante del ar$6ivo
Considera$ionesG
O Ar$6ivo se$uen$ial
O ClaveG CDDI9O
O Antes de adi$ionar un nuevo estudiante debe%os verifi$ar <ue no e7ista
en el ar$6ivo
O Debe%os tener &resente el estado de $ada re,istro, ya <ue es &osible <ue
el $(di,o e7ista, &ero en $aso de <ue el estado sea / ?$eroC esto nos su&one
el e<uivalente a i,norar el re,istro, es de$ir, es $o%o si el re,istro no e7istiera
a. Al/orit3o
NCO
ESCRBA: "DGTE EL CDGO DEL ESTUDANTE A ADCONAR:"
LEA: CODGOAD
ENCONTR = 0
ABRR (ESTUDANTE)
LEA: (ESTUDANTE, R)
MENTRAS (!EOF(ESTUDANTE)) (ENCONTR = 0) HAGA
S (CODGOAD = R.CDGO) (R.ESTADO= 1) ENTONCES
ENCONTR = 1
FN_S
LEA: (ESTUDANTE, R)
FN_MENTRAS
S ENCONTR = 1 ENTONCES
ESCRBA: " EL ESTUDANTE YA EXSTE "
SNO
ESCRBA: " DGTE EL NOMBRE Y LA DRECCN DEL
ESTUDANTE:"
LEA: R.NOMBRE, R.DRECCN
R.CDGO = CODGOAD
R.ESTADO = 1
ESCRBA (ESTUDANTE, R)
FN_S
CERRAR (ESTUDANTE)
FN_NCO
Anotaciones i3portantesH
O En el al,orit%o se asu%e <ue el ar$6ivo e7iste y tiene re,istros, de lo $ontrario debera ser
$reado $on la o&era$i(n Crear ?C
O Ten,a &resente la diferen$ia entre la le$tura de una variable y la le$tura de un ar$6ivo
?LEA?no%bre ar$6ivo, variable ti&o re,istroCC a%bas tienen efe$tos $o%&leta%ente
diferentes
O EO:?no%bre de ar$6ivoCG Indi$ador <ue nos devuelve un valor l(,i$o, indi$ando si se
en$ontr( o no el fin del ar$6ivo
O gG Ne,a$i(n
O gEO:?CG No :in del ar$6ivo
b Al,orit%o <ue %odifi$a la infor%a$i(n de un estudiante
NCO
ESCRBA: "DGTE EL CDGO DEL ESTUDANTE A MODFCAR
LEA: CODMOD
ENCONTR = 0
ABRR (ESTUDANTE)
LEA (ESTUDANTE, R)
MENTRAS (!EOF(ESTUDANTE)) (ENCONTR = 0) HAGA
S (CODMOD = R.CDGO) (R.ESTADO = 1) ENTONCES
ENCONTR = 1
FN_S
S ENCONTR = 0) ENTONCES
LEA: (ESTUDANTE, R)
FN_S
FN_MENTRAS
S ENCONTR = 0 ENTONCES
ESCRBA: "EL ESTUDANTE NO EXSTE "
SNO
ESCRBA: "DGTE EL NUEVO NOMBRE Y LA NUEVA
DRECCN "
LEA: R.NOMBRE, R.DRECCN
R.CDGO = CODMOD
R.ESTADO = 1
SOBREESCRBA: (ESTUDANTE, R)
FN_S
CERRAR (ESTUDANTE)
FN_NCO
$ Al,orit%o <ue retira la infor%a$i(n de un estudiante
NCO
ESCRBA: "DGTE EL CDGO DEL ESTUDANTE A ELMNAR"
LEA: CODELM
ENCONTR = 0
ABRR (ESTUDANTE)
LEA: (ESTUDANTE, R)
MENTRAS (!EOF(ESTUDANTE)) (ENCONTR = 0) HAGA
S (CODELM = R.CDGO) (R.ESTADO = 1) ENTONCES
ENCONTR = 1
FN_S
S (ENCONTR = 0) ENTONCES
LEA(ESTUDANTE, R)
FN_S
FMQ
S (ENCONTR = 0) ENTONCES
ESCRBA: "EL ESTUDANTE NO EXSTE"
SNO
ESCRBA: "EL ESTUDANTE SER ELMNADO DEL
ARCHVO"
R.ESTADO = 0
SOBREESCRBA (ESTUDANTE.R)
FN_S
FN_MENTRAS
CERRAR (ESTUDANTE)
FN_NCO
EJercicio resuelto No. )*
Elaborar un sub&ro,ra%a <ue ,enere el ar$6ivo A* S yzCOD, NO@, PA9O, E2TADO{,
<ue <uede ordenado as$endente%ente &or el $a%&o COD, $ada vez <ue se le adi$ione un
re,istro
PROCEDMENTO ADCONARO "A(%
ABRR (A3)
LEA: CODGOAD
R.COD = CODGOAD
LECTURA (R) // LEE R. NOM Y R. PAGO
ESCRBA (A3, R)
CERRAR (A3)
LEA:CODGOAD
MENTRAS CODGOAD <> 0 HAGA
ABRR (A3)
LEA: (A3, R)
ENCONTR = 0
MENTRAS (!EOF(A3) (ENCONTR = 0) HAGA
S (CODGOAD = R.COD) (R.ESTADO =
1) ENTONCES
ENCONTR = 1
SNO
LEA: (A3, R)
FN_S
FN_MENTRAS
CERRAR (A3)
S ENCONTR = 1 ENTONCES
ESCRBA:EL ESTUDANTE YA EXSTE
SNO
ABRR (A3)
R.COD = CODGOAD
LECTURA (R)
ESCRBA (A3, R)
NR = TAMAO DE (A3)
= NR SW = 0
CERRAR (A3) ABRR (A3)
MENTRAS ( > 0) ( SW = 0)
POSCN (A3, -1)
LEA: (A3, R1)
S CODGOAD < R1.COD ENTONCES
POSCN (A3, )
ESCRBA: (A3, R1)
SNO
SW = 1
FN_S
FN_MENTRAS
POSCN (A3, )
ESCRBA: (A3, R)
CERRE (A3)
FN_S
LEA: CODGOAD
FN_MENTRAS
FN_ADCONARO
La fun$i(n TA@AwO, en$uentra el ta%aFo de un ar$6ivo en $antidad de re,istros y
PO2ICIDN?A,IC, ubi$a el a&untador <ue re$orre el ar$6ivo A al ini$io del re,istro I, 6ay <ue
tener en $uenta <ue los re,istros est1n nu%erados de / a NJ"
EJercicio resuelto No. *I
Elaborar un sub&ro,ra%a <ue $ree el ar$6ivo A* S yz COD, NO@, PA9O, E2TADO{,
ordene alfab3ti$a%ente el ar$6ivo A*, de8ando su $ontenido en el nuevo ar$6ivo A)
PROCEDMENTO ORDENALFA "A(# A)%
ABRR (A3) ABRR (A4)
ADCONARO (A3)
LEA: (A3, R)
MENTRAS (!EOF (A3))
ESCRBA (A4, R)
LEA (A3, R)
FN_MENTRAS
CERRAR (A3) CERRAR(A4)
ORDENAR (A4)
FN_ORDENALFA
PROCEDMENTO ORDENAR "A)%
N = TAMAO DE (A4)
ABRR (A4)
PARA = 0, N-1, 1 HAGA
POSCN (A4, )
LEA: (A4, EST1)
POS = NOMEN = EST1.NOM
PARA K = +1, N, 1 HAGA
POSCN (A4, K)
LEA: (A4, EST2)
S NOMEN > EST2.NOM ENTONCES
POS = K NOMEN = EST2.NOM
FN_S
FN_PARA
POSCN (A4, POS)
LEA (A4, EST2)
POSCN (A4, )
ESCRBA: (A4, EST2)
POSCN (A4, POS)
ESCRBA (A4, EST1)
FN_PARA
FN_ORDEN
Operaciones so.re arc5i7os secuenciales in2eEa2os
EJercicio resuelto No. *1
2i se tiene el ar$6ivo se$uen$ial E2TBDIANTE, inde7ado &or el atributo $(di,o
E2TBDIANTE S yzCDDI9O, NO@B5E, DI5ECCIDN{
a Elaborar un al,orit%o <ue adi$ione un estudiante al ar$6ivo
b Al,orit%o <ue %odifi<ue la infor%a$i(n de un estudiante
$ Al,orit%o <ue retire a un estudiante del ar$6ivo
Consi2eracionesH
O Ar$6ivo se$uen$ial Inde7ado
O ClaveG C(di,o
O jndi$eG C(di,o
O Antes de adi$ionar un nuevo estudiante debe%os verifi$ar <ue no e7ista en el ar$6ivo
O No es ne$esario $onsiderar el estado de $ada re,istro, ya <ue el borrado de los
re,istros, a diferen$ia de los ar$6ivos se$uen$iales es fsi$o, no l(,i$o, lo $ual ofre$e
una venta8a &uesto <ue se &uede utilizar el es&a$io de al%a$ena%iento dis&onible
a. Al/orit3o
NCO
ESCRBA: "DGTE EL CDGO DEL ESTUDANTE"
LEA: CODGOAD
ENCONTR = 0
ABRR (ESTUDANTE)
ENCONTR = BUSCAR (ESTUDANTE, CODGOAD)
S ENCONTR = 1 ENTONCES
ESCRBA: "EL ESTUDANTE YA EXSTE"
SNO
R.CDGO = CODGOAD
ESCRBA: "DGTE NOMBRE Y DRECCN"
LEA: R.NOMBRE, R.DRECCN
ESCRBA (ESTUDANTE,R)
FN_S
CERRAR (ESTUDANTE)
FN_NCO
Anotaciones i3portantesH
O Asu%i%os <ue el ar$6ivo e7iste y tiene re,istros, de lo $ontrario deber1 ser $reado $on la
o&era$i(n Crear ?C
O En nin,>n %o%ento es ne$esario 6a$er referen$ia al indi$ador, EO:, de fin de ar$6ivo
O Bus$ar es una fun$i(n <ue re$ibe $o%o ar,u%entos el no%bre del ar$6ivo y el valor a
bus$ar Nsta devuelve verdadero ?"C si el valor se en$uentra en el ar$6ivo o falso ?/C en $aso
$ontrario Ten,a &resente <ue la fun$i(n es una $a8a ne,ra y su efi$ien$ia &uede variar
de&endiendo del %3todo de inde7a%iento utilizado &or el len,ua8e
b Al,orit%o <ue %odifi$a la infor%a$i(n de un estudiante en el ar$6ivo
Al/orit3o
NCO
ESCRBA: "DGTE EL CODGO DEL ESTUDANTE A MODFCAR"
LEA: CODMOD
ENCONTR = 0
ABRR (ESTUDANTE)
ENCONTR = BUSCAR (ESTUDANTE, CODMOD)
S ENCONTR = 0 ENTONCES
ESCRBA: "EL ESTUDANTE NO EXSTE EN EL ARCHVO"
SNO
ESCRBA: "DGTE NOMBRE Y DRECCN DEL NUEVO
ESTUDANTE"
LEA: R.NOMBRE, R.DRECCN
R.CDGO = CODMOD
SOBREESCRBA (ESTUDANTE, R)
FN_S
CERRAR (ESTUDANTE)
FN_NCO
$ Al,orit%o <ue retira un estudiante del ar$6ivo
NCO
ESCRBA: "DGTE EL CDGO DEL ESTUDANTE A ELMNAR"
LEA: CODELM
ENCONTR = 0
ABRR (ESTUDANTE)
ENCONTR = BUSCAR (ESTUDANTE, CODELM)
S ENCONTR = 0 ENTONCES
ESCRBA: "EL ESTUDANTE NO EXSTE"
SNO
ESCRBA: "EL ESTUDANTE SER ELMNADO"
ELMNE (ESTUDANTE, CODELM)
FN_S
CERRAR (ESTUDANTE)
FN_NCO
Al i,ual <ue BB2CA5, ELI@INA5 es una fun$i(n dis&onible en los len,ua8es de
&ro,ra%a$i(n <ue &er%ite liberar fsi$a%ente el es&a$io <ue o$u&aba el re,istro Esta fun$i(n,
ade%1s, debe en$ar,arse de la reor,aniza$i(n o reinde7a%iento del ndi$e o de los ndi$es
des&u3s de la o&era$i(n, lo $ual a ve$es resulta $o%&le8o &ero ne$esario, teniendo en $uenta los
tie%&os de res&uesta de los %3todos de b>s<ueda <ue utilizan estru$turas $o%&le8as
Aspectos a tener en cuentaH
a Los arre,los son $reados en %e%oria &rin$i&alI &or lo tanto, es bueno $ontrolar su ta%aFo
b Los arre,los de re,istros &er%iten tener ele%entos $on diferentes ti&os de datos
$ El entendi%iento de los arre,los de re,istros, &or su &are$ido, son base funda%ental &ara el
%ane8os de ar$6ivos
d Cuando se $rea un ar$6ivo, 6ay <ue tener en $uenta <ue si e7iste otro ar$6ivo $on el %is%o
no%bre en el %edio de al%a$ena%iento, ser1 destruido
e La instru$$i(n LEA es diferente &ara ar$6ivos y &ara entrada de datos desde te$lado o
$ual<uier otro %edio de entrada
f Cuando se traba8a $on ar$6ivos se$uen$iales inde7ados, no es ne$esario 6a$er referen$ia a la
$onstante interna EO:
, El borrado de un re,istro en un ar$6ivo se$uen$ial es l(,i$o, es de$ir, aun<ue el re,istro no
se tiene en $uenta en el &ro$eso a>n 6a$e &arte del ar$6ivo, %ientras <ue en los ar$6ivos
se$uen$iales inde7ados el borrado es fsi$o
6 El uso de las fun$iones BB2CA5 y ELI@INA5 son trans&arentes &ara el &ro,ra%ador, ya
<ue de una u otra for%a los len,ua8es de &ro,ra%a$i(n las tienen i%&le%entadas
*.#. EJercicios propuestos
'*+ Elaborar un al,orit%o <ue for%e un arre,lo de re,istros <ue $onten,a en $ada ele%entoG
$3dula, no%bre, 6oras traba8adas, valor 6ora traba8ada, &or$enta8e de dedu$$i(n El
al,orit%o debe &rodu$ir un infor%e $on la $3dula, no%bre y salario deven,ado ?ordenado
as$endente%ente &or el $a%&o $3dulaC
'*0 Crear un arre,lo de re,istros $on la si,uiente infor%a$i(n &or ele%entoG $3dula, a&ellidos
y no%bre y $uatro notas $on sus res&e$tivos &or$enta8es Lue,o de $reado el ve$tor se &ide
%ostrar listado ordenado &or a&ellido, insertar un nuevo estudiante, la $alifi$a$i(n
definitiva de $ada estudiante y visualizar el $ontenido del arre,lo
'*- En un $a%&eonato de f>tbol se $uenta $on un n>%ero %17i%o de veinte e<ui&os
&arti$i&antes y un %ni%o de diez Para la realiza$i(n del $a%&eonato los e<ui&os se
dividen en dos ,ru&os De $ada ,ru&o se sa$an los dos e<ui&os <ue ten,an los %ayores
&unta8es y 3stos ser1n los <ue van a la final Para obtener los dos e<ui&os de la final se
6a$e de i,ual %anera, %ediante n>%eros aleatorios, lo %is%o se 6a$e &ara obtener el
$a%&e(n
5eali$e un al,orit%o <ue re&resente en ve$tores de re,istros los e<ui&os &arti$i&antes en
$ada una de las rondas, donde $ada e<ui&o debe $onservar el &unta8e obtenido en $ada
faseI el al,orit%o debe %ostrar en $ual<uier %o%ento los &arti$i&antes en $ada una de las
eta&as del $a%&eonato Bsted les da los no%bres a los e<ui&os
'*. Elabore un arre,lo de re,istros $on la si,uiente infor%a$i(n &or ele%entoG a&ellidos
no%bres, edad, estatura, $olor de los o8os, %edida del busto, %edida de la $intura y %edida
de la $adera, de las $andidatas a un reinado de belleza El al,orit%o debe &ro&or$ionar un
@ENB $on los si,uientes te%sG $andidatas ordenadas &or a&ellido, $andidatas <ue tienen
%edidas &erfe$tas, $andidatas $on o8os azules, y un listado ordenado des$endente%ente
&or estatura
'*4 2e tiene la si,uiente infor%a$i(n de un ,ru&o de &ersonasG $3dula, a&ellidos no%bres,
dire$$i(n, tel3fono, se7o ?@G %as$ulinoI :G fe%eninoC, estado laboral ?"G traba8aI 'G no
traba8aC Elabore un al,orit%o <ue for%e dos ve$tores de re,istros $on la anterior
infor%a$i(nI uno debe al%a$enar las &ersonas <ue traba8an y el otro las <ue no traba8an,
ordenados as$endente%ente &or $3dula
Elabore un al,orit%o <ue for%e y desarrolle el si,uiente @ENBG adi$ionar una nueva
&ersona, retirar una &ersona, $a%bio de estado laboral, bus$ar una &ersona, listar &ersonas
<ue traba8an, listar &ersonas <ue no traba8an, listar %u8eres <ue no traba8an, listar 6o%bres
<ue traba8an
Cuando se adi$ione una nueva &ersona se deben &edir los datos de ella e inter$alarla en el
res&e$tivo ve$tor sin daFar el ordena%iento Para retirar una &ersona, se le debe &edir la
$3dula y su estado laboral y borrarla fsi$a%ente sin daFar el ordena%iento en el ve$tor
donde se en$uentre Para el $a%bio de estado laboral se le &ide la $3dula y su estado
laboral y se adi$iona y se borra del res&e$tivo ve$tor Cuando se bus$a una &ersona, se le
&ide la $3dula y el estado laboral y se %uestra su infor%a$i(n
')/ Bn ,ru&o e$on(%i$o al%a$ena infor%a$i(n de sus e%&resas en un ar$6ivo se$uen$ial $on
la si,uiente $o%&osi$i(nG
9ru&o S ?C(di,oJE%&resa, C(di,oJDe&arta%ento, C(di,oJe%&leado, 2e7oA, TotalJ;entasJ
E%&leado, EstadoC
lCu1l es su $lave &ri%ariam
2abiendo <ue la infor%a$i(n se en$uentra ordenada as$endente%ente &or $ada $(di,o,
es$riba los res&e$tivos al,orit%os y &ro,ra%as en CHH <ue $al$ulenG
" Total de ventas del ,ru&o e$on(%i$o
' C(di,o de la e%&resa $on %ayores ventas
* C(di,o del de&arta%ento $on %enores ventas
) C(di,o del e%&leado $on %ayores ventas &or $ada de&arta%ento de $ada e%&resa
')" Dado el si,uiente ar$6ivo se$uen$ial inde7adoG
Pr3sta%o S yC3dulaJPrestatario, No%breJPrestatario, Ti&o, Des$ri&$i(n, ;alor, :e$6a{
Es$riba los al,orit%os y &ro,ra%as <ueG
'" Adi$ionen &r3sta%os
'' @odifi<uen &r3sta%os
'* 5etiren &r3sta%os
') I%&ri%a todos los no%bres de los $lientes <ue deben entre + y "+ %illones
'+ Per%ita $onsultar los &r3sta%os de una &ersona
(ota Eli8a $on $uidado la $lave e ndi$e del ar$6ivo, ten,a &resente <ue una &ersona &uede
tener varios &r3sta%os, &ero s(lo uno de $ada ti&o
')' Las universidades A y B al%a$enan infor%a$i(n de sus estudiantes en los si,uientes
ar$6ivosG
A S yzC(di,oA, No%breA, Dire$$i(nA, 2e7oA, EdadA{
B S yzC(di,oB, No%breB, Dire$$i(nB, 2e7oB, EdadB{
Es$riba los al,orit%os <ue &er%itan $onsultarG
" A J B
' A B
* A B
) A J ?A J BC
5eali$e $ada $onsulta &ara ar$6ivos se$uen$iales y ar$6ivos se$uen$iales inde7ados
Co%&are los tie%&os de e8e$u$i(n &ara $ada una de ellas de&endiendo de los ti&os de ar$6ivos
utilizados lAu3 &ode%os $on$luirm
Para cada uno de los siguientes e'ercicios constru!a una solucin usando archi-o
secuencial ! otra con secuencial inde,ado.
')* El ban$o EL ANCLA5 2 A, desea $ono$er el estado de sus $lientes &artiendo de un
ar$6ivo <ue tiene el n>%ero de la $uenta, no%bre del $liente, tel3fono del $liente, saldo
a$tual y n>%ero de $6e<ues ,irados en la >lti%a se%ana Con los datos anteriores 6allar el
tel3fono del $liente <ue %enos $6e<ues ,ir(, el n>%ero de $lientes $on saldo en ro8o, el
n>%ero de $lientes $on saldo %ayor a W +/////, el n>%ero de $lientes $on saldo %ayor
<ue $ero y el a$u%ulado de saldos de todos los $lientes
')) La ofi$ina de de&ortes de un &olit3$ni$o desea $ono$er &ersonas &ara inte,rar un e<ui&o de
balon$esto, y &ara ello abri( ins$ri&$iones y re$ole$t( un ar$6ivo $on el no%bre, tel3fono,
edad, se7o ?Q:R J fe%enino, Q@R J %as$ulinoC, estatura ?en $ent%etrosC y &eso ?en MilosC de
&ersonas interesadas 2e re<uiere averi,uar e i%&ri%ir el no%bre y tel3fono de las
&ersonas <ue ten,an entre ". y */ aFos, <ue %idan ",./ %etros o %1s y <ue &esen entre ./
y ""/ MilosI ade%1s, la edad &ro%edio de las &ersonas <ue $u%&lieron $on los re<uisitos
e7i,idos, el n>%ero de 6o%bres $on un &eso %ayor a ""/ Milos, el n>%ero de %u8eres
%enores de ". aFos y el no%bre de la &ersona %1s alta
')+ Bn al%a$3n de $adena tiene un ar$6ivo de art$ulos $on el $(di,o, no%bre, $antidad
e7istente, &re$io unitario de $o%&ra, &re$io unitario de venta y n>%ero de unidades
vendidas 6asta la fe$6a El Ad%inistrador desea saber el $(di,o del art$ulo y el &re$io
unitario de $o%&ra, de los art$ulos <ue se vendieron total%enteI ta%bi3n, el no%bre y la
$antidad restante de los <ue no se vendieron total%ente, y la ,anan$ia bruta del al%a$3n
')0 La e%&resa de $onstru$$i(n @ONTELIBANO 2 A , desea $ono$er terrenos $uya 1rea est3
entre ).// y +)// %etros $uadrados, y <ue su frente y fondo no sea %enor de 0/ y ./
%etros res&e$tiva%ente Para ello re$ole$t( %edidas de terrenos $on el no%bre del
&ro&ietario, tel3fono, dire$$i(n, lon,itud de frente y de fondo en %etros, y desea saber la
infor%a$i(n $o%&leta de los terrenos <ue $u%&lan los re<uisitos, ade%1s de $u1ntos
terrenos $u%&liendo $on el 1rea, no $u%&lieron $on las %edidas de frente y fondo
')- 2e tiene un ar$6ivo de &ersonal de una e%&resa $on la $3dula del traba8ador, no%bre, edad,
tie%&o de servi$io, asi,na$i(n %ensual, estado $ivil ?"G $asadoI 'G solteroI *G viudoC y
n>%ero de 6i8os 2e re<uiere 6allar e i%&ri%ir la si,uiente infor%a$i(n se,>n el $asoG la
$3dula y no%bre de los traba8adores $on %1s de '/ aFos de servi$io y +/ ( %1s aFos de
edadI la $3dula, el n>%ero de 6i8os, y el '/ &or $iento de la asi,na$i(n %ensual de
a<uellos traba8adores <ue ten,an %1s de + 6i8os y %enos de "/ aFos de servi$ioI el n>%ero
total de traba8adores de la e%&resaI la $3dula y el valor a &a,ar &or subsidio fa%iliar &ara
los traba8adores $asados, sabiendo <ue se &a,an W'//// de subsidio &or 6i8oI el &ro%edio
de asi,na$i(n %ensual de los traba8adores de la e%&resa
'). Bna a,en$ia de $o%&ra, venta y arrenda%iento de &ro&iedad raz en la $iudad dis&one de
un ar$6ivo $uyo re,istro est1 $o%&uesto de los si,uientes $a%&osG dire$$i(n de la
&ro&iedad, tel3fono, n>%ero de al$obas, 1rea total, valor de $o%&ra, valor de venta, valor
arrenda%iento, indi$ador de estado ?"G arrendadaG 'G deso$u&adaC Ta%bi3n tiene un
ar$6ivo de novedades de la se%ana, $on los si,uientes $a%&osG dire$$i(n de la &ro&iedad,
tel3fono, n>%ero de al$obas, 1rea total, valor de $o%&raKventaKarrenda%iento, ti&o de
transa$$i(n ?"G $o%&raI 'G ventaI *G se arrend(C #a$er un al,orit%o &ara a$tualizar el
ar$6ivo de &ro&iedades, sabiendo <ueG
O Cuando la &ro&iedad se $o%&ra, sie%&re est1 deso$u&ada, su &re$io de venta es del "+P
adi$ional a su &re$io de $o%&ra, y su &re$io de arrenda%iento en ese %o%ento es $ero
O Cuando la &ro&iedad se vende, debe estar deso$u&ada
Ade%1s se debe i%&ri%ir el valor total de las &ro&iedades $o%&radas, el valor total de las
&ro&iedades vendidas y $u1ntas &ro&iedades se arrendaron
')4 Bna e%&resa de trans&orte a3reo tiene un ar$6ivo $on el si,uiente diseFoG
Descripcin 2el ca3po Tipo ca3po O.ser7aciones
No%bre de la $iudad de destino Alfanu%3ri$o Ciudades del E$uador
;alor del &asa8e Nu%3ri$o
N>%ero de &asa8eros <ue via8aron Arre,lo de do$e ?"'C
en $ada %es del aFo Nu%3ri$o ele%entos
#a$er un al,orit%o &ara 6allar el total re$audado &or trans&orte en la e%&resa lEn $u1l %es
se re$aud( %1s dinero en la e%&resa, en di$ie%bre o en 8uniom No%bre de la $iudad de destino,
n>%ero de &asa8eros <ue via8aron en el aFo y valor re$audado &or trans&orte a $ada una de las N
$iudades de destino, sabiendo <ue la $iudad de ori,en es Bo,ot1 lA $u1l $iudad via8aron %enos
&asa8eros en el aFom
'+/ Bna E%&resa Te7til tiene un ar$6ivo de rollos de tela ter%inada en fondo entero y $on un
an$6o est1ndar de ",+/ %etros, $uyo re,istro est1 $o%&uesto del n>%ero de rollo de tela,
$olor ?"G blan$oI 'G ne,roI, *G verdeC, ti&o de tela ?AG al,od(nI LG linoI 2G sedaC, lar,o en
%etros e7a$tos y valor del rollo #a$er un al,orit%o &ara 6allar el n>%ero de rollos de
tela, su valor total y el &ro%edio de lon,itud de los rollosI el &or$enta8e ?PC de tela en lino
res&e$to de toda la &rodu$$i(nI $antidad de vestidos &ara 6o%bre en al,od(n de $olor
ne,ro, sabiendo <ue &ara $onfe$$ionar $ada vestido se re<uiere de ) %etros de lar,oI
$u1ntas banderas de la &az se &ueden $onfe$$ionar si $ada una re<uiere un %etro de tela
'+" Bna librera dis&one de un ar$6ivo de ventas de la se%ana $on el si,uiente diseFo de
re,istroG
Descripcin ca3po No3.Ne3ot. Lon/. Tipo Co2i0icacin
Ttulo del libro TITL +/ Alfanu%3ri$o
Editorial EDIT )/ Alfanu%3ri$o
;alor unitario de venta ;BNI - Nu%3ri$o
Erea A5EA " Nu%3ri$o " J @ate%1ti$as
* J Es&aFol
+ J 2o$iales
Cantidad vendida CANT ) Nu%3ri$o

#a$er un al,orit%o &ara 6allar la si,uiente infor%a$i(n soli$itada &or el ad%inistradorG
O Ttulo del libro del 1rea de so$iales, de %enor $antidad vendida
O De <ue 1rea entre %ate%1ti$as y es&aFol, se vendieron %1s libros
O Ttulo del libro, editorial y total de ventas de $ada libro
O Total de ventas en la se%ana y &ro%edio de venta de $ada libro
BIBLIO95A:IA
JOTANE2, LuisG )undamentos de programacin, @$95ALJ#ILL, @adrid, "4..
JOTANE2, LuisG Problemas de la metodologa en la programacin, @$95ALJ#ILL, Es&aFa,
"44/
JOTANE2, Luis, YA#ONE5O, I,na$ioG ,Estructura de datos3 algoritmos abstractos ! ob'etos3
@$95ALJ#ILL, Es&aFa, "44.
5IO2 C :abianG Soluciones secuenciales, Editorial B de A, @edelln, "44+
CO55EA, 9uiller%oG Desarrollo de algoritmos ! sus aplicaciones en 4AS*C3 PASCA03
C%4%0 > C. #c?&A@1A*00, Bo,ot1, "44'
BO5E2, 5osario y 5O2ALE2, 5a%onG Computacin1metodologa3 lgica computacional !
programacin, @$95ALJ#ILL, @37i$o, "44*
2ANC#I2, J y @O5ALE2 AG Programacin con lengua'e Pascal, @$95ALJ#ILL Es&aFa,
"4./
2#AB@G Programacin en Pascal, @$95ALJ#ILL, Es&aFa, "4.+
LOYANI, 5 LetvinG Diagramacin ! programacin, @$95ALJ#ILL, Bo,ot1, "4..
BECE55A, CesarG 0engua'e C3 Xi%&res Ltda, Bo,ot1, "44.
CAI5DK9BA5DATIG Estructura de datos, @$95ALJ#ILL, @37i$o, "44*
# PABL, #aidu7G Turbo Pascal %rientado a %b'etos, @$95ALJ#ILL, @37i$o, "44)
;ILLALOBO2, Jor,e G DiseBo ! mane'o de estructuras de datos en CCC, @$95ALJ#ILL,
Bo,ot1, "440
DEITEL } DEITELG Como programar CCC, Pearson, @37i$o, "444
JO ANN 2@IT#G CCC Desarrollo de pro!ectos, In,ra%e7, @37i$o, '//"
INDICE ANALITICO
A
Abrir el ar$6ivo, '40
A$$eso
Aleatorio, '4+
2e$uen$ial, '4*
2e$uen$ial inde7ado, '4*
A$tiva$i(n
De una fun$i(n, ".0
De un &ro$edi%iento, ".'
Adi$i(n, '44
An1lisis del &roble%a, )'
A&untador, '4+
Al,orit%o
Lla%ante, "4"
Al,orit%os, "*, )) Ar$6ivo, "., '.-
Ar$6ivos, '.-
De datos, '.-
De %ovi%iento, '.4
De &ro,ra%a, '.-
De te7to, '.-
#ist(ri$os, '.4
@aestros, '.4
Per%anentes, '.4
2e$uen$iales, '4'
2e$uen$iales
inde7ado, '4)
Ar,u%entos, ".'
De envo, ".'
De re$ibo, ".'
Arre,los, '/"
De una di%ensi(n, '/'
De dos di%ensiones, '*0
De re,istros, '.*
@ultidi%ensionales, '0"
As$ii, '*, ')
Asi,na$i(n, +.
"
Bandera, "/.
Base de datos, "4
Basura, *+
Binaria, '
Bit, ".
Byte, ".
Borrado, '*/
Burbu8a, '''
B>s<ueda, '"-
Binaria, '"4, ''/
2e$uen$ial, '"-
C
Caso, ")4
Cerrar el ar$6ivo, '40
Ca%&o, ".
Constante, ** ;ariable, **
Car1$ter,
Cara$tersti$as de los
al,orit%os, ))
Claridad, )+
Entrada, )+
2alida, )+
:inaliza$i(n, )+
Li%itado, )+
:inito, )+
Ci$lo
@ientras <ue, "0*
Para, "++
5e&etir, ")4
Clasifi$a$i(n de los
ar$6ivos, '.-
Clasifi$a$i(n de los
arre,los, '/'
Clasifi$a$i(n de las
$o%&utadoras, +
Por el avan$e
te$nol(,i$o, +, 0
Por el ti&o de
infor%a$i(n, +
Por la $a&a$idad, 0
Clave
Con$e&to, '4/ Co%&uesta, '4"
2i%&le, '4"
Codifi$a$i(n, )*
Co%&ila$i(n, )*
Co%&ilador, "0, ")
Co%&le%ento, '+
A dos, '+
A r, '+
A rJ", '+
A uno, '+
Co%&onentes de un
ar$6ivo, '.-
Con$e&to de
&ro,ra%a$i(n, +"
Co%&onentes de un
ar$6ivo, '.-
Co%&utadora, ", )
CPB, .
Crear el ar$6ivo, '4+
D
Datos, )'
De$isi(n l(,i$a, 0-
Defini$i(n
De variables, "-'
Del &roble%a, )'
Dia,onal, ')'
Prin$i&al, ')'
2e$undaria, ')'
Dia,ra%a, +'
De flu8o, +'
5e$tan,ular, +*
DiseFo des$endente, +"
Dire$$i(n de %e%oria, "-
Dis$o, 4
Dis<uete, 4
Do$u%enta$i(n, ))
De sub&ro,ra%as, ".-
E7terna, ))
E
Edva$, '
E8e$u$i(n, )*
Elabora$i(n de &ro,ra%as &ara $o%&utadora, "'
Enia$, '
Entrada de datos, -, +.
Ensa%blador, "0
EO:, '.4, '4+
Es$ribir en el ar$6ivo, '40
Es<ue%a, 4+ Cualitativo, "// Cuantitativo, 4+
Estru$tura
Caso, ")4
De$isi(n l(,i$a, 0-
Para, "++
5e&etir, "0*
5e&etitiva, .4
2e$uen$ial, +-
Estru$turas adi$ionales, ")4
E7&onente, */
En base, "0, *" E7&resi(n, *4
Arit%3ti$a, *4
Constante, *4
L(,i$a, )/
;ariable, )/
?
:or%ato ,eneral de los
es<ue%as, "/.
:un$iones, ".)

9enera$i(n de
$o%&utadoras, +
Cuarta, +
Pri%era, +
Auinta, +
2e,unda, +
Ter$era, +
9eneralidades sobre
al,orit%os, *-
9eneraliza$i(n del
al,orit%o, ).
,
#ard=are, "+, '-
#e7ade$i%al, "4
#istoria de la
$o%&utadora, "
I
Infor%a$i(n, *)
Inser$i(n, ''.
Instru$$i(n, +.
De asi,na$i(n, +.
De entrada de datos, +.
De salida de datos, +.
Inter&retador, "0
L
La l(,i$a, *-
Leer de un ar$6ivo, '40
Len,ua8e
De alto nivel,"-
De ba8o nivel, "-
De %1<uina, "-
M
@antisa, '4
@1<uina, 4, "-
@ar$a de fin
de ar$6ivo ?EO:C, '4+
@arM", '
@atri$es, '*0
@atriz, ')"
Cuadrada, ')"
Identidad, ')"
Inversa, ')"
2i%3tri$a, ')"
Trans&uesta, ')"
@e%oria
Au7iliar, -
@odifi$a$i(n, '44
N
N>%eros, "4
O
O,C5, "/
O$tal, "4
O&era$iones $on
arre,los, '"-
O&era$iones sobre
ar$6ivos, '44
2e$uen$iales, '44
2e$uen$iales
inde7ados, */)
O&erador, )/
Binario, )"
Bnario, )"
O&eradores, )/
Arit%3ti$os, *4
Booleanos, )/
L(,i$os, )/
5ela$ionales, )/
Ordena$i(n, ''"
Por burbu8a, '''
Por burbu8a %e8orado, '')
Por inser$i(n dire$ta
?bara8aC, ''-
Por sele$$i(n, ''+
P
Palabra, "-
Pantalla, 4
Par1%etros
De envo, "-', "./ De re$ibo, "-", "./
Pro$edi%iento, "/, *.
Pro$esa%iento
de ar$6ivos, '4+
Pro,ra%a
De $o%&utadora, "'
:uente, "), "0
Ob8eto, ")
Pro,ra%a$i(n
Estru$turada, +"
Prueba de es$ritorio, )', 0)
Pseudo$(di,o, +', +)
Punto flotante, '+, '4
R
5e,istros, '-4, ".
5e&resenta$i(n de
al,orit%os, +'
Dia,ra%a de flu8o, +'
Dia,ra%a re$tan,ular, +*
Pseudo$(di,o, +)
5e&resenta$i(n de datos, ''
Alfanu%3ri$a, '*
Nu%3ri$a, '+
Nu%3ri$a entera, '0
5e&resenta$i(n de
&unto flotante, '+, '4
Con e7&onente en
base "0, *"
Con e7&onente en
base ', */
5e&resenta$i(n nu%3ri$a
Binaria, '"
Del &unto de$i%al, '+
Entera,
#e7ade$i%al, '"
O$tal, '"
2i,no $o%&le%ento
a uno, '0
2i,no $o%&le%ento
a dos, '-
2i,no %a,nitud, '0
5e&resenta$i(n de
sub&ro,ra%as, "-4
5etiro, '44
5o%&i%iento de $ontrol
de e8e$u$i(n, ""0
5esta arit%3ti$a, '4
5u&tura de $i$los, ""*
!
2alida de datos, +4
2e$uen$ia, 0., "++
2e$uen$ial, +-
2i,no, *"
2iste%as n>%eri$os, "4
2obrees$ribir en el
ar$6ivo, '40
2oroban, "
2oft=are, "+
2ub&ro,ra%as, "--
:un$iones, ".) Pro$edi%ientos, "-4
2tru$t, './
2=it$6es, "/.
T
Te$lado, 4
Ter%inal, 4, ""
Ti&os de &ro$esa%iento, "/
En lnea, "/
Por lotes, "/
Trans$ri&$i(n, )*
Transferen$ia de
infor%a$i(n, '0"
U
Bnidad
Arit%3ti$a y
l(,i$a, -, .
De $ontrol, -, .
De entrada, -, .
De %e%oria, -, .
De salida, -, .
Bnive$, *
-
;ariables ti&o $ontador, 4/
;ariables ti&o
a$u%ulador, 4"
;ariables ti&o bandera, "/.
;arianza, '"/
;e$tor, '/', '+"

También podría gustarte