orqaruzacron Segunda Edlclon
Traducci6n FRANCI FRANCISCO SCO LEO Lice Licenc nciad iad
HERNAN HERNANDEZ DEZ
en Matem Matematl atlca ca
Aplicad i cadas as
Compu Computac taci6 i6n. n. UNA Revisio tecnic
EMMA EMMA CECI CECILI LI Matematica
MONT MONTER ER
MEJI MEJI
Maestrn on Cienclas Cienclas
de la Cornputacion Facultad
-H
Mexico-Engl Mexico-Englewood ewood Cliffs L on on dr dr es es , S yd yd ne ne y N ue ue v
D el el hi hi , T ok ok io io ,
i ng ng ap ap ur ur ,
Ri
T or or on on t
d e a ne ne irir o
-----------
~
contenido~_
PREFACIO
xx
CAPITULO
I NT NT R D UC UC C O N
E ST ST RU RU CT CT UR UR A
DE
A TO TO S
EI us de atos atos F ue ue nt nt e
d e i nf nf or or ma ma cu cu in in ,
Datos
decisi decisione ones, s,
Mane_j Mane_j de (bio Obj<'til'M
T ip ip o d e d cc cc is is io io ne ne s
:>
del manejo manejo de d at at os os ,
tr tu Estr Estruc uctu tura ra simples,
logi logica ca de datos datos Estructuras primitivas 110 line Estru Estructu cturas ras lineal lineales es lineal ales es
Orgu Orgunia niaici icion on de archiv archives, es,
EntcrosS
Definicion,
cadenas,
Bool Boolea eano nos, s,
Long Longltu ltu
Subcadenas, enteros,
Cara Caract cter eres es
de cadena cadena
Concate Concatenaci nacion on de
Operac Operacion iones es compue compuesta stas, s,
vii
Conlenido
vii!
Estr Estrue uetu tura ra
de dato dato en leng lengua uaje je de prog progra rama maci cion on
Conlenido
10
Forr Forrna na de lmaccnutniontu:
E st st ru ru ct ct ur ur a d e d at at o d ef ef in in id id a p a e l p r og og ra ra ma ma do do r 1 0 Declaracion de Decl Declar arat atio io de primitives en COBOL, COBOL, 11 Declaracion d e c ad prim primit itiv ives es en Pasc Pascal al 11 ad en en a e / COBOL, 12 D ec ec lu lu ra ra ci ci o d e c ad ad en en a e n P as as ca ca l 1 2 Oper Operac acio ione ne de cade cadena nas, s, 12
Form Formas as de alma almace cena nami mien ento to
Ente Entero ro
Repr Repres escn cnta taci cion on po sign sign d e c om om pl pl em em en en t d os os , 13 c om om pl pl em em en en t u no no , 1 4
Formas
Limite Limite inferio inferior; r; infe inferi rior or 35
Formas
35
13
Arrcglos Arrcglos lllliditnc lllliditncllsi llsionalcs onalcs
34
Gene Genero roli lira raci cion on
de alrn alrnac accn cnaa-ni nicn cnto to
Arrc Arrcgl glos os tria triang ngul ular ares es Definlciones, 40
Arrc Arrcgl glos os
34
de limi limite te
m.ilt m.iltid idim imcn cnsi sion onal ales es
O rd rd e p u c ot ot um um na na , 3 7 d e l in in ea ea ll ll ia ia ci ci on on , 3 9
40 Linealiracion, 40
Espacio
de
Form Formas as ti alrn alrnac acen enam amie ient nto: o: AIterna AIternati tiva va de alma almace cena na cadenas cadenas empacndas, empacndas, 19 desc descmp mpac acad adus us 19
Seleccion
A rr rr c l o d i p ccrr so so s
Cade Cadena na
a lm lm ac ac en en aarr ni ni cn cn t
T er er m n ol ol og og f
de
Refcrcncias 20
REGISTROS
e f n ic ic i n e
22
Rcgistros
25
Arre Arregl glos os unid unidir irne nens nsio iona nale le
49
Ejem Ejempl plos os
49
iv
ARREGLOS
26
48
48
Formac Formacion ion de regist registros ros
e fe fe re re n ncc ia ia s s u e r d a
Subi Subind ndic ices es
id
ic
T er er m n o o gi gi a
E je je rc rc ic ic io io s d e r e pa pa s
42 Linealiracum, 42 Representacion Repr Repres escu cuta taci cion on de.list de.listas as liga ligada das, s, 43
17
ient iento, o, 17 Repres Represent entaci acion on Repr Repres esen enta taci cion on de cadc cadcna na
d e l a f or or m a d dee cu cu aad da
Definicion, 42 vectorial, 42
CAPITULO
25
Dejinicion, 26
Arrc Arrcgl glos os mult multid idim imen ensi sion onal ales es
Ejcm Ejcmpl plos os 26
27
Subindices, 27 Definiciones, 28 Ejem Ejempl plos os 28 Transpuesta, 29 Seccion Seccion transversa transversal, l, 29 Exte Extens nsio ionc nc nuisdimensiones.Bt)
rr
UIIO,
Orde Orde po reng renglo lon, n, 35 S el el ec ec cl cl o d e u n t ec ec ni ni c
magnitud, 13 Reprcsentucion Repr Repres esen enta taci cion on de
EBCDIC, 15 ASCII. 15 Esque Esquemas mas de propos proposito ito especial, 15 Us de codi codigo go 15 Repr Repres esen enta taci cion on de datos datos numeri numericos cos 15 Rcpr Rcpres esen enta taci cion on de deci decima ma empacado.
CAPITULO
ix
(!O
Clav Claves es de
COBOL
COBOL, 51 Pascal, 52 Culi Culifi fica caci cion on de nomb nombre res, s, 52 E je je mp mp l d e f il il ljlj a d e t ra ra fi fi co co , 5 4
Forr Forrna na de alma almacc ccna narn rnie ient nt
T er er tn tn i o l g f
56
R cf cf cr cr e c ia ia s
u gc gc ri ri da da s
E je je rc rc ic ic io io s d e r cp cp aass o
55
56 57
en
Arre Arregl glos os unid unidim imen ensi sion onal ales es elem elemen ento to
de arrcglo, 33
31
Arreglos bidimensio bidimensionales nales Oper Operac acio ione ne sobr sobr lo
O p e ra ra c io io n e s o br br e a r re re g lo lo s , 3 3
D cf cf in in ic ic io io ne ne s L is is t l in in ea ea l 5 7 s ab ab r p i/ i/ as as , 5 9
je Ejelllplo,60
58
Opcraciones
Contenido
Contenido
Pila Pila en COBO COBO
O pe pe ra ra ci ci o e s b aass ic ic a e n u n
Pitas Pitas alojad alojadas as el urre urregl glos os 61 Operac Operacion iones es sabre sabre pilas, 63
E je je mp mp l
D cc cc la la ra ra ci ci o
d e a lm lm ac ac en en aam m ic ic n ntt o
Espa Espaci ci
comp compar arti tido do
d e p i /a /a s 6 2
Nota Notaci cion on 10 nodo nodo 10
64
65
10
R em em oc oc io io n d e n od od os os , 1 0
Recu Recurs rsio ion. n. 66
Inser Inserci cion on de
05
Asignaci611 de Liberacion de un 1I0do, 107
Almac Almacena enamle mlento nto compar compartid tido, o, /05
nodo, 106
74
UI1
List Listas as liga ligada da en Pasc Pascal al usan usando do vari variab able le apun apunta tado dora ra
74
D ef ef in in i i o d e l i st st a l ig ig ad ad a Supr Supres esio io de 1 1 1 1
List Listas as liga ligada da en COnO COnO
Refe Refere renc nciu iu suge sugeri rida da
l ig ig aad da
an nee j d e e s a ci ci o d i p on on ib ib l
T cn cn ni ni no no lo lo gi gi a
E je je rc rc ic ic io io s
is
1111
d e a pl pl ic ic ac ac io io ne ne s d e p il il a
Corr Corrcs cspo pond nden enci ci de pare parent ntes esis is Notaci Notacion on postfi postfija, ja, 68 Formas
xi
76
Utilizando
UI1
a r e gl gl o
10
M an an e
nuevo
10
d e s pa pa ci ci o 1 0 UI1 n od od o 1 1
Pasc Pascal al si cl us de vari variab able le 11
D ef ef in in ic ic i( i( J I d e u n l i t a l ig ig ad ad a I ns ns er er ci ci o d e u n n od od o
r ep ep aass o
11 11
CAPITULO
COLAS
Defin Definic icio ione ne Oper Operac acio ione ne
Otra Otra
78
78
d e u n l is is ta ta , 114
Ejem Ejempl plo, o, 81
Lislas
Colas en COBOL Aloj Alojam amie ient nt de cola cola en arrc arrcgl glos os 82 Operaciones de colas, colas, 83 colas, 83 trov troves es de alma almace cena nami mien ento to 85
I nv nv er er si si o
ligada ligada
l ig ig aad da
Variac Variacion iones, es, 90 Resumen, 94
a/final in ip le
lnserc lnsercion ion de
UI1
12
nodo, 125
Ejer Ejernp nplo lo de apli aplica caci cion on de list listas as liga ligada da
95
Polinomios,127
Un list list mulr mulril ilig igad ad Arreglos Arreglos disperses, 132
95
11
Defil Defilli lici ciol ol de un lista lista S up up re re si si o d e u n n od od o /24
dobl doblcm cmen ente te liga ligada da 12
Una
11
d e u n l is is ta ta , 1 1
nodes
Conceptos Conceptos basicos, basicos, 122,
de cola cola
12 simp simple le
13
en
97
E je je rc rc ic ic io io s d e r c a s
circul circulate ate
i s a s d o l em em en en t
Partun Partunetr etros os de compor comportam tamien iento, to, 95 O bs bs er er mc mc io io n Simulacion; 95 T eo eo ri ri a d e c o/ o/ as as , 9 6
T er er m n ol ol og og i
Hgad Hgadas as indi indivi vidu dual ales es
E l p ro ro bl bl em em a d e Jose, 1I Nodo Nodo prin princi cipa pale les, s, S up up re re si si o d e u n n od od o p ar ar titi cu cu la la r 1 2
Decl Declar arac acio io de Desplazamiento
87
U s d e c ol ol a c ir ir cu cu la la re re s 8 9 repr repres esen enia iaci cion on alte altern rna, a, 93
Corn Cornpo port rtam amic icnt nt
de list listas as
Loca Locali liia iaci cion on de un nodo nodo particular,
de cola colas. s. 79
o la la s c ir ir c l ar ar e
mani manipu pulaci lacion ones
e fe fe re re n ncc ia ia s s ug ug eerr i a s
97
13
cr C A I TU TU L0 L0 6
L 1S 1S TA TA S L 1 A DA DA S
Repr Repres escn cnta taci cion on de list listas as ligu liguda da
99
99
Problemas Call la repr repres esen enta taci cion on sccu sccuen enci cial al 99 e p e s n ia ia ci ci o n o s e u en en ci ci al al , / 0 C on on cc cc pt pt o
CAPITULO
D ef ef in in ic ic io io ne ne s b d i co co s
139
GRAFOS
13
Trayectorias, 141
Cicl Ciclos os 14
Graf Grafos os diri dirigi gido dos, s, 14
Cbnlenido
xii
Representacion de lamatri de adyucencia
Contsnido
14
Grafos dirigidos 144 Matrices dispcrsas, 14 Definicion de grafos en COBO Pascal, 145 aristas, 145 Arista panderarlas, 146
Recorrido en-ardell norecursivo, 181 Rccorrido en-orden Recorrido post-orden ell C OB OL , 1 8 ell Pascal, 182 Calcul
de
Arboles
Representucion de directorio de nodes, 48 ponderadas. 150 Calcul de aristas, 15 Representacion de multi-lista 15
d e g ra fo s
I ns er ci o
Recorrido en profundidad,
15
ARBOLE
a la nc e
Refetencia
65
E je tc ic i
17 17 Definicinn de
Busqueda secuenciales
17
]9
(A 20
MI
211
211
sccuenciai
i na ri a
17
Ordenamiento
21
21
Ordcnamicnto po sclcccio por scleccion
221 22 COil
lntercambio,
22
Ordcnamicruo po inlcrcamhio: cl mclodo de 1~burhuj Ordenurnicnt
rapido
po particio
q ui ck so rt )
21
Movimiento hacia elfrente
Introduccion al ordcnarnlcnto 17
]9
20 DE
BUSQUEDA
Orrlenamient
17
A r o le s d e b u q uc d b in ar i
b in ar i
20
d e r cp as o
Busqucda
95
20 sugcrida
B us qu ed a
binaries como reprcsentacion dearbolesgenerales
d e a r o le s
b in ar ie s
al
M ue st re o d e a cc es os , 2 1 214 '/i"ansposiciol1,2i6
D ef in ic io n d e a rb ol e e n P a sc al , 1 7 a rb ol e e n C OB OL , 1 7
E je mp l
CAPITULO
h in ar i
Como mejora Ia clicicncia de la busqucda secucncial
16
Represcntacion de arbole binaries
Arbole
167
BINAR/OS
16
Fotmas de representacion
r bo le s b in ar io s
d e a rb o e s d e u sq uc d
e r i n l og i
16
19
19
A rb ol e b a a nc ca do s p o u n l ir ni t ( BB )
GENERALES
r bo le s e ne ra le s
enhilada
o do s d e u n M h o d e b u q uc d
Arboles balanceudos
16
Ejercicio de repaso
Insercio
196
Elimil1oci6n enhilada
16
Referencia sugerida
de nodox
u pr es io n
de Kruskal, /62
T cr mi n l og i
]89
n od o u n a rb o d e b u q uc d
Supresion
Trayectorias mas cortas ]58
e xp an s o n
Algoritm
184
er
i ti c
A rb ol e
CAPITULO
B us qu ed a d ir cc ta s
Insercion desenhilada, 19
t ra ye ct or ia s m a c or ta s
Alcance, 157 Ru
Aristes
53
Recorrido en amplitud, 153
Alcanee
binarios cnlazados
Representacion de nodes, 184 Recorrido en-orden, 188 U,lO representacion alternativa, 188
R ep re se nt ac io nc s
c eo rr i
xlll
23
intcrcarnbio
(ordcnamicnt
22
xiv
Contenido
Contenido
Rendimiento, 23
xv
Referencia sugcrida 234 Procesamieni
apilamiento, 235
CAPITULO 11 ORGAN/ZAC/ON
de apllamiento, 23
efinicione
to Desempeiio
CH
DE
O S SECUENCIALES
281
28
Ejemplo, 282 Procesamiento,
24
27
Ordenaclon de registros, 28 Ventajas desventajas, 284 283
Cint magnetica
286
Control de erro Representacion de dato densidad 287 paridad, 287 Bloqueo, 288 Marcas etiqueta de cinta, 291 E mp /e o d e c in ta s 2 9
CAPITULO 10 SISTEMAS DE ARCHIVOS
252
iv Pascal,295
COBOL,292
Clasificacioti de archives po funcion, 25 accesa archivos 25
O pc ra ci on c
s ab r
a rc hi vo s
Creacion de un archive, 258 M an te ni mi en t
M an er a
de
Creacio de un archiv sccuencial
257 ;t Actualizacio
6Can qui frecuencia
actualizacion,
263
Resumen
alrnacenamiento
Almacenamiento temporal unic po demanda, 267 Almacenamient temporal par anticipacion 26 Almacenamiento temporal ca bloques, 269 Doble almacenamiento t em po ra l 2 7 T ri pl e a lm a e na mi en t t em po ra l 2 7
iv
d e l a l la ve , 3 1
311
Referencia sugerida
CAPITULO 12
27
08
12
Ejcrcicios
I nt ro du cc i6 n Resumen
Z,304
30
Lo lt S el ec ci o
301
30
secuenciales
es necesaria fa actualiracio
Desernpcfio de archives sccuenciales
Canales, 263 Tipos de canales, 264 Tipo de dispositivos, 265 Actividade de canal, 265 Procesamiento de un lectura, 266 Bloque de registros, 26
Apcrtura
de archives
Actualizacion
Slstemas, de
Manejo del buffer
inteiigent de A rc hi ve s d e
Recupcracion de informacion de archives secuenciales
de u~arcliivo,
d e u n a rc hi ve , 2 6
Dispositivosdc control
29
Edicio de transacciones, 297 Entrad datos, 298 Escritur de registros 299 reporte, 29
YM
EA
, ,1 c rd cn am ic nt o
i nt er ca la ci o
Logica de intercalacion, 318 delordenamielllo/inrercaIHcir5n, Intercalacll;/!,320
319
31
d e a rc hi ve s
Ordenamlento
32
xvi
Contenido
Intcrcalacione
naturale
Ejemplo, 321
32
Ejemplo, 32
E st ru ct u d e d ir ec to rl o 3 5 registros, 354 Vcntajas, 354
32
Desempeiio, 326
Intcrcalacione
de polifuse
xvii
Tccnicas de busqucda en cl directorio
Desempeiio, 322
Tntercalacioncs balanccada
Contenido
Tecnicas
32
H as hi n
Ejemplo, 328
Ordcnamicnto/intercalacio
co utilcria
s p c if ic ac io n d e p ro ce so . 3 3 ejemplo, 33 Procesamient
Ordenatnknto/inlcrcalaci6n
Desernpcfio
del
T er mi n l og i
io
55
p o r es id u
d e l a d iv is io n 358 in e nt r l as f un ci on e h as h 3 6
Sondeo lineal 363 entr elsonde lineal 10 de sinonimos, 367
33
j em pl o 33 sobr pedido 33
Otro
en progtatnas en COBO
CAPITULO 13 ORGANIZACION
33
DE ARCHIVOS RELA TlVO
cf
Almacenarnicnto
Ejemplo, 34
Ventajas
34
350
de dircccionamiento
D ir ec ci on am ie nt o relativo 35
340
D cs er np cn o
o s a rc hi ve s r el a i ve s
T e m i l o o gi a
38
Refcrcncia E je rc ic i
sugerida d e r ep as o
CAPITULO 14 ESTRUCTURAS
e n d i c o m ag ne ti c
Caracteristicasflsicas de Iu discos niagneticos, 343 Representacion dircccionamiento de datos. 344 Acceso d is c d e c ab er a movible, 346 Acees{ discos de cabeza fija, 348 Manejadores de una cabeia-por-pist discos i nc he st er , 4 8 l ma c n am ie ni o e n d i s f l x ib le , 3 4
T ec ni ca s d e m ap c
i rc c
37
Declaracio de un archiv relative 374 C re ac io n d e u n archiv{), 375 Rccuperncion de registros, 37 Actuaiizaci6 de archivo, 37
33
Procesamiento, 34 desventajas, 34
362
37
A rc hi vo s r el at i o s e n O BO L
33
E je rc ic io s d e r ep as o
pe
Declaracin de un archiv relative 37 Creaci61 de un archiv relative, 373 Recuperacion de dato de archives Actrw!izaci<5" de archives relatives 37 relativos, 37 Responsahilidade de programador, 37
336
ordenamicnto/inlcrcalacion
Hashin
Doble hashing, 364 Comparacinn el doble hashing, 365 Encadenamien: Dirrccirmamiento po cubetas, 36
U s d e a rc hi vo s r el ar iv o 33
de archives ordcnados, 33
Referencia sugcrida
Tecnicas
ir
Almacenamiento de Desempeiio 35
Metodo para el problema de la colisiolles
Ejemplo, 330
im Intercalacio
lc lo
C om pa ra ci 6
de
Intercalacion
de
352
38 38
INDEXADAS
Arbole de husqueda binado A rb ol e d e b us qu ed a
388
corno
- vi a
es
39
Ejelllplu. 391 A rb ol e d e b us qu ed a d e M sv ia s c om o indices. 39/ B li sq uc d e n a rb ol e d e l ni sq ue d d e M'vias, 392 Desempena, 39
rb
35
a bs ol ut o 3 5
80
Ejemplo. 394 D ir ec ci on am ie nt o
Btisquerla en arholes-B. 39
I ns er c o n e n l i a rb o Ejemplo, 39
39
Dcsempeiio
40
Contcnido
xviii
S u r es io n
[ ,~ n
, i h oj -
Cor.terudo
XiK
40
j c i ci o
Eklllp/I),402
CAPITULO
16 O RG AN fZ A C IO N D E A RC HI VO S M U
Acccso lnsercio
en
fill
44
(l,-boi H*,405
multillav
fjemp{(>,- [(I ncccsidad de travertorin pOT
fa
Ejemplo,
de
1111
(ric, 412
Resumen
causados por
trie, 11 Varinntes de rU trie, 414
1 1 , ; s q u C f . / a en
d« indices,
Manteninuento
lUI
R cf er cn ci a
s lI ge ri d; -; :
41
456
d e arbol-B+
Au-ex"
Sl'CUCIJCifd.
427
de registros 42
E~llll(;tna CbiGOde imlicc
lI.n
archivos,
arc.hiv
'-"':;"11 de rrgistros
Disei\o Ik archives
Rcfcrcncias
...____ [ -
S(
jemplo 4S
,hish,·(" v, 455
Proce samiento
4.')8
Variantes,
s ec ue nc ia lc s
437
1.H u...a rulo
e n C OB O
i nd cx ad o
COil
ctW:tii(.(lCi6n
dt~regi ... trns.. 46
Creacion de I..u!(l
utileria,
uu urchivo,
4J6
indcxado
430
466
435
Recup,:-
13
sugcridas
466
l jc re i c io s ,k GLOSARfO
469
R ES PU ES TA S
34
J"kluolimcj
xccucncinles
finale
Rcfcrcncias
429
s t: :c l l ~l l i :o k i n e xa ri o
Cret_u',dn de
454
Inscrcion
registros de datos, 430 Inscrcion de reoistros SupreS;'JII J ' e ci si mw s, 43 3 d« registros, 4J}
de
a!;n.'8tJci(il!
diserio
P"labr;l
iJec/arm:i
(leU_WI,
Problemas
COlnpm"e101"'S
lilisqucrla tI"
B' 42
Acre.W directo, 425
43
Manejo po
44
d « e xi st cn ci a
dirrctamenre, 462
422
M an ip ul ac io » d e u n a rb ol -B " 4 2
A rc hi vn s
midtiple
Ejcmplo, 459 Declaracio de 1 1 1 1 orchiv en COnnl, 459 Crcacion de lUI a r h iv o 4 6 c cu p r a i o d e r eg is /f il s sccuenciatnu-nte, 460 Recnpcracion ch: f.t!xisfros
!:innpios, 421
A c c. (" s o
duplirncion,
pam
d e d at os , 448
+1
a ce rc a
COJJC(~pIOS
42
A rc hi ve s
arbole
446
nvc
C on su lt a
CAPITULO 15 ORGANfZACION DE ARCHfVOS SECUENCfALES fNDEXADOS
E st ru ct ur a
VE
Coneepco» basicos, 449 Ejemplo, 149 Varian/.'s, 450 flld"XflCidl1 (,()ndireccionamiento Mas dcjiniciones, 452 V"{OH'_" d e I t ,'''-I' tlO- unicas 45 indirect(),452
416
Tcnninologia
1<
r lu pl ic ac io n
io
41
T lL L
446
A PE ND IC E INDICE
LO
E JE RC IC fO S D E R EP AS O
M ET A- LE NG UA J
P AR A C OB O
490
50 50
_
. . _ ,
".-prefacio
Esrc libr
(r'al" sobrc la cstructnracion
impl.intacrou
is ii
m in a Todos
-
o n x io n Ju
lcclllJj('),!ica:-;
de
los dt cxtructurn
daln,',
los clcrncnt.», prillcip:d,.
(jUl' di~Cl)'HI
operatives
dixcnnn
c:,'lI-'Jeilll'>lS .k: d.uo
d e : lI g -l ln a
Ie,sdal"s_
:LL";C;
IlHL··
:;uflwarc 1',\1" apl icaciolll'S
dcs;tlTollan
si~klll'IS
computu-
d" a dl ni ni sl t' ae i< "l I
xixtcrnax
entre p t ( )c ( " sa d o re s .
{Ille deknninal\
de dalUs de-
fi,ic() de
d:1h)s
(k~"rnJlbl
c"lIlpibd01r
cOUHlnicacj('Hl
Las
de
cxtrucu ira
:lSt' (Cl)lllil qlliclws
e x dec-it, ~isll'IW" si~lelna:s de base de datos
I."" cxtructura
pr"ecsami~nl"
uxan .....
cotnplJI;wionalc.
c io na l x ,
....
urBan f:(<:;6n de darox, un asp,:c!n r"lId"r1WIII~tI
l(lS ,bins
.-ttlre
c ho x o tr c» : u sa u a rc h " U~ , Aquelloo comcrcialc-,
-
,_k j))'ogralnas C<)tll)'Lllaciol\ak,;.
g ie l
pI'Og"~tll:l::';
.. .
cl
t " I: " :: { J u fc n : n de. cUllocillll1.·lI.
la ('I-g;ll)i/,:ICi(\1l
: m' h v o s o
rcndimicnro dL' I()~ pr<)g!';Hlla",
1: priuicra I , . . ""Ie 1o.:xlo cxi~;tt'n dos l':,nl~s principales: "I 9) In\la (Capitulo.c; .';ohr" el urea Iwdil,iol ",]lll(l\tc l~(JII(lCida COII)Ocxtructurus ,Ie daln;;; la se}:'Ollda (.Capitu-
los 10 "I
(i) sc pl-"rtOll(h~a
!isl;ls
ligad:o:;)
pr()Ces:tllliel\lol
ell vl lnancj()
proccsamieur dL"archives. l.'sl:1 "hi it g ru a de m.incjo de datos ( ir .c lu yc nd « p il u cui:!" cl llast:.\ 1'1.'; cstructuras de dal()~ rn,is c()tllpk_jus ((II'holes gr;ificasJ, dl archive» (Sl'~'Il<'II(:i,dcs, t'cbliv(l~, los ) ' muhillavc) 1l1;i; h:isi
lector dc-;dc lu., «:,PCClo
dCI1K'lIto de ,',i,\lem,l.' L:I>IJlplejus
cada vev
illlp(lrtank~~
lnjs
pnlltdol'as,
:;1)11
',,,la
v c ) .
dL
I));i~ f'reC(l<:IllL:
i'<.:r:;(lualc;;, J - : I ("",-a""'11 de IlII DB/\·l klgic~){_ a r ch iv ( ) ,' -; _ b; "i,klWIS
lihr
"c
111:; ,; I'll i l
dl ,."i)lnpIOto),
h as e , k
In:llll~j()
l~~ln: xc cncucutran en
I n k cl m
l:1] In:l-cro.s
II's "CIIlHS de 1J""baju}'
e.'; I: c:stntClltr:wit"I,
< 1 , - , l't'Ogl':tmaci,',",
: Jl o (DHJ\,lS), lo l:I ak
cu tudas partcx,
qOl(: k'-ll)!.an pur
cj
p lo ,
\11\
dalos
en las COIllI .utadorus cl pmCeSl!iHkr>to
1)1 uimo ,_k c(>!l()cJJnj"tll,,-, curso
CS
su
minicom-
( il il ru du c( "i "l l
de
la xxi
xxii
PreIacio
tec<""ncl"lado
I'rugrarllaei"lII)
InCj,_}(
PO cl /\Clvf Cnrriculun
C()mmil[ce
~:D~"put cr .sciences
"C IIr r c u u m ' 7 3 I{(:cmnnwildal i{'IIS !( rr tl Ie Undngradllitle Science" (C'O!l1In. /tCM, no), m ar zo , 1 97 9) .
Computer ( >r a
p ur t
(k cxrrucruras
I','S
SC
C OH O
su
e l l !i a wl11
:
c l k ll gu aj e
ro de kllgll:Ijl:S
"~knds
ruanejo d e lihro tr.ua los al)!Lll"iUno (;oncl'tIJienk."; la COIlStrucl"illl! a rc hi v P o 10 gcncrul, esto:< pn'cedimicllorgalli/.aci,)n
de datos
prl"Sefll3tl
de datox,
01.
I'r o ra
c on oc c
lcnguujc
P :l $ a 1
, k h l< "l <. , que prcvalcci- hasl;11l11t:olros elias para la adrn illi:;1nlci"'" d c I a l ~l l1 oi li atlcl nCCiCll1lOnt"I1rlCUII m ic mh r iI'W lir:flCll U!J;J
Tlcl(hdarcos,
"otlv.:nielltctllcnlc
lengwljcs
a mb o
COIlOL
en letlguaj
P as ca l r cp rc sc -
l"'lrUcllJr;rJes),
de mostrar
.k filljo
higic:" de I n a lg nr il nw .' i N o x c n ec c P"tilc'lllclldLT e:;k li hro. Si So Ita crupcBa 1'1 /1 <"I kllguajc' en_~amhladnt
,'slillclura
(0 cllahjuin
otro]
().::I FOHTRAN L:ldo C{)I!OCCt"J l l i j par" c o u pr cn de r II O~to) cmplca 1~1l lil'lup!l ,il f in a d e libro {iJ~po!ldr;i 11 s(',lo ch- 1111'\cumptcllsi
n\digo presenl:«I" ell cl 1cxl!) Lid In:lIl''jn d" d e l o prillcipi()s
d;du:·;
de un (~{ulociIHio:.~rdt)n"J1["':lhlc
del
de ~ln.:lljv•x, SIIlO blnbien
pH")(:es~ltnjetlfn
l(xc ha clnf'l"ad c on oc ir l c O n u r O! \( l J0ll()- [1)7ll, a mh i
'i"
el
incluyr:
nucnto-, bisi",)~ d.. I,\;;i("; par C ad a
(~lllplr:ad(}
Iilt'lakll,!!,II".jc
('s 111~"L'S:lri()It:ll..::r hases rnal"llI~li("as,
dL'
Slt,I;IXlS
dd
dl)"lIltH'lltacj()n
(ANS X3.2:1 ['J 74, rso COBOL c.'il:illdar 7 '1 ») , I ,, :, ;"'sllllCI'J!'
c ap it ul o
illlrl\~h~l'ci(JJ;
res ilvcr
gelleral
Cj,·rCll:ru.'
d" ep so
"'''pilule,
~OI1de
~i~ c i t
ve
L a l i t a , Jt , 101"111inno incluyc
c:il.n:cial ill'POllllI,cia
"lgull(l:; CC'111(>ci-
l'i
tl.\
i,'11 li c~I(lS
'rell
Il'xlo
Us1<:d . , < , lWlld'i u:';;\I1,["
I,·-rn,jlln.s
s(-,Io rC,!'lwsl:ls
,k
C()rla:;,
oll':!" slIfliaell
~llJ ramas
_.'P~'t:l III:is d('lalk~
ReC()J1ltllelll-lt:d enlll()
para
C\llTielliunl
p:lt
apo)'a
"!Irsn CS2 f Db "! I
('.)1-;>1", Cmf/m_ ACM,
."lIt·.'i(l d" ('S5 (flllroducei.·lIl
aJ pr("''':;:lIll
"lito
2R(R),
,k
de \'l/ardk"
illlpl:ml'lci'lIl
n, :>111I pic
KolTlllan,
V(:dSc;
f()r CS2,
li
c_
:11;<"1.\10
L\l'rhivo~)
,il, 1')ll51,
petta algllllos
:!sl·ec.tos 1l1iTHiliO Li lllalcl11:ilicas de: Clll.~u CS7 (1:>lnH:IUI':1.'i .k dal,,:; a n ,i ii " i dl.' Cotrll11ilkr:: Ull C()Ill[llltn Scir'lle,'s ""Rl'cnllmwndaaigntlllllns) Li i\CM ClItTinliln C0I1II1L rions jtll'lh" UIlr!(:rgr:ldlJak Progralll in Co 111lllll'l S ci cl I( :< ' ,1CM, 2'I{J), m:ir~[) 1979 1: Ell nlr,,, CS_12 (AIm"cl"lIanlj"l1ln (k. T II v d e g l' ad ll ad u ap"),a aC[;e,,,. de I.,~vd Pro,-,:r~llus in dd 1l11;;mu cum itl' "'RccOrlll1H:nd:lli()lls Ii») 1\'bslcr\: m!nnn'}('lOn) CnlllpllI'T llprnpi'rlilo para Seicllcr:"' Oli/III ,-teA!, :>1(3), !lIar/{) dl' I<)Kn Tatllhi(~lll:''i
llpoyar cI "lJr~" IS2 (Prugl-all1w,;, lbros (,~(lnllni Ikl' Oi !Jlf"l'IllilliOiI lot I h R O de 10R2_
Ullkrgl';\(III:llr:
":;II'liL"lm",,
Sysl<:lw;" IlIf(ll'lluli, alld (3rillltlillc:
de arc!Jivo) tId ACM ClJl-riclllum
II Syslcill.
PIUL!'; IIII""',
Cllnicli!J111) Ik"lml<"llfJ:Jliol),"
(0111111,
J),
1l\)vi~lllhrc
ere in A S I), ell Administraun ClJI"SO selHeslr,,1pata gruduados cn ASI Cien-
ci EI objd o mp rc nx ih lc , n tc ni d
' 0 p ti nc lp n I a l e sc r i hi r x t Ii hro ( )~ p ri uc ip io s
de
[rave.
di,~Jl(I(ls"
comercin]
Lid crnpcrio,
COIlW par':\
(;S['IlClIO
aplie'](:iollc~
to
to
lil.ro un combinacion
d e v ar i. i
dirnicnro
ulii de conccpto
s t u ct u a s
unu
l e t o c o d c a si ad o la CnSC(bfl~." del m is mo , e x e n
industria,
tcoricox
nr"si"
csre
pr.iclicas.
aspectos,
Sc ha cambiado ,?rdc"Il:lllllelll{),
S c h ae c h in cu pi c ell la Cat"cI(;tlSlI,::lS de .ren In
archivos,
! O prcsenta
mntcrial,
c ot np re nd c
(l1H: heili(:!
cl Glosario
,-,01111<'111,,010 1"1110
nuis cluriclud
con
c ua nd o cl nurncro de
COil\\)
en
,ldenililiellto
paries dificilcx.
pnrtlculur,
consuuir
;;elef.."c_ion';J[,l
la "~IIIlc!lJl",
coinprcndcr
1111':1,
panl (Ic,,'!rrollarsc
n,
i xt ra cj o
E CO N C IM I
.-I"
"11 ;d!-!Il\\oS
po. lui allali'.a (1)
p ar a c on su uc ct o
haxcx, p:ltil prcscnrnr
:lpli"acjml(".,
d e l u p ri ln l' r: J !ll;IYOT
t an t
)' :;isl<'ll1a~ e~las
d e d al o h'l
i n a h u ma r
xit
la oq~aIli:ral'i (" de remus pm" ha("'r Ic'cniL'as dc, c st ru ct ur uc io u busqucda
j, ulguuas
Ilr~l')' dcscribir.xl mancra cl procesarrucnto de aI'ChlV{)S.
11.';(>
t('CllJe-as
COl!
[:,;1","c·.gunda edicion d if ic n
usar
c] de estruc
~.C;
n an ej o d " b tu s
" I rigor m'li.erwiiic(l (k ];! materia, L a ],;1,,<".p ri nc ip a p ar a cI m at er iu l d e
d cr al lc s
n fo rm a
cOlnpl"l"rI.\j')1l progr.unux J1:nycl'l~s pat". ayluJado: fllrtalc'TI' En gelH:li malni"l_ t al , l o eJel'clcln~ ma~ Sl~tlL'lll()s apareC"1 jlritllC'rp, sc!}uid(l.\ de (Jlm "'de ~,,·ci'.')Il" IIl
ILOXII)prori:td"
xxiii
ado i st ra ci o d e i st e d e l n o r a ci . io u bl ic a d e E.slados Unidos, yell
111101
de (,'nuiIIUS
ni
i() , I < - . rcp"-,,() rcqui.
ta)rlhiL'1l coruo
lin conjllllio pala bru-, 'Ill" lucron il!(l"Odll('i,b~ l l
'rc (''' 11
dd Gloxario.
A l gu no s d e Iu.'i ejcrci
ellal fUll'inl1:J
1J1lali,la
anleS clrl ('''pilld,,)
cia~:~I,(1~·"gunbtlld(lsc
dc:J IIIICH)llC.'i
SI
la
l"',;nihir
;llgl11I(IS 1"-' )h["IU~IS_
tC:Slllllell
tcrtninn
pcro
1'''1';0
Prolacio
(:";(;1uciura
':'Lptop.iada
Imlllejo
r:
de (bto:":\
lU
problema
c l . . . . .()tg~'It1i:J,aCI,t'~O dt: archivos
(:::i,~[(ll;n:cul>t:rar d"lu.'i sclcct iv.uucntc, uctu.iliza uuu 11(':1KT que Ii" va h ac cr . 1 :1 li hn . l e propor ionura un b as e lm~c c o c sr a I CC Il o i )g b e n c vo lu ci o del '-'l lnll'lc'.IOC~ltnP() li manC)o
llU: cS J( _ ju n
pj a se s
pa ~l
lcclut p;J1"a CUll iuuar
;:-iU,':).
c~lH(ho:-;;
VH
tcciucas ,-Ieadmj-
,biOS,
N TO S
"porlaciollC"" de tml<,:ho;; lOsludia.nks del I_k.lxlrluJ . : 1 l'rilll<'l'a "dici,'lI1 SL' hencfici"'C I'lll,,'i I ll Cl l\ O d e A dm il li sl ta ci ") ( , k Sj~!<':lllas dc' Inforlnaci,')ll l I l a U ll iv e i da d d e r i o na , Curlis
c"pcciall[wntt:
CJ;I,Y11J1l
P rn lt ic :c -H al i
c Ci l' ec ia li n( :n l
J-'rui
_Nel~()I1_ I_us l'cvisiDIlCS
d t R uh er t
P . Burl()lI,
ayud,)
"argo ,ie
"sl"llvictul pl'cpal'ar
csl
.'iegllnda
ediei()I1_
Agradc:r.co
pueda
tal"hj<:rl
Illi r~lItjJia, pur su cOllliuuo csl illlul
tIlOC<'fll "slIlllll10
pclnl
11" ('Ollwn"at
para terminal'
eslcl r a h a _ j o _
Ql1int
"lgl'm otto Iraha_jo" Milry
F_ s_
l.oomi.>
~
.. ~~-"-
capitulo introducci6n
En la primcr.i So.odescribe
parlL' d e v st c l ib r C"
puc-de "y"darlo
Iorio
cstructurus
" " . m. il iz a
de dutos
en sistern~l:'-1de
ilnpOrL~lIllcs
!;eJwmk~ sobrc
conocunicuto..
ipos
de C~lr-tlcl'jra.,
("'.lhtns
I':"k c'l'iltdo inl!'"dllc cornpuruclora q ll e , " "1'):1 csrrucrura .I" dal<,::< ( ' u: i ic - : - " C JI l la,
c o p re nd c rn:.is
I n p t" it l" tp :l k
progr,mtas,]"
m .m c
iuformnrio
aSI
como
:dgnU'i..,l:-;
.I" .-blo::>In~io simples.
b~ " ,; 1 r u e t ur u
I~Lusa DF OATO dc
Allt.-,
da10s <.
"'<""''''1.''1'
11
k:i<:lnpciiall
grande so
nuis
co
n ,; Ji ~i s
1,,:-;tilt!.""
ll.unudo
l a <.:slnl.-tLl1a~; ,k datoo, considct"-"l)o:; que:
jps xixtcrna-:
po "d:\1os"
' -w o lJ lc e im i cI lI C l~ . ; rcpl'<;~t'nla
]W(j1H:tiOS
para
t"(,r-j
ua
rcprescntu , : ut Il O
materia
inlo
Il~IC1{'Hl.
esp<~nl[ll()S qlle la, d c i si on c
p la uc nc io ne s
SOil agregadns
I'tilJl'l
1()1~1t'111"S
acciones, qu pucdc
incorporar
,k~J1Ul;~
(lIm cirlo
il tr OI'galliz.:Jc.i"H1,
nrpll~j',a('i(;ll, F,l<)
1'''1',,1 '-I11l' circulo rccurso..
d e hi o l' ga ni za "j 6H . ] , o ~ eircul"" i kJ Jl s d e d at os , u s u al e p un kt ) sumados
roman
(i{'l"j~h
w,
cualquicr
indi v id ua lc x
elcmcnro .as
,]
o.u] de datos en .::1
un parle :lCliv de las OP'T)(;jolli.'S
e Ol l ~j d l' n ll ' o; e
:t
(It-:
co
en divcrsu.,
h~l:Scell
scan ini'.)JIwltb,':1
u lg ui cu .
SO[lrc·gn::,;adas coru
dd pmec-"" dc
t'st:~
forma,'; l'lI,i1.-, it liz )fjna(:i('JI1;
lu
dalos, los
ToW] d" dl:c.j"j{ltICS
n'~ldl:Ld()" ('\1:>1",,;
"t
lntroduccron
i\
la estructura
d o d at o
ancjo de datos
DI,)..:l!;iOIl
'\
.>
..,,:~/
\'.:.
n'omMf;ll',r1
1" III,i'luill
Inf()lm~Ki6j~
\~~,."
"-_
-'-"
1:?3.,j5-7R,
-:
.....
l.
'6.:.-\
(_)
< " I " I a . s xiguicrucs
2,
Ih"ad"" tu,iljuilias
;._
3, Di\I()S
ve de
,_CU,iIlII1S I c l d ( » ) ) o s (Opcracional)
p uc d
p rn du t' i
;,S" pucd
itdqllirir
d ,~ p Li sl k( l
1IIJ,I con
'P:lt-1b ~lIhsidiarill
Y ' ls i i nc rc me ut a
N" ILHS-7W!
nuiquina
ell p ro .l uc ci or , b i corrccciou lk datl)s Coni 1'(1) m .i s p ar a h uc c I ck l- () lt () ~ '.{lW
; , d is pl 1n ih il id a
N"
pl.istico
pn.:gunlas:
i_podnllo,', ,,
p ro du zc a
m .i ql li na s
p lO ra r es ro ll d
pa
r uo ld c
lo ca
io
(I<-
!:os rUTl.as '-.
_/
,I
I..os b i 1 , ' j~ I I l- : j unn
D ; )l O" : (ITI i u gr c di c nt « ~(:(~(;jL).as~td;-.e n
tl.~spuc~ln.
c ; :- : .: _ ·n c ia lp~lra crnpreml.-r
N,it!.'s
clemelll!>
l a i nf or ma ci on . sllillados de ",I mall N/lteSl' nportunamcntc.
orgul1i·':Jci'·lI1 "I.~IC((',n ,
) ' l .; l [ucr
1.a
ha
, k J ai l
' l , ,_ k i'clt-licipat
F s it"p(lrtal.llesulll,xil.ili,hd
Lo
"paries" rOU"1
'{"t:
pucduu
se'l'
sigll icntcs
ar;I-"!;;H.ios
rvsultad de
de .rccioncs
L~ )tlll
)l~t
I< \ll1adas
id~)I'l'S,
(:1)1 ripon
iL-g"ks, ( : 1 1 1 1 ' " ' ' ell
por fuer~.'IS al
l ie n
In (le. v er ul cc k
1'1'0,:0::;" de lum:,
rc
( . , - ien
dcl«-
alg'Jit,," c i a , ; " " de t o n m ( k d cc i: ii tl l1 c~ . P o c ll o ,it: decixioncs:
1,:1l~hil'liv()
(reo c l a . , ; , , ; s illlJlurlalltc,;
l _k ci si mJ c' s opcrucionales,
' I ll " t : nh i cn " 'l 1
di"t'i~lItwJ'lc la "clividad,,~
(k Ia
I:i forma de (,rgl11l1zar Ia ~~::-:.ignada. E:81~l:~dcci~;innc.\ :dg1JlI:IS v ec e s o l lu ma du s dt:ci:-;iuIlCS
tricti
cas.
Datos
){ccIlpnaej(I1
clerill"" 'lIl'S
la "rnision
Pr·otCl,:ci(~H
a ne ]
at
(Ie uu "Ic:ien,a d L l la ne j
'n it
d e , b O S , , haccr
qu
pro""",
, :, ;I o llI"t
x ca n a da pl ah lc s
(lrgani';ll'i(m_
Cua: to
sun
lJrga-
em 1/'''/, que ,kldmjn'H1
D cc is io nc s d e e fa ll (' iu -i dl l ( I' ' ' desml'olbr, "k'IL /\Igullllc Vl'e,,~sou Iblt;
10;;
j \ du .: .d iz a c: i~ ') 1 1
clc clc IOlll:J de d""i"ifll1l'.'; !'-iug-en.~ncias \"Itilt"::-; para un ~[:;tcIn~l de adlnini:-:'lr;.tl'i~')[l . k d a to s
tk.\lhk"
estcn bUll
i\IIlI
OrgalJi/.aci(lll el
c or rc ct r» ;
A gr eg :a ci ') J
a li da <' i
e ti v
s ea t
IlIiUH:_j" d e d "l ll .
"rralls(~til)C i(",r
[l.~~
de ,k"isj
'I""
tnalleja(l",,; de tallnillwr~,
illl'_lfln;l['i("I,-
( ~u l( .~ cc i6 1
r!_ i~
nfznt·:k-)u,
para producir
Me
CUC'I'I "'' ''c xtcrru»,
de dccislonos
"mision"
"<:I"
disronibks
rurnbicn
ne(~j.j_)!l
L l > S datos c s c (l t1 ve ll i
·1
DE DATO
qu,' pucda p ro du ci rs c i tIj,jrlll'I i"Jll I'lli1 pam :Il'llyal d( d~i()l1l'S (ju alguno "klllenios i l d al P e l 1I11ITCIII'S() dc daro
n!
de leqlJerillli(':1l10~
LU1~ OI·g~1tll'l:tc
Tipo
Om1<.1
de informacio
'P'" cnalquu-
la organi
sirvar,
de tk~d~i~ltlC:-i inlonnadn.
It}ln
ANEJ Fuentes
{J''''
d c e n '~'ll'lld urar <:(lrl'ed:llnc:nk p ac a q u " "a n Hcn:sibk:; tipos dl'. ptcf.!unfa,s,
v.uir»;
de la orguniza-
L O i d :J I( ) d c i1 c l tcnormente.
2,
Los ,hto.> dchcn or;';(!lIizurs(' e]cntcuicnt
rcprescntars»
ddwl1/)I'()(( SII{S(
eSlrm(~i{,{ls_
alntacenarsr:
d,'
Il1nI>CI-"
C O lcicrta i Jorm. pill
adecnada
pnru
ac xnh»
ace"~arlo:i xclccriva
po
di-
jJrCSclIlf/I's,'
ci('lIleml:f1le ul u:-;uati"
decisiones
d" t om a ' k dec' """'. 1""1'''' "". un " I < - , ncnto d , ' ' ' tos, c] L _ , _ ' S _ . _ n _ , _ i , _ . l _ n _ , _ I S _ " _ , _ I C _ l _ n _ c : _ I I _ l _ { - ' _ S _ ' _ " _ ' _ ' I _ : I _ I I _ " ' _ ' _ l ' _ ' _ ' C _ ' _ I ' _ ' I _ I _ P _ " _ tI ''__ tn i_"_ C_ _I_j _U I_C' _ "C__ ti _'_" _) l_l_ Il __'I ~_ I< _ '_ i r_ . t_ ' _) I _t _ '1 _
1.
dd\t'tl
~~
" ' I . e . , I < - ~m I e ' " ' ' ' ,
{!r(l{(:;';"l'se
nutnejarsr
I,,,
p.irn q \l ( u o
pindall
valor.
Ie'";,,,
son
I > _r _ il _ l_ I l_ ' I_ " _l _ d_ i _" C _' _ "_ t i_ ~ _' _ n_ H _" _ "_ I _a _ t_ l _' ! '_ I _' _ "_ C _I _ II _ a_ C _i , _, _ tl _ '_ " _l l _' _ 1' _ "_ ' I_ ' 1_ 1 (l__ ' 1_r_ -' g_l_ 'i __~' n_ _n_i _I /_"_ "_ _Y " _ i _ ' ) _ I I _ ( _ I _ ~ _ ' _ L _ 1 1 _ ( _ , ~ _ - _ a - = = =
I nt ro du cc i6 n
a p t ul o
l a e st ru ct ur a d e d at o
Primitivas
Estructuras lineales
no-lineales
mas co nplcjas. La de clases prin ipales de estr cturas de ''''tos cornplejas las no-lineales, d cp cr ul ie nd o d c l a c or np lc ji da d d e l a r cl ac io ne s l og ic a l a lineales
estructuras
so Nuestro . e nf oq u d e d al o
i ni ci a
c s e l c st ud i
cl
d es d
d c l a r cp rc sc nt ac io n
Y p ro ,c es am ie nt o un cm fi 'd e.llruc iI.r,
c'SlmctllT."s
clase
oper'lcloncs
ertzat
sobrc ella. Alguna
vccc
csta
cstructuras
sc lc llam
q u c p e se nt an . a s s t u c u ra s d e datos l i e al e lislas ligadas lineales La cstruclums de d at o
o rg an iz ac io n
t ip o
a:->
sistemas
d e d at os .
.s
I1npor
c ad a v ar ia bl e pcrtcncce u u l gu n
s fi ni d l a eual d et er mi n c l c on ju nt o o pc ru c tones j' d e d"at o q u' d is cu ti mo s u gU ! S Oi le st ru ct ur a u. ro posibles
a c.ion
tenor vanas r ep rc se n
fisica
'S
catcgotlza o n primitivas:
difercntcs
para
SU
muchos Tablal-1
io
varius
lenguujc
U n a rc hi v
de datos primitivas
or-
Cadena (1) A rr cg l
(2
Rcgistro (3)
e s d cc i
IlO
e st ri n
o mp ue st a
po
l lt r~ s
s t u ct u a s
brevemcntc
, " a rr e l l cnas,
n cm br e po cj
n eg r s "
e la bo r d i c ll li r
cu.i os
l o c ua le s son conxtruidns
de dato
l la m
c li rc cc jo n d on d
q ui e qu
conjunto
o nu in mc nt e
o nt cn id o p lo ,
d e r ch iv e
o nt en id o d t los a rc hi ve s a ci Ol l d e d a lOS,
c e o ~ y r (c
e c ns
yc
'>
A e
u e t .~ ll l
cl:ter~s h~)oka~oS
, e g un nl n grande
so COIl
l)IIC
los sislt:mas
organiracion de archiu lg un n i nf o L a c ua tr o c la se s
(S,
c cu cn c i ul , e l t iv e h as t e n t ec ni ca s
c cu en -
d e c xt ru ct u
Enteros
a ~ p r n .u va s ,1S partir de cstructura e d
a r
el todo
I · , . , -(n Organizacion de archive
E . - .. ; t rl J c tu [ a s d e
o..'l.toscompnestas
Binarias
Pila (4) Cola (5
Arbo binarl
lig:uh.;(6)
Arbole
(8)
de btisquedu
bin~lrios(:':)
G ni fi ca s
(7
Arboles
generale
A rb o le s
d e b us q ue d
d e M vc am in u A rb ol es -
rb le Tn
1)
(14)
(8.)
( 14 }
( 14 )
' , 8 + ( 14 )
Sccuencia (]I) Rol"liv" (13)
,2
,,-
, , n,})
,'
tc p li c c io n
d iv is io n
c xp on en ci uc io n
pa de numcrox, considerados un opcrando, opcrador unurio
N-arius
Lineales
nurner de estructuru d al o p ri rn ii iv as , p or qu e s c u ti li za n d e prograrnacion. n a s t u ct u d e d at o r i i ii v s o l o n te de mimeros: siguient conjunt
los e ng u j e cntero
de progtatnaClOli
Li ..,U1S
t ie n
a pl ic ad a
de duto
c aj u
'c"
No lineales
Emcros (I)
ti
l)l1C
PRIMITIVAS
ag
Estructuras de datos simples
Boolcanos (I) Caractc (I)
co
a d i ni st ru ri vn ,
Eslructuras de c at e q u s e analizan en cad capitulo
Estructuras
cl arbole
simples
de dato simple s on :
t na nt :j a
a si ca s d e o rg an i a ci o cial indexadn
almuccnatrncntos
e i
ejcrnplos de Ires cxtructuras pnnutrvas: p uc dc n c on st r i r d e u n caractcrcs. O t a s e st ru ct u a s d e d at o
Co~,siderarcrn(ls
estructura pnmiuvas
vas.
Cada cstructura de datos
de almaccnarnicnto.
Estructuras primitivas
AI zu as
o pe ra ti vo s
e xp li ci t i mp li ci ta me n alidas p'lra ella, Las estructuras
Para
mu posiblcs
La tccnicas de estructura io
>_
c st ru ct ur u d e d at o
te
logics puerl
de cstructuru
de infottnnci6n,
Organizaci6n de archives
Estructuras 16 icasde dato
r ou ra rn a
q u d is cu ti rc m i nc lu y p il a o la s n o l in ea l i n l uy c g ru fo s :irboit:s.
ot as
COITIU
T od a
o p r ad o e s
s ta s o pc ra ci on e
b in a i es .
Un op ru lu
t ru ba ja n s ob r un u na ri o t i n e s ol o
UII
Booleanos
Sccucncial
indcxodo(l5) Multillav (1G
UI
segundo
cjciuplo
booleano, tnmbie
hi!:i("(), o/ii/su.
dos valorcs:
llamudo verdadero
stc lo
b;\sic ISson
110[,
and
or ( nc ga ci on ,
c on ju nc i o n
d i y un ci on ,
c sp cc i
va
n tc )
L a l a bl «
lnlroduccion
a hl a
- 2 opel<'H.lores
,,1< estructurn
Ca
de dato
Cacfcnas
los ~igLJktlft:,,: C D I
bcoleunos
nula
,
V a lo r d d
V:lk,r\[L'.l
pnnn-r ~~I)u,mdL
: : - ; . q ! : 1]IICiC .l O]1'.:T ; IRk
carlenns
i ns la n i :
Tercero,
f:lr:s(~
AI conjunio
las cudcnas
unario, EI noftkn
,"
u,
uno de c~tos npnadmc;
'''Ida
1so opetadorc
prcccdenci
n mb i
cjemplo,
de nplicar
rcxultud
sohn
1111
'-
hinurios
C)(
ta
pen'a cada valor
'lut' not c" lin "pcrado
and
<:~
or,
Pl)r
I'rcxi ('>1
ell
~eusan p'lt
informncion
almaccnn
d e variables.
en archivox, Clique-las
Cunrto,
proccdi-
l a p ox ib le s a]
cadctiax 4 ,
. k- ri v
se
ne r-
l i l ll bh t' w
d er iv a
u n 'llfahcto
)'se
l gl ll la s v c
so
mo Latllbit'n
c on n n c c ua l u i si ho v .i li do . eI l t: ,l wL o' e "hl ienc Se llurnan cornunmcntc cadenas d« bits.
( 0 [ I "nlonc"s
cs dccir, en auscncia de purcntcsis
ullllnri;
el not
dc la cvuluacion,
o rd c
las,
" ,> <. :r ih i prograina~ )' t r n x i ti rl o I~ r h n l r c m bi o informacio COil los
de:p ro gr ar uu ci o
d e t od a V,
V , , A , Un nlfahcto N
lo curlcna
hurnanos. llama v oc ob ul ar i
III 11cSlolXl
incluycndo 1<111'0::>
p ;l r n om br c ell un contcxlo Ill';:> general, SOi 1I11cl
ruienros,
.\-2
a~ succxivunicntc,
1111al
Oi
s c u sa u .:11 leng\lajcs
:.l
f-,OO\cIlIU,
Di
a x c ad cn n s ,> I m c. Ii o l xi si c r a Sq;unc!o, xon m cr li o principa]
usuaries. " l
f;il:-.f'
De c l i ui ci o
comrlllado,a.
Y~-·I'"J':I(re . r
CD
v ac ia . P o 10 g en er al ,
Definicion
( 1I I ncn (I, "!
pri u.cro cl rcxultud verdadcro vfalso
l1e\'.,,, I"
c'~ nrcrsccuclo COil A,
L, . s v a l " re s
los e'Jalc,s
rrlacionalcs;
1(0
i':11 P L i C " l.-n ['('s ui
am
rcxulrarlox bO"l<:"JIOo, Talc:; (lp"r"d[)re~ n.lacionalcs cuak.:s~~~cc
m ay o
como
( ) i g ua l
mcno
110)WtHl'''
r C: 'I 1 11 " d
enrcros, elly
'-If
ticncn opc'nl!ld,,:-
mayo
ig",,1
~ . ' 1 0 ' , 10, =. (los
<,:>,
~';ll
que, igu~
aplic'-lc o n d " oprradores Ill~ bien, ;;011 npcTadot<,s COil ign:d, mayor
~I 111C:tlU
dikwlll";
e ,c ;till v a lo r
punk
b o ol ca n o
(i
12
igua], no
opcr.r -,ohl'<' dos
vcrdaaero.
l'
1!1:I
tcrcna prunitiva
un elcmcnto l[)mad"
rp'" prol.ublcrnctu
i n l u e u d ig i , )
"c
Un cornpilado
ya conocc
mu
lin I.':lr:idcr
bi
de un conjunro {I sillll-.:>in" lln CiL'Jllpl<) de conjunto (k:;iln]'.-.lus
,X,Y,!."?,,,.,
1 0, 1 . 2 3, 4, 5, (i ,7 ,X ,9 ,A ,R ,C ,[ J, . <:11della]
Cad" ,-,,,den,, ticru- li Las ,)per:wioIlG"
I.
EI car;idl'l cs
I u cataclL:t·c:; de alb,]wLo
de Icll gJaj.:. rCC''i IUCC 1 1 1 1('D niull l
+,-,
I) esp~'<,i,des.
Concatcnacion,
3.
Subcadcuu.
una CSlrudllr;J
10 de curacrercs
alfubcto.
dL' .1,,10'; "011,'11'1 11.1:1a purtir de una l:olrlldllra
eo I" (.'adl:/I
c()njulI\(1
do: c~,klla.\
'I""
Sc
que
punk,
Oi"
de ,illlh"los
toma.k
I~
l i e < l al o .' >
dd alf"lll'lu
[C,
L ' cl numcro d e a r c t r c
en
]a
:;(1)1"
las cadnl
priucipulcs
"(lhtl'
I :J s ddinidas
cadcnas ~"n
op rado
I{l]lgitn,l dael numcro d,' carucrcres d.-,UIWcatlcll
Concatenacio
de cadenn
d.. u n c o nj u n
cmplca 1'~lI gC1I"I'lt Cldl'lI'1s sc llam
,kriv~11
cu
fOllgitm(
c ad e
N: lin
.uribnto l!amado
Longinnl,
CADENAS
primiuva
N.
/lirA,
d<'Jillid",
2.
tI" tipo l a c ad cn n
d~ cuructercx
cur.ictcr
Ires opcracioncs
o n i tu d
:d~II1I(lS car:lc!et"s
particula
cs
C
cadena,
,:Uans_ L"
Caracter
,-:0;
dOlld"
n,
I)
ncluy;
Ll ( 'I -. :: ta ci (, n d e c cn ca re nu ci o c xt rc ru o
c xl rr m
"1 lI
s < decI""1 sobrc !l CY
: :l lk na ,
Ull C(1IICa!cn:ICi('
ticuc
dos
l nt ro rl uc ci o
o pc ra nd o
am os
por I:.t ceuacion
I " ip
al
e su uc lu r
u n r cs ul ta d
Cadonas
d e datos
d e til'"
ca.JI'II{J.
Si
.\C
Ikl"mc
Opernciories Existell
e s u n al lubcto
s e f or m
Insel'I(S,S",i)
e!JIOIK"~
('''11<:;11 (S,.)")
otras ")'C't 'acoiollc:; cOlllptle:;(as
L~llglh(S)
I,c:nglh("\"),
.a concutvnucion d e cadcna ('OIl valo 'S"I'(lVI, ' rcxultud la cadcll!\ 'STClVF['JPE',
I"
'::Li 1"11;1Cl'Il valor
'PIPE' tla
l'(0I!1l,)
lo
lamhi("ll
up im
de
ip
1][,
cadcna.
'cslllh(i<)
1:1slIbcadcll:l
lklek (S i,j)
0(
C(l)Wal(Sllh~II(S, nuev
suhcadc..~na tiC1K cudcna cour rcsuitali().
dena, d cb c
" "p n: ir ic ar s
c l m nn cr o d e c ur ac tc rc s
l'.DtIlO
[>11"\
l'UltcO
(JP~T'Udo
ejlIe
d cb c
1 () 1 rrsc pa
t~::; c l
nu
-;
IL C.\l:i~
la opcra"WII
g cn c
un
ulla
nuev
"",kl1<1 1: "fWt;
de ipll entrro; c nt on ce s
<'P<'I';'II
c uu ci o
i. .I
I»))
0<;
L:nglh(S)
+!
::;l.cl1g1h(S)
produce
Cadenas
cnteros
H er no s d is li ng ui d! l v ul or c [ 'l li lT " d e v al nr c C:\(]LII:1 (ids l:'laic-, <:SI:;ll d "l il l) il "d " po coruil las) Para disl i ng ui r c ~I () , v al or es , l o kngnajc' tit: progra 1)I;Il' i.m p d e gl ) ; , 1 0
to uu
l.englh(S)
mi,'lml
Ixngth(S), p;,"'" i, j, .It:: lip"
(S,
IXllgllt(S)
".101
L'
r o d e c ar u t c e s
do Li
de sul»:
d e l ip u
La OPCI"J(:i<")]l l'kkll' i-c·si1llU cankllT.
(i + . 1 -
j,LCltglJJ
SUhSII(8,i
s in o I:Hnhit'll cl 1''' 111'-dl" inicio
lornu.
Suh;;II(S, i, j) cs 'a,. dOfH.Je eS el puuto de inicio, -: LUIgtll(S) ()
de.
c~dcn;l
espccil'ic:w complct.uncnte
n o " ,' ,i n I ,. ," ,, ,[ en a o pc ra ud o
~uhc;;dclla [iL"IIC 111l o pc ra nd o d e IiI''' ('(JtiCI)(J, un rcsultudo de lip.) cudena. Si SC' dell Ill POt]"
.i
un.t
cadcna, d () .~ u pe l, md o; ;
fo ua como
Subcadenas La opcracio
I»)
(i
I,
licIW
slIl)I'e.':i(in
entero,
i, ,cngtll(S)
I), S').slJh,tr(S,
,i
Lenglh(,)") . '\ ,S "
c l o pc ru do r
COllin:
C\)llca(Collcal(Sl,h:;II(S,1
h,,'.
cs
,mcl
v ;; !i da s p ar a C [l tk ll
d e i n c rc io u t ic n d o o l' c J nc i : ; d e ( il ' catlcna, uno ,It" tipo «utero xu n'"lI[I:HI" {' de ",ade!>" S,
hrn,
doudc " D e I ; r car.ictcr
compuestns
l:11h:W
mancm.
1m cntcro, l~sl" ~c cscrih
Si
una cndena, <'sie sc cscrib disliuglHB de prugrmnaci(m
CUlm)
na 1':1MEI~ s"('~nihcc()t)ju ~c""cri!,C como ELlvfER.
'EI.1\1EH'"
'1234' u"121,i·'
"1'111'<,a lorcs cadeil
emnu
1 21 4
1 21 4 eS
Dc Ia mism., Inaner", los 1"IJ~ll",je~ uombrc dl Val'i'lhlcs 101 <'.iC'ml,lo,
ELM I-:I{ ]a L " o nu it uc l , k la ~\I],,::j(k])({ cs], dctcrminada UnCI :\]11caci,',n
l a npet';!ci<)JJ ~!lh":llkna
['01
cs, pot <'jell1l'ln, d,,~ll(lcet' ill opcr.rcron de
' I. n l Ie s o pc ra do rc x
concaICll;H:i("llL
a pl i a r- « SUhSII(CllIIC11(S,S'l
ILCIlJ!lh(S)) cl r..s ltad
'" S.
j un t
pa
v :n i h k
I!l cl "lllel'O
Suh~(r(Col1cal(S,,'?),lxngth(S)
I-
,Lenglh(5"j)
lOS
S'.
(,UllV~:l'Ilf::--:"'_'
t cr o
l k c ad "' ll a - -l ol lg il l1 'd , qu
~UI1
c on en tc ua ci o
, it : t ip o , I dal"
~111)(~a(klla-- nu pucdcu Jese:JIII()S
12'
'3'1', qu dacorn C;'JdC1WS
I'cs,tilad(l' sc In~lHcja
1" ,tWI' cl cnlcro
la ""ncaICIl~lCi(\Ill'
la xurna COil 1"CSUlllldo4(). Sin t'lllharg(),
s e. c o v i r t
l.lllct" t.\" -._
ca.lcna. La "'I
<,InC'IJ,hre
34, (,',j vcz 1l011()Scstumos rdiricnd"
2 3· 1 s in o l ll ,i : b ie n CllW'a(l'tlar Ias";ld'~nas' vccc:.-;, 1 0 : - ;
"El A1ER";
ci..TI;lIl1c·nle c'' vali.l
12"1,'[',Ie- l
12
1l'~\lh'HIl1 .. ;\If',uIl.s
(~~H_h.'nas,~lia
(h;~]1ne:--..
10
1<1estructura
irilrodlJCcion
d e d at o
CapitlJlo
11
ESTR CT RA
DE DATO
EN lENG AJES
dan ,,j pWgranlado)"
pJ'Ognnn"cir'm
~o:;
tu
",
po
slle:,lruciu
v ar i b le . U n v a i .i bl c d d
",,{"inidus tiencr
,Ie
ra
dircrl'll(e,~
piladnre
(otnan IFI,i s I'l s cr i
es(ahkei
<'Hi(bdo ell'llirio ,~cn.uevo
de li[1o cntcro
"pcraeiolle::>
gl'lll'l"~lIl U I I e r ro r i ci n < .' ll al ld o o c. ur r u n i no vi mi "l ll O
III.
cat:.ictn
e n COBOL
I]ain;l]',i COUNT, e n va nt 10 variabh; "",-jdcr ~e llamar.i SWI1'(:I/;}' de1l'rograma dchc incluir:
FORTRAN,
(ic'n''!1 !ipn:;
que cn'lPic:CCII (Oil I, J, K, o nu n clpirciiiJIfl('ni,e,
variahln;
de or
Ell algulloo; ) It (l l' (' )s il {
e_i<:C'IIc:i('I ),dql<'ndiendu
Pa,~c"l,
ejelllplu
usar!»,
c:
o n d e lipo ,'lllel(_!:l
de' la, ' :s ln K' lu r' h
dcclaraci,'ll
CSII'llclllnl
/;J
Iv "N
illll'li..:il;ltlJL'lliL'.
ddillidl>,
m on o
C0K,IOC{)HOI~,hayUIl:1divi";i'JIll'sp""i;li
lcIlguait'~
p ri uc ip n
de daos
dl' un.i vnriuhlc
de
qu
<.led]', la~
~ c d e cl ar "
cn un program"
, k d ai ll s
deh"
Es
I 'l l o tr :» ,
ellyn
le!Jguaj<:~, pot mll.c.o; , I e :
dccbra'h
previalllclll<.:
itlc;!mcej,')Il DI_\CLARJ: pal'" I" defilli('il'lll de dal()s; Pac;cailir:m.' "I ell FOHTI~t\N ex iSi<:n I(ls "mll1l'i'ld,,~ INTcCi/'H, REAL 1)Jl\IFN-
tiencla
cnunciado
var:
SfON.
digilo~;
Iii vari.rhlr-
I"'H>!e"!la
DArO;;
I'ICTlJRE S9'N. I)ICTUIU': x.
Cl'l lIpilad,.>l'c;
k ng u j e om a sc al } O B l " rc:quic)"t'll que cl Pl"<~g!"atnad()r cxplkiramciue dL'c)ilrco iii cslrucll1r;l ( I < - "ada v:ttial)le el clIIpkada J..1fO,Ql'allJ: Otrn.~ letlglJajc~, ejell1plu
d"
llumnr.i nETA.
'Q'
"c rculizau
XS C T R f' :
A lg un o
por
u n !n~ixirn() ,'it:
~()lllpiJa-
como
cuatul
de a(l ,'"rtel Icia, OIH'"
enll1pibei('lll liClllPO ilegal. 1 I "p na ci (
d l : las n:glas
algunos
aIL,h('lic
ilnpred.:cihleo,
lu cua] genera l'e~lIlt:tdu;;
~11no COllla!' COIl1llClls:Jjes
atilllll'licas,
r i v ( '. [ il ( (, : le i ,) n
Pot cj..lllpln,
''<)][1-
de p ru ni tl va s
S O l a i 'O l" 1l 1< l r ,1 1 l a cuales Uti pmgr:lllladnt Las s ig ui cn tc s C OB U . . p un l derillit " a r i: I I, 1 e . . . con cstructum de dulw.; de cntcrox, ho()1c'!I!()~ earadcr(;~_ Slll'nilgamo:; 'I
llpnad()nc~
pl'ugmrnaci()11
bs v"1"iahk:~; ,dgil11"
( I( !' .. ,s h r cs po ll :< ah il il ic "
Declaraclon
IIUc-
v,lliIH:s(kfinidos
aq\le/las
de datno; V"l'ios
e$(nJdlll';j 01"d'l(
no (lclll'n ell rcalidad
dnr"s
qu
igll:J)'
eOHjlllllodc
eslnlclura,~ dc a T
de "slgllat
In:Jlll:tas
1111
CiC:Cll(,U·,"t: II.l[ela vari'lh/e
I" l'~!n"'(llra
p "t ~
los medius p a
' u v al or e- , ( k
I0111
dillo,~)' S(',)n piled,,!!
C OI lI ( v ;i li da s
DE PR GRAMAC
La S, ell I a d al ls ul "
P IC 1' lJ I
: si tl l
c l d u H t T n; 'H ni en l
p :. u -
x .r m
COBOL
d e ( _, () \J NT , r"l)t"Sl:!JTi
tip" dc: d"lu de norubr
l'aC1eri,lica
l,1 si~n,)
tll:gatIvos
I';')ahl'''-,
p,mL "snchr
,; no br
el
igllal 'Y'
,;
del"ille para
IL.'IIl:f
,'S
1111valor hook:Jll()
pClr:)clI
cl valor hon/",mu/a/,I'o puc, lc codifi at
gtalll!Jdor
vinl,le:lr
COil l"s VI.rOr-,,~
r.]
Hlml~rica,
LIIIt:
I" ,'a un daln
d e (:(l11lIi"i'\ l1 Sl' jllll:ckn ''1111'1'''<1'"11 ill:;TrIlC-
cou.licionalcs. Po cjcmplo, a ql Ji , c l nivcl :ill
lT
,1"1 v.rlur S, lIc'C(:sila
e l u n n v at "i ah l
l ug u s c p uc d
lIalllacio hnnkaIH);
( I e - condicion
dClI1C1!(al [>lll'de a;;l1tllir, ;\si, CUile"
d e v a o rc s
II' SWI"I'CII
otro valor
cl ll(l!llhrl'
verdudera
I.'(lJldit:iclll ('lIilll<
101,'I.[)A ,,,a
de I'LI)i\, 1':lJlunc<:.s, "I I,m..
TlIl~N
1:1.,')1..:..
s tr u t u a s
at
e fi ni d
po el pr
r am a en /lIg:tr de
l'villchu~
kUQlI'll':S
esrn"'lm,'ls :;J_ru~,
de d:do,'; ,
pOl'
d e d at os .
de ptogr:lIll,'l<:i('m
Algllll",~
,'sl" C:.lt:lekt·Ltica
V'Tl'S
pmgl':llllat/or puvdc utilil.ar
para ddilli
E l ] O l-lllilllUs
cuprtulo-,
que
ja~ C:oltlldllI'8 "
IlU piled':11
c l k n g u ". i c
(IaCkll1 dc rnUTll't'a explieil;l ddillid,'1
L1e
de d:dus pt"ddillida~ "olt"llcllIr;Ls
l l hj l ll " ~
C(mjulll0 d e ( l 1 "' r a. :i ( )I W S
(co!]lliTlIIl<'nle
Ilantada
siS(etlld,
"1''''lli,<1
dr dell!>.; m:i
entre
dose <:IT',0';
1:'llic"tncll!e a'jIlLllao.; '')In''ej(llJc. ItiCl'i 61l de '1 ~ an ci .a s d e ('.sa...;e:\h[[(_[~Jnl:-;.
'Y' TIII~N
1'1.~ r:
clJlJtlciad()
de, Jalns, Un d i s[ l ol J ih k : ;
('l1"Ilhi,'11 s"
<:1pl'ur;r"lll:ldor
P , j t" : l I I n a
por
liI'm son h.,.; )cngllajes
l'1 l'I'U[':I':Il11adnr,
"S()"lIC1l1r~
EI cOl"llpil:lllllr CJllpkllV:
.a para
nd
qu
carac It..~t:"~ III ueriL'tl.s.
CO NT
i ud ic a que
complcto
dl'. lin '''.'niull(o
vnlol"cs
lull1"l1
COIlOL;
lo
vulorc
< I I ' L'w;,dc-re" l'(")lI_jllIJIIJ de
CT
di- jll'C )FI':nll:]ci
cxccpci
"""Ie:;
)eJlgll:ljc:s),
pet"
del ptogr-:JJll'ldOl'.
d e d aT o pmpUfciunada,; PUt
dcfinilids
I'lled,'1
II FLU
(;Slrnnllms
d" dalOS Ttl,i" C(lITlllUes
d e I I) : k ng ua je s
".~Irllclltta~
( : ]1 1 0 >
('Oil
111111(>I[)h)"" dermid(l
en
al,~lIlli.l~ dc la~ eSUIICIIJra"
Ill;i" tlo(:lhlc
( C s l: i l O r i C ll i :l d n :- ;
i t S ll S p ro pi a
cl kllgllajc:
~"
:i<:
una "slcllellll':wi,'m
0 1ws ;;0],[ <' la
ci
de l ) I" o g r al r ), I "! < ' ll ll ] l1 l '
d"rin
qllC .s" dd'illt:n
dire-clIIITWlll<: 1a m aY 0r -l a
itlalle"r
l's(rW;(uras
prilniliv:l"
di:,;cIJTirL·III(l.,
diktclwias
IIn> de
plledc:
<:Illl!wi'ld"
sc
dc
ur: C<.>njlllllo predci'illid()
prllg'alnOld()r
pr(lgr;lIll'ld()r
()ll'os,
ki
al
ol'rnTII
P"t"
,:;,
1'1
Dcc1araci6n de primitiva
en Pascal
vu
dcci:lrcl de
(k dalo:;
rerlln/.a i:J I'e~-
Un prllgranl:ldol' c i, ,. ), ,
v ar .
ell Pascal
P OI ' < 'j c l ll 'i (l ,
h oo l" 'J l] al la ml ". l
s wi tc l
(kcbr;l
las ,,_,[nlelm:'ls prillliliv:IS
p :- JE l tln'latat
1111lolrlhn,
una
variable
de c:lr:i<.:lc:r
mallipllI,'JI" ill' .. Var
J~l[!f:~~g~
swilch:
huo!l'~m;
har;
r :n kr a Ilam:ldL
de dato
lIsalld"
1 1 J 11 J! ld :l c o nt , bela:
n"
cnuu
,,:enable
l nt ro du cc io n
12
EI mnucro d e d ig ;" "
" 1 1 ( 0 < '1 1 1 -'coI"l<','!e C()l)t~"I;H "I [ormatcar
t'
",'ignar
Declaracion de cadena Las ca
s c I '\ le d, ~
vuriablc llamad
"I'll
n][(ECCIO
E! :llfahdn
de 25
L'(1I1JtLll[(I
1"
s(' ,";eI"ih",:
I'm cl
rcspallbd"
c,>
la Ionu sc
tilt!
s e l 'u l
d e c ad en a
pa
po signa
p mc e~ a
d e alrnaccnuuiicnto
qu
c ar l
del urrcgl
c le me n
10., c.uactcrclos a lT cg lo s
FI ] cl lg n aj e datos
dl'SpU~'s
d e ~bt"s
uctcr
lk.~l>" h''''''I' "CfC:Ll'IKi:L i U rl u :J 1 O
c~ldl'l,a
"I pL-ogralll:1dc>r
design"r
I()lmada
t i l l
10<1: 1
de]" c.ulcua.
I" cadena de "tra
p,-"II;in Sl"L ld'"rl'ncind"s,
en .:1 ,iel,il'Ul'
1 1J ,i ~ del:dladallLclJlc
P a S C "I )W H l li t
"01I1[>L1<"'"
t ru ct ur .
qu
"dircccion"
Ibmarill
digilos
Cnnsicic-
c'lj,il,J\,,_
nornbrc
c s tn J ( ~ tL l t : , I i
l ip " d e v ur ia hl c P O L ' char podr:; &it:-.,'Jt, " I n or nl -r c d e c:,dell:l"2C,:
nuevo
primitiva
l o c uu ] c om pl ie s
/liJr complcmcnt
Dand
l,lS cutcro
que' las v;lrLrhlcs
cSI'C:c'ifi"ar
l'udl'Ji
noiubrc
dirCTci,ill ti"I"~LI
esta cxtructura:
~ ,. u I la ll la ti ,
1,:1d"" "i"u
de cadcna
d es ar ro ll am o a lg o :;igllo en s u [ on n de sigtw magnitwl, cncons i n n c.nl][t·atin:s~ l a s um a _L.:;.e. COUvlctlt' t:!I Par"
Ia form
cvitnr ,,~tc probkma,
IhllH"da
os ddillilLH,S
I~ de
SO]]
X' " " " 1 < '
IlatlL:\{k\:;.!;JI1!WS
C()JII!Jlr~m'''l()
X'
cuaudo
r/,'
co
,k
r"l'tcs"lll;rcj,',1j
vcrdadcras
R -
Ius ciucro
rir'comptcmcnto. un
l cc ci o
pr:jclic'
de
o r p lc nu -n t
d e ]a coustante
R,,~
L11"1
,],)10:-:
l la ni pu b
catll'1W",
n ,l J
2",
< I , ' _ I I i dl'lnlllina
1<~Jl1c's"ut"hl
"PCl'; l(I"fl:S par
II! manipulaciun
< 1 < : variables
cuyu
I H, Un Tf ( ' [ () S "1"'COHOI. tien« STRINC; l J N R IN U En i en gn " j e qUe" uo C< I lI i r np : l radon's rll[!
ri nc
t~
l'OivllCia
Algunos kn uajcs ticncr: int.-gradu,
de:
n um rr o
00 11"g:.liv()s
i na ri a
.. Operacionos
cuaudo ~c cl valor n at u a l d e una
s c) ' 1111111"110, la magnillld de LH tI" la t~..mpILlad"l':J, I" I""gl)-I[nd
de complemento
/;)rJ!JtIS
I -: n un u , m
C ' st c s c cklx cousidcr.u
,k
dc' :,]rn:J(:cll:ll1licn[o,
f or ll ,
!".,
llL';:; (+ (_ rWU()S (-)
l~i." . Colt fTccnt:lJci~ ::-:.Crnite
v:mll."J
Ia rncmoria
l a o pe ra ci on .
complernento
(J
complcmcnto, prngr"ln;,dut
c - o tr a
Hcpresentaclon
respccto
Ikspm's,.:1
po
Ell
EI SCI" hum.uio "11 lu v"us J X ' t ' : 1 s ur ua r riunos computacionales tr.ucrnos que u an d l o o pl ' a nd u
pur LIIOSigLH'
pl'ec,:di,b VO:-:" I"CSpccI
Sill ,:Illh'lrgo,
di,lriu
haxc I() (,ktilrlal), e n h:1,,', 2. (hinario).
s ub st ra cc io n
L'S (!'" ,,<'sde signo (ILL" lIIagl/illl/l, (k numeros por los h u a u s . L a a gn i
'1':,- 1.,1t)l:lgnilud
('()mpuhd<
crnplco
Lo arrcglos se dcbcu CIl11"""U'
pn-dcfinidas.
p;.ra entcro
. .. . :- : t H" g~ l
tCl'n'~''''tlL1 ell
r ep re se nt »
d e o pc io nc s
rcprcsnll:Lci(i]]
de l ~t lt t_ "n ), s p ox it i v
n wd i: H, k
f or ma "
magnitud
cl ~iguo de m:L-; (+) L,:11 LLSc)olidialH,_
e n P as ca l
v ar iu s
pllL'(k
. .i("il n~ic:L
d e 1.111 o uj un r
por ILtL" hile :r;L.l e
rL'])res<:nla
I')j_\ica, L'Sqm
Ell ,.~t" ( '< , < "i , l I 1 Sl' diScule]] all(OJl 'S P ar a c ll o " I) !: "l l" ~ c om pi la cl or c t om u [(,d:L,'; Ia" cnlcro«. la r-cj>le';clltacj(\11 rHea utilizar, e L 1 [: ll l[ ( q u e n [ I' ,> , < pcrmircn
vouvcncionnl
s e t r. u
dl' daln,
r cp lr sc I0 1
x cl cc ci on ar lu s
Rcpresentaci6
compilu.lor. D cc la ra ci o
W ,c cs :l ri a
Una forlll:J p os ib l
cane-Incs,
ENTERO
de 1111'-l""tnwluw
(~;lI-:H:lnislic'l
al pr-ogcatlladur
lIll
PICTl.IFE XC.?.')).
1:ls ",,,kim, e~un
paL' dcrivat
Un'l
Para d"clan
car"dnc~
13
(l/ills").
decisi[)11l:S
n il gi ll l
urltc~ros
de almaccnnnuonto
p o i bl c d e a l c cn .u ni cn t a lu -r na ti vc s p ar a u lm ac cn a
('Kii idad ell COBOL,
uu
Forrnas
FORMAS DE ALMACENAMIENTO
ln ('scritOJra;
l:! kell]r"
Lib, tvcrda.lrro
tr
en COBO
d cc la ra r c o
Dircccio
Capitulo
1 <1 st ru ct ur a d e d at o
'I
, il id "
iicu
LE
"l'l'r:oci(\llo
,Ie cad"",,-,
~, 7,'" sC I,''_; Hj1rc~".'n[:l('i()ll I OI 'l li a
,]
de -"igllf>
n'aglli[uJ
i\ los " i ,' ( t( " m' L \
c o p lc ui vn t e11sislema h i d"
,- 2"') para R-
cntcrox
1 ' '' I > I" l ' ; C l1 t " { " I " n ll T O
p o s it iv o
C ( ll ll l' km cn [( )
v{'I
de 2" cs 2,'"
sislclll:lS
cl",; ("_',:11"1,,
uunl
"I ltc[", 'S ' 1 "< ' , ' pucdcn
l ~ l l' :l t lg '
el C:""lll'knlClLlu
l:Olllprclldit1()s
r"pnos\COla
I., 'O all',
""Ino
El ",dOI-1L L"Y
r"l)n:~"llt;Lr.
( ] " ra",:f()L'-nlaci,-lll
dos,
La tabla
qlL "-,,an
1-3 ilu~[n.
la rcprcscntacion nll1)C(l l1egalivn
(-Xl;
lu
,h' COin 1 1 k . . 17, I"
La
forma
X.
p c u : d e l on n r iu n t ic a s , , h, ' c nt v o s e p o '<'II m';~ , ,, kc n, ,, I . . p ar a [ u c 01 nl ,u la ci ur a q \l e l o
...
14
Inlroducci6
Tabla 1-
la estructur
Dn~mGtnlllls ,para I. repH~s.E>fLt~.cinn de valorcs e rd r: ru s
coruplernunto
d o~ ;
de dato
~ iy rl D 1 n, )Q [l i tu (
Capitulo
_
flt;~~!1 illl(1
_._---_
..
Formas ue almacenamiento: caractcros
bi Decima EBCDIC) ·nn~I·lI:lI h
i-n
..
15
en hinario
.\i~,lh)
I)I~: I~
____
Codifi"'J d(H-l Hinari (Exlcmkd Binary CI,de Codigo E,I,inda Aln'.,ricann p ar a h uc rc .u nb i Information Illterchange ASCII)
J)ecjll.lalllll<'r~'hang C:)(k, (Atncrl""n d e I nf or ma ci o
in,
EBCDIC III --()
1001
I){I
-,
1\)111
1(11
,I
III1I
-2
(JIll
+f!
1(11)11
11011
1110
17
f"I·rll:l:.
(111111
v,'r(bd~·r:.:-.:
[illil
II!)
OIHI
I-III
o nj un r
0111
all tl"n'Il~H
tielll(, ut il [/.Hndo tJ '"
l'onll
de c(lfltpic Inen to
hI-I,
. ("()J _
rcquicrcn ((·s dcc.r
q ue : c l u·,digo
en mavuxcula
s e d is po n
de q·,dig()s Huffuuu.. ui
ro
re que
de
""1
cl
l'(\11
hi Is, dependicn
mas f rn :n c{ ]c i 1',111"("1)
It II
co
de h i
co
cl patron
m ay o
un
(IlS"lld,)
H~ 2 ' - I ) ,Ic Ir,.'i('Illet,-,sde interv.il»
1 < lI O prop<>l-eiona hs tniSIl!a, cUllpkmt.'1I10
v"I>laj'iS
d,)s Sill ( 'I n h: lt g\ l
"uhf(; la
[ d gl ln ( )
de
:-.lJ.!Tlfl
rq1n~"<'rllatl etl!.c:rn,'; pot kJ))a l'S
aln
tuccnur
Jrl:lgllillld v:lri""i,in
c nt e o s d ig il . p o d ig ll n
FORMAS DE ALMACENAMJENTO
Cnl"110
lIno de
rldc()tnpl<,tI1el)(()
siskln<\
~ign"
magnil"d
,dg()rilnHl~ "tiIIIt'·'liens
dO'S')ll u"i" eOTnl'kj(), s(lhrc la Iouu.i dc·<"()tllpir'meut" f"rma de · o tH p lc :l ne l! ld " 1 1 11 0 _ fOrlnas
1),1-:1
f Or ll 1~ 1 t .l c
111/0_
a c i o n d e c()Il'pleUclIlo que
de <:Ot"plel!lCnlu
h:.srcallll.t~le
,olm:- I:t magnilud de:!nutncro. Un allnll;niv t ra ta nd o d ig it o c o n « lHI c:lnldl'l"
,,1\
la labia
··, ~"
1p
tC:CUlIucct
J()
rcxultuntc
carach"rcs,
COlli pi lador('~ surni ixt t-an s,-',I una Iorma para aJ rnacenum ielll( dc ""r-a'.'icTcS. 1\ lgunox, xin embargo, pcn.iitir.in ,II pmgr;J1l1ac!m cS]ll:l'IIICar el uso dc.algunos c()fligu
Mr ichos
CARACTEAES
, Be D[ C
c,idi"n
.Iar e,>c'l'ihi
d al o l id o
( I . : da("o;
los carucrcres
meltor
so de codiq
Gil un prng\W\Ja, POI' ejcmplo,
l:Sl]u'-'lnac;COliS!)par" :0 rCI't,·sct'lac:i,.)]) i.o" do c:;qll(;llta~; prcval""iclll<:s de codificac;"'11 'J)Jl u"digo
de bi
cfelnpll),
ta
~t;1 cudjfk:HI" IH_':C~.'- -i~ H-io
p uc .l e
un rr<.>gr:un;l ell CO I{)!.plIede
C()tJlI.':JI r:-;l'
d e a lg ll l
lccr
ihilidad "I>I ,. di l-erc1
en ASCII,
rcprcscntnrse
C ll l p ro cc so s
e p r s cn ta ci o H(lY en ..riacxistcn inuch.»,
rcl.ui
rccucncia
10:-
'Hll>;)' otr,,;; "'11 tll:;:; l'()illplrojo., enl11ph:lnen!O~
1 ., ,
-«: rq"-''_
1;_,acnIL~"_lahlc rcprcscutur
-Cpt-"'t:!ll'l<~il'ltl ('ntnptirnida
proccsumicnt
e sp ec ia l
Sc 1"I.'l'tC"-'I1I:.1Ot Ill>p"tW!J
eI ecll'~iclc:r dc
l a tqm.'scnl
Po
Ia
de
lo bi
101111 ::iccconocc como sjSI('IlI~\ de c om pl e c r
< I , . p ro po si t
,d}_'UlIO'>
lip" de ,,'" 'dig.), los c~lr"cI.l't("
En ('si
v ur i a h k
O{:lIlTCI
r cc uc nc i
rcprcsentu cl cur.ictc
C:lpitu I, >, sUf!_i"tc desilm ) lI a
1.,,1
especial
la aplicacion.
de tr;ln"lurtHaci,'ltl
C l n ic _
posthks_
p ue d gc~llnar ill~'lllYCtanto caracrcre un'l grail cuntid.id de caructcrcs ex digilus
minuscnlus,
de proposit
l a familia
rn
In curuct
Ill:; e jc rc i c io s a ] f i I I: !I d e
c ua lq u c r
56} cornhinncionc-;
B CD I
I':nlre nlro~; l~~qtJC'm'lS cit: c od if ic ac io n
d < m cn o
!:-:SI" sistellla
para n ,p n ~ " b r Cj
1'1ASCII CSW l<"ltgO by)7 "umbitl"ciUI1"~ p()sihks, las cH"k~ so la llIil,·".i dcl numcro de ",-,raelnes rel,]'c sctlr"d(l pu cl d)riigo ELlCDIC_ I.a \--.:t II"Ja cs !i'l<' C;,ti;r c ar uc tc r c on xu rn c i uc uo x alIIHlc\.~nalIdcntu sc rrunsmitc con [lUIS rapld(:;:,
senran
de
Representacion
I·
d e caractercx
Esqucmas algorillrl(lS p,ara!~,aniplIl"r cntcros rq~rC~Ctllad~')s pOt· I" i"0I1n<1de signo lIlaglillid. Dc cslc U lu d' ): :i l : i tu-ncn que: Cjc(:lIlar' u!llci,,-,s cakulo sohr unn variable ,'ukra, PUL,tlC S e a co ll sc ja h l c n '!1l'l'SCUlJ tb en
< : Sd c : 8 b i ts , IClseualr:s:;"
(1
ASCII
uoin
1,][11
COllJllf1 . .
pcciules.
l)rHIII
,0111
.
alfaht'licos
[ tr i
<-()JI _I
CO H!ll ,lll lIJ),
1III
( 10 1
I
d,.o
1110
(101
-rC)
!"~[lll;~
H lI )
011
-l
EI cl'><-!i!-,:o BCDIC
1011
j(~1
snlm: 1,,,.10l"lllJllid"dc:.,d,·
ll.s"lld,) C(xlig""
intcruo
"~c:ril>tt ,_bluo; ltsand,: <"(lllll'''!(>'
On'o
Il'd ad()_y IKHlla!b_
dc' l In tj ,' n t d" d
,bh" (laos
1"-, ."'-'tI compur-
o tr o e qu ip < l
d e d at o
numorlco
tipo ,-,,,r:;<'II:[.
lukrc-am
L"s :Ird,ivos P:ll',l ,cor inkre~lmhiad(),,; EBCDIC
'jll<' l:slc'n
(1I1r,'· LlI
coinputadorus
cinta magnd
t e' " , )
~c'.
c s i bc n
Ir:,ns!IllIHI"s
p u 10
eneral ,'
pOl' tclccomuui
Introriuccion
16
Tabl
1-
CoJiso
pa
HtJfflll'-Lr1
Ia
slruclur<
17
tu
do dato
a ci on .
un aplicuclon pClJli c1Jla r
or
llsatio
)c:cncr-al, ""tc ,igrlo f)f).b ~}_7
()
4.!)
:J.5
/}
:{
3_ 3.2 :LO 2.'/ 2.7 2.2 UI 1.2
monk J)
1.1
lUOO
,1
o.s
0.13
0.
o.
o.in o.ns
(1.03 003
n.n:'
0.01
-:
Fue-nte:
O.()Ol
M n r i n Com/Hun
h H . . ~(n1), FI!.~ _ L ! . l l :
1101111 ]011110 1111IlO 1101110 100]1110 00 100 1()ll11l01 11)1l11l 11111110 1111111 1I0111ltJ 100l1l1Jll 11 (JIll! [) 1101 1111
{i
sell!aci{'m pur C:Lr~.clcr.
FOR AS DE ALMACENAMIENTO St
ell
'sta scccio
dt'.
ccnumicut«
nub
il
d Cf l, d
ha vist
limita
~"
ul n,
Iii
dosdfgi
no S(>It) ",-,11-
+)OJ,
ll,allri()
i lu st r
val'i,!s C"~;qtl"lllas de rcprr
CADENAS
como
p,\r
pata
cmpacado.
til]'1"
Of:enter()s entre -')0]
dCfl'1lI0S bs ultcrn.uivas
Sl
Tcpn:,"'IITall (",; caracic-rc
I: rcpr,'~;enlacic'>I de rcpn'."'lllaci"'ll
d e )l'ngillid
de f"nn'l
individual,
, I < : cadell:ls «n <""l'acill conriguo:
rcqucrir.i
COllS)-
disl'll"j,"'l)
(:;,,),'1[:1;
fi,;ic:lmenk
cl alma-
" . sP ; l C 1 p ; H I Y : Je l O ll 1 "
1":\1';1
,~n~:s_
(~It~
L()ll~J. !) !) !)
to
10 10 10
IUOllll111 ]011 111()O 101111110J 10111111100 101l1111]Ol 10111111110
101111111110 111 0111
de
[(I I"<.":III;[(·i,'111
'r
rom
m,
.de c ar .] _c Lt ~r e ~
O.fi;)flXl+O,112X" O.ZOG
0,0 1~_ 1).005 [J 0.0017 II + () .O O I XI J
.c
"-:?.
onoo
. .. .: .. .
LI f'l.lrllJd de alillaci.::tl~.unl(':n!o
1\:11(1 (k:-;.crihir
(k>nd".I'Tlltilla
(1<"11<1"nruicnzn oalo ::-:; ;JPllllLh"I()l"~
O .( )O O: ~ X 1 2 or
t:al."Ztctcr
11 II 11
lOl111l11111000 ]011111111110010 1011111111110011 1111111110100 1011111111110101 1011111111110110 101111111111()lll 101 111111111 1000 1011111111111001 1(1111)1111110)0 101111111111101 10111111]1111100 101Jll11111]1101 1011 1111111 III 1011.1111111 1111
nU.f
la
Ii Ii '/
,IXL" ~sl(lS l'{'ldigus
Ju
Ii (i
c~ '"
d:llo.s 1UlU("rico;:.i de nrancrn uui-, cOllci:-;~l .i] almaccuar
cl digiln
IlcJl'11
Ii
110100
D{Jn
; H· j " "
II";S llsacla C'scl i'ortn;ltn decima
"llnlJati""
e n Khit«, en l11ga de uno (l'III:J1CDrC)
100 10 1011 11 110 110
no'!
H .rHCScnla
,ul iLi(,ltak~
o pc io nc s
vuiz,; I"
ClllnllS,
Fs~e e s u cl n
1111 ()
0.'1
1,
.cprexcnuu
11101
o.s
0.3 O.2f> 0.20 0.15 0.15
u'!lnero
de decimal ernpacad
lOS 'co )111)'i lar lot"", o fr cc c
Mill
;J
JIIOO
l.0
0,:)
Sl)I)
tn,'llUS se. ;111]):O"
xt: "h";.\cCIW
cprcseutucio
110(1 ]()(IIO 10100 10101 01 ()
0.7 _G
it
de: caracrcrc .... ot! Irccucncia
" Il kr -! ), .
II
o.s
I'
:- c~qucIna:-.; de cDdinC;lCil~)ll
tnnlu,
1',,1' rqH'''''''lll:or'
por
c s c l i ci cn li fi c; "l o
l te rn at iv a
ahol'a
de
\11))
i:
l .' () nt lg ll u
d e ~:adc:n'-t''';~c......u..':cc..;:!rll)
convcncionc«, hahlan::mo:- del lip" 1 . 1 "
apuntmlor.), vuriublr 1\-h1s
I nc "l id a
iDdit:ar"
c;ldel>". I':n cuda lIll" deb,_; ,igllienlc~
d e "lm;tcCllaln
'l'S
i( 1110.
almacenarnie nto
12
Hi l(
H; 16
'-lI
II;
LHCI)IC
II;
AS('lt
IG
1111H.11l1 OIII()(11
111WIlI)O OIIIlOOO
I(W JlOlK )I)
( Hi l 1 1 10 0
H('I)tC
1111111111
1111()(j()(J
1\,('11
nilimll 1011[001.1(1
16
111111011 If! 10(111
11l1l11l110
0101'111
1.6
11; lli 11)
()"g.wi?~Jlirm, 2J1(1{·d (hl gk~w~ ,nod
eli
1 . ['n."lIL i, T . - ! - J : .11,
(I 1 I 1 d 1) ( 1
111.11111\)1
11111#)11 O ll (l l
(j(IIOI~IO() IJlIlIIllI
.Iccir,
18
lntroduccion
en csr"cilJs
CD FC
nombrc,
l-ormas de almacenanuento cadena
US<'ll1n~ CU[lU '[le])'_
cnJI[igIJos_
CADENA2
I. Guurdar
la PsIJlJctura de dato
I a t ah l s ig ui en l dircy'(,i"'Jl de inicio NOr-fB!-tE
COli
i nf o
'AfI-
a ci o
ad
v a i ab l
Ta bp nd
'.
cpre scntacio
i\1 '1 '
do.:
,\1''1'21
pl'e~"nl "eic'lll de ",,,_kll
.01>
della consiste en gllanlaJ tigua» dt: almaccrl:IUil'lllO,
<'(>11
APT21
CATEPE'I'I,'
la ,~i).;LJil'nl" inru[,I1l
ud
un
de
Ill:;
INIC[O
CADENAI
'T
CADI':NA2
i---
Sl
rcpre-
C<'11<:\I:1[n, euta('(CT,'"
c'mp'lcados
e()lu
Sc';\
11<'[ p al ab r
posihk
e n p al ah ra ~ c on '[>01'0-
La cad"ll
s c m uc st r
ell
1a ligllra
1-2.
I ~ ; : ) ~ ' )' ~AT~ I'~~
a de n
Tf:RMINACION
--1"
p.:tI:,br.l
:2
p;~!;!br.J.
AI'TIT
AI'T
APT2T
ln l r a cc n cc')dign
i\VITr
ASCII, dL'
Hcprcsentacio L1 rrpl'cs(,IIf(l{'irilJ
'_
,\1'1'21
-~
AI'TlT
p "L oh l
":"s ~· (:~I n .: -; i~ k m
1 '_ 1 _ f () 1 ' "
-I;
1-
tuncior,
rk fcdollr\(;<)_'
bi
,.>t'r;1d el mixmo t.un.ui« de la p.ilabru. Sin embargo, e l u u palahra de J(i POt car
on
t",,\l'I' e n u n
L·~un
para
n'>Lligo dd "::Ir,ict
d u h i iksapl'
AI'Tli
I'L'ljIJ<;tid:ls
'rLUngill'd(STl j(-- -'-"'1' d"tlde
""dena
Alg"Jla" vccc-,
CDEI'Gnc
APTII
codig()~ P"l'i I,,~ caractcrc
'YHI{al1r"s C:lt:wll'-res
palobrn
NOMBl~I:
pLlc d,' xcr
sc"ulaci"l S" plll,d eU11'ac.ar0 d",cllll'a C"rliclIbr suponicndo un m,i
.~
APi'll
de almacenalUi,'llln
de caderms cmpacndns
01ru tontls rlct:oe ion
"adl'llaS)
apunrudu
APT21
APril
CJ)~FCi
nombrc
/\1'1 II
CI\[)FNA2
SC
Ii
xr-ru
para
INI(']O
CAD[NAI
E1 i'01'l1lato corrcspondicnr
AIT21 put 'll
cadena
tln'if,~)
cjcruplo,
NOMIlH[
LUNC;ITUD
d" almaccnaruicnl
d e a cl cn a ( c
ti1''-' c.ulcna:
APTII
EI rOl'l)l;ll corrcspondicnt
la ad a, I'
Ull" 1l1~I]'U\ , k' ll l
llsando
,t.: tip
cada variable
pa
~igIJj"lll<.' inhmll'lci('JIl
d ir ec ci
' m cjctnplo_
l on g tu d
IN[OO
CADENA
CIlIl
n om br c ddil"ilar
19
br
una
T 2 h il s con
de cadcnas dcscrnpacarlas de
Cli."~II(/S
dvsc
pacada»
p e r . . c ad a " '1 I c \< '1 ' d c u n
( 1 LI~::~I ~l[uuvicm
.<
en
<,,,,,11'0cur.u.tcrc
]lP :-\!uo:.-t:c
pr mer
c"Il-'I~k vn
'''ClwnLi~t
\':~!l)1 cntcn
LOI
yor
nltuuccrunuicuo
Pu
_ )gl~I)c:r-:d.c ad a ~L!11
de un ca
c a ra ct e
al (fl{:r :_rl~(). ~,)<:.~r!.;"'~~11IPI(l
l a estructura d e d at o
I nt ro du cc i6 n
20
'P
hits
en un format
almacenada
Resumen
se m uc st r
dcscmpacud
e l [a figura
21
m uy or cs , c om o 1'1 D C C YB E c o p ut ud o a s on nu ut lc ar
-3
hi
l a m ay o
17
a lc ul o
CDC 7 6 0 0 , i cn u i co s
l on gi tu d d e l a p al ub ra .
adcc adumcnte
odigos qu
hi a pa ci da d Figllra ]-3
Para a l u cc na r
Ejempl
l a c ad cn a
d es c p ac ad o
r cq ui e
d e u u n ut ne r
i ni mi za ci o
13
pm
d e a .t nu ce na mi c t o
i n e mb a g o
l a o pe ra ci o e s
lcntas en rcpresentacionc
d e c rn pu c d as .
L a e p c sc nt a i o
n o c qu ic r
c a b io s
cl
L a c cc io n a nt e i o
a sc a a s
p ro po rc io n
d e a l a cc na u i en t v al or c
qu
dondc
5('
o nv en cc rl o
d e q ue ' e n r ea l i d
p ar a l a c st ru c- ur n
i cn dr a l u v ar ia bl e
proccsura
d e d at o
L a e te r i na ci o
3 ) l a c ar uc tc ns uc a
almaccnaru
va ia
or
d e l a c om pu ta do r
e s l a o p ci o de Ia memori
la variable algoritrnns
me
os
s en ta ci o
que la repre-
qu
d e s ig tl a
m ag ni tu d
L o a ig or il 1l l0 S p aT a c al cu lu s c o
r ep re se nt ad o
lo
mill
fo
c nt er o
t o d ig it o P O d ig it o
un
e p e sc nt a i o
d e s ig n
magnitud
c om pl cm cn t
p ar a
crilculo
me us eficicntes
exislen?
tonc s, i.pm qu
i c c io n
su
t al e c o
t er e n o u rn er i o s
La razo
basi
e ] B CD 1 A de r u is ,
de la i mp o t an ci a d e los e xq ue rn a Sll c ap ac id a d e r ep re se nt ac io n
l o d at o n u c ri co s
ha dc se
ll p ar a c od i i c
computadotas. i.Por que h a t an to s
x hi hi do s
a to s
el
d ch c
i na l r ep re -
g ru pu s l o h a 113M
DEC,
d cs ur ro ll ad o llsall palabras
trunsmitidos
vi
teleprocexo,
d e c od i i ca ci on ?
L a r u o r p ri nc ip a
' Ju c d if cr cn tc x
p ar < v ar io s p ro p' '" )S il ll S A lg ul la s c Ol np ma do ra s d . : 3 2 bilS. U n e [l di g
p at a u n c at Uc ie r de 1\ hil
t al c
COIllO
(EBCDIC)
e sl e t u ' 1 d e p al a r il s si te d e e a a ct e d e b it s A S I I c on v n ie ll t COil
DE -I
t ie n
p ar a e p e se nt a
p al ub rn s d e 3 6 b it s U n e [) di g i nc o c ar ac tc re s
p o p al ah ra ,
fundar
entalc
(longitud, concatenacio
x i xt e o r p ut ac lo ra .
S e d i c ut ic ro n i nt ro du jc ro n
la
l o c od ig o
E BC DI C
an un bi pa
cl signa. La compuwdmas
A SC l
d e e ci ma l
a g i tu d
rcprcscruacion
S c p ro pu si er o
ernpucnd
en
cadenas
d e d at o
l bl o complcruento
c om o t cc ni ca s ultimo,
»,
p ar a a .m ac en a sc
Ia
1110St1'0
to
involucra
l a c ad en a
suncadcnas).
d e e st ru ct ur a
lu f or ma n
l ib ro ,
caractcrcs
d e s ig no ,
ulrnaccnurniento p uc ud o d e e nt er o
caractcres
c p c sc nl cc io n
c p e se ru ac io nc s
io ultcmarivas
descrnpacada
p ar a a lm ac cn a
I a i nf or ma ci o
n cc cs ar i
de cadcnas, to
EBCDIC
cintas magncticu
en st
tu
La forma
entre
s qu e
su opcrudorcs
a dc l n :
Il1US
b oo lc an o
CH-
d e codid e c ar ne -
en un te
enionces
ccidigos
c rn pl c d o
de digito par digito,
on la rc rcscntacio
d at os , que scran anulizarlas e n c ro s
los mciodo para dcclarar enlcros, boolcanos, lo Pascal, Estos dos lcnguajcs sc usara u po y e l q ll C cI progrumador l a d e i ni ci o pucdc d is po ne r p a SIJ manipulacion.
cjccutar la aritmcrica Si lo
ir
Se estudiaron
d e n te ro s
d e s ig n
or
e st ru ct u a s
cadcna
to
IllS
i nt r d uj c o n
p os ih le s
de cu
COil
RESUMEN
va ia
e x i st c
o f e cc n q ui po s
con-
ADECUADA DE ALMACENAMIENTO p ue d
uy
d e c o p il ad or e
i na l
li
DE LA FORM
cp cs ru
cspa jo xe em
d e a l a cc nu mi cn t
C I! . M uc ho s v cu dc do r
amhax opciorics. A dc m s , t o o s l o v cn dc do rc s d e t e proccsadores qu accptun uno ambo» codigos.
lo
SELECCIO
b it s B CD ) ahorra
E~las po i-
so
representacioncs
d cs c r ec nd u
La codigo que c om pu in do ra s s o e l E BC DI C
d e: p al ab ra s
csto d cp cn d i ,C mi l d e l a dDS o r a s d e h na cc nu mi cn t d e c ad cn a c s e jo r de i de a p ar u situacione dond es objctivo que sc pcrsiga. La rcpreseniu io empa ad
muy importnru
p re ci xi o
limitada.
dc la Iigura 1-2, en una rt:pr,;_~st~!Iraci6neselllpacaua,
en or at
l a m ay o
c od ig o d e c ar ac te r d «
pm paluhra. Algunos
aractcrc
hits.
d eb id o
qlle
u ra ct c i st i a s o mp ut ad o
de lo
S o i nt ro du jc ro n "II rracCtlamiclltll. n po yo s
~Gdebe c()lllprcnuc U5an
progratna
tc dn
d e l a m e o ri a
a lg ul la s
I . a e sl ru ct ur a de d is ci ia r
a lo re s q u
d e d at o
v en ta ja s so
qu
l a e st ru ct u
d e d at os ,
pr ce ur
a lr na cc na n
l a c st ru ct ur a
d e d at os .
dcsvcntaju
s cn ci ak s
ic
e n 1 0; ; i st et n
d e infumlaci''">fI.
Pura SCI'eapar
is
illf()1111acic\n,
cC>lno r"presenlar
u yu cJ a
delen11inar
requ<:l'illlien!os
de ulmacctlll
-.
22
I nt ro du cd 6
miento, qui t i e su i
d is po ni bl e
p o d e e sp uc st a e n p ri me r
t cn dr ri n c u l c
i n t an ci a
en ti ruta de acceso entre l o e l e nt o p ro bl em a
d e m od o e fi ci cn t
l a e st ru ct ur a d e d at o
pu st
d e d at o
s o los requcrirnientos
de proceso, que
q u diferenl"s tipos de dato tu v ia bl es . EI enfoqu
er
apitulo
se utiiizun
a)
de cste libro cs hacia
de
a de n
r ep re se nt ac i6 n
de
i gn o
d e d at o
l en gu aj e d e p ro gr a a ci 6 objetos 16gica
r ep re so nt ac io n
d ec im a e mp ac ad a del complement
representacion
o ri en ta d
PRIMERO or TERCERO not (PR[MERO
or TERCERO)
not (PRIMERO an
and SEGUNDO) n o SEGUNDO and
magnitud
a)
BOYER,
772,
OCL
) C
vocabulario
CHOCK, M., mation systems," HALL,
]2(4):381-402,
J. S.
t)
On
the logica complexity
of
Computer,
a n A . KUI'IGER. "Manipulating dat structures 14(l1):43-.~O, Nov 1981.
DOWLING.
Dec. 1980
TURBA. T. N. "Length-segmente
" Ap pr ox im at e
lis,s,·'
s tr in g m at ch in g. "
Con",.. ACM. 25(i\);522-526,
EJEflCICIO
AC
in pictorifl
CmnplItlnl
~'l,
j~82.
DE REPASO
I.
Excrib un list de aspectos de llli1I1CjO de datlls. neccxnri.», cn un xixtcm de inlonnacion. De estas tuncioncs i.cu
2,
E sc ri b
c in c e je mp lo s d e v al or c , c nt er ox .
Escriba
tanro ejenlplos
p o , - . ; i l d l " d~· vahuu-
h(1oil"anDS
'II!
>//
" . -.
,S2), 1,Lenglh(Sl))
i)
InS"rl(S ,Substr(S3,6, 1),3)
j)
Delele(S2,2,2)
I,Length(
I)
k) Jruerl(S ,Dr.Jetc(S3, I,3), I) 6.
infor-
Surveys,
variable cadcna tien el valo
[3
,,>-.--.J..~~
>,~'
COllcat(Sublr(S2,1 ,3),S3)
11) Substr(Concal(S2,Sl),Lenglh(S2)
fas string searching atgcrithm." Comm. ACM 20(10);762-
CARDENAS,
d on d
subcadena
"The effect of dat structure JYENGAR. Comm. ACM 30(3);250--259, March 1987.
1977.
c io ne s
.!,('-o
b) Lellgth(53)
REFERENCfAS SUGERIDAS
programs;':
SEGUNDO)
Length(52)
g) SunSlr(Concat(S
BAHAN!,
/l()t
i ,C wi l c s c l r cs ul ra d d e c a d u n d e l a s ig ui cn .e s o p ~] rienc ~I,valo ·PIE lavariabl 52 tienc c[valo WHEEL ?>';.~
empacada
entero e st ru ct ur a
PRIMERO or SEGUNDO
e)
k) not (PRIMERO
5.
desempacada
EBCDIC
d)
j ) P RI ME R
d e c ad en a
r ep re se nt ac i6 n
concatenaci6n
PRIMERO (J}uiTERCERO
i)
b oo le an o
r ep re se nt ac i6 n
caractor
PRIMERO and SEGUNDO
c)
h) not PRIMERO and SEGUNDO
de cadena
o pe ra do r primitiva
booleano cadena
not PRIMERO
b)
g)
longitud
ASCII
23
f) not (PR1MERO or TERCERO)
TERMINOLOGIA alfabeto
ep
resulrado 5C obricne de c ad a u n d e l a i gu ie nt e o p r ac io nc s d on d 10 variable b oo le an a P RI ME R t ie n e ] v al o d e verdadcro, la variable SEGUND tien elvalor/aL,, l o v ar ia bl e T ER CE R t ie n e1 valor de verdadero't
tr
efectivo.
os
C on st ru y rango de
e p e se nt a i o
v al or e e nt re : a ) - 1
de
110;
o mp lc rn cn t
un
( co n
p ar a r ep re se nt . R, n ec es ar i h) 10 1 00 ?
p ar a l o
8.
i Cw in to s b it s s e n e e si t p ar a c p c se nt a para lo valore entre; "1 -lOa ;b)
9.
iCu:i11l0S b it s s c n ec es i. a
p ar a r ep re sc nt a
v al or c e n l a r011113 d e c or np lc mc nt o
do co
i ,C u, \n to s h it s s c n ec es it a
p ac a r cp rc sc nr a
v al or e ell 13 r O m 1 a d e c om pl er uc nt o
un co
]0
2"?
l o v al o e s e n In 100'1
de
f0l111
de complcrncnto
ados
"-
11
C u l " SOD lo vnlorc mayore mcnorcs '1l1 c or np lc mc nt o d o e on : 0) 32 b) 2 56 ; c )
12
i ,C u, il e s o l o v al o c s o rn pl c e nt o un on
13.
L Q u e tecnica- utilizari
5"
p ue de n r ep rc sc nt a
e n l a f or m de
2N?
a yo re s Y t n en o e s q u s e p ue dc n r cp r s cn ta r e n la forma de 'I 32 b) 2 56 ; c ) 2 N
para almacena
cntcro en lo corr.piladorcs de qu uste
dispone?
I nt ro du cc i6 n a l
24
ar
Capitulo
e st ru ct ur a d e d at o
14.
i.QUe t ec ni ca s u ti li za ri a
a . a cc na r c a a ct c c s
l o c o n pi la do re s
15
E nc ue nt r
16.
De la reprcscntacion
18
R ep re se nt e 5U numero de iderrificacion de scguro social EBCDIC ASCII decima cmpacado.
qu
-----_"
u st e
_
dispone?
t ab la s q u d e l o c oo ig o d e l o c ar ac t r e e n E BC DI C de su nombrc $\1
n or nb r
ASCIl.
dircccio
co el codigo EBCDIC
d ir cc ci o
co
alpiIl ai
e n o I r p o i bl c I o a s d e a l n ac c a mi cn t 'MAGPIE' 'PIE Y·MAGENTA'.
c a p i t u l o dos.
ASCII.
e l c od ig o
rnunero, en codigo
d e las siguicntes
Ires cadenas:
20.
~Cu;ilesson las vemajas ctesvcntajas basica que dcbcn considcrarse cuando se almaccnan
21.
"Cual son las venrajas
arreglos
cadenas traslapodas? desventaja
qu dcbc considcrars
cuando
$C
almaccnan cadcnn
ernpacadas.
22,
"Cuelcs su
la vcutajas desvcntaja qu dcbc considerarse al u,,~l':a).un indic~ctor de l on gi tu d p ar a i rl cn ti fi ca r e l f il ia l d e 1 " c ad cn a b ) u n a pu nt ad o p ar a i de nt if ic a e l f in a d e l a c ad cn a. y c ) u n a m ar c de l i d e c ad cn a p an t identificar cl I1na de la cadcna
23.
Expliqu pr
24.
en qu diner
r am a i o
un lenguaje de I'r ogrmnaci,\n
vc io al
Cual cs elconjunt programacioncy
en
a nt o
de caractcres.rnas se Pascal
la
objcio de u n I cn gu aj e d e
oricniado
ra io
s ob r
la
e st ru ct ur a
at s,
complcto, qu sc lisa en cl compiludor dexu lenguaje
a lg u o t
O RO L
O RT RA N
/l
.. l?
25.
I nv cs ti gu c c om o d eb e s e c l f'ormaro d e e nr ra d d e c ad cn a p ar "
26.
Escrib
27.
Modifiqu su progra para leer escribir c ad cn a d e c ar ac te rc s c ad a u n d e l on gi tu d indetcnuinada. ;,Cw!i"s 50111(1 t'cquisilllS de entrad para SI! programa?
28.
E sc ri b
29.
Agrcgllc los operadores de inscrcio
un progra.ua par lee
SU
cornpilador Pascal.
cscribir cinco cadcna de caractcrcs cada un de longirud
u n p ro gr am a q " u ti li c l o opcr8dorcs Ysuprcsio
de longitud concatenacio ell el
programs de ejercici
subcadcna, 28
estc capitulo se discutcn
son
bloques
toda
basico
la estructura
para
las
estructura
de dato
de
la construccio
compleja
se pucd
conocidas como arreglos lo de dato ma complejas
estructura
representu
indirectam ru
cualc Cusi
mediante ar cglos.
Primcro dcfiniremos los arreglns simple y, despue vcrcmo la multidimensionales facilidadcs para declarar arreglos en COBO Pascal. Gran part del capitulo sera multidimcnsionalcs Finulrncnte, se dedicarl al lem de como alrnaccnar arreglo un l uy e
e l a pi t l o
a li si s dc la
tecnicas
ar
represento
arreglos disperse
triangulares Encontraremos qu lo arreglo so mu utilizados en la estructuracion dedatos enla memori de trabaj dcun prograrna, as como en Lacstructuracion dc dato en bases de datus. ell archives mas pcrmanentes
ARREGLOS UNIDIMENSIONALE Un arreglo es un conjunro finito ordenado de elemento hornogeneos. La propieda de ordenacio significa que es posible identificur el prirnero, segundo, c1 enesimo elemento de arreglo Lo elemento de arreglo so hornogcnco porquc todo de elementos d e t ip o cadcna ell a nt o q u o tr o p ue d s e d e tipo cntcro Lo elemento de un arregl pueden general SU YC7. lo lo ar lo l e l l m a tablas. (5 cl arreglo unidimensional, La forma ma simple un arregl conocido como vector, Un arregl unidimensional ilamad VICTOR cl coal consiste de elementos, sc pucd represen at como en l a f ig ur a 2 -1 . 25
26
Arreglos
Figuru 2-
C ap it ul o
Ejempl de un an:eglo unidimensional,
Arreglos multidimensionale
s ta do s
Subindices
i ng rc s
Los subindices
o n o rd en ad o p ro rn cd i
ta
e cu en ci al me nt e
indice
s cg ui d
p o c l s ub in di c
de el rn nt
Imi.s
n tr e p ar en te si s
es dc ir
N ot e
qu
R O E DI O- lN GR ES O ( l
es eling es
c on ve ni en t
a lm ac en a
l a t em pe ra ru ra s
d e u n e xp cr im en t
o.
V IC TO R
Otras posibilidades para desi!,'11aral elernento del V IC TO R[ I] , V IC TO R] , V IC TO R! .
A si ,
d e e st ad o d e Z ac at e a s
particular a r e gl o
27
cl cnso
li
Irecucnt
en arrcglos
cl
SOil:
100.
s 61 0 cl
r el at iv a e n c l a r e gl o s t c on vc n i o e di an t c i a s r ec o a n l o e le me nt o para cada elerncnto,
permico a l p ro g a rn ad o e sc ri bi r a lg or it rn o qu d e u n a r c gl o e ni ll g deusa un no nb d is ti nt o
ARREGLOS MULTIDIMENSIONALES
gill.
Definicion
n ue st r
De rnanera mas formal cl arregl d e d at o 1 ; u bi nd iz ad o d cs d A(L:U)
unidimensional hasta U, es
A, COIlelemento
a r e gl o
Ha
e n l a i gu r
B, el u a c on si xt e
da
por N,
2 -2 .
de tipo de cstructura
(A(l)]
L,
para d on d
,.
c ad a c le me nt e
1, A(l)
T.
La notacion La U.
estan cornprundjrjos le to
cs
rango.
t an g
ell
d e u n a r c gl o A(L:U)
F ig ur a 2 -
B(1;N) es N.
E je mp l
d e u n a r re gl o d e
por
N,
Subindices Ejemplos ic ti
le
io
tu
:g is
t ip o p ue s c ad a u n E I v al o
u ni m
c or rc sp on d
p er mi si bl e
un
e di ci o
p ar a el u bi nd ic c
limit superior. arreglo,
e l h mi t
i td · d o
ic 24 Al arregl la e di ci on e
10 podcmo p a III
d e t e p e a tu ra .
de
r rc gl o
l la m
limit inferior; el
Ell
A.
it im
llamarTEMPERATURA,
s up er io r e n T EM PE RA TU RA (l )
r eg is tr a
1<;24.
Ot e j r np l d c a r c gl o u ni di m n si on a t ab l d e p ro me di o d e i ng re so s C$ u n estatulcs, si llarnurnox il arrcgl COTH) P RO Mr DI O- IN Cl RE SO S 1 " c lc me n t o P R OM E
B I I . J)
1-~------'--
F ig ur a
_.
UI
renglon
2-
Elcmenro
8(1,1) en un arrcglo bidimensional
Arreglos
28
Arreglos
multidimensionales 29
"I segund
e ng lo n
2-3.
st
columna.
suhindicc
e n e l e si m
c si m
e s R(J,J)
lOS
e le rn cn t
de
qu
e st ;
c ol u n a d e a r e gl n B, t a
Definiciones Mas f or ma lm cn tc , e l a rr eg l b id im en si on a tienen s ub in di cc s p ar a el renglo ques cxiicndc de de de
h as t
Secci6 M,
d on d
,,., c ad a B(l,J)
T. e le me nt o
R; a si , e l t ot a d e e le me nt o
r en gl on , M'N. un
li it
r rc gl o
b i i m n si on a
s u e ri o
el
e n e l a r c gl o
L ,: U, )
s u e gu nd o s ub in di c
{ fl (J ,} ) d on d
t i n e h mi re s L,
L,
13 cuar:a c ol u n a
e fi e
B(",4)
U" inferior
para L, <;
VI
c ad a B(l,J)
ti Yel nu nc
de
cs
B(M,4»)
W(47,*)
qu
c on ti cn e
l o v ul or c
r eg is tr ad o
ana;
<'11
BOLET A ( , 3 b id i c n i on al c
on
uy
o rn un c
Pot e je mp lo ,
l a C um ar a d e C or nc rc i
s c p ue dc n c lc tc rr ni na r
n ev a
pa
I lu ev e
exurncnes d e t od o
es la colurnna
lo eSll1d,iatltcs de tercer scmestrc, U n s ec ci o t ra ns ve rs a e s s en ci al me nn , u n r eb an ad a t o d a d e a r e gl o
ell
e n c ua lq ui er ' o tr o c n o , c s d ec i
l lo vi zn a
no
e tc "
La [ra~lSpuesla
i di m
t ra ns pu es t d e < 1 1 1 arrcglo sc rnlle~ll'a en I" Figura 2-4,
to de lo
xa ne ic
d e e st ud iu nt e io
B OL ET A
(J,J)
d e c ua rt o s c
p o 4 , d on d
st c.
E st c
rr gl
l Ia m d o
e s e l n um cr o d e e st ud ia nr cs .
d e u n a rr cg l
b id im en si on a
Transpuesta
'a
E nt on ce s
8(2,4),8(3,4)",.,
scmejante,
I).
J-esima h nr a d e J-esimo d i d e
c al i i c c io ne s
(B(J,4),
al inicio de la seccion, es dccir:
pr sentad
T.
d e e le m n to s
l. Asi,
del aiio. E st os di a p uc dc n s e a lm ac cn ad o 2 4 L la rn er no s a l a rr cg l l o v al o e s d e
Todos
.ee
d e a tt eg l
B(l,*)
Ejemplos L o a r e gl o
8(*,4)
De rnancr
cs es VI
tango definido, Por
B,
t,
l)'(U, .. L,
tran.sversal
(*)
ad
superior rcspec ivamente, se dcfincn como
B (L I: Ul '
p ue d
L a notacion
a~tcriseo j c n pl o
,, ,,,
par N. Existcn
LI'
l e e nt o
transversal
Una seccio u lt i o .
R(I,J)}
1:N)
g en er al ,
lo
lo para
inferior
para la columna,
subindices
es
:M
1y inclusive; i nc lu xi v ad l e c nt o d e u rr eg l c su n c al i i ca ci on ; t od o ser entero ta im c a a ct c e s t od o d cp c d e d e l a c on v n ci o a rl op ta da .
Por dcfluicion, li(l,J
D'U,!).
ic POt M. La
pOl' ' : La transpucst
de un arrcgl
30
Arreglos
A r e gl o
CO OL
Pascal
31
2 .- - Tran.sp uest a del arreglo de l a f i gu r a 2-2.
F ig u r
Por ejcrnplo, B(3,8)
BT(8,3) Sexo
de la transpucst
8 , c ol u
Extensione U n a r c gl o e xt en de r
ma
lo N- im
p ar a i d n ri fi c
B.
om
e n c l r en gl o
de un io
do di q ui c
o t ri di me n i on al ,
n si on e
r re gl o
U 3t ri di m n .' >i on al , N-di-
d e o rd c
y or ,
g en e a l
subindices xe cspecifiquej; 0. d e a rr cg lo . U n r re gl o N -d i e n i on a pu dc
l o v al o e s
corno
Flgur~ 2-5 Ejerrrplo de un arrcglo tridimensional.
entienda
u n a rr eg l
u n c le me nt o e n p ar ti cu la r
identiflcars
l e e nt e
dimensione
p u d e d e i ni r
d ir cc ta nr en t
de
cs elmi
10
arreglo C O E GI O
se
u ed e
e p e se nt a
s
E l v al o
de cl
e nt o
C OL EG I
en la clasc
1,2,3,4,5
6;
de un arregl
multidimensional se form varier cada un de los o t o s
de scxo
e s u n e nt er o
],
esturlianrcs
en cl colcgi 2;
K. Para
quc
se valido debe
cstar entre
debe estar. cntr". Un s~ccwn lrall,~ers~1 mas subindice ~~nstanles e n su tang de valore validos. Por
dimensiones. hacienda
manteniend
u bi nd ic e
un
ejernplo,
d on d k:
le c ad a s ub iu di c J, El nurnero t ot a d e e le me nt o
espccifica par AU it idos Lk I, e n el arrcglo A. es:
COLEGIO
,I
se pucd
k'
c sp c i fi c
(5,*,3)
c l n u m r o d e e st ud i n te s
de la a. cl se
g ra du ad os )
dc
c r c ol eg io , d e m bo s
scxos,
I)
COLEGI
• J
el cu
t a n bi c
s e p ue d
c sc ri bi r
i nd ic a e l n um er o LI
U n e je rn pl o universida
I)'
O L G TO , pu dc
er
L,
I)
(d primero, s.:gllndo,
A RR EG LO S E N C OB O pcnul.imo la
co
dimetlsionc-s
par
de estudiantc
de
er colegi() para cada clas
ambo
seXDS.
I).
un
por sexu,
(*,*,3
COIllO:
ultimo :1I10S,graduados, dic.io arrcglo (Altcrnalivamcllte,
no clasificados
10 podernos
llarna
las dirncnsiones c ua nd o
PA CA
Arreglos unidimensionales Lo
lcnguajc
arreglos.
de programacion
Para dcclurar
un
mas comune
arrcgl
sc ncccsita
utiliza
~l.mismo
especificn
enfoqu
ires
para declarar
nombre
Arreglos
32
im
TEMPERATURA, c1emento En COBOL, tiene programador llamado
l a dcclaracir'm
u bi n i ce s
de un arrcgl
cada
c om o TEMPERATlJRA(I),
I-6simu t em pe ra tu r
Arreglo en COBO
unidimensiona
Suponga gue
t a g o de
en
t ul o
cl
Pascal
Mas dimensiones COBOL
ejcmplo:
TABLA al nornbr DIVISION DE DATO
d e p ro gr ar n
01 TABLA COLEGlO.
d eb e i nc lu ir :
02 CLASE OCCURS
TIMES. OCCURS TIMES_ OCCURS 10 TIMES 04 COLEGI PICTURE 9(5).
03 SEX
01 TABLA-TEMPERATURA. E R T UR A C CU R 24 TIMES 02 T E PICTURE 99 En Pascal n o e s n e e s r i l a v a i ab l c o cl c nu nc ia d v at :
de
g ru pa rn ie nt o
Si
artificial.
a sc a
p er mi t
l i i te s i nf er io rc s
pa
vaTpuntos-grafica: En COBOL, los arrcglos solo p e i te n indica el limite superior de subindice.
array
n cn o e s
t an t
1,po
En l gu no s l en gu aj es ,
j e n pl o
para los u r e gl o
. _ 1 OJ ~ integer.
co om nt
FORTl
As lo
a ng o
ci hc
e sp ce i i ca rs e
PL/I, el espaci
le io
O . La clausula
r n y or c
COBOL
q u Pascal u s c o c he te s
e n l ug a d e p ar cn te si s
OCCURS
Operacione
sobr
lo elemento
de arregl
noiacion:
e mp e
COBOL Pascal (y o tr o l el lg ua je s q u p c i t d ec la re r a rr cg lo s t ic ne n a ci li da de s para l a a ni pu l c io n d e e l e nt o i nd iv id ua lc s d e u n a rr eg lo . EI e on ju nl o d e o pe ra ci o nes legales
Arreglos bidimensionales
sc defin
cperacicnc
examenes pued se com sigue: En COBOL!:ic i nt ro du ce n d o n om br e
el
1 0 d et ec ta ,
p ue de n d c i ni r p o
te
lo
TEMPERATURA(I), rarura[i].
t ri di me n: >i an al e ,I
I0
s ub in di c
l o a r c gl o
i nt eg er .
c l u bi nd ic e
e l c om pi la do r
dirncnsiones,
a sc a
d ec l r a
:::'!:": temperatura: array l J . . 2 4
33
P O l a cstructura
de subcaden
u n a r e gl o d e t ip o c ad cn a Los c ri lc ul o de un arrcglo de entcro individualcs d e a gr up ar ni en to :
COMPUT
de dato
PAGO· TOTAL (I)
de
C50S
elementos.
se pucden ejccutar
concatenacio
las
Por cjcmplo
sobrc
a ri tm et ic o p ue de n c je cu ta rs c s ob r e le me nt o dc punt Ilotante Po ejemplo, en C0I30L
PAGO-POR-HORA (1)" HORAS TRA.BAJADAS (I)
01 TABLA-CALIFlCACION. 02 ESTUDIANTES OCCURS 40 TIMES.
03 CALIFICACION OCCURS
TIMES PICTURE 99V9.
sobr
arreglos
lenguajes de programaeicin cjemplo, si
tambien l ie n e n o pc ru ci nn e PL/I, entonces d e a r c gl o Si ia
Algunos
En Pascal var calificacion
array [I..
4] ~real
E n O BO L l a c al if ic ac io n a r e l / -e si tn o e st ud ia nt c e n e l J -e si m e xa r c n e s CALIFICACION (1,.!). P as ca l u ti li v c or ch et e e n l ug s d e p ar en te si s c al if ic ac io n [I,ll o s u bi nd ic e
Operacione
d cb c
c st a
d en tr o d e t an g
v al id o
c ad a u n l o e le m n l misma dirnensioncs enionces en P L/ I c o e sp on di en r
c le rn cn t
de
-B
(es dccir, po
guatdando cl r es ul ra d nA t c p ro du ct o (COIllO l a q u d ef in e e n a lg eb ra )
u lt ip li c r i c lc rn e
d e r rc gl o
En PL/I la opcracioncs puedcn ejecutarse
sobr
110
ad co
arrcglos, Por
ob
cl
cn to de
is
c s l a m ul ii pl ic ac io n
seccione
transversale",
pO
u bi nd ic e) , m at ri ci a li
arrcg]o.
34
Arreglos
C ap it u
Formas de almacenamiento:
Pot ejernplo,
l oc al id a CALIFICAC!ON(20,*)
d e I -e si m
arreglo
e lc rn cn t
multidimensionales
e l a rr eg l
0;
cs I -
i ni c
1el VECTOR(*)
ARREGLOI(I,*)
35
("culleion
S, Iisicament
preceden
aII-e,imo
2-1)
elernento
tc
ARREGL02(*,J);
memoria
li
i pl i dcben d cc la ra r
indice dLI A RR EG L0 2
t u n hi e
d ic e e ll - VE CT O ciclo:
u lt ip li ca ci o
La
d eb e estar
0 a 25,10
d e a rr ib a i ie n
lo
de ta
is
i s o s e fe ct o
an
yue
qu
Generalizaci6n de limite inferio
u bi n
q u e l i gu ic nt c
Es d ec ir , c on xi cl er c e l a rr c g l d cc ia ra d Z1(6) es:
TO 25;
DO
VECTOR(K) END;
ARREGLOI(I,K)k
om
B+(6-4J*S
ARREGL02(K,J);
(es
(i
13 l oc al id a
FORMAS DE ALMACENAMIENTO
m e o ri a
E st o
es uc as
ARREGLOS UNIDIMENSIONALES
d e r ep r s cn tn ci o
in
inferior uno a rr eg l( l
u ni di me ns io na lc s
te
li it
Y22 U)
c si d e n l a I nc al ld a +( ta
In forma d e a lm ac cn a
considererr.os
2(
le
Se
t ra vc s d e v ar io s c am in os , 3 ) c fi ci cn ci a d e a lr nu cc nr un ic mo , 4 ) a ci ii da d d e r ec e embargo, n o e s p os ib l o pt im iz a s im ul ta nc am cn r e st a c ua tr o c ar ac te ri st ic as ,
lnicialmente
Z1(6).
d e Z2(1) es
+ (1 - ( - 2»)
le
LImit
jn
L)
la
(ccuacion
2-2)
l e i ne al i a ci u
cs
io
n or nb re -
s up e i o
N. UtI" forma
i gu a
FORMAS DE ALMACENAMIENTO
ARREGLOS MULTIDIMENSIONALES
Orden por rengl6n lc
(l), e s n ec es ar i
la c on oc er :
io lOS
I ll ll ll ic ii ll le n i on a
I I d i c :c ei ,' l
localidad base. Supongumos
u l a cc rl H i cl ll o
l ma ce na r p ri me r e ] p ri me r d cs pu e e l t er cc ro ,
io
co
pa
( I : 4, 1 : 6) , c l c un ] l og ic ll l1 lC ll l o rd e p u renglon p ar ec e
d e i ni ci o
c ad " c kl ll l' ll l
d e u rr cg l
\lCllpa
to
Eslc c s e ] c s u c d e l a i ll lp la ll la ci l l ll :
de
c ng lo n d e lt a pu rc c
Un
ll
n ti v
pa
r cg lo , d cs lJ ue s e l s eg ll nd o om
muesrru
u l c cn .u n i en t u su d p a O BO L us I, PLfl
e n l a i gu r
r re gt o
e ng lo n d e 2-6
d ec la ra do s
r re gl o RAZON
[isicurnenle l a m ay o i a
C ap it ul o
Arregios
36
aimacenamiento:
rnuitidllTl8nsionaies
arreglns
R en gh ll l
R t! t1 gI 61 l 1
37
R cn gl 6
'~
,--
H AL O
f--
( 2, 4 ) ,
Figura 2 -
E jc mp l
de
a l r cn gl o
S, qu
I I I I I \ I I I I I I R AL O
qu
e ng lo n e n RAZON(2,4)
cs la di cc ic
5 , l a i re cc io n 1)*6*5
(l d eb id o q u
2-
(2 1)
S up on ga tn o fi
(,
i ni ci a (J
b as e d e u r c gl o de
lacual es
A rr eg l d e l a f i gu r 2 -6 , l in ea li za d po rcnglon mayor.
qu
c ad u e le me nt o
l e e nt o RAZON(f,J)
eon un
1011
d e i ni ci ( d e Z(0,6) es
(6
4)*S,
8*S,
i zq ui er du .
o r e j r np l
pa
a rr cg lo :
d e a rr cg l
es L o e le me nt o
1)'5
s e a lm ac en a
el
c l s ig ui en t
o rd cn :
A(L"L"""L,)
c xi st e ' -l u e st a
c le m n t
se l oc al iz e e n
A ZO N I ,l ) existen elemcnio RAZON(l,J)
A(L"L"""L e n e l r en gl [
1)
I, El clemente
A(L"Lz,
9*5,
--,UN)
A(L"L"""L N_, OLO(L]
A rr cg l d e l a f ig ur a 2 -8 , l in ca li zu d porrenglon
CCIT,
S l e x l a l oc al id a
Z(0,6), 1)*S
I I I I I I I I 1 I I 1 F ig ur a
cs de ta
]r
,t! clcrncnto
p rc ce dc n
2-
e nq o
H en q c n
H en ql c
F ig ur a
ZIO,61
d e u n nrreglo bidlrnenskmal.
I,L
Volest! en la localidad:
V"
(1- LY(U,-l.1
y a q ue , hay 1- L, r en gJ cl II cs , c nd a u n qu
esl" cl elcmcntc
(J-
d e l on gi ru d (U,- 1.
ARREGLO(l,J),
hay
Este urregl
z-S)
1)*S, l o c ua l
p re c d e
al
L, l e e nt o
c ad a u n
de
e ng lo n r cp rc se nt ar s
l tS gi cH tn en t
l on gi tu d l o c u l c p r c ed c c le m n t A R E GL O l , I 1u st ra nd o e st o e l u rr cg l d cf in id o p o Z ( 2 :2 , 4 :6 ) p ue d figura 2-8, s ic a e n: e ap3rece
(ecuacio
L,)"'S
r d n ad o
po
e ng lo n c o
e ng lo n
I)
a d uno
"L
N_
ue tr
A(U"L
"LN_
"LN
l)
l a F ig u S, qu
prece-
Orden por columna :: ~---
zro.s:
inculiz.rci in
Ot e un a
o b
en rdel scgundn
CO/UIII!!" COlWlt11
ya tnCI1"'
(kCI')11
'11nte
'C
's I,' f'I'sl'"
cun r '1maccnar ' pnrncro dCSpllr.'S p nt ne r o lu mn a a s s uc cs tv am en te . E I a rr cg l P OR CE NT AJ E W,
iitud
38
Arreglos
DlTTTffi
C ap it ul o
Formas de almacenamiento:
iI
I:
A (L "L "
arreglo
multidimensionales
39
U"
F ig ur a 2 -1 0 A rr cg l d e 1 3 f lg ur a 2 -6 , lincalizado por columna.
s t e sq ue m d e l m c en a i cl lt o t ac io ne s d e F OR TR AN .
s c u ti li z
pa
a r e gl o
d ec !a ra d
que.B cs u;la dire~c~c5n base de arrcgl
Suponi:ndo
es de tarnano S, la direccion
1)"4*S
(J
elerncnto
il
q u c ad a c le me nt o RAZON(!,J) es
i mp la n de
r re gl o
S, l a c ua l
r ec ed c
Seleccion de
l a c ol u n a
hay
Para determinar
(1 L1y(U,- L,
l)"S·1 (T
ta
L,)*S.
co
cuando
d e e ch a
de arrcglo, De
hecho,
de el gi
a ju st a
l o e le rn cn tn -
OM UT (ecuacion
o r e jc m l o
l mu cc nu n
d e u rr eg l
pa
Call
UTI
a lm ac cn am ic nt o
1U IF
1B
p a c ol um n
O TA L
TOTAL
1U
225 50.
SUMA. CO i tm o
to
UT lo
[,L,
o rd en :
ot
for
de continuer
le en
i:~
1022
do
i:-;;
total: ·::;-Wla!+ alij]; lo
1,... ,L~)
,L
I)
L""J
I ,L " +,)
( I, J
tc
Pascal, "S p re fe ri bl e e l s ig ui cn t patron e le m n to s d e 1 m r en gl o a nt e d e o nr in u En COBOL: UT
COil
CS
e! siguientc>
TO AL IF
A (U , L "
a l p at ro n d e a lr na ce na mi cn to .
YA
CO
A(L,
E s m as , e sp ec ia l
TO AL
2-4)
e l r re gl o
e n c l i gu ie nt c
I, .. ,L",)
A (L "L o
l o elementos n o d a o po rt un id n
cl
L.,)
.. I-
de a rr cg lo s
im
I ,L " . . , LN J
A(L"L,
MI.,
d e l o e le me nt o
por column
en orde
d i p on ib lc s
d e a l a ce na rn ic nt o
l e e nt o d e u n a r e gl o l la ma d d eb e u sa r s ig ui en t patron de referencias: En COBOL:
R RE G
un arrcglo
orden s e r ef cr cn ci a a n
p ro g a m c io n
l a t cc ni c
e l p at ro n d e r cf er cn ci u
A(L"L" .. ,L,J
A (U "I .
a lr na ce na r
los l en gu aj e
ejemplo, considcr
te al
I-
v en ta jo s
dond"
Can u n a tr eg l
A(L,
es m a
a l p ro g n mu do r
Pa
G en e a li z n do , c l e le rn cn t A R E GL O( l, J d e a r e gl o d cl 'i ni d (I.,; U"L,: li,), o rd en ad o p o c ol um n s c ] () ca li z e n
linealizaci6n
qu
lY-S
1co de clemente RAZON(!,J) RAZON(IJ) 13*S.
i zq ui c d a
v ar i
1B
1U 255.
donel" Ell
Pascal:
SUMA. TOTAL
TOTAL
AU).
can la
Arreglos
t ul o
Arreglos
triangulares 41
total:
0,
for i:
to 50 do
r o r j : =lto253~ t ot al :
a[i,51;
t ot a
yr
g o r es.t e e nt er ud o d ' l a t cc ni ca s d e l in ca li za ci o
. ' u ii li zu da s Figura .2-13 A rr eg lo s t ri an g ui
ARREGLOSTR~NGULARES
. st
s cc ci o
J
d
lk l a l in eu l i za cj o
d t u po s cspCCla
/ 2 E I c le m t o ( 1 1 ) c s a l n ac en ad . en c l c nt o S(I), el elcrnento T( 1,2) e s l rn ac en ad o e n 2 ) a s s uc e~ iv a r it e h a t a e l e l c e nt o T {l , N ) cl cual se alrnacen N(N
cs
l o arreglos triangulares.
a rr cg lo :
en e1eletriento S(N). Entonces
Definiciones
fi
r ri ba ) in
'r
,J
Un arre
111)0
dDS
arrcglos
superior
so
e ro .
di~e y'lleu
almacena de T.
inferior, mostrados
12 rcxpecl ivarnente. l a d i g on a
arre~~ cSest~l~tamenl
triang
. ,'I a J
Espaci
"l superior
este
el elcrnent
T(N.N) T(f,J) en S? O bs er v
co
dlrncnsiones, ta fo
q u s e c on o i c
tos Figura
2-12
Arrcgln triengular
Ius elementos
al 1,J) para
(I,J)
C(/
inferior.
Sea e c
n c.1 J-
'1'1
N(N
1)
r cn gl on cs , e l r mi xi m l lu me ,r o d e e le me nt os , difcrcntcs d e c cr o e s I. E l t ot a d e e le me nt o
r el lg l( m
mas: /J
-2-~
I~I
."
t · m b \ 1 c s v c rd a e r
pa
u n a rr cg l
t ri an gu la r
s up e i o
on
rcngloncx.
que
c en a
J.
e sp ac io . es un
co
u e u n r re gl o
t ri an g l a
i n e ri o
SOil
elementos
B.
C(l,J) para
un arrcglo t ri a g ul a
u po ng a r rc gl o
C(l,J)
C(J J) donde
por N. B, tal COInO como C( f,J J) para I;; de
Ny
po I. Entonees c om o s e r nu cs tr a e n 1 ' f ig ur a 2 -1 3 L o e le me nt o
de A,
1), ya que T(2, I)
qu
arrcglos
de pot
e n SeN
S(N(N
POt
I"igura 2-11 Arreglo lri~lnglilar snperior.
a l n ac cn a
T(2,2)
partido
d i e ct a c l l m c en ar lo s
es
jnfr,rlor 1.
,
s a 1 9 u 1 1 0 S aspectos
c on S
FL~lIr.a 2-14 Arrcglo triangulares superior q u c om pa rt e u n e sp ac i d e N p o
s u e ri or ,
SJ Ylos elementos
se
Bu
B(l,J) s e a lr na ce na n
arreglo triangular
c om o
inferior,
por 1par o nt en c bo r rc gl o i , los elementos A(l,J) sc almacenan y, B(l,J) s c a l a cc n o m c(1,J) para l? J. AA (ambos cl c ua l d o a rr cg lo s t ri an gu la re s d ig am o espacio. U n m et od o seria t ra ns po rt e u n
por N), ticncn que comparti dmisrn AA, l o a r c gl o t ri an gu la re s d ig ar n
t r i n gu le r
u pe ri o
u pa rc z
C O l lO u n
AA sc
r rc gl o AA",
I ri a l gu ia r
i nf er io r
st
s , c l r re gl o
AA(l,J) s c c o v ie r! " los eiClnento COil dirncnsiones j un to s u n a n e gl o
del arreglo.
ell
Linealizacicin
1) ta como se Inul".slra ell c l p ar ra f a nt er io r E l e le mc nt o AU..!) se almacena (N como C(J,J I) ci cicmentoAA(l,J) es alrnaccnado como C(J,f),
AT(J,f), Enlonccs
p uc d
t na cc ll ar s
pOI'
e n o qu e
pa
c st c p ro bl e
l in ca li z
el arreglo
almac~nu
~(~I( k)~ ~'I,elll~':lh~~ supenor
nc'
in
li
p(
Cambio de acomodo U n p ro bl e O Il e st a t ec ni ca s i n e ri o d e u n arreglo t ri an gu l
d e i in e l iz a i o u pa rc c cuando e le m n to s u pe ri o s c v ue lv e d i c rc nt e d e c e n , 1 0 qu e
la pa te o nv ie rr e
-',_,'
r.}.i.'-.' ".;. ',:
42
Arreglos
t ul o
Resumen
43
renqlcn
columna
V(2):
valor
5, 8,
V(l1: 1,
V(31: V(4):
}'igura
con
2-15
Ejemplo
de
un arreglo disperse.
3,
V(5):
5,
4,
V(6):
6, 8,
8,
V(7): V(S):
8,
2,
Figura 2-1
general, a d e le m n t
1~
p er tr ut i q ~ u n a rr eg l t ~i an gu la t superior sea actualizado si e s c au sa r q u e l r rc gl o no ue t ri a g ul a u pc no r O t e to do , e s e co no cc r cl cambio en la caracterfsrica 5U propio espacio, d e a r e gl o t ra n i ri e d ol o
N -d i e ns io na l d ig i o s d cb c e nt a i o
ARREGLOS DlSPERSOS
s e c p c sc nt a u ti li z
es el
on
l a i n o r a ci o
n ej a
lasu
mantcncr
cl o rd e
ejernplo,
o hr e r en gl o
de lo el
e nt o
o lu mn a
d if cr cn tc s
de lo
l e e nt o
rr
i fe re nl e
a rr ib a f ue t
los arreglos dispersos arreglos que no l~ son; informalmenre, l t d cn si da d
l e e nt o
e ro .
o r j cr np lo ,
a rr cg l
s i ticne, d e l u f ig ur e 2 -1 5
Linealizaclnn L o a rr e . Io s d i p c s o
u li id i c n i on al e
s e p uc dc n l in cu li zn r
dos representucioncs ll:ucho espacio. Considerernos c tt a n en t o l e l e nt o d i e rc nt c ti cc o.
(raves
de la tccnicas
ultcrnat ivas para almaccna
expli-
s ta s t cr n
el sU~lhdiCCde la column e st e e to d a r c gl o d is p' -' f '- C$Cm
V (9 )
V(
se ia la le na
Representaci6n
pu dc
o rd cn u s c
de
i nc rc rn cn ta nd o
ulmnccnu como pOl" I() <)11" x c m uc st r I1gllrll 2-1(l,
Sl [lll"'kn
pu de ep ed e l a c ol u n a
e l u bi nd ic c
E st a f or m d e a im ac e~ la ll lj "n ll l L IS "1 lI '; S "' p: rc i p at a r cp rc sc nt a c ua lq ui e h f r ~n t d e c e p e c vu a l a n .p rc sc nt . c io n d e u s e l e nt o cc o, i di l
d e renglon
v ec to r P o e je mp lo , u sa nd o c n l a f ig ur a 2 -1 5 s e r cp re se nt a
lIll
c le me nt e
lo
arreglo
d et e r ni n
de ce
d e a rr eg l
d on d
sc
carnhiar
f or m
v ec to ri al ,
ar
q u c l c le me nt e con
le ll
4 ,6 ,9 )
de listas ligada
Otra rcprcscntacion para arreglo disperso
es
c on si de ru ci o
h as t
de es
i mp o t an t
a lt er n t iv a
listas ligadas, Difcrircrno
la
cl
Iistas ligadas_
RESUMEN Un arreglo
vectorial
Cada elemento diferente d e c ct o el u n a r c gl o d i p e s ( i di m n si on a s en t o m u n l e n a c o c l f (l rl ll :l l ( su hi nd ic e d e c ng lo » s ub in di c
lo
pa
ta
un arrcglo se Ie llama d is p r s
son, cs di'perso
v al o ) . ~ nt .o n e s
Uh
lo ti
Representaci6
e re > d
c er o e n l a r ep r s en ta ci o
actualizado
ia
pa ec r, un
d i e re nt e
valorcs,
valores
Definicion
Si cl
Rcpresernacior; vectorial de arregl disperse deIa figur 2-15,
ju
arrcglo en programas e n C OB O os
r re gl o
u ni di mc n i on al c ta
multidimcnsionalcs
Pascul. p ue d l ru ac cn ar s
en un fo
l in ea l
ar
c al cu -
el
puedcn Iincalizarse de acuerd
d e a l n c n u n ic n qu 13 o r c li ja . L a t c n ic a a s c o . un c d e l in ea li z c io n p a a r e gl o b i t i n si on al es . on c l l ma ce na mi cn t p o c ng lo n a yo r (COBOL, P as ca l C , PL/I) p o c ol um n m ay o
(FORTRAN).
44
Arreg!os
tu
E je rc ic io s de repaso
C ap it ul o
45
anal las t cc ni ca s
triangulares lincalizacion
convencionalcs
triangulates
disperso
de
SI
la cornprende
d e c er o d e a rr eg lo s
and A. C. YAO "Storing
TAl
a l n a c na mi en t
de do
l a e p e se nt uc io n d if cr cn te s
ANDISH, T. A. "Arrays," /)"/11 Structur» Techniques, R ea di ng , Wesley Publishin ce. pp. J4X-376, I')~O.
a rr cg lo s
x cl us iv a
1979.
triangulares
de lo
el
sparse tahle,"
C om ll l
AC
M as s. :
2 2( 11 )
A dd is on -
6 06 -6 11 ,
ov
e nt o
d is pe rs es . capitulo
13
l a c cc i
ob
t cc ni ca s
d e c al cu l
de di ec io
pa
a rc hi ve s
EJERCrCIOS DE REPASO
e l t iv es . 1.
E n u n a n 'e gl o c a c ol um na s n ur nc ra da s d cl 4 a l1 3 maximo de elemento qu se pucdcn alrnacenar
renglone
2.
~ Qu e s ig ni fi ca n los terminos "ordcn pa renglon"
"ordcn pur columna"?
3.
i ,C ua nt o e l
4.
~ Cu an t( ) elementos
TERMINOLOGIA Arreglo
Localida
Arregl
disperso
A r e gl o
e st ri ct a e nt e
Orden
bas
po column
t ri an g l a
ba
Rango
es
6.
a)
Tabla
i,Cwinto
elemento
"5
Transpuesta
renglon?
Vector
H. J. a n R . P . O'NEILL. "Representin Comm. ACM 24(7): 451-456, July 198!
HEI.I.ERMAN,H.
" Ad dr es si n " Ef fe c
m ul ti di me ns io na l
a rr ay s, "
o f d at a r ep re se nt at io n
On
[ormatica 7(4) 361-394, 1977 POOCH"U.
Computing Survev 5(2): 109-133, ROSEN"ERG,
A. L. and L. J.
JUlie
STOCKMEYER.
24(2): 199-221, April, 1977 A. . , a n L. J. rOCKMEYER. Acta Informatica 7(3): 289-303, 1977.
ROSENDERG,
ROSENBERG,
1974.
A . L . " Al lo ca ti n
1973.
o mm .
AC
c os t o f s pa rs e
5(4): 2 05 -2 07 ,
A pr i
m at ri x o pe ra ti on s, "
indexing techniques for 'pane matrices,"
s to ra g f o extendibl
s ch em e arrays,
f o b ou nd ed l J ou r
e xt en di bl e
clemente es
10:1(0), con localidad
e mo ri a 1,
base
A(l :N
es
50
10
A(50 100, 50:75) ~cuJUcs la localida
la localidad bas
nu er
lOlal de e le me nt o
l a l oc al id a linealiza
de inicio de
tarnano
de elemento
hits:
s c a lr na cc n
pa
de inicio de A(62,56) en el i-esim rcnglo ocup p al ab ra s d e
X, longitud de clemente
L;
d e a rr eg lo ,
m ax im o d e d im en si on c
cl slguiente arrcgl
localidad del elemcn:o
QU,J, K). i,Qu suposlcion tuv qu adopta accrca almaccna el arreglo?
So
i ,C wi j c s e l m l mc r
direccio
d e i ni ci o d e A RR EG LO (2 1 , 75 ) s i A RR EG L
clarreglo Q(A:B,C:D.E:F),
E nc ue nt n de como
B( NO,})?
a r o lu mn as ,
Consider
d is po nl bl e p ar a a rr cg lo s e n C OB OL '
en COBOL:
1 96 2
A UI !
11
03
RENGLONE
OCCURS 50 TIMES TIMES.
ACM
"flashing schemes forextendible arrays," L ou r A C " St or ag e
el
9,
super-sparse matrices wit perturbed values,"
GRHNBERG,
a l u cc n
E sc ri b u n f or mu l p ar a c nc on tr a l a d ir ec ci o d e J-esimo clemen cl arregl de arregl IVAN(B:A,D:C), d on d c ad a ' cr n n t memoria. ASlIlna u n l oc al id a d e inicio igual 0.
h) "Preserving averag proximity in array',"
ESPACIO(A:B,C;D)?
8,
E nc uc nt r LIPTON.
5)
12 i.cwl!es cl nurner
ha en el arrcglo?
la l oc al id a
arreglo
REFERENCIAS SUGERIDAS
1 0, 1
ARREGLO(lO:30.
Dado
a rr eg l
pueden contencr arreglos con dirnensiones el ramafio
PRUEBA(7,2)'1
Secci6 transversa Subindice
DEMlllO, R. A., S . C . E IS TE NS T A T A NI J R. J. Comm AC 21(3): 228-231, Marc 1978
ha en
r re gl o P RU EB A
rengl6n
Arreglo triangular Arreglo triangular inferio Arreglo triangular superio Indice Limite inferio Limite superio
e nt o
de
arrays,"
C M 21(4): 652 (71), Oct.
i,Cuanto
elemento
contienc la tabla?
12
lu tr
13
E sc ri b
dcscriba un rnetod
14
E sc ri b u n a lg or it m para a lm ac cn a e l s ig ui en t a rr eg l d is pe rs e c om o u n v ec to r d e t re s componente (sublndic« de rcngloll, suhindic de 18 columna, valor)
u n a lg or it m
para represcnta
arrcglos disperses.
p ar a t ra ns po ne r u n a rr cg lo ,
46
Arreglos
Capitulo
jercicio
rspaso
47
, '
9
0
16 ·I-~
15.
E sc ri b u n a lg or ir ru o p a calcular reprcscntada po un arrcglo, como pucdcn almacenars
matrices
dispcrsas, cada una
16
Mucsrr
17
~Que ventajas dcsventaja dcbc lare en un cspaci cuadrado
juntos do arreglos triangulares
18
n e t r q u u n r rc gl o t ri an gu l elementos difercntcs de cero.
19
C on si de r c l a im ac cn am ie ll l p o r cn gl on e d e u n a rr eg l triangular inferior de LX" N. llarnado T, e n u n a rr eg l u ni di me ns io na l S , c o s ub in di ce s d e 1)/2. z.CuaL e s e l N(N subindic en pam e1 elernento T(I,!)? (iEs difici l)
considerarse cuando u pe ri o c o
se
1
alrnacenan de arrcglos triang
renglonc
I-
no tien
i l i a , de
N(N
1
1 1-.
1
1)/2
L . _ _
Figllra P2-2
disperse qu ocurre co cierta [recucncia es un "IT"gl "tridiagonal", d on d t od o l o e le me nt os , e xc ep t a qu el lo s s ob r l a d ia go na l p ri nc ip a las diagonales inrncdiatamente arriba a bu jo , s o c er o P o e je rn pl o u n a rr eg . t ri di ag on a d e p o 5, tiene la estructura:
Ej~~mp[(Je un labcrinto.
tipo de arrcgl
L a s al id a d e o ns i t i d e l a ruia (excluyendo las vucltas) cspccificada po Lo rcnglones columnas de lo elemento recorridos desd el inicio hast el fina de laberinto. No pueclc 22.
Hay
23.
z.Por que los algoritmos convencionales
24.
A lg un o l en gu aj e d e p r g r a cl on , p o e jc mp l a nO L OR RA d a p o o mi si o cl limite inferior 1par arreglos O tr os , c om o C , d a n c om o limite inferior. Sugerimos qu practiqu laprograrnacion qu pucd ayudarle erradica las dificultades ell subindizacion q u s e p uc da n e nc on t a r e n i i co nv en ci o d e p ro g a ma s O RT RA N (0 viccversa),
25.
A lg un o l eu gu aj e d e p ro gr am ac io n c om o H )R TR AN , a lr na cc na n a rr cg lo s o rd c columna. alms C OB O a lr ua ce na n a rr cg lo s e n [ mi e p a r cn gl on . Ilustr problema encontrado al pEsilr a rr eg lo s e nt r p ro gr ar na s F OR TR AN , C , C O B O L .
26.
Consider
a"
a"
an
aJ.]
a"
Consider" el almaccnamiento ll
elcrncutc 21.
B(l),
ll
a,. a..
(I.,
a~
at:.!)
de un arregl lridiagona en un arrcgl unidimensional B(!) asi sucexivamcntc, i,Cual cs cl suhindicc, ell
l l £3(2);
..
'.I
Escrib un prograrn para recorrer un Iaberinto, Ellabcrint 1 2 p o 1 2 c o v al o c s d e q u i nd i a n l a p o i bl e r ut a tigura P2~2 es un cjeruplo de labcrinto. H ab r o n s ol o c lc me rn n e n La primer i n ic io . I I a h r a t am b i e
so
f in al , E l labcrinro s e
12 o lu m
de
column
u n ic o v al o
linea.
cs un tabl bidimensional, de q u i nd ic a l a p ar ed cs , L a
COIl
u lt im a c o lu m n a
) n p u l in ea . L o v al cr e
1e)cu c l c ua l indicara
d e r cn gl o
el punt
e st ar n e n l a
t ip o d e d at a conocido como cadena de lorigitud variabl e.sel cual tien uu atriburo d e l cn gi tu d q u p uc d t or nu r d if er en te s v al or e l a v ez . C on si dc r u n a rr cg l d e cadcnas de longitud variable po ejempl el arregl MES(l: 12), dond cada elemenio es una cadena c ar ac te re s c uy o v al o c s l a o ug it u d e n o n b d e c ad a meso Una form de almacena este arregl es reservar espaci para 10caractere para cada elemento sin considerar qu tant cspaci sc utiliza enrcalidad. L C o m o scpued almaccna elarreglo total d e e sp ac i r es er va d s e rninimo? .:.Sutecnic runcicnari si se rnodificaran los valorc de lo elemento de arrcglo? para encontra elementos q u t od o s ca n d e m is rn o t ip o d e e st ru ct ur a d e d at os '
el arrcg.
des!'u", us cl cjcrnplo de arriba
1:1,1:2.1:3).
ha en Q?
1 0 L is l 1 3 se cu en ci a d e e le me nt os , s i
e s a lm ac en ad a e n o rd e
p o r cn gl on .
d e e le me nt os , s l
c s a lm ac en ad a e n o rd e
p o c ol um na .
10 secuencia Hoga su propio labcrinto [lura probar
Q(
; .C u; \n to s l e e nt o
en un arreglo, requiere
po
Definiciones
...
_------
49
-
Formaci6
---capitulo t r e s
e la ci o i e
de registros
o n o rr a i n o r
d e l e e nt o
c i< in .
d e l nl or mu ci on ,
s t u ct u i gi ca me nt e
d e d ut o
e gi sl r
r el ac io n d os ,
er it
p uc d
q u u n c on ju n
g tu pa r
x pl i i la me n
cadena
--registros-
valor '123456789'
__ _~_
e tc ro ge n o s
COIl
d e t ip o decimal c ot ) v al o 1 5. 93 . E sr o e le me nt o u n a rr eg l p or qu e s o d i e rc nt e c st ru ct ur a d e d at os .
A R A - A GO ,
n o p uc dc n c on st it uj r
i n c mh a g o p uc d ag up pa como sc muestra en la figura 3-1.
c on st it ui r
u n e gi st r
Figllr
3·
d e i n o n w ci o
de
n pl ea d
Ejctnplo de un registro
Ejemplos
d at o
qu ya fu ro
r eg is tr o
regblIO
lu L a s t u ct u
e gi st ro ,
d e a to s
p re se nt ad o
e n C an O
as al
e gi st r
le
d ef in e
c on ti nn ac io r
s c r ev is ar a
e st ru ct ur a
d at o
la
r eg is t
a ci li da d
pa
c st a c o n pu e t a
d cc l r a po ot as
THU lO -DETAFIEA
l li ma ce na r
l a v a i ab le s
d e l o r eg is t o s
seran ya familiares
NU~.E:Mf"'LE/,OQ
d i e ct a
ANAUSJA
123q56789
tr tu
t ul o
15.93 F ig ur a 3 -
ta
f)~RECCION-OFrCfNA
INOM"R~
PIAl
tc
La
NOMBRE
TAnIFA-PAGO
D]
E jc mp l
MAT.
E D IF ,
1 C U BI C UL O
es
JO
403
d e u n r c gi st ro . Se
En
DEFINICIONES
c jc mp l TmJI_o·DE
Un registro
un
c ol cc ci o
f in it a
o rd cn ad a
d e e le me nt os ,
p os ib le rn en r
h ct er og c
id lo
l e e nt o
to o mp on en t
tr c gi st r u ti li za d
-
d e e gi st r
q u p ue d
e nc r 11l1a
la pa
un
·TARE~ !lNt,LJSTA
is
48
a nt er io r
aun ca po
in ca po
s ub o d in ad o
se lcll
e lc m n t
r--.-~.
c la s
p a t ic ul a
d e i nt o
i fe re nt e
c st ru ct u u s
NUM.· (_J..IPlEACO
123456789
d e d a to s
5un
if
10.93 F ig ur a 3 ·
estructura.
campo a ci on .
NOMGR(
TA~lfAPAGO P AT.
1NOMBF.-;r
MUD
JOE
D[R~CCION·mIC[.NA ~ AT.
EDIF.
esc
E jc mp l
d e u n r c gi st r
S OI l
arrl'glo
1 l1 11 )
comune
son elemento
grupales
de' ('kll1l'lllns
rcgistro
compuestos
03
CODIGOSTDE.rROYtCTO
IS
q u c on ti en e u n a rr cg lo .
uti
D]RECcrON-()FICINA
lCUOJGULO
como
cste,
140141150153
rnuestra b as i o ;
:'
50
Registros
,:
cmpleado podtia como sc muestr
tcne un arregl en la figura
de
dos
elementos
grupales
Capitulo
NUM-TELEFONICO
Registro
en COBOL
COBOL
COBOL t i r e i s r os . U n
Ejcmplo
regisrro que contien
arregio
s e t l c la r
subrcgisrrog
de EMPLEADO esta compuesto por los campos TITULO-DE-TAREA NUM-F.~PLEADO, TARIFA-PAUO, NOMBRE DlRECCION-OFICINA, CODI GOS-DE-PROYECTO NUM-TELEFONICO, cada U!lO, claro, con su respectiv ~slructura de datos. La variable EMPLEADO pucde lomar varios valores traves del e r po. Este registro
Llave
01
Archivos
9(2)V9(2).
02
yo
02 02
NOMBRE. 03
X(20).
03 03
X(20). X(20).
DOMICIUO-OHCINA. 03
X(3).
03
9(3).
CODIGOS-DE-PROYECT OCCURS TIMES PICTUR NUM-TELEFONICO OCCURS TIMES. CLAVE-LADA 03 I CT UR E 9 (4 ) 03
p ~: rt e de este icxt
esl dedicado
de
regl~lrOS, d~ t.al!~~~a que pucdan scr utiIe:en el proc~sarrrielltode aplicaciones, Aunque trl1Jch~sarch!v()s:;~ alrnuccnan en rnCI1lDtIU secunrlana, alguno archives relativatnente pequcnos qu ~eutll!zan frccucntcmcnt se almaccnan en la memori principal
La oper crone legales sobr rcgistro so aqucllas que contenido de lo campo" busada en su estructura de datos. EN COBO
COllsidcremos ahor reglslro en COBOL
rt
PASCAL la facilidades qlle pcrmiten la dcclaracion Pascal.
t\
p o u n u me r d e n iv e ado del de s to s n u n er o d e n iv e d es c i b la en estructura jcrarquica d e l o campos del registro Lo incrementos nivcl, como de 01 02 entre EMPLEADO TlTULO-DE-TAREA, de 02 03 entre NOMBRE APELLlDO, entre DIRECCION-OFICINA EDlFIClO, entre NUM-TE LEFONICO CO [GO-AREA indica lu subdivision de los le TITULOcampos que c o p on en . 6 1 l e e nt o grupal EMPLEADO DE-TAREA, NUM-EMPLEADO TARIFA-PAGO, NOMBRE,DlRECCION-OFICINA, CODIGOS-DE-PROYECT U M- TE L F O I CO . EI el rn nt g ru p8 l NUM-TELEFONICO, arrcgl co do ocurrcncias los cornprcndc elementos CLAVE-LAD LOCAL Observ qu s610 lo elemento basico ticncn la cluusula PICTURE. Est" infora br e c l at cstructuras estrin dcfinidus par los elementos btisicos que contict.cn. U n c ra rq ui a m a c sa tr ol la d e n C OD O p o r i a r eq ue r e l u s d e u rn er o nivc rrui grar.dcs Po ejcmplo, la part LOCA de mimero tclefonico podria subdividirs en do elementos gmpulc llumado- NUM-SERI NUM-SECUENCIA. io
02 (c tlpo
9(2).
9(7).
C ad a d cs cr ip c o n d c c le me nt e c s p rc cc di d
Se llam archive un col.ecci6n de ocurrcncia de registro logicamente relacionado que se tratan C~tllO usua qu (OdDS los r eg is t o s d e a rc hi v s ca n de un solo.fomlato. ~In embargo, algunas vcces hay diversos formatos de registro en un solo archjvo, Por c jc rn pl o u n o co rr en ci a d e r eg is tr o FMPLEADO 'J por ser scgur de rcgistro de tipo RESPONSABILIDAD-DEL-PROYECTO varras ocurrencia aceiones em algu proyectn en particular.
REGISTRO
X(9).
02
de ldentlficaclon
el carnpo NUM-EMPLEADO EIcampo qu idetllitic un rcgistro se llama campo llave. La liuve de un rcgrstro p~edescr Ut elcrnent baxico bic uno grupal S1J~ campus rcgistro de la c,lase particular CURSO puedc idetllificarse DEPARTAMENTO NUMERO SECCrON.
X(7).
02
02
r eg is tr o
e l r cg is tr o e ! c u
REG-EMPLEADO. 02
) lO t 1 0 g en er al , c on l icne u n c a p o q u 1 0 i d t ll i l c o nt in ua nd n con el CJCl11plonterior, un registro de r n l ca d s e idcntific en particula POt cl valor en ~!l
sistem de numero de nive para d cs cr ip ci o d e r eg i t r c mp ic z c o c l o m r e
Por ejernplo, el registro Hamado EMPLEADO, rncncionado anteriormcnte, l a D IV I [ O D E D AT O e l programa COBO como sigue:
contencr. Figura.3-4
51
Pascat
NUM-TELEFONICO 03 03
NUM-LOCAL.
OCCURS
TIMES.
Registros
52
04
NUM-SERIE
04
NUMSECUENCIA
PICTURE P IC TU R
q u cl
N ot e
C ap it ul o
9(1). 9 (6 )
III i nf o
e gi sl ro s
en
a ci o
cl
i gu a q u C OB O
d e t ip o pOl'que ahora
s 61 0 q u
P Lj ln o
ESTUDlANTE.
a nt ep on e 02
Pascal a sc a
us
b ln qu e
record
FECHA-NACIMIENTO. 03 MES 03
DIA
OJ
AND
PICTURE
e nd , p ar a i nd ic a
lyre n or nb r
ugruparnicnt
de elementos.
BACHILLEK 03
r ec or d
:p :packed alTa [1. , 8
nombrc-pi] dircccion
record
end;
record
~cTavcIada
02
integer; numscrie integer; nurn-sccucnciu integer;
03
end;
,.,record t it ul o- de -t ar c : p a ck e a rr a [ 1 . . 7 J o f c ha r n u e mp le ad o p ~c ke c a rr a [ 1 . 9 1 c ha r r e a ; --tarifa-pag
n o m b re -c m p le a d
04
MES
04
DIA
04
ANO
04
MES
04
DIA
04
ANO
FECHA-GI~ADUACION. 04 MES 04 DIA ANO
de nu vo
t ip o
d e d at o
co
C TU R
99
PICTURE PICTURE PICTURE
99. 99. 99.
PICTURE PICTURE C TU R
99. 99. 99
99.
01
ligcrallll'IlIL' dii','rent
reglsrrocmplcado;
antcno
:;Cl"lil
para culificar
lo
o mb r
pot c jc mp lo ,
de
a ri ab le s
los siguicntcs: rt:Chil-n.acilnlel1[O,iJIlo
Si el n or nb r
e jo r
a ii fi ca ci o
qu
n o n b c , d ir cc ci on ,
d e n om br e
v ar i b le . d e identificud(·11l1Il1ico.
99
s e n cc es it a u n
IlS11rSC
o mb r
PICTURE I CT UR E
por
variables con las estructurns dcfinidas
Calificaci6n
99
11
es~"Uctura xc rcficre:
definicion de
tclefono var ernplcado
C TU R
: H o m b re ;
end;
l a d ef in i i o
99
j'ECHA-MATRICULA.
04
dirccclon-oficina dirccclon c od ig os -d e- pr oy ec t a rr a [ 1 . . 5 ] o f i nt eg er ; num-tclcfcnico arr3y~ 2]~ teldona; m uc st r
99
C TU R
GHADUADO. 03
record
rcgistroernpleado
I CT UR E
DlA
04 ANO FECHA~r:;RADUACION,
c h' l _ .
:pa cubiculo inlegcr-Telefono
f'ECHA-MATRICULA, 04 MES 04
of char;
end;
t e e je rn pl o
99.
ell
02
palabras
53
' :' S su fi ci cn t" ~ ~ "r o . s c l l lo l1 1h r d e c am p n o c s u ni co , e nt on cc s d eb er i u li li ,- ar s a lg un a l on n d e c al i i ca ci o p a h uc c l o unico P o e jc rn pl o c on si de r I n s ig ui cn t e st ru ct ur a de registws en 01
L j u ti li z l o 1111l11erosd e n iv e c a (cero) al mimero de nivcl,
Pas(:
O El O
un
d e C Ul ll pO e s u ni co , c nt on ce s
[la"hill ~r.rCcha-m3IricllJa."n(] gracl'lacio.fech"-malricula.aiio cstudiantc .grad ado.fccha- matricula.afio
AN
DE
o s c je rn pl o
C HA - A de pu af
54
Registros
jcmplo de fluj
C ap it u
Resumen
55
de trafic
id: integer; 1 0e : p ac ke d a rr a [ 1 . . chat; info-trafico: informacion; dir arm [l.. I.. ~integer
je a sc al .
e gi st r
co ti ne
i nf o
a ci o
s o r e c l l uj o d e t r i c
en un
i nt e c c i on . end;
VClr tni.flto; reg-trafico;
THAFICO
ie cada Figllt"a3-5 Ejcrnpl de
Un rcglstro
li ta
UIiO
o r a r u n c gi st r e l f or m i rn pl ic it u l . 1 6g i i nd ic u q u \ 1 1 1 r up o d e c a p o f or m c al m n t
de Ilujo de tr-iflco.
l a d oc u n en ta ci o u n r cg is t o .
d e p ro gr a n a
d eb e
FORMAS DE ALMACENAMIENTO 01
TRAFICO. 02 10 02
LOC
02
lNfORMACION. 03
DIA
03
HORA. 04
E SQ U1 N
pa ce
e n l a d ec la ru ci on .
INIClO O CC U
TI ES
C TU R
99
C TU R
99
P IC TU R
X (3 )
de proccsarnienro lf it s: de di ic
I CT UR E PICTURE
9(
r cl le n
9(4). 9(6).
Cu nd
p e a ci on c l a e xt ru ct ur u
r ec or d
p al ab r
d e p al ah r
bytes inactivos
dd: integer; alia: integer
tipo
relleno. l im it c
e le me nt o
d e m aq ui na .
d e d at o
d e d at os ,
D,
a pa re ce n
n at ur al e
aritmcticas
n tr e l o l it ni t
L a i nc ro ni z c io n
p ue de n
c on du ci r
de. subindizacion.
d e p al ab ra s
p u d e l o r ar s
d ia nt e
I II c la us ul a
S YN CH RO NI ZE D
cruzan
CS10S
r cc (l no ci ll l. ie nt [
Ic e n C OB OL ,
COBOL p a
u sa nd o
d ct ul lc s s ob r
(;S13
VC:1.,e
clausulu.
RESUMEN registro e s u n
: i
s c
o lc c i o
a c
record fecha-inlo: fcchas dia: packed arra 0:
tora
..
of char
l ni r
o rd cn ud a
d e e le m n to s
r a su v z c
proposiio ( 1 0 . : 1: estructura
t»
n:g·tr:itico -rc·l:'ord
cicrio
or pl ta
to
m an ua l d e i cn gl la j
mm: integer;
miiquinas
requicrc
e s I la ma d
a lg un o
l a d is t i bu ci o
io
in
ia se
li
R AF I O ,
lirnites de la pulabra. En alguna
d e l o l i i tc s d e l a p al ab r
n fo rm ac i
e l r cg is t
hacia una ejecucion mas eficiente de algunos opcracioncs
PICTURE
type I ec h
o r j c p lo ,
lm
03
po
co
de datos crnpicccn
DD
03
a s a l l u d cc ia ru ci o
X (5 )
FECHA. 04 04
02
P IC TU R
de
atos
s o e f
registro, e s a g
ar
e e
Las operucioncs
arrcglos), m po s
que
n un p
SL
o n u s t ip o
da
El principa
s dl r
la
d e c ue rd o
h ct e o g n co s
i ca m t c
s e
salida. datos, SOil d ef iu id a
p o i bl c c nt c
s (
i nd iv id ua lc s
----------------------------------------.----------------------------------------------------------------------------------------------------------------------------------------==~
io ac
TI
56 ~/-
forma de almaocnamicnro vecc
tit: r cg is tr o
p o 10 g en er a
e s s im pl e
lineal. Alguna
!~capitu'o cuatro
un espacj de rellen dentro de rcgisiro on el proposit de aurncntar d e c ie rt a o p r ac io ne s a ri t c ti ca s E st e e sp ac i p u d e e r i n c rt ad o e xp li -
se Inserr
l a e fi ci c c i citamente c la us ul a Lo
1us d e C OB O
S YN CH RO NI ZE D
c gi st ro s
i mp o t an tc s
d e l o e le me nt o
50
d e i nf or ma ci o
p or qu c p uc d
p r s cr v
l a e st ru ct u
k lg i
n at ur a
r cl nc io na do s
as
TERMINOLOGIA Archivo
Elemento
rupal
Bytes inactivos
Estructura
Campo
Numero
Clave
Regstro
Elemento
de nivel
Relleno
basico
REFERENCIAS SUGERIDAS ~-:
COBOL, PUI, an Pascal textbook an language manuals. MARCH,S . T. "Techniques for structuring database records." AC 7 9 M ar c 1 98 3
Surveys 15(1) 45--
Comru1in
dcfinen
ma
:l~a
dedaraClOl1
a nJ p l a k ll l
p il u
Ca
t od o
la s:
a pi tu l
e st a d cd i a d
ej
p li fi ca r
EJERCICIOS DE REPASO 1.
i.emil e s 1 3 di fe re nc i e nt r u n a rr cg l Y u n r cg is tr o rcgistro i.Pucd un rcgistro se part de un arrcglo?
2.
i.Pu qu podria ur programado
3.
D o p r g r a s a cc e a n e l m is m a rc hi ve . U n p ro g a m i r . a Num-telefonico Num-tclefonico l e n cn t b a k o i cn t a s q u c l o t p ro g a m c on si de r clcmento grupal ;.Cual es la r az o d e la discrcpancia
dcsglosa
ti camp
i .P uc d u n a rr eg l en componentc
4.
B as ad o e n c l c on te ni d d e e s t c ap it ul o i .p o que nee qu FORTRA como un lcnguajc inapropiad para la administracion de negocios
5,
i CU C\ ]e s s o l a v cn ta ja s d es vc nt aj a q u d cb c t om ar s usar la c!~nsula SYNCHRONIZED de COBOL?
6.
E nc ue nt r medic.
u n c st ru ct ur a p ar a l o r eg is tr o
7.
E st ud i
8,
s cr i un ro ra este capitulo.
a lg un o
e je mp lo s d e d ec la ra ci o pa
d e a rc hi v
d e r eg is tr r
l ee r l o d at o d e e gi st r
set
DEFINICIONES
parcialcs? om
Una lista lilleaL.
ha sido considerad
e n c ue nt a a l u sa r r el lc no s
d e e st ud ia nt e d e p ro gr a
E M L EA D
Lista linea!
un
cmplcados
a s e n C OB O u sa d
co
lJamad A, formad
po
lAp
al Si.T
el 5U
0 , C J1 10 nc c
'.
e le me nl o
I a l i t " l in ea l
,A
s c d ic e
J1):;erta~' ell ~llalqllic t ra ns cu rr i c l rrcnipo.
variur, Dcnoternos
c om o
qULO
h ul a
posicion de l a i s
p ue d
i st a p ue d
b or r rc er
un cl rn nt dccrcccr al
Pascal. Pila
c jc m l o e n
Unn pi!{/ ' " 1 1 1
10 g en er a t od o l o r cg is tr o e n u n a rc hi v t ie ne n l a m is m e st ru ct ur a S i e mb ar go , a lg un a v oc e c xi st e v ar ia s c st ru cm ra s d e r cg is tr o e n u n s ol o a rc hi ve . i .C u, il e s o l a vcntajas dcsvcntaja entr a) mczcla lo registro de ESTUDJANTE solo archivo, b)pone cada clas de rcgistro en supropi archive? De una situacion donde l a o pc io n a ) s e ma apropiada n a d on d l a o pc io n b ) s e m a s c o rr ec tu .
····.'····· ()pnaC!OllCS
. :'_
".
_-
lJLIc'
el c ue d l a insercjoll
tr
Y s u p c si o
rib, cl cued sc dcnornin
so COInO
57
58
Pllas
tope
te
P,donde
Definiciones
cI O P ( P
59
el
e l t op e s o parte
,?
~r
se cxtiende
v is ib l
u ti li za rs e
ta te
T.
ease
battdc-
u n b an de ja ,
c so ri e
Nivel del mostraocr
ib
le h o i zo nt a
p uc d
s up er io r d e l a p il a s e c om pr ir n cl resorte; a l r ct ir a accesihle I a s ig ui en t b an dc j s e e nc uc nt r
es .r l(
es
a pi tu l
[0111135: h.orizontal
d er ec h
en
l a p ar t
s lJ pe ri or ,
Resorte
inferior,
orzn (Figur
Figura 4-2 Ejcmpl
de unapila de baudejax.
tren
4-3)
'"eo
Ixlxlxlx]
L!lx)xlx
Tape
Tope
igura 4~ 1. Reprc.'5(;ntaciones
Figurn
""-.3
R ie k
qu
fa
nan Un pil»,
gdfic,LS de pilas,
La r ep re s n ta ci o cuul'luier
en direccio El
g r i e q u s e e ii j i mp ol t t an l q u h ay a c on si sl en ei a p a p il a e n p a t ic ul a A qu i g cn er al m n t u ~a re rn o l a cOllvencion de teller eI lope slJperior.
u al qu ie -
c a o , p ar a u n
p il a
peracione
sobr
pilas
PTj, direlll(lS
qu el clemente
e le rn en t
q u estc a ba j
ie
P I e st a
ir m c nt o
a nt er io r
pcrmanece
fijll.
J. PI e sl a m a s uccesiblc
PI
atlles
d e d. PI p c n an c r ,
ie
si
l a p il a m C I l O S t ie rn p
qu
qu
cI
qu
cualquic
u al qu .
(pila)
e lc -
t ,i (cletllCIlIO,
pila
pilu)
(ope carnblan
EjempJos l( Un
dejas est.in sostcnidas
POt LI
apilamiellto
I n c al li s
d e e so rt c
un
d e tal
or
qu
c af et er ia . ol
Tnpc(rr"ar(P)) esnulo.
L a b an -
las b.unicjas
EI opcrador it
dctcrrnina clland() un pi1:1est. vuci Est:i-vacia(P) lOS v er da de r
boolcano
!l0.
la
ila dccir, :>
C ap it ul o
Pilas
60
P il a
e n C OB O
Pascal
61
ia
verdadcro.
l a o pe ra ci o
d e a ji ad i u n
l e e nt e
a pi l
l c l la m
et
al
IA,I3J (Figura 4-4c):
p il a M ct e ( E, P
pila,
Note 2, Topt:(P)
que
B, [;\,B,C]
ic Nume (P E st .i -v ac i
C.
3 , T o pc t' P te
de sacar.
e xt ra id o d eb e c on sc rv n s e N ot e g u
l a o p r ac io n
s c d cb c . i t o u r a lg un a a c i o ac r(
da un
d is mi nu y
c on di ci o
Ia o pc ra ci o Tope(P), o p r ad o
s ue u d cs ha c
Sacar(Melcr(E,P)
u rn d
d e l a o pe ru ci o
qu
s er i
LIn error
NlltT1el(p)
U st e
p ue d
e le me nt nl c
c nc or nr a s ob r
u ti l d er iv u
ig
de er or
S uc
e su lt ad o produc
4-4e):
pila Si cl
nt
DCSPllCS, q ui za s m ct am o a c r ( r ca r( P
:P
il tamaiio
e nt e
Fil(ura 4-4d
e s false.
( Me te r( E, P) )
li cl
4-4<
4-4dj:
c s E.
T op e( Mc tc r( E, P) )
to
Fi~lIr
(Figur
de
o pe ra ei 6
N ur ne .l t l')
2,
pe
d o e le me nt o
m ri s d ig aJ 1l () s DyE,
[A,I3,D,El
-4j);
ia
e te r
E.
4,
P.
o tr a t au to lo g i a d e l a o o rn hi na ci o
d e l a o pe ra ci on e
is
le
ap
; \, B, 0
( Fi gu r
4-4g);
p il as .
Ejcmplo
D,
F i g ur a 4 . .. : 1g }
pi l a v ac i o pe ra ci on e
d e M et e
S ue ur . R cp rc sc nt ar cl rl o
g rM ic am en l
l a p il a v uc i
co
l a f ig ur e
asi sucesivamente, ro-en-salir
4-4a).
N um el t} '
0 , T op c( P
l~
fA (Figur
L IF O) . Es
la form ir
uliimo-en-entrar-primele
PASCAL
4-411)
Pila
Numd(P)
l as t- in -f ir st -o u
Figura 4-4a)
i nd cf in id o
PILAS EN COBO le
Se dice gLJ'"las pibs operan'::l
( el l i ng le »
alojadas en arreglo
ic
pi/a. P ar a r es ol ve r c st c p ro bl cr ua ,
62
Pilas
a pi tu l
e l p ro gt at n d o d eb c u sa r l a c a a ct cr i l ic a x bl cl ll c d el lc ll gU l j c p a i rn ul a l a p e a ci ol le s n b u n p il a x is tc n v a i a o r a s d e c pr cs c . u p i l as , q ui z lu 0T 11
ma
i mp l
pa
c p c sc nt a
i lu s e s a lo ja rl a
a r c gl o
E n e st a s e c io n i nl r e lu c1 mo s
Pi1as en COBOL
Pascal
63
Opcraciones sobre pilas
UQa r c gl o
po m P
pila que
u n r re gl o s o d o e "l ru el u a s d e d at o o n d i c re nl c r eg la s i ln c o , c cu e d e r cs tr ic ci on e p ar a i ns er t" t b o a r e l e nt o e n a lg uJ J p a t e d e a r c gl o 11 h a ea e Sj Jo l1 Su b d e p on e e n v ig o l a r eg ia :: ; L I pa cual hace q u e l p ro gr a a do r l oj a ia t am en n s c r eS lr it lg c 1 a p il a p ar a c on te ne r e lc me nt o- , h om og en eo s E n l li Jl gU JI r n om cn r el eotlccptu la i!
Las
de
ct
se pucd
usar EO
hi c st rU Cl lI n d e p il a q u
lo
im
lI
cafeteria,
cl l)l"Ograrnu( or
tan
] c
'i
b e t en e c ui da d n o i nd ex a e. " d .r nor PUNTADOR~TOPE
e P
r e
me , . ii ar
siguc:
mctcrsc
. e el sacUl.s
(N te qu
NUMEL-MAX
lp in
, '
svi
i6
.urr oc
tornar etlan
acetones
elementos el u n u n p il a v ac ia )
p il a I lc na )
condicion
un
e s
dentro
de
EOFF),
ulmaccnarcmo
li to
do se intenra sacar elementos
e c
la tamano COllstante.
ti
METER.
Declaraci6n de pilas
If A PU NT AD OR -P IL A
< .~ UM EL -M OA p IAD
APUNTADOR-TOPE
(APUNTADOR-TOPE) onsidcremo, a ll a
In do
l e e nt o
ELSE condlcion-dc-dcsbordc s er a u n e nt cr o
d e d c l a a r e l a r e gl o q u a lo j r r o mb in ac i6 n
e ll ' a rt eg l
Numd(P) APU APUNTADOR-TOPE
t op e c o
q ll e
t cn dr . u n
t cn c n o ES RU
a xi m
de 10 el
q u d cc la ra r u n v ar ia bl . U RA - L A
Co
st
e nt o P UN T
de ds DO
SA CAR.
IF APUNTADOR-TOPE
e p c se nl a i on ,
T HE N M OV E
0,
Ialsu cuando APUNTADOR-TOPE
ro
a sc a ESTRlfCTURA· 02
l l p ro c d i i en to s
(p apuntadortope !.:gln I_ b·· -r
9(
En Pascal:
~ cc dl lf ~ begin if
fl.
end;
numel-rnax) p.apll11tador·llJpe ~c
ap\tni;;;rm~·pila: inle.~r---
s ac n ( eo lT : i nt eg er ) (p.apuntador-topc
b ea i c oi f ~ p . i l [p.apunradcr-topc];
- ~t h
p: l'srructur:l-piltl;
_
b
p .a pu nt ad or -t op c
end
else CONDICION,SU13DESBORDE t op e ( N" t
1;
end else CONDICION·DESBORD
type cSlruclura.pi]
var
s on :
PILA.
PI UR
a p l Il au o
PE-
ELSE condieiCin-de-subdcsborcJe.
En COBOL:
01
( AP UN TA DO R- TO PE )
O.
l l C UH U! . Ia p ab hr a
TO
c s p al uh r
end;
r es cr va el a. ) Sc
~\lpOI1C
qu
e. un
v ar ia bl e
g lo ba l c on oc id a
~ F
hO
p .a p un ta do r- to p
. .. 1
el
64
Pilas
E s i mp o t an t
t en e p r c au ci o
o hr c n i nt cg ri da d
de lapila
ncu
Ejemplos
d eb e
t en o
e mp l
prugrarnador, progratnador ascgurar que el apuntador de tope solo se usad como punto de referenda de la pila Hay otras Iorrnas e st ru ct u a s d e d at o d e tiro pila, Analizaremos csra reprcscntaciones el capitulo 6, q u t ra t sobre Iistas ligadas.
111115
d el au t
de aplicaciones
r re sp o
de pilas
65
en ia
p ar e t e
is
tu
q'IC c l p ro gr am ud o
h a e sp ee il lc ad o
la
cl
Considerc p or cm cs i
en
I zq ui er d
if s u [ ", rc nt e; ;i ,
t ie n
derccho
o r s po ll di cn l
U n p il a
0m
Ip
p u d e u sa r
ic
EJEMPLOS DE APLICACIONES
DE PILA
u r porcntesis dcrcch
e nc on tr ar no s
rcvixamo
vel; que
el
t ot I c s h uh te m e nc on t u d u n p ar en tc si s d e c ch o q ll e n o c ie r u n p a e nt c i s i zq ui c d o solo 10 sacat en dr c. no s l i arm. l a p i l n o x u v ac i h ab r o s e n o nt r d o cI par,
se problemas, S e u sa n en cornpiladores, ell sisremas operativos ell divcrsos p ro g a rn a d e a pl i a ci on . c st a seccion ejcmplificarcrnos solo alguno usos de la pilas; aunque existc muchos otros, con Ilueslros lcnguajes de V er er no s t rc s cjcrnplos u ii li za rc mo s u n p ar a i lu st r r l prograrnacio (COBOL Pascal), La pilu
p a c nt es i
i zq ui c d o
si
c cr r r .
l Iu lq ll ic r p ur u
de
a st r o ,
U ln cn t
flujo
n ur n r o d e e le m n to s
is
lOS
e n cl
la
l"
d ia gr am :
de
Programamos cst rlltin el COBOL. Lacadcn sc raslrcad se alrnaccna, caracter por caracter, Cll un arrcgio Ilamado A DE NA . p i s c a lo j ell un arreglo llaruado PILA. Supongamos que cl es 'Ill" In Yco 01 Sntnxrs
pore
ESTRUCTURA-PILA. OCCURS 80 TIMES PTCTUREX. PICTUR 99 VALU
vali d
APUNTADOR-TOPE
02
OCCURS 80 TIME SJGUIENTE~CARACTGR Esta cstructurus s e
PERFOR
PICTUR
a nc j: m p o c l s ig l i en t
o di go :
EXAMINA-SIG-CARACTER VARYIN SKiUIENTE-CARACTER UNTil. SIGUIENTE-CARACTER
Sintaxis invanda:
9').
HY
so
OR CAHACTER(SIGUIENTE-CARACTER) IF AI'IJNTAIlOR-T(WE
no
xintuxi«
,.
v:i!ida
" S E s i 1 1 1 : , xix-i nvu Iida-parentc
is-izq
ierdo-no-cerrado,
donric loo.emel1 .la r 5tGUi[NTt:
CAnACTEA ( : ar ~d e r e n
e a lS f Q \J r en t ~
EXAMINA-SIG-CARACTER.
ceeene
Figura 4-5 L Og ic s p ar a aparearniento
de parcntcsis.
IF CARACTER(SIGl..JJENTE-CARACTER)
"t"
";".
CERO
66
Pilas
R FO R
METE.
SACA
pitas
'T'
AC
program
67
retiroroutput); 0(
var
CO UT P UN T D O - TO P A PU N A D R -T OP E MOVE CARACTER(SIGUIENTE-CARACTER) PILA ( AP UN TA DO R T OP E) .
OO
nhora-tcngo.r cal;
ro
re ri
si
occln if (;:IlIU o _
OR
aiio.intcger; n o integer);
ar
Ojthcn
begin ahoru-tengo:
ahoru-tengo/(L
: "
S i n ta x i s i n Vii! ida -pan'ntesis-izquierdo-no-cerrado
pa
cI
p r p os it o u f1 ci l' ll t
C O Jt lp U eS I
VCIllOS los ekillento s t problema, o n e gi st r e l i m r o d e l e e nt o q u c on u n e te lo
lOS
Un problema mas a lg o i un o p a a pa re u 1 10 s oi o p ar cn lc si s
in
t a b ie n
end;
( an o )
!l ve
corchctc
compuesr
w ri t
11
izquicrdos
principal
ro ohjctivo;
10
to corrccto
tusa);
1;
end; eg
E n c al id u
dclen11ina cl monto de ahorr
(afio);
( ah or u- te ng o) ;
w ri tc ln .e nd ;
end.
la v a i ab l a d c am hi a a d ve: que v al o COil 25 llamudo corncnzand i c i na n
OS
sistema
incorrccro.
uriliza u n
proc~dilll~~nIO denotninad,o l a cjccucion
p it a para rcgixtrar
e nc uc nt r
~ompue~-
e l Pt~)g~'Hna
cjccucion.
llurnada
(r
B*Cj(lD
El desarrollo nccesarias?
(F
l a c od i i ea ci o
G)*(A
B)]) (F
d e a lg o i un o
B)
d ej a
om
8))).
E_
e j r ci ci o
c Ol ll ~l le sl o t cr rn in a la pila de contro
i.
c xt ra e l a d i c c i o cstti
rnucstra
A f1 VN TA DO R T OP E
Ell cste n ~g is l d e o hl ig a i on c
p os pu es ra s
l a "!HIles n c c si tn n
c r t cn di da s
en rd
del
de proccciimietltos
e nt r
rnillon,
1 .0 R L .C ua ll l p ro gr am a
e po c
4-6")
4-6b,
Figura 4-6b)
le
rccursjvox,
ario 2 4' 1 e n c s
EI s ig ui cn t
F lg u
APUNTADOR·TOPE
III
d iv id id o
.. .
im cnto: recursivos;
l lo n d e d ( i nr e d en l d e 2 5 f io s i ,c u, i t o d in er o n ec es it a d e o si ta r h o intcre cDmplIes!o d e R % . r a l U n o r d e: p mg m a r e st c p ro bl e
uso
qu~ ,el
cl cOlltt(~1a Iu dlre?:101l
4-6a,
COIllO
qlH.:
co
en la figur
VI:~
se tcgres lo
Llro,
Ejemplo: recursion
ie
de la il
e n e l b an co , l I' uv c
tc
la
ie e n l a i gu r
4-6c.
ti
1I01 de dolares. i,Cuanto diner
I lC Cl '. si I6 t e no r e l c l a rl o 2 3? ,
ic tr.ucst
AI'UNTAOOR·TOP[
usicd
e n P as ca l u s u n p ro ce di mi cn t ta
to
asi sucesivamcnte. r cc ur si v
l la rn a. I
Figura 4-6c)
c om pu cs t
l a I ig u r
4-6d,
.e
r nu cs tr a
en
68
69
APUNT"DOR-TOPE
a pa re ce n r c c
lr
a nt e
del o pe ra do r
c s d ec i
, c l s
AB
EF
I·'-
~Sl,l
n s
orma
es tTla,s Iricil de Inanilmia 'S
<.c.
de
SIlS
ic
ano
c om pu cs t
n cc cs it a
l l a n ud u o ri gi na l
operandos
_Ah
SCI'
r cg re s
d e l u u lt i
a rn ad a
c o u pu es t
c su lt a
u n c xt ru c i o
hi figura 4-6e. TERMINAR
"PUNTADOR-TOPE
Figura 4-6c
Adem.is, toda i ns t u c i o
la dircccione
9.
ahora-tengo,
s ig ll ie tl t
sc cxtrac
i n t ru cc io n
cual es la cantidad qu
En cstc ejernplo el compilador p ro po r i on o
a nt e i o
e sp er a
lo
a sc a c st ub lc ci o l a n ec es id a OB
son c ap ac e
c a g ab a
d e u an ip ul a
COil
d e l a p il a
s u m an ua lc s
d e l en gu a_ je _ D ~s af or t\ ln ,] [b me nt e
po 10comun cornpila
p ro cc di mi cn to s
Ahles de prograrnar ) F OR TR AN ) c on su lt c
l o proccdirnicntos
correctarncntc
f.
toda Ia rcsponxa
l la rn ad a
p or qu e n o ticncn l o m cc an is mo s d e p il a n cc es ur io x u e l a r e u r i vi da d f un ci on c e sp cc ia l n t en CO OL
lenguajc
as
te
nccesita depositor. cit:
e l p ro g a mn do r
b il i a d d e m an c_ j d e l a p i 1 :. ' r ec u s iv o
cl
l a instrucciones
eI j c p l
p il a
ro
de 13
e sc ri b
en apuricncia,
r ec ur si vo s
e n e st e
per fallan d ur an t
1,
ejecucion,
Ejcrnplo
Notaci6
postfija
n a t er ce r
a pi ic a i o
d e p i lu s
l u c o p il ac io n
ive f or m forma
u su a
d e p rc se nt ac i6 1
as a ci l d e u s
pa
d e x pr cs io n
lu
d e i ns tr uc ci on e l a g en c a ci o
a ri tr n t ic a
a ri un ct ic a
notacion infiju aparece entre do opcradores es decir,
lIotllciOIi postfija,
ueve
""{itc:ler
la ( Ha ma d
d e c od ig o o bj c o , iv
~D
e n l cn gu aj e
it ar
notacion
il/fija)
p e a do rc s
.1_
-=r--~
un
b in a i os ,
lo F. La pilu puedcn B, e n l a c u l o d o o pc ra nd o
la sali da
I nc re me nt a
l~.",
POSICION
para el
deIa c ~d €' ln u I N I J
:";IIJ_CM~cIGr
I---_.J
---
Figur'a 4-7 Logica para convertir cxprcsione
de notecion infija
.J po.•tflja.
Ii' a . hayan
'i
70
Pilas
s id o e x r ni n d os , busicus.
izquicrcla
e xpresion
C ap it ul o
notacion
0 st e s e
et
l a p il a d e o pc ra do re s
Si c l s i h o
csun ")
s i cl o p r ad o
primer parentesis
e l t op e
postfija
s i n bo l
d i c ct a c nt e
d e t c n in c i on ,
C Ol ls ic ie re mo s
dotes:
s ol o o pe ra ci on c
Ex poncnciucio-
i nv ol uc re n
T,
Paso 2. T, de mayor preccdcncia,
T, TI C*
la ad
T,DI
1"cudena se convicrtc
T,
EFi
T,
T, T4
C;
C* IE
-o)
s e o nv ie rt e e n T,D EFt
T,EF
+GI .,
ie
GI
G] l a a de n
se
e n T"
n vi c
el punt figura 4-7.
lo
CS
co
s ol o t re s n iv el c
hi pila.
d e p rc cc dc nc i
el
operu-
operandos
h a a n sido
c st a J nr ni li a i z d o
rastreados.
o n u n l en gu aj e
e ns a b la do r
ig l o s ci s p as o
a nt cr io re s
Este l g se declaran el l u D I
C()\TIO
sigue: Prirncro
13
a s a lt o n i vc l PILA-OPERADORES. 100 TIMES 0 2 L A O CC U 02 APUNTADOR-TOP 02 NUMERO~DE-ELEMENTOS
( ") , d iv is io n U) d e r nc di o n iv cl .
Suma (+),
bajo,
L a i gl l 4uc tr c ar uc te r d e l a e xp rc si o
qu
d cr cc ha , e st ab lc ci cn d b in ar i s , c om o s ig u
l a s al id a
a qu i
(t), " I
e di u
To
p ri rn cr o e l a lg or it rn o
M ul ti pl ic uc io n
los
i nt e
c! sfrnbolo cs un opcrando, c nv i
indica
e xp re si on c
tL
sl
5C
rastrcar d e i zq ui er d
Paso 1.
l a p il a c s d e l a r ni s
de opcradorcs
La cadena postfija sc pucd
izquierd
il pila.
[a precedenci
operadorcs.
"C c nt on ce s
71
Exi,len cuutro reglas
dcrech
1.
2.
E je mp lo s d e a pt ic ac io ne s d e p il a
p il a d e o pe ru do rc s aritrnericu infije:
PICTURE
X.
PICTURE
9(3).
PICTURE
9(3)
PICTURE
X.
PICTUI~E
9(3).
PICTURE
X.
CADENA~DE~ENTRADA. MANEJO 02 POSICION
Punto
temporal
TO
11
12
13
14
15
16
17
02 STG~CARACTER 02 ELEMENTO-SACADO 02 OP~PRECEDENCIA 02 PRECEDENCIA-TOPE 01 REGLA~DE-PRECEDENC[A.
18
Caracter
il]
~I
operedorcs
Salida
02 CARACTER~DE~ 1\ N1VEL~0 88 N1VEL~1
1+
AB
e n n ot ao io n DjEF
p os tl 'i j
C/.
9.
PICTURE PICTURE
VERIFICACTON
9.
PICTUREX. VALUE '+', '-'. VALUE VALUE
1\ NIVEL~2
Figura 4-K Form U~examinar elcontenido de lupila
£ 1 r es nl ta d
PICTURE
'*',
'1'.
8R NIVEL~:l 02 NIVEL~DE~PRECEDENCIA
C5:
En
D1V!.)·[O
DE f'ROC!;,[)IMIENTOS
cl conductor
cs como
si,o'11<':
variables
Pitas
72
COMPUT PERFORM
Ejemplos de aplicaciones de pilas
Capitulo
If APUNTADOR·Tc)PE
APUNTADOR-TOPE O. EXAMINA-SIG-CARACTER
DE- VERTFICACION
BY UNTI
PERFORM
PERFORM ENCUENTRA-PRECEDENCI OV N IV E - DE - R E E D N C T O P R C ED EN C A TOPE OV TO PRECEDENCIA·TOPE
POSIC[ON
C AD EN A- IN Fl J
( PO SI CI ON ) EL
SACA-DE-LA-P1LA-A-SALlDA
P1LA-VACIA-A-MENOR-PRECEDENCIA.
O.
E XA MI N A -S I - C R AC TE R M OV E C AD EN A N fI 1
O S C IO N
PERFORM SACA-DE-LA-PILA-A-SALIDA PERFORM ENCUENTRA-PRECEDENCIA-TOPE. ENCUENTRA-PRECEDENCIA. IF NIVEL-O
S l - CA R C T R .
='C
IF SlG-CARACTER PERFOR
N IV E
METE-A-LA-PILA.
EL
PERFORM SACA-DE-LA-PILA-A-SALlDA UNTI PILA (APUNTADOR-TOPE) PERFORM SACA-DE-LA-PILA OR ELSEIFSIG-CARACTER='j' PERFORM P E F OR M PERFORM
'+
'EI.S
ENC\JENTRA-OP-PRECEDENCIA N CU EN T A - R EC ED EN CI A OP PILA_VACIA-A-MENOR-PRECEDENCI
para obtene
COMPUT APUNTADOR-TOPE AFUNTADOR-TOPc IF APUNTADOR-TOPE NUMERO-MAX-DE-ELEI'AENTO IL
su esfu rzo,
N iv c
condicion-decrror
N iv c
i'
DISPL
ENCUENTRA
i vc l
TO CARACTER-DE-VERIFICACJON
PRECEDENCIA-TOPE.
anotumos
h ac e
+AB,
a l a lg or it rn o
EF.
e n I ng a de postfija,
prefij
O P R EC ED EN CI A
u nj ta ri o
r it rn et i o s
la precedenci
u ni tu ri o
lome
=, », los operadorc
rclacionalcs
l o o pc ra do rc s co tinuacio
Un
a nt er io r
u ni ta ri o usua
+).
r a a ux il ia rl o
en
de lo op radorc
+,!lot
5: Exponcnciacion M uh ip li ca ci on ,
2 : O pc ra do rc s
e l 1 : O p c u do r
ELEMENTO-SACADO.
PERFORM ENClJENTRA-PRECEDENCIA. M OV E N 1 E L E - R EC ED EN CI A
de lo opcradores
po ejemplo
d iv is io n
*,
+.
A PU NT AD OR -T OP E
SACA-DE-LA-PILA~A-SALlDA. PERFORM SACA-DE-LA-PILA. ENCUENTRA-OP-PRECFDENCIA. MOVE SIG-CARACTER
exurnen
i vc l 6 : O pc ra do r
A PU NT AD O - TO P ) .
Nivc
C OM PU T
en notacion
a nd , o r n ot )
boolcanos
l.
SACA-DE-LA-PILA. IF APUNTADOR-TOPE
- SA CA D
cadcna
sus operandos,
c ar nb io s n ec es it a
al orilmo
SIG-CARACTER
condi cion-lie-error M OV E S l - CA R C T
COMPUT NIVEL-DE-PRECEDENCIA con icion-dc-crror.
prefija en dond lo operudorcs prcccdcn e je rc ic i u l Iinul d e c ap it ul o p re gu nt a qu
P RE CE DE N C I - TO P PERFORM METE-A-LA-PIl. ELSE DISPLA
N IV E
'C
UNTIL OP-PRECEDENCIA
LS
73
ot
qu
ri p os tf ij a
O pc ru do r ta hi ll
r cl ac io na le s h o l ca n
and
h o l ca n
or
hunos
asignado
<,
=, =,
=.
Utili
d el an t l l c l a pi tu l v ol v r er n d is cu ti r c uu ml o c st ml km () ~ l o . ir bo lc s b in ar io »
a s n ot ac io nc s
r cf ij a
i n i ja ,
~.
Pilas
C ap it ul o
Resumen
75
FORMAS DE ALMACENAMIENTO is d im en si on a
Espaci
c s p o 1 0 ge ne ra l
a lm ac en ad o
s en ci ll a p ar a a lr na cc na r p il u s ig u b as e l a c ua l s e r na nt ic n
c l m is m
f ij a D es pu e
d e m an er a f is ic am cn t p ri nc ip io ,
l a p il a p uc d
s ec uc nc ia 1
l a l oc al id ad c
Base
d.PI
c on ti gu u- ;
Tope actual
doPI
de espaci para una sola pila. u p n g q u ahora tenemo do pila que nccesitan coexistir en memoria. p il a t ie n u n nuiximo de elementos lapilaP2 tien unmaxim de elementos, sc le pucd asignar memoria como so muestra en la figura 4-9 a qu i c on si de ra mo s
P2
Tope actual
Espacio compartldc H as t
l a r e se rv ac io n
p ac o
solo u an d
ma
elementos
p il as ,
a lt er rt a
1 a. "c ua le s
p ar a <1sig:nar expacio
c re ce n
un
e nt e
otra,
m a p il us , l .a le s c l t a n a i o t ot a d e t od a l as .p ll a
el espaci disponible cxceda n o c s p o i b que so curnplan amba condiciones
h ec h
p ar a
Figura 4-1I} F or m p ar a d o
de
PI P2 nunc sc truslapara pucsto qu ningun alcanzar la eondici61~de sobrc-flujo. Unidas pueden alojar c re c ala derccha la p i P 2 c rc c [a elementos. L a p i l
juntas Espaclo par elementos
-r
elementos
S c r es er v. ,
u n p il a s e l e a si gn a u n l oc al id a
c re cc r s ob r
par
pilas,
neccsari
al mismo
tiempo p ar a t rc s
varias pilas,
rcservar
una
ambas
condicione debera se flexibles. bien se tendra qu reservar mas espacio as bases de l a p il a t en d a n q u c a b ia rs c o t d ir cc ci on . U n t ec ni c f i i en t p . r a e se rv a cspaci cuando hay mas de d o p i a s e s 0 .t ec ni c l ar na d d e G ar wl .e k l a e ua l rcasigna cspaci para la pilas. Durante c l t ic mp o d e rcusignacioncel periodicamcntc Aa,e
Base
de P1 Top~ actual dePi
Tope actual
combinadas,
ejemp!o,
A si gn ac io n
si las pilas Ply
d e e xp nc l
p :: lr a d o
p i l ux .
P2 nunea esta al
N um el (P 2
: :: ;N.
en
l a a ct ua li da d
a lg un o
so
c mp ie ad o
p ro fc si on al e
e n c o n pu ta ci o
0so . e n c ad a catcgorja, Sin embargo, te
i na n
l a p ru eb a
us nd ctezca
qucrernos e gi st r
u n pila p a
l a c cu en ci a
a rl a c at eg or i
en la cu
l a p e s on a
e n o qu e e s e se rv a
c sp ac i
maximo un maximo
combinado de N, poniendo
h as t
e nc on t a rs e
ta
memorias
desd
la lilti~a
reasignacion. .En est
crece obtienen ma espacio, no c on ti gu a
t il i a nd o
li ta
l ig ad a
o r 1 0 g en e a l n o e s p os ib l
obiener
p re de ci r de 10 cual 10.' e sq ue rn a los esqucmas de almacena-
RESUMEN
sllponga
p ro gr a a ci o« .
ticnden
io
crecirnient
Sl
almaccnarnicnro dinamico (como la tecnic de Garwiek) m ic nt o n o c on ti gu o son l o q u s e u sa n o n t i c cu cn ci a
elementos:
Numcl(P!) POt
recibe una part proporcional
}'igunI4-9
deP2
eficiente en especial partieulannente l lc n e n s u t ot al id ad .
BIO i sr n t i. nn p
1es
t ni ci o d e l a sigulente estructura de datos
deP2
l a d o pilus u n c nt c l a o tr a c om o s c m ue st r ell l a f ig ur a 4 -1 0
qu csta
fucran creciend
Una pila es un case especial de una
ta
(Meter Ysupresion (Sacar) so estrictarnentc cfcctuada cl cual es llamad Las en impone alguna rcstriccione
opcraciones dc inscre~on sobr un extrem de la pila
en arrcglos. Es respon-
;al s nb il id a to
d e p ro g a ma do r
L Los e je rn pk »
s cg ur u
que la inscrcion a ni p l ac io n
y i lu st ra ro n
qu
l a p il u p ue dc n to
e rn pl ca rs e im
SOI~clotl de problema
tr
le
76
Pilas
C ap it ul o
Capitulo
llamadas rccursivas para dctcrminar In i nv er si o d e c ap it a m os tr o de regresar una ircccion de llamada, Para ell sc.uso un pila par~ .conserv~r de csta direcciones en orde de la llamadas £1ejernpl de notucion pOS(fiJ3 algu operador patron LIFO, par idcntificar cuales operandos pertenecian as como un patron de anidamiento de parentesis, para pila El capitulo termin ca io multiples.
b)
necesidad eI registro utiliz un particular
TERMINOLOGIA Procedimiento recursivo Sacar Sintaxis Tope Ultimo-en-entrar-primero-en-sali
sia lineal Meter NotacicSninfija Notaci6n postfij Notaci6n prefija Pila
(LIFO)
" Da t
GARWCK,
Bl'F,
A dd is on -W es le y
P ub l s hi n
KO"SH. J. F. 'and G. LAI.~ON. "A
921-923, Nov.
C o . . [ 97 3
multiple-Slack
r.
Algorithms. Reading,
p p 2 34 -- 25 1 manipulation
procedure,"
1983.
" S a ck s a m q ue ue s, " C ha pt e i n Data Structure Techniques Reading. Mass.: Addison-Wesley Publishing Co.. 1980 pp 28-41.
'tacks,"
i ,Q u r cs ul ta d i. eua
6,
L C o m o pued
7,
E sc ri b
a lg o i t
8.
c ri b
l go ri t
9,
c ri b
and T. MUNAKATA.
"Dynamic
Comm. ACM
t 34 -- 14 1
2'(2
sc
cs el tesultado
ac
implanta
qu ag cg
e le m n t
)?
u n p il s
q u c xt ra ig a l o e le me nt o
u n a lg o i tr n
M ee r
un pila en lcnguajc FORTRAN?
q u c re e
d e u n a p il a
Ilen un pila
10
C on si gn c t re s u pl ic ac lo ne s d e p il as , P ar a c ad a u n d es cr ib a l a r az on e d e p o q u l a p il a scrian preferible lo arreglcs
11
Elalgoritm METE verifica lacondicion dedesbord algoritrn SACAR verifica la ccndicion de sulxlesborde. Que significado tienen lascondiciones de desbordc subdesborde por que esaconsejab[everificarlas ~Cllalpodna serlaaccionaclecuada atamar baj cad condicicin?
12,
i.Cual cs la forma postfija B -
a)
(£
C)
C/D
para F)
las siguicnte
expresioncs"
F/ (G
c)
F)
p ar a S He ar u n e lc me nt o d e u n p il a
asigna
s c i b \1Il a lg or it m variable x.
el valor
14
E sc ri b u n p ro gr am a q u u s u n p il a p ar a v er if ic a 1 3c xi st en ci a d e p ar en te si s i zq ui cr d dcrecho, corchete izquierd dcrecho, \laves izquierda d e e ch a e n u n a de n d e
allocatio and local reallocatio procedures for multiple 1986.
15.
Escriba
infija
u n a lg or iu n q u u s u n p il a p ar a c on vc rt i notacion prefija.
u n e xp rc si o
a ri tr ne ti c
16
E sc ri b
u n p ro gr am a p ar a i mp la nt a
17
E sc ri b infija
u n p ro gr a postfija.
18
E sc ri b u n p ro gr ar n p ar a c on vc rt j U n c xp re si o a ri tm cr ic a d e n ot ac io n i nf ij a p ox tf lj a dond la cxpresio pned contener lo siguicntes operadores and. (JC. not, ,[, T, unario, unario,
19
L a s ig ui cn t
f eb .
SIl
algoritrno
de conversion infija
d e n ot ac io n
c n l en gu aj c P as ca l p 3r ~ c on ve rt i c xp re si on e
prefija.
a ri t rn et ic a d e n ot ac io n
P IL A c on ti en e l o e le me nt os :
EJERClC10S DE REPASO Dibuje un pila
2.
l en e l a l in c
in iquc ladircc io el
de entrada
s ai d
d e los elementos.
blanco: un pila vacia, p ro vo cu n
b) c)
3.
S i a p li c c or rc cr am en t EI
d)
ri ne
e)
i.Cuanlos
i, Cull
a)
s ac a
l a o p er ac io n Meier c l c l em en t
despue Mete el elemento i,
elementos hay
a p a d
a c
es el result ad de la siguicntcs aseveracioncs?
E st a- va ci a ( Cr em (P )] , t ic n cI
H)
13
carac eres,
Fundamenta
STANDJSH.
YEl-l,
4. 5.
4 : 1 37 -[ 40 , [ 96 4
T h A r o f C om pu te r P ro gr am mi ng . V ol .
KNUTH,
M as s. :
s to ra g i n compilers."
77
F_qa-vaci" (Mcrcrtl P » ) , t ic n c l v al o d o
b) ((B'
REFERENCIAS SUGERIDAS
de repaso
Ejercicios
de
u n( a) : _ _
u n p il a
op ~.
sc ib ri a,
a lg u i t rd
a r c rc a u n n ue v p il a q u c on te ng a ascendcnre.
Mi
l o e le m n to s d e 1 3 di
s.
-
_ -
-
__
Delin ici nes
l l u n a c ol a l a i n se rc io n
cinco~-----
--capitulo
79
ha
e st ri ct a e nt c
llarnar fondo;
a r u n e xt re m
d e l a I is i
lIatnamosfrente.
e no ta re mo s
e nt e (C) al inicio
po
u a p od em o la por fondo
eI ld
~-II
EI Prentc (C) eo;C, el Fond (C) es Usemos Nume ( C p ar a denota el ruimcr ac t i n c u n valor u rn er i Numel (C) c s T . EI 'I'
nt o.
ar
la cola C. Numcl.(C) d e a rr ib a Ia cola
In
permanecido en [a cola el mellor tiempo El clemento de enfrcnre de la cola
-"._-
-
-
-
--~-
lista lineal, q u cola.
i en t a s
qu
l a p il a
e sl ri ng e
.., -
i nt wd uj o supresior,
a di ci o
-_____/
e al id ad ,
e n c l c ap it ul o de elemento
Fondo
(raves lo el
e nt o
rente
Figur
v ay a d e d er ec h
5-1a) Diagramas
deuna
cola.
suprirnnn
fami Iiarizados de co eo
s i t ra z r no s u n cola c uy o c re ci rn ie nt o a.
n o e s i mp or t n t
con
la e n l a o fi ci na s
L o a ut o o vi l
Tambien, es trccuenr
g cn e a lt n n t a va n a n colas en
el
cncontra
cola
traves de intersecciones
informacion basados
en Frente
Proccsarniento.
frente
cl
onda
Figura 5-1[,)
fondo de la cola,
to t ip o c ol a COBOL a pl ic ac io n
d ec sp ll CS , S O ; : d es cr ib e Pascal. FDr qu s a c ol as .
la
f ac il id ad e li
ar
d cc la ra r
dirernos qu C,cst antes que el clemente DEFINICIONES Una cola n te ri o c o
c, cuando
i st a l in eu ]
lo
ddinida e n c l c ap it ul o Operaciones de colas
ATJ.
78
x is te n
u at r
o pc ru ci on c
1.
Crea
2.
Esta-vacia
(cola) (cola)
b as ic a
v al id a
para lo dato
cola
tiempo forma
10 un
1.C, sen eliminado
d. C, ha
lq ic
tipo cola: