Libro PP - Unidad 3

Published on Aug 06, 2026

Libro PP - Unidad 3

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