Libro PP - Unidad 3 - PDF to Flipbook
Published on Aug 06, 2026
Description:
idd 3 pslmiet tvés de Sbpgms Ls Sbpgms ividied el Pblem
gió l 2
nidad 3 Enapslamient a través de Sbprgramas
t st t, pi bs p pbl ftl l ptió la
mplejidad. pg y ti ils lís óig sgis s vlv ijbl.
slió tó l ii l ptió s l téi ivi y Vás, y s
it piipl s l sbprgrama
El ncept de Encapsulamient
efiniión Ténia El pslit s piipi isñ sftw sist lt ls
tlls ipltió it ps, xpi it “itfz” l y fii
p s s.
En palabras simples Es j g. jpl, is s l i (t),
s l tip y pti (páts), s bti i lit (sli). N s si sb ó
fi l gtó it i ó fly l ltii. El fbit enapslad l plji.
E pgió pl, lgs st pslit pt bl óig t
stt ll Sbprgrama. A i s s sbpg (l pg l iv)
l its óm stá sit p t, sl sit sb qé . Est islit s lg it
Sbprgramas.
Sbprgrama s fi blqe de ódig idepediete mbe sigd qe eselve
te espeífi.
Especificación e Implementación
El isñ sbpg s ivi stitt s fts
• Espeifiaión (a Interfaz) fi l b l sbpg, ls ts xts i
t (páts) y l tip t tgá sli.
• Implementaión (El ódig) S ls istis its y vibls lls, lts l st l
sist, tsf l t l sli.
icl de Vida del Subprgrama
1. efiniión sit státi l óig ft p pt i pg.
2. Invaión (lamada) El istt l flj tl l pg piipl s ps p
sliit l jió l sbpg.
3. Ativaión El fó iái l i RAM. El sist ptiv sig spi
tpl p l sbpg tbj (Rgist Ativió), l l s sty l filiz
s t.idd 3 pslmiet tvés de Sbpgms Ls Sbpgms ividied el Pblem
gió l 3
s Sbprgramas ividiend el Prblema
efiniión sbpg s bl istis óig, ipit y b
sig, isñ p liz t spífi.
iseñ Las ds caras del subprgrama
l j g fi tt, l isñ sbpg s ivi stitt
s pts ptls
• Espeifiaión (El "Qé")
Es l tt l s l sbpg. Es l i pt visibl p l st l pg.
etalle y Preisión spifiió l igst ts lts
1. Nmbre (Identifiadr) ó s ll l sbpg p p lll.
2. Interfaz de Entrada (Parámetrs) é ts xts (y é tip) sit ibi p p
tbj.
3. Interfaz de Salida (Retrn) é tip t v vlv slt vz ti
s tbj.
• Implementaión (El "óm")
Es l is it l j g.
etalle y Preisión ti l lgit, l si lógi istis (bls f, iils if,
álls tátis) y ls vibls lls (vibls sl xist t s j) sis p
tsf ls ts l sli pti.
El icl de Vida del Subprgrama
sbpg ps p ts ts lv s l s pis st l pt l jt.
Es vitl istigs sts ts pts téis
1. efiniión (Tiemp de Esritra)
• Qé es Es l ió státi l pg ft l tl.
• etalle sist sibi l óig ft l sbpg (sibi s spifiió y s
ipltió). Mits l pg s jt, l fiiió s sl txt g
iv.
2. Invaión lamada (Tiemp de ntrl de Flj)
• Qé es Es l t pt l pg (slt l pg piipl) sliit
ls sviis l sbpg.
• etalle ivió, l pg piipl s pasa. El tl l slt
i stá fii l sbpg, l tg ls ts t (páts /
gts) y sp ti.
3. Ativaión (Tiemp de Ejeión en Memria)
• Qé es Es l fó iái l Mi RAM l pt t l
ivió.
• etalle ivs sbpg, l sist ptiv l Rgist Ativió
( spi tbj tpl z l i ll il Stk). Allí s g
ss vibls lls. st ti y vlv l slt, esa ativaión (el Registr de
Ativaión) se destrye (l i s lib y ls vibls its sp).idd 3 pslmiet tvés de Sbpgms l ept de ió e Legje
gió l 4
El nept de Fnión en engaje
E l lgj stá, fnión s blqe de ódig tóm y esttd qe eliz
te espeífi y qe pede se ivd desde lqie t pte del pgm. Es l i tip
sbpg xistt st lgj.
E l lgj , l i tip sbpg xistt s l fnión. T pg s, si,
jt ás fis s i t sí.
Anatmía de una Función en
lt, s p
abeera spifi l tip t vlv, s b y s list páts t.
• Tip de retrn Ii é ls t vlvá l fió l ti (j. it, flt). Si
vlv , s tiliz l plb sv vi.
• Identifiadr (Nmbre) El b i l sá iv.
• ista de parámetrs frmales Vibls ls t pétsis ibiá ls ts
t.
erp liit p llvs { }, s jt ls stis y s t — — vl it
l istió t.
S sintaxis general es
tip__t b_fi(tip_pt1 pt1, tip_pt2 pt2...)
//abecera
{
stis // erp de la fnión
t vl // pinal si el tip de retrn es vid
}
• Si l fió develve ig vl, el tip_de_et se espeifi m vid.
• Si eibe dts de etd, l list de pámets se dej ví se esibe vid.
Ejempl de estrtra de na fnión
// Tip de retrn | Nmbre | (Parámetrs frmales)
flt llA (flt bs, flt lt)
{
// uerp de la función
flt bs * lt
t // Instrucción de retrn
}
La Función Principal main()
El pt t t pg s l fió i(). l si l sist ptiv
jt l pg, l ps bs xplíitt st fió y iz jt ss
istis lí p lí.
• Firma estándar Sl fiis it i().
• Retrn al Sistema El t l fil l i() s pi s sj l sist
ptiv ii l pg filizó éxit. t istit ii óig
.idd 3 pslmiet tvés de Sbpgms elió vs. efiiió (l pblem del de
gió l 5
Ejempl
it i()
{
flt iBs 5.
flt iAlt 1.
flt Ttl
pitf(Iii pg...\)
Ttl llARtgl(iBs, iAlt)
pitf(El ll s %.2f\, Ttl)
t
}
elaraión vs. efiniión (El prblema del rden)
El pil l l óig ft ib i bj (lt sil). Si t l i() s
iv fió si sit, l pil já p s s
xisti.
i pg ti s fs stt st
pción A efinir antes del main()
Si s sib t l fió ts l i(), l pil y l l t. El pbl
sg ls pgs ti lís, l pv s vlv ilgibl, pj
l i() (l ás iptt) l fil l óig sit.
El pbl s pgs gs, l iv s vlv ilgibl, pj l i() (l ás
iptt) l f l iv.
pción B eclaración (Prttip) antes, efinición después
A st f ifiió s l ll delaraión frward (tbié i delió p
deltd pplt prttip de fnión ), s i l vis l pil l
xisti fió ts s sib s óig plt (s fiiió).
s lgj y stit y sit ls lts ts s tilizs l flj l
óig. Si s itt iv fió stá fii ás bj (spés l i l lí
s iv), l pil s fiá y já vti. lió fw siv
pist p lt l pil y vit st pbl.
¿Qé infrmaión le da al mpiladr?
Est lió l if l tt ls spts sils l fió p p sti l
Tbl Síbls tip pilió
• El nmbre l fió.
• El tip de dat v t.
• El tip de dats ls páts sp ibi.
Nta Es iéti l pi lí l fiiió l fió, p finaliza n n pnt y ma (;)
Aás, l pttip s bligti p l b ls vibls t, sl ss tips
ts (p jpl it flt).idd 3 pslmiet tvés de Sbpgms elió vs. efiiió (l pblem del de
gió l
Es l stá pfsil. S l elaraión (l pttip spifiió) l iii l
pg. Est s ps l pil "st fió existe y s ests tips de dts s ódig
detlld está más bj". g l i(), s sib l efiniión plt.
#inlde
// 1. ELARAIÓN (Prttip) Se ubica ANTES del main()
it ltipli(it , it b)
it i()
{
// l mpild pemite est gis l delió pevi
it slt ltipli(4, 5)
t
}
// 2. EFINIIÓN (Implementación) Se ubica ESPÉS del main()
it ltipli(it , it b)
{
t * b
}
E l lgj , tds ls sbprgramas se denminan Fnines
A l tí éi p s istig t Pedimiets (sbpgs t
p vlv slts, lipi ptll) y ies (sbpgs vlv
slt táti), en td es na fnión. Si s piit, siplt l
is l fió vlv vi (ví).
Vs jpl liz pt
#inlde
/*
1. ESEIIAIN (E s ll lió ttip)
*/
// tt M ll llARtgl, sit s s
// ils (bs y lt) y t vlvé il.
flt llARtgl(flt bs, flt lt)
/*
2. E RRAMA RINIA (s s l Ivió)
*/
it i()
{
flt iBs 5.
flt iAlt 1.
flt Ttl
pitf(Iii pg...\)idd 3 pslmiet tvés de Sbpgms elió vs. efiiió (l pblem del de
gió l 7
// INVAIN Llmms l fió y le psms ls dts.
// este mmet, mi( se ps y l P slt l fió.
Ttl llARtgl(iBs, iAlt)
// d l tivió de l fió temi, mi( se ed.
pitf(El ll s %.2f\, Ttl)
t
}
/*
3. IMPLMNAIN ( se le llm "efiiió de l fió"
*/
// L j eg.
flt llARtgl(flt bs, flt lt)
{
// AIVAIN st vible 'esltd' e d l fió
// es ivd, y miá pes se ejete el 'et'.
flt slt
// Algitm ite (lt p mi
if (bs < || lt < )
{
slt // Mej de ees simples
}
ls {
slt bs * lt
}
t slt // L slid del sbpgm
}
Análisis del Ejempl
1. Enapslamient lgrad Si s i l fól táti p ll l á b
bi, s i gg sj ás plj, sl se mdifia la implementaión
de la fnión. fió i() s t ss bis, sig ivál igl.
2. Resabilidad Si pg tis 5 tágls istits, s ti sibi l lgit
5 vs siplt s 5 ivis ifts l is fió.
i st spió t l (Espifiió) y ó l (Ipltió) s l
pi g ps p j ps sill sit óig y pz isñ
spilist l ptió.idd 3 pslmiet tvés de Sbpgms L tlez estáti y diámi de ls sbpgms
gió l 8
a natraleza estátia y dinámia de ls sbprgramas
Est s spt fsit y ftl l pgió pl. Et l ifi t l
sibs l óig (tip pilió) y l l ái l jt
(tip jió).
li t fiiió y tivió s l pil tl. fiiió s státi l tivió, iái.
Est l sp stitt l isñ l it s s tip l. Es l pil tl
p l gstió i y l flj tl lgjs pls .
1. La efinición Prpiedad Estática y Plantilla
s l pt vist l isñ, sbpg s fi flt ps psl
ib vls t, is páts, y t vl slt.
Est fiiió pst ppi tt estátia l lgj. Est sigifi ss
tístis s fij l óig ft y s pss xlsivt t l tip tió
(pilió). E st fs tp, l pil sl ti s l ifió ltiv
• El b l sbpg.
• El tip ts ls gts sp ibi.
• El tip y tñ ls vibls lls tilizá.
E si, l óig s sib s l sbpg jtás, si plantilla estrtral.
El pil tiliz st pltill p pll át spi i s sitá y ó s
gizá ls ts l sbpg s iv l ft.
La Plantilla de un Subprgrama El iseñ del mpiladr
l pil l l fiiió sbpg, l jt, si pltill. Est
pltill s p i pll l i l ps ó b sti l isti
l sbpg vz st s iv.
lg l áxi fiii y i, l pil ivi lógit st pltill s
gs sis l Parte Estátia (l Sgt óig) y l Parte inámia (l Rgist Ativió).
La Parte Estática El Segment de ódig
Est sió s l l Á Alit Estáti l i y existe na sla vez, si
ipt áts vs s iv l sbpg. ti ll bi
• ódig Ejetable s istis lgj ái gs pti ls stis
sibist.
• nstantes s vls fijs ls l fió (p jpl, st flt pi 3.14).
gsti l t y sli l fió i l pt iái, l pil ist s bls
óig vitls t st sió státi
• El Prólg Es l pi bl istis s jt l ll l fió. S tbj s
l si. l Rgist Ativió l il, ib ls páts fls, stbl
ls víls sis p ls fis y sig l spi p ls vibls lls.
• El Epílg Es l lti bl istis s jt jst ts l t ( l llv
i). S tbj s s l si. S g l l slt l fió l
ll p tl, l l iió t p sb ó slt vlt, y filt
sty l Rgist Ativió lib l i. idd 3 pslmiet tvés de Sbpgms L tlez estáti y diámi de ls sbpgms
gió l 9
En resmen pltill pll l tñ xt sitá ls vibls lls, ls páts,
l vl t, ls fis y ls ás tpls. Así, l ólg s jt, siplt l
i l il "esplz t pte X tidd de bytes", l spi pft p l tivió
f isttá.
Parte inámica La Invcación
invaión de na fnión (tbié b llmd fti ll) s l sti xpsió
it l l pg tsfi l flj jió l bl óig tl (l ti
ll, i) i l bl óig p l fió (l ti ll).
Al lizs l ivió, s ti tplt l jió l fió tl, s ps ls
gts páts ls spits y l ps slt l iió i
si l óig l fió iv. Al filiz st, l tl gs xtt l pt iit
psti s lizó l ll.
Mits l fiiió xist sl l txt l pg, l invaión s fó físi y
iái stitt tiemp de ejeión.
ivió s l pt t l óig státi y l jió viv. s sbpgs stá isñs
p s ls y ltt tilizbls. ll, p s ivs s pátit li
pt l flj jió
• s l pg piipl (fió i).
• s l iti t fió.
• s l is fió, lg l pt sivi.
El pg p liz st ll ivió ts vs s i l lg s il vi.
s liz ivió, l sist ptiv y l ps t l pltill státi g
p l pil y isti l l i RAM (spífit l il Stk). Est
il vi s fí y táti
1. Naimient Al t l ll, s g l tivió (Regist de Ativió) sv
bl i tpl p lj ls páts fls ls, l st tl ls
gists y ls vibls lls.
2. peraión El ps jt ls stis l sbpg tiliz st spi isl.
3. estrión vz l sbpg ti s lb y t s slt, l tivió s
sty iit. T l i tpl s lib, lii ls vibls lls l
p i.
nlsión sbpg xist l i ts f pt. El óig l
pg isñ t l státi y pitiv. A pti s i l, l sist s
pz sbl y ssbl ltipls istis fils (tivis) t l tip
jió, gtiz sí s fiit y sg ls ss l w. idd 3 pslmiet tvés de Sbpgms L tlez estáti y diámi de ls sbpgms
gió l 1
mparativa entre naturaleza estática y dinámica