guia de ejercicios java resueltos PDF

Title guia de ejercicios java resueltos
Author Fernando Enriquez
Pages 161
File Size 1.1 MB
File Type PDF
Total Downloads 176
Total Views 243

Summary

UNIVERSIDAD CATOLICA BOLIVIANA “SAN PABLO” FACULTAD DE CIENCIAS EXACTAS E INGENIERIA INGENIERIA DE SISTEMAS LA PAZ – BOLIVIA PROGRAMACION II GUIA DE JAVA + EJERCICIOS 2007 INTEGRANTES: OSSIO MARIN SERGIO WILLY PRUDENCIO ROBINSON ANDRES MAURICIO SALGADO FALLER IGNACIO VALDA SANCHEZ FREDDY SALVADOR DO...


Description

UNIVERSIDAD CATOLICA BOLIVIANA “SAN PABLO” FACULTAD DE CIENCIAS EXACTAS E INGENIERIA

INGENIERIA DE SISTEMAS LA PAZ – BOLIVIA

PROGRAMACION II GUIA DE JAVA + EJERCICIOS 2007 INTEGRANTES: OSSIO MARIN SERGIO WILLY PRUDENCIO ROBINSON ANDRES MAURICIO SALGADO FALLER IGNACIO VALDA SANCHEZ FREDDY SALVADOR

DOCENTE: M.Sc . IRMA PRADO SEMESTRE I AÑO 2007

PROGRAMACION II

GUIA DE JAVA 2007

INDICE

INDICE....................................................................................................................1 PROLOGO .............................................................................................................2 INTRODUCCIÓN....................................................................................................3 Pro g ra ma c io n Orie nta d a a Ob je to s.............................................................4 Pa rtic ula rid a d e s d e Ja va ................................................................................5 El inte rp re te d e Ja va .......................................................................................8 Dife re nc ia s y similitud e s c o n C++ ................................................................11 Cla se s útile s.....................................................................................................16 Le ng ua je Ja va ................................................................................................19 EJERCICIOS RESUELTOS......................................................................................22 Se nte nc ia s Bá sic a s (Co nd ic io na le s, Aritme tic a s y Co nta d o re s)............22 PROBLEMAS PROPUESTOS..........................................................................28 Cic lo s y Se rie s..................................................................................................30 PROBLEMAS PROPUESTOS..........................................................................42 Func io ne s y e l uso d e la c la se Ma th ...........................................................44 PROBLEMAS PROPUESTOS..........................................................................57 Arre g lo s............................................................................................................59 Ap lic a c ió n d e ve c to re s – Pro g ra ma e sta d istic o ...................................83 PROBLEMAS PROPUESTOS..........................................................................89 Ma tric e s ...........................................................................................................91 Ap lic a c ió n d e Ma tric e s – Ca lc ulo s Ma tric ia le s ...................................115 Ap lic a c ió n d e ma tric e s – Inve rsio n d e Ma tric e s p o r Fa d d e vva .......123 PROBLEMAS PROPUESTOS........................................................................126 Re c ursivid a d ..................................................................................................129 PROBLEMAS PROPUESTOS........................................................................148 Eje rc ic io s c o n Grá fic o s................................................................................149 BIBLIOGRAFIA ....................................................................................................160

INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

1

PROGRAMACION II

GUIA DE JAVA 2007

PROLOGO Esta g uía fue re a liza d a p o r e stud ia nte s d e te rc e r se me stre d e Ing e nie ria d e Siste ma s d e la Unive rsid a d Ca to lic a Bo livia na c o n e l fin d e p ro p o rc io na r una he rra mie nta útil a to d o s lo s e stud ia nte s q ue e sté n c ursa nd o la ma te ria d e Pro g ra ma c io n II o q ue te ng a n a lg una d ific ulta d e n la p ro g ra ma c ió n e n Ja va o q ue simp le me nte d e se e n a mp lia r su c o no c imie nto e n e l te ma .

En e sta g uía e nc o ntra rá a p ro xima d a me nte 100 e je rc ic io s re sue lto s (p ro g ra ma s e n ja va ), c la sific a d o s e n d ife re nte s se c c io ne s. To d o s e sto s p ro g ra ma s func io na n c o rre c ta me nte

y fue ro n e je c uta d o s utiliza nd o

he rra mie nta Re a dy to Pro g ra m, d ip o nib le e n fo rma g ra tuita e n http :/ / www.sju.e d u/ ~p a rkinso / ja va to o ls/ re a d yto p ro g ra m.html

INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

2

la

PROGRAMACION II

GUIA DE JAVA 2007

INTRODUCCIÓN

En e l a ño 1991 na c ió Ja va c ua nd o e n Sun, una e mp re sa nue va , se p ro p usie ro n c re a r un nue vo

le ng ua je

d e stina d o

e n p rinc ip io

a

e le c tro d o mé stic o s, p o r lo ta nto , la p rime ra ve rsió n e ra un le ng ua je se nc illo c a p a z d e g e ne ra r c ó d ig o d e ta ma ño re d uc id o .

El c o ntinuo c a mb io e n la s c o mp uta d o ra s o b lig a b a a c a mb ia r lo s p ro g ra ma s c o ntinua me nte p o r lo q ue se p e nsó e n d e sa rro lla r una má q uina virtua l ind e p e nd ie nte q ue p o ste rio rme nte se d e no mina ria Ja va Virtua l Ma c hine (JVM) y e sto d io lug a r a l p rime r le ma d e Ja va "Write o nc e , Run Eve rywhe re ".

Evid e nte me nte , lo s e le c tro d o mé stic o s no e sta b a n inte re sa d o s e n Ja va , a sí q ue c o me nzó a intro d uc irse c o mo le ng ua je d e p ro g ra ma c ió n p a ra c o mp uta d o ra s a fina le s d e 1995, intro d uc ié nd o se c o mo una he rra mie nta ne c e sa ria , p ue sto q ue Ne tsc a p e Na vig a to r 2.0 la intro d ujo c o mo inté rp re te .

Se p ub lic ó Ja va 1.1 a p rinc ip io s d e 1997 y Ja va 1.2 a fina le s d e 1998 c o n una e vo luc ió n p ro d ig io sa d e 12 p a q ue te s inic ia le s, 23 p a q ue te s e n la ve rsió n 1.1 y 59 p a q ue te s e n la ve rsió n 1.2 ( d e no mina d a Ja va 2).

La c o mp a ñía Sun d e sc rib e a Ja va c o mo "simp le , o rie nta d o a o b je to s, d istrib uid o , inte rp re ta d o , ro b usto , se g uro , d e a rq uite c tura ne utra , p o rta b le , d e a lta s p re sta c io ne s, multita re a y d iná mic o ", y lo b ue no d e e sta d e finic ió n e s q ue

to d o

lo

q ue

d ic e , q ue

no

e s po c o , e s

a b so luta me nte c ie rto , a unq ue e n a lg uno s a sp e c to s me jo ra b le .

INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

3

PROGRAMACION II

GUIA DE JAVA 2007

Programacion Orientada a Objetos

La p rinc ip a l func ió n d e e ste tuto ria l no e s e nse ña r to d o s y c a d a uno d e lo s c o nc e p to s y p a rtic ula rid a d e s d e la p ro g ra ma c ió n d irig id a a o b je to s, a sí q ue simp le me nte se d a rá n a lg uno s c o nc e p to s q ue se d e b e n te ne r c la ro s p a ra c o me nza r.

La e struc tura g e ne ra l d e un p ro g ra ma o rie nta d o a o b je to s (POO), se e sp e c ific a e n una c la se p rinc ip a l q ue c o ntie ne n e l p ro g ra ma p rinc ip a l, (func ió n ma in()).

Una c la se e s una c o le c c io n d e va ria b le s y mé to d o s q ue ma ne ja n va ria b le s y e struc tura s d e d a to s. Se d e no mina n no rma lme nte d a to s y mé to d o s mie mb ro .

La POO se b a sa e n la p ro g ra ma c ió n d e c la se s. Una c la se c o nstituye un p a tró n o mo d e lo p a ra c re a r o b je to s. To d o s lo s o b je to s d e b e n p e rte ne c e r a una c la se d e te rmina d a y p o r lo ta nto se d ic e q ue to d o s lo s o b je to s d e b e n se r insta nc ia s d e una c la se , e s d e c ir, q ue lo s o b je to s fo rma n un c o nte xto d e c la se . Un o b je to e sta rá fo rma d o p o r la s va ria b le s y mé to d o s d e la c la se y se rá sie mp re d ife re nte d e o tro o b je to , a unq ue e ste p e rte ne zc a a la misma c la se . La s c la se s ta mb ié n p ue d e n inc luir va ria b le s sta tic q ue no fo rma rá n p a rte d e lo s o b je to s d e d ic ha c la se , sino d e la c la se e n sí, e sta s va ria b le s se d e no mina n va ria b le s d e c la se .

La he re nc ia e s o tro c o nc e p to imp o rta nte d e la POO, p e rmite d e finir nue va s c la se s b a sá nd o se e n c la se s ya e xiste nte s. Una c la se q ue se e xtie nde d e o tra , he re d a to d a s sus va ria b le s y to d o s sus mé to d o s. La c la se d e riva d a p ue d e a ña d ir nue va s va ria b le s y mé to d o s y re d e finir la s va ria b le s y mé to d o s he re d a d o s. En Ja va una c la se só lo p ue d e he re d a r d e o tra , e s lo q ue se d e no mina he re nc ia simp le . El último d e lo s c o nc e p to s c la ve s q ue se va n a p untua liza r a q uí e s e l p o limo rfismo , e l p o limo rfismo tie ne q ue ve r c o n la re la c ió n q ue se e sta b le c e INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

4

PROGRAMACION II

GUIA DE JAVA 2007

e ntre la lla ma d a a un mé to d o y e l c ó d ig o q ue e fe c tiva me nte se a so c ia c o n d ic ha lla ma d a . A e sta re la c ió n se lla ma vinc ula c ió n o b inding . La vinc ula c ió n p ue d e se r te mp ra na , e n tie mp o d e c o mp ila c ió n, o ta rd ía , e n tie mp o d e e je c uc ió n.

La vinc ula c ió n te mp ra na e s la má s e fic ie nte y e s la q ue se d a no rma lme nte c o n func io ne s no rma le s o so b re c a rg a d a s. La so b re c a rg a se

re fie re a la p o sib ilid a d d e te ne r d o s o má s func io ne s c o n e l mismo no mb re p e ro func io na lid a d d ife re nte . Es d e c ir, d o s o má s func io ne s c o n e l mismo no mb re re a liza n a c c io ne s d ife re nte s. El c o mp ila d o r usa rá una u o tra

d e p e nd ie nd o

de

lo s p a rá me tro s usa d o s. A e sto

se

lla ma

so b re c a rg a d e func io ne s. La vinc ula c ió n ta rd ía e s la q ue se utiliza c o n func io ne s re d e finid a s.

Ad e má s d e c la se s, Ja va p ro p o rc io na inte rfa c e s. Un inte rfa c e e s un c o njunto d e d e c la ra c io ne s d e mé to d o s. Si una c la se imp le me nta un inte rfa c e , d e b e d e finir to d a s la s func io ne s e sp e c ific a d a s e n é l. Una c la se p ue d e imp le me nta r ning ún, uno , o va rio s inte rfa c e s. Un inte rfa c e si so p o rta la he re nc ia múltip le d e va rio s inte rfa c e s.

Particularidades de Java A c o ntinua c ió n se e nunc ia n va ria s p a rtic ula rid a d e s d e Ja va , q ue se rvirá n a l p ro g ra ma d o r d e e ste le ng ua je a e nte nd e r me jo r la e struc tura p a ra c re a r un p ro g ra ma e n Ja va d e ma ne ra e xito sa . •

La sinta xis e s muy p a re c id a a C++ y la s p a la b ra s c la ve so n la s misma s e limina nd o a lg una s e n d e suso y a ña d ie nd o o tra s



p a ra re a liza r c o sa s c a ra c te rístic a s d e Ja va . En Ja va e s ha b itua l utiliza r no mb re s c o n minúsc ula s p a ra va ria b le s sie mp re y c ua nd o no se d e n a lg una s d e la s sig uie nte s situa c io ne s: o

El

no mb re

c o nsta

de

va ria s

p a la b ra s

y

no rma lme nte se p o ne una d e trá s d e o tra c o n la p rime ra le tra d e c a d a p a la b ra e n ma yúsc ula s: Ej. e lMa yo r. INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

5

PROGRAMACION II o

GUIA DE JAVA 2007 Lo s no mb re s d e c la se s e inte rfa c e s c o mie nza n sie mp re p o r ma yúsc ula s: Ej. Ge o me tría .

o

Lo s no mb re s d e o b je to s, mé to d o s, va ria b le s mie mb ro y va ria b le s lo c a le s d e lo s mé to d o s c o mie nza n sie mp re p o r minúsc ula .

o

Lo s

no mb re s

de

la s

va ria b le s

fina le s,

o

c o nsta nte s, se d e fine n sie mp re c o n ma yúsc ula s: Ej. PI. o

To d a s la s va ria b le s e n Ja va so n re fe re nc ia s y la utiliza c ió n d e la me mo ria a so c ia d a a é sta s y a lo s o b je to s q ue se ma ne ja n e s una func ió n d e l



re c o le c to r d e b a sura . Lo s fic he ro s d e c ó d ig o d e b e n te ne r la e xte nsió n ja va y te nd rá n e l mismo no mb re q ue la c la se p rinc ip a l q ue c o ntie ne n. Esto s fic he ro s p ue d e n c o nte ne r má s d e una c la se , p e ro só lo una d e e lla s se rá una c la se p úb lic a y se

• •

d e no mina c la se p rinc ip a l. Lo s fic he ro s ya c o mp ila d o s tie ne n la e xte nsió n c la ss y e xiste sie mp re un fic he ro d e e ste tip o p o r c la se . Una a p lic a c ió n e stá c o mp ue sta p o r uno o va rio s fic he ro s c la ss p e rmitie nd o a sí mo d ula riza r c a d a una d e la s p a rte s d e la a p lic a c ió n e n fic he ro s. La e je c uc ió n d e una a p lic a c ió n c o mie nza sie mp re p o r una c la se q ue c o ntie ne la func ió n



ma in() sin a ña d ir la e xte nsió n c la ss. En Ja va to d a s la s c la se s he re d a n, a unq ue no se e sp e c ifiq ue e xp líc ita me nte d e la c la se g e ne ra l Ob je c t q ue ha c e d e ra íz d e to d a la je ra rq uía d e c la se s d e Ja va . Lo s mé to d o s q ue d e fine la c la se o b je c t so n d e d o s c la se s, mé to d o s q ue se p ue d e n re d e finir p o r e l p ro g ra ma d o r, c lo ne (), e q ua ls(), to String (), fina lize () y mé to d o s q ue no p ue d e n se r re d e finid o s, so n mé to d o s fina l c o mo

g e tCla ss(), no tify(), no tifyAll()

a unq ue lo s tre s último s e stá n re la c io na d o s c o n la s he b ra s, thre a ds.

INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

6

PROGRAMACION II •

GUIA DE JAVA 2007

Ja va e s un le ng ua je fue rte me nte tip ific a d o y la c o nve rsió n e ntre re fe re nc ia s d e c la se s d ife re nte s e xig e q ue a mb a s c la se s e sté n re la c io na d a s me d ia nte he re nc ia o me d ia nte la imp le me nta c ió n d e un inte rfa z e n e l c a so d e q ue la



re fe re nc ia se a d e un tip o inte rfa c e . La s c la se s Ja va se a g rup a n e n p a c ka g e s a lo s q ue se p ue d e n d e finir c o mo lib re ría s d e c la se s. Si se d e c la ra una c la se sin p a c ka g e

se c o nsid e ra n p e rte ne c ie nte s a un

p a c ka g e p o r d e fe c to , de fa ult q ue e s e l d ire c to rio a c tua l. Ja va p ro p o rc io na un c o njunto d e p a q ue te s a l q ue se d e no mina API. El no mb re d e lo s p a q ue te s sue le se r un no mb re e n minúsc ula s y p ue d e c o nsta r d e va rio s no mb re s unid o s p o r p unto s. To d a s la s c la se s q ue e stá n e n e l mismo p a q ue te d e b e n e sta r e n e l mismo d ire c to rio . Lo s no mb re s c o mp ue sto s d e lo s p a q ue te s e stá n re la c io na d o s c o n la je ra rq uía d e d ire c to rio s e n q ue se g ua rd a n la s c la se s. Lo s p a q ue te s se utiliza n p a ra a lma c e na r c la se s re la c io na d a s, e vita r c o nflic to s d e no mb re s y a yud a r a la a c c e sib ilid a d d e la s c la se s. La inc lusió n d e una c la se e n un p a q ue te se ha c e me d ia nte la se nte nc ia p a c ka g e q ue se inc luye e n la p rime ra líne a d e l fic he ro ja va q ue c o ntie ne la c la se . la se nte nc ia imp o rt se g uid a d e l no mb re d e un p a q ue te má s e l no mb re d e una c la se d e e se p a q ue te , ind ic a q ue c la se se utiliza rá e n e se fic he ro c ua nd o se invo q ue a un o b je to d e la c la se •

imp o rta d a . Al c o ntra rio d e C++, Ja va no utiliza d e struc to re s, sino q ue o p c io na lme nte e l usua rio p ue d e inc luir n mé to d o q ue se e je c uta rá c ua nd o e l o b je to va ya a se r re c ic la d o , e s e l mé to d o fina lize ().

INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

7

PROGRAMACION II

GUIA DE JAVA 2007

El interprete de Java

Ja va , p a ra c o nse g uir se r un le ng ua je ind e p e nd ie nte d e l siste ma o p e ra tivo y d e l p ro c e sa d o r q ue inc o rp o re la má q uina utiliza d a , e s ta nto inte rp re ta d o c o mo c o mp ila d o . El c ó d ig o fue nte e sc rito c o n c ua lq uie r e d ito r se c o mp ila g e ne ra nd o e l Byte Co d e . Este c ó d ig o inte rme d io e s d e muy b a jo nive l, p e ro sin a lc a nza r la s instruc c io ne s má q uina p ro p ia s d e c a d a p la ta fo rma y no tie ne na d a q ue ve r c o n e l p -c o d e d e Visua l Ba sic . El

Byte Co d e

c o rre sp o nd e

al

80%

de

la s

instruc c io ne s d e la a p lic a c ió n. Ese mismo c ó d ig o e s e l q ue se p ue d e e je c uta r so b re c ua lq uie r p la ta fo rma . Pa ra e llo ha c e fa lta e l runtime , q ue sí e s c o mp le ta me nte d e p e nd ie nte d e la má q uina y de l

siste ma

o p e ra tivo

q ue

inte rp re ta

d iná mic a me nte e l Byte Co d e y a ña d e e l 20% d e instruc c io ne s q ue fa lta b a n p a ra su e je c uc ió n. Co n e ste siste ma e s fá c il c re a r a p lic a c io ne s multip la ta fo rma ,

p e ro

p a ra

e je c uta rla s

es

ne c e sa rio q ue e xista e l runtime c o rre sp o nd ie nte a l siste ma o p e ra tivo utiliza d o .

No o b sta nte , e ste p a no ra ma e stá c a mb ia nd o a p a so s a g ig a nta d o s, y a unq ue Ja va sig ue sie nd o b á sic a me nte un le ng ua je inte rp re ta d o , la situa c ió n se a c e rc a muc ho a la d e lo s p ro g ra ma s c o mp ila d o s, so b re to d o e n lo q ue a la ra p id e z e n la

e je c uc ió n d e l c ó d ig o

se

re fie re . Pa ra

c o mp re nd e r e l

func io na mie nto d e Ho tSp o t, q ue e s e l último la nza mie nto q ue ha c e Sun y q ue p ro me te inte rp re ta r lo s Byte Co d e s má s rá p id o q ue un p ro g ra ma c o mp ila d o , la s sig uie nte s imá g e ne s mue stra n c ó mo a c túa e l siste ma runtime e n lo s d ive rso s c a so s q ue ha sta a ho ra p ue d e n d a rse .

La ima g e n d e la izq uie rd a mue stra la s a c c io ne s c o rre sp o nd ie nte s a un c o mp ila d o r tra d ic io na l. El c o mp ila d o r tra sla d a la s se nte nc ia s e sc rita s e n le ng ua je d e a lto -nive l a múltip le s instruc c io ne s, q ue lue g o so n e nla za d a s junto

INTEGRANTES: Se rg io Ossio , And ré s Prud e nc io , Ig na c io Sa lg a d o , Fre d d y Va ld a

8

PROGRAMACION II

GUIA DE JAVA 2007

c o n e l re sulta d o d e múltip le s c o mp ila c io ne s p re via s q ue ha n d a d o o rig e n a lib re ría s, y junta nd o

to d o

e llo , e s c ua nd o

g e ne ra

un

p ro g ra ma e je c uta b le .

La ima g e n d e la d e re c ha mue stra la fo rma d e a c tua c ió n d e un inté rp re te . Bá sic a me nte e s un e no rme b uc le , e n e l c ua l se va le ye nd o o re c o g ie nd o c a d a una d e la s instruc c io ne s d e l p ro g ra ma fue nte q ue se d e se a e je c uta r, se a na liza , se p a rte e n tro zo s y se e je c uta . Lue g o se va a re c o g e r la sig uie nte inst...


Similar Free PDFs