fundamentos de informÁtica curso 2009/2010
Post on 24-Feb-2018
220 Views
Preview:
TRANSCRIPT
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 1/27
FUNDAMENTOS DE INFORMÁTICA
CURSO
2009/2010
PROGRAMACIÓN
EN
JAVA
RELACIÓN DE PROBLEMAS
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 2/27
Ejercicios de introducción
1. Real i zar una apl i caci ón en j ava que i mpr i ma por pant al l a una f r ase.
2. Real i zar una apl i caci ón en j ava que r epr esent e por pant al l a l asoper aci ones de suma, r est a, mul t i pl i caci ón y di vi si ón de dos dat osr eal es def i ni dos dent r o del pr ogr ama.
3. Real i zar una apl i caci ón en j ava que resuel va una ecuaci ón desegundo gr ado y muest r e su sol uci ón por pant al l a, di scr i mi nando ent r et odos l os posi bl es casos en f unci ón de l os val or es de l os coef i ci ent esde l a ecuaci ón def i ni dos dent r o de l a apl i caci ón.
Clase Leer
4. Real i zar una cl ase de uso común en j ava, que se l l amará Leer , queper mi t a l eer ent er os, r eal es, car act er es y cadenas ( obj et os de l acl ase String ) desde t ecl ado.
5. Modi f i car l os ej er ci ci os de i nt r oducci ón par a per mi t i r al usuar i o
i nt r oduci r l os par ámet r os desde t ecl ado. Ut i l i zar par a el l o l osmétodos cr eados en l a cl ase Leer .
Nota: En adel ant e, si empr e que se requi era l eer al gún dato desdet ecl ado, se podr á hacer uso de l os métodos de l a cl ase Leer sal voque se especi f i que l o cont r ar i o expr esament e.
Nota: Como r egl a, y sal vo que se especi f i que l o cont r ar i o en elenunci ado, cada cl ase de uso común o cl ase de apl i caci ón que se pi dar eal i zar deber á nombrarse como ClaseXX , donde XX cor r esponde alnúmero del ej erci ci o que se está real i zando. Asi mi smo, l os métodoscont eni dos en di cha cl ase (en caso de de ser una cl ase de usocomún) , deben nombr ar se como metodoXXY , si endo XX de nuevo el númerodel ej er ci ci o, e Y el apar t ado ( a, b, c, et c) si hubi ese var i os
dent r o del ej er ci ci o. Si el ej er ci ci o pi di ese un úni co mét odo, di chomét odo se l l amará sol ament e metodoXX .
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 3/27
Manejo de sentencias de control
6. Real i zar una apl i caci ón en j ava que muest r e por pantal l a un menúgener al con 5 posi bl es opci ones a el egi r una por el usuar i o, se pi der obust ez en l a i nt r oducci ón de l a opci ón por usuar i o. Una vez el egi dal a opci ón se i mpr i mi r á por pant al l a un mensaj e car act er í st i co de di cha
opci ón.
7. Real i zar una apl i caci ón en j ava que per mi t a t r ansf ormar l os gr adosCel si us en Fahr enhei t y vi cever sa y muest r e el r esul t ado por pant al l a.La apl i caci ón of r ecer á un menú con t r es opci ones: Pasar Cel si us aFahr enhei t , Pasar Fahr enhei t a Cel si us y Sal i r del pr ogr ama. Mi ent r asque el usuar i o no sel ecci one l a úl t i ma opci ón, el pr ogr ama deber ávol ver al menú i ni ci al .
8. Real i zar una cl ase en j ava que cont enga un método que cal cul e elf actor i al de un número n que se l e pasa como argumento de ent r ada ydevuel va el r esul t ado como ar gument o de sal i da. Si el argument o deent r ada n no f uer a vál i do, el pr ogr ama debe sal i r del métododevol vi endo un - 1 como códi go de er r or.
9. Real i zar una apl i caci ón en j ava que cal cul e el número combi natori o
⎟⎟ ⎠
⎞⎜⎜⎝
⎛
m
n , sabi endo que mn ≥ ,1
0=⎟⎟
⎠
⎞⎜⎜⎝
⎛ =⎟⎟
⎠
⎞⎜⎜⎝
⎛
n
nn y
( )!!
!
mnm
n
m
n
−⋅=⎟⎟
⎠
⎞⎜⎜⎝
⎛ .
Los val ores de n y m se pedi r án por t ecl ado, y el r esul t ado deber ámost r arse por pantal l a. Puede hacer se uso del método creado en elej erc i ci o anter i or .
10. Real i zar una apl i caci ón en j ava que di buj e un t abl er o deaj edr ez. Repr esent ando l as casi l l as bl ancas medi ant e “B” y l ascasi l l as negr as medi ant e “N”. Se recuerda que en un t abl ero de
aj edr ez, l a esqui na i nf er i or der echa ( y por t ant o l a super i ori zqui erda t ambi én) debe ser bl anca.
11. Real i zar una apl i caci ón en j ava que pi di endo por t ecl ado l aposi ci ón i ni ci al del al f i l , r epr esent e un t abl er o de aj edr ez con “B” y“N”, most r ando l a posi ci ón del al f i l y sus posi bl es movi mi ent os con“*” .
12. Real i zar una apl i caci ón en j ava que pi di endo por t ecl ado l aposi ci ón i ni ci al de l a t or r e, r epr esent e un t abl er o de aj edr ez con “B”y “N”, most r ando l a posi ci ón de l a tor r e y sus posi bl es movi mi ent oscon “*”.
13. Real i zar una apl i caci ón en j ava que pi di endo por t ecl ado l aposi ci ón i ni ci al de l a dama, r epr esent e un tabl er o de aj edr ez con “B”y “N”, most r ando l a posi ci ón de l a dama y sus posi bl es movi mi ent os con“*” .
Nota: En adel ant e, si exi st e l a posi bi l i dad de que uno o var i os del os ar gument os de ent r ada a un método no sean vál i dos, se deber áest udi ar di cha posi bi l i dad par a evi t ar que el mét odo pr oduzca uner r or en t i empo de ej ecuci ón. En caso que al gún ar gument o de ent r adano sea vál i do, el método deberá devol ver un códi go de err or que,sal vo que se i ndi que especí f i cament e en el ej er ci ci o, ser á un - 1.
Nota: La r obust ez en l a i nt r oducci ón de dat os desde t ecl ado seconsi der ar á obl i gat or i a par a todos l os mét odos/ apl i caci ones de aquíen adel ant e, aunque no se menci one expr esament e.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 4/27
14. Real i zar una apl i caci ón en j ava que pi di endo por t ecl ado l aposi ci ón i ni ci al del r ey, r epr esent e un t abl er o de aj edr ez con “B” y“N”, most r ando l a posi ci ón del r ey y sus posi bl es movi mi ent os con “*” .
15. Real i zar una apl i caci ón en j ava que pi di endo por t ecl ado l aposi ci ón i ni ci al del cabal l o, r epr esent e un t abl er o de aj edr ez con “B”y “N”, most r ando l a posi ci ón del cabal l o y sus posi bl es movi mi ent oscon “*”.
16. Real i zar una apl i caci ón en j ava que muest r e por pant al l a l os n pr i mer os t ér mi nos de l a ser i e de Fi bonacci , donde n es un parámet r oque se pedi r á por t ecl ado al usuar i o.
Nota: Los dos pr i mer os t ér mi nos de l a ser i e de Fi bonacci son i gual es a1 y l os r est ant es i gual a l a suma de l os dos ant er i or es.
17. Ent r e ot r as muchas pr opi edades de l a ser i e de Fi bonacci , l adi vi si ón de un t ér mi no de l a ser i e ent r e el ant er i or t i ende a unnúmero conoci do como “l a di vi na pr oporci ón” cuando l a l ongi t ud de l aser i e t i ende a i nf i ni t o. Se pi de r eal i zar una cl ase en j ava quecontenga un mét odo que r eci bi endo como argument o de ent r ada l a
l ongi t ud de l a ser i e de Fi bonacci devuel va l a apr oxi maci ón de l a“di vi na pr opor ci ón” par a esa l ongi t ud de l a ser i e.
18. Se pi de escr i bi r el códi go f uent e de una cl ase que cont enga unaser i e de métodos que cal cul en el val or de un conj unto de f unci onesdef i ni das medi ant e su desar r ol l o en ser i es de pot enci as. Di chasf unci ones r eci bi r án el punt o de eval uaci ón de l a f unci ón, x , que seráun número r eal , y el or den de t r uncaci ón de l a ser i e, n, que ser áent er o. Las f unci ones a cal cul ar son:
a. La exponenci al ex , que vi ene dada por l a expr esi ón:
...!4!3!2!1
1432
+++++= x x x x
e x
b. El seno sin(x), que vi ene dado por el desar r ol l o:
...!7
1
!5
1
!3
1
!1
1)sin(
753 +−+−= x x x x x
c. El coseno cos(x), que vi ene dado por el desar r ol l o:
Nota: Si el orden de t r uncaci ón no f uera vál i do, el argument o desal i da val dr á - 2. 0.
19. Se pi de escr i bi r el códi go f uente de una cl ase que cont enga unaser i e de métodos, con l os nombr es que f i gur an en l a si gui ent e t abl a.Est os mét odos r eci ben como argumento de ent r ada un número ent er o n cor r espondi ent e al l ado de l as f i gur as de ast er i scos que di buj an:
Trirect1 Triinv1 Tridoble1n = 4 **********
n = 4 **********
n = 4 ****************
Trirect2 Triinv2 Tridoble2
n = 4 ***
*******
n = 4 **********
n = 4 ***
*******
******
Triequi Triequiinv Rombo
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 5/27
n = 4 ****
************
n = 4 ** ** ** **********
n = 4 ****
*********************
En el caso de que el númer o que se pasa como argumento a l a f unci ón nosea posi t i vo, l a f unci ón sal dr á si n hacer nada.
20. Real i zar una apl i caci ón en j ava que, i nt r oduci endo por t ecl adoun númer o ent er o, r epr esent e por pant al l a su equi val ent e en el si st emabi nar i o. Si el númer o es negat i vo, se deber á escr i bi r elcor r espondi ent e si gno menos antes del número.
21. Real i ce un mét odo, i ncl ui do en una cl ase públ i ca, queproporci one el desgl ose en bi l l etes y monedas de una cant i dad exactade euros que se pasar á como argumento de ent r ada al mét odo.Consi dér ese que l os bi l l etes exi st ent es son de 500, 200, 100, 50, 20,10 y 5 €, y l as monedas de 1 y 2 €. Por ej empl o, si deseamos conocerel desgl ose de 1433 €, el mét odo most r ar á por pant al l a el si gui ent er esul t ado:
2 billetes de 500 euros
2 billetes de 200 euros
1 billete de 20 euros
1 billete de 10 euros
1 moneda de 2 euros
1 moneda de 1 euro
Observa que l a pal abr a ( bi l l et e y/ o moneda) concuer da en número con l acant i dad de bi l l etes ( o monedas) y que si no hay pi ezas de undet ermi nado t i po ( en el ej empl o, de 5 eur os) , no muest r a el mensaj e
cor r espondi ent e.En caso de que l a cant i dad de eur os i nt r oduci da no sea mayor que cer o,l a f unci ón sal dr á si n hacer nada.
22. En l a si gui ent e f i gur a se muest r a un “rect ángul o áur eo” que const ade dos r ectángul os, uno gr ande y ot r o pequeño, cuya pr oporci ón ensuper f i ci es es i gual a l a const ant e conoci da con el nombr e de l a
“di vi na pr opor ci ón”, denot ada por l a l et r a gr i ega ϕ .
Par a cal cul ar l a pr opor ci ón ent r e l assuper f i ci es de l os r ect ángul os se pr oceder áa l anzar n “dar dos” al eat or i os, t odosdent r o del r ect ángul o gr ande, y se cont arán
como aci ert os l os que hayan caí do dent r odel r ect ángul o pequeño, de manera que:
aciertos pequeño
grande
n
n
S
S ∝=ϕ
Se pi de escr i bi r el códi go f uent e de unacl ase que contenga un mét odo que r eci bi endocomo ar gument o de ent r ada el númer o de
dar dos t ot al a t i r ar n, devuel va l a apr oxi maci ón de l a “di vi naproporci ón” para ese número de dardos, según el método expl i cado conant er i or i dad.
23. Se pi de r eal i zar una cl ase que cont enga un método que r eci bi endocomo argument o de ent r ada l os 4 coef i ci ent es de una ecuaci ón de t ercergr ado, encuent r e una de l as sol uci ones de l a f unci ón medi ant e el
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 6/27
método de l a bi secci ón. Se deberá pr i mero real i zar una et apa de t ant eopar a encont r ar dos val ores i ni ci al es que cumpl an el t eor ema de Bol zano( usando l a f unci ón Math. Random( ) ) .
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 7/27
Manejo de vectores
24. Real i zar una cl ase de uso común en j ava, l l amada Entrada, quecont enga métodos par a i nt r oduci r vect or es ent er os y r eal es port ecl ado. Los nombres de di chos métodos ser án: VectorReal yVectorEntero.
25. Real i zar una cl ase de uso común en j ava, l l amada Salida, quecont enga métodos par a most r ar de f orma or denada por pantal l a vect oresent eros y r eal es. Los nombr es de di chos métodos serán: VectorReal yVectorEntero.
26. Escr i bi r el códi go f uent e de una cl ase que cont enga l ossi gui ent es métodos, l os cual es, r eci bi endo como ar gument o de entr adaun vect or de ent eros devuel ven:
a. La componente de máxi mo val or .b. La componente de mí ni mo val or .
27. Escr i bi r el códi go f uent e de una cl ase que cont enga un método
que devuel va l a medi a de un vect or ent ero reci bi do como ar gument o deent r ada.
28. Real i zar una cl ase que cont enga un método que r eci bi endo comoargument o de ent r ada un vect or de números enteros v y un númer o enter on, devuel va el número de veces que est á n cont eni da en el vect or v .
29. Real i zar una cl ase que cont enga un método que r eci bi endo comoargument o de ent r ada un vector de enteros v , devuel va el vect ornor mal i zado.
Nota: Par a nor mal i zar un vect or, se di vi den todas l as component es delvect or por el módul o del mi smo. El módul o de un vector es i gual a l ar aí z cuadr ada de l a suma de l as component es al cuadr ado del vect or .
30. Real i zar una cl ase de uso común en j ava que cont enga un mét odoque reci bi endo como ar gument o de ent r ada dos vect ores r eal es, devuel vael pr oduct o escal ar de di chos vect or es.
31. Real i zar una cl ase de uso común en j ava que cont enga un mét odoque reci bi endo como ar gument o de ent r ada dos vect ores r eal es de t amaño3, devuel va el pr oduct o vect or i al de di chos vect or es.
32. Real i zar una cl ase de uso común en j ava que cont enga un mét odoque r eci bi endo como argumento de ent r ada un númer o ent er o n, devuel vaun vect or con l os n pr i mer os t ér mi nos de l a ser i e de Fi bonacci .
33. Real i zar una cl ase que cont enga un método que r eci bi endo comoar gumento de ent r ada un númer o enter o n, devuel va un vect or quecont enga l os n pr i mer os t ér mi nos de l a si gui ent e ser i e:
x 0=1
x 1=-6
x 2=4
. . .x i=x i-1-x i-2-x i-3, i=3,...n-1;
34. Di señe un método, i ncl ui do en una cl ase de uso común, que reci baun vect or de números r eal es, v , como argumento de ent r ada y deter mi necuál de t odos el l os es el más cer cano al pr i mero de l os el ement os delvect or y devuel va su posi ci ón, p, dent r o del vector.
Ej : v = ( 2, 6, 4, 1 y 10) - > p = 3( El númer o más cercano al pr i mer o (2) es el cuart o (1) )En caso de que el vect or no t enga al menos dos componentes, el mét ododevol ver á un - 1.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 8/27
35. Real i zar una cl ase que contenga un mét odo que r eci bi endo comoargument o de ent r ada un vect or de número ent eros devuel va ot r o vect orde l a mi sma di mensi ón con l as componentes or denadas de menor a mayor .
Ej : Ent r ada Sal i da
( )51210 − ⇒ ( )10521−
36. Escr i bi r el códi go f uent e de una cl ase de uso común que cont engaun mét odo que r eci bi endo como argumento de ent r ada un númer o real x yun númer o enter o n, devuel va un vect or de t i po char que cont enga l aconver si ón en bi nari o de x con n bi t s de pr eci si ón ( i ncl uyendo l acoma) . Si el número x r eci bi do f uer a negat i vo, se deber á repr esent arel equi val ent e bi nar i o de su módul o absol ut o. Si n f uer a no posi t i vo,el mét odo deberá devol ver ‘ 0’ .
37. Se pi de escr i bi r el códi go f uent e de una cl ase que cont enga unmét odo que r eci bi endo como argumento de ent r ada un vect or de númer osent er os, devuel va l a moda (val or más repet i do) de di cho vect or . En elcaso de que var i as componentes sean l a moda, el mét odo deberá devol ver
una cual qui er a de el l as.
38. Escr i ba una cl ase que cont enga un mét odo que r eci ba como ent r adaun númer o ent ero posi t i vo di st i nt o de 1 y gener e, a part i r de él unasecuenci a de números cuyo pr i mer el ement o es el que se pasa comoargument o al método y que si gue est as r egl as:
• Si el úl t i mo númer o es par , el si gui ent e r esul t a de di vi di rést e por l a mi t ad.
• Si el úl t i mo númer o es i mpar , el si gui ent e resul t a demul t i pl i car l o por 3 y añadi r l e 1.
El pr oceso se r epet i r á hast a que el número generado sea i gual a 1. Toda l a secuenci a se devol ver á en f or ma de vect or .
39. Real i ce una cl ase que cont enga l os si gui ent es métodos:a. Reci be como ent r ada un númer o ent er o n y devuel ve un vect or conl os n pr i meros números pr i mos, empezando en el 1.
b. Reci be como ent r ada un númer o ent er o n y devuel ve un vect or conl os números pr i mos que exi st an ent r e 1 y n, or denados de menora mayor.
c. Reci be como ent r ada un númer o ent er o n y devuel ve un vect or conl os números pr i mos que exi st an ent r e 1 y n, ordenados de mayora menor.
d. Reci be como entr ada dos números ent eros n y m y devuel ve elmenor de l os números pr i mos exi st ent es en el i nt erval o [n,m].Si no hubi ese ni ngún número pr i mo, se devol ver á un - 1.
e. Reci be como entr ada dos números ent eros n y m y devuel ve el
mayor de l os números pr i mos exi st ent es en el i nt erval o [n,m].Si no hubi ese ni ngún número pr i mo, se devol ver á un - 1.f . Reci be como entr ada dos números ent eros n y m y devuel ve un
vect or que cont enga t odos l os números pr i mos exi st ent es en eli nt er val o [n,m]. Si no hubi ese ni ngún número pr i mo, sedevol ver á un - 1.
Si en l os métodos a, b o c l a ent r ada no es mayor que 1, el mét ododevol ver á un - 1. Si en l os métodos d , e o f al guna de l as ent r adas (n y m) no es posi t i va, o m no es mayor que n, el método devol ver á un - 1.
40. Real i zar una cl ase que cont enga una ser i e de métodos que,r eci bi endo como ent r ada un vector de números enteros, devuel va:
a. Un ent ero que di ga cuántos números di st i nt os aparecen en elvector.
b.
Un vect or cont eni endo l os números di st i nt os que aparecen en elvector.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 9/27
c. Una mat r i z con dos col umnas. La pr i mera contendr á el ant er i orvect or ( númer os di st i nt os que apar ecen en el vect or) , mi ent r asque l a segunda i ndi cará cuántas veces aparece cada número en elvector.
41. Real i zar una cl ase que cont enga:a. Un mét odo que cal cul e el mí ni mo común múl t i pl o de dos númer os
ent eros que se pasarán como argument os de ent r ada y l o devuel vacomo ar gument o de sal i da.
b. Un mét odo que cal cul e el máxi mo común di vi sor de dos númer osent eros que se pasarán como argument os de ent r ada y l o devuel vacomo ar gument o de sal i da.
c. Un mét odo que reci ba como argument o de ent r ada un númer o enter oposi t i vo n y r eal i ce l a descomposi ci ón en f act or es si mpl es delnúmero, al macenando di chos f act ores en un vect or que sedevol verá como ar gument o de sal i da.
d. Un mét odo que cal cul e el mí ni mo común múl t i pl o de ot r os dosnúmeros ent eros haci endo uso de su descomposi ci ón en f act oressi mpl es.
e. Un mét odo que cal cul e el máxi mo común di vi sor de ot r os dosnúmeros ent eros haci endo uso de su descomposi ci ón en f act ores
si mpl es.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 10/27
Manejo de matrices
42. Modi f i car l a cl ase Entrada, i ncl uyendo mét odos par a i nt r oduci rt ambi én mat r i ces de números enteros y real es por t ecl ado. Los nombresde di chos métodos ser án: MatrizReal y MatrizEntera.
43. Modi f i car l a cl ase Salida, i ncl uyendo métodos par a most r ar def orma or denada por pantal l a mat r i ces de números ent eros y real es. Losnombr es de di chos métodos serán l os si gui ent es: MatrizReal yMatrizEntera.
44. Real i zar una cl ase que cont enga l os si gui ent es métodos:a. Un mét odo que, r eci bi endo como entr ada un númer o n, devuel va l a
matr i z i dent i dad de di cho t amaño.b. Un método que, r eci bi endo como ent r ada un vect or , devuel va una
matr i z con l os el ement os de di cho vect or en su di agonalpr i nci pal .
45. Real i zar una cl ase con un mét odo que r eci ba como argument o una
mat r i z ent er a y devuel va l a t r aza del vect or . Nota: l a t r aza de una mat r i z es i gual a l a suma de l os el ement os de sudi agonal pr i nci pal .
46. Escr i bi r el códi go f uent e de una cl ase de uso común que cont engaun mét odo que reci bi endo como ar gumento de ent r ada un númer o enter o n,devuel va una mat r i z cuadrada de di mensi ón n con l a si gui ent e f or ma:
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
11010
11010
00101
11010
00101
L
MOMMMM
L
L
L
L
Nota: La di mensi ón de l a mat r i z n debe ser si empr e par , si no l o f uer ael método deberá devol ver un - 1.
47. Real i zar una cl ase que contenga un mét odo que r eci bi endo comoar gumento de ent r ada un númer o enter o n devuel va una mat r i z de
di mensi ón n× n que cont enga de f orma ordenada l os n*n pr i meros t érmi nosde l a ser i e de Fi bonacci .Ej: n=2 Ej: n=4
⎟⎟ ⎠
⎞⎜⎜⎝
⎛
32
11
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
987610377233
144895534
211385
3211
48. Di señar una cl ase que cont enga un método que r eci ba un númeroent er o n como argumento de ent r ada y devuel va l a mat r i z de Vander mondede di mensi ón nxn.
49. Real i zar una cl ase de uso común que cont enga un mét odo quer eci bi endo como ar gument o de ent r ada una mat r i z entera y un vect orent er o, devuel va l a mul t i pl i caci ón de l a mat r i z por el vect or .
50. Real i zar una cl ase de uso común en j ava que cont enga mét odospar a: sumar mat r i ces de números ent eros ( SumaMatrices) , restarmat r i ces de números enteros ( RestaMatrices) y mul t i pl i car mat r i ces denúmeros ent eros ( MultiplicaMatrices) . Las mat r i ces se pasarán como
argument os de ent r ada a l os métodos, y ést os deberán comprobar l acoher enci a de l as di mensi ones ant es de r eal i zar di chas operaci ones.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 11/27
51. Real i zar una cl ase de uso común, l l amada Ajedrez, que i ncl uyal as apl i caci ones ant er i or es en f orma de métodos, a l os que se l es pasacomo ar gument o l a posi ci ón de l a f i cha. Los nombres de l os mét odosser án: mueveAlfil, mueveTorre, mueveCaballo, mueveDama, mueveRey . Lasal i da de cada uno de est os métodos ser á una mat r i z de car act eres conel di buj o del t abl er o.
52. Se pi de r eal i zar una cl ase que cont enga un método que t omandocomo argumento de ent r ada un númer o ent er o devuel va una mat r i zt r i angul ar super i or de di mensi ón ( n×n) como si gue:
Ej : n=4. Ej : n=9.
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
1000
2100
3210
4321
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
100000000
210000000
321000000
432100000
543210000
654321000
765432100
876543210
987654321
53. Se pi de r eal i zar una cl ase que cont enga un método que t omandocomo argument o de ent r ada un númer o enter o n devuel va una mat r i zt r i angul ar i nf er i or como si gue:Ej : n=4 Ej : n=9
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
4321
0432
0043
0004
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
987654321
098765432
009876543
000987654
000098765
000009876
000000987
000000098
000000009
54. Se pi de real i zar una cl ase que contenga un método, que t omandocomo ar gument os de ent r ada un número entero para l a posi ci ón en f i l as
y ot r o para l a posi ci ón col umnas sobr e una mat r i z de di mensi ón 8×8,
devuel va l a mat r i z de 8×8 donde cada el ement o de l a mat r i z sea l adi st anci a ( en f i l as + col umnas) de di cha posi ci ón a l a posi ci óni ni ci al :
Ej : fila=0, columna=2. Ej : fila=6, columna=4.
⎟⎟⎟⎟
⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
12111098789
1110987678
109876567
98765456
87654345
76543234
65432123
54321012
⎟⎟⎟⎟
⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
43212345
32101234
43212345
54323456
65434567
76545678
87656789
987678910
55. Se pi de escr i bi r el códi go f uent e de una cl ase que cont enga unmétodo que reci bi endo como ar gument o de entr ada l a posi ci ón i ni ci al enf i l as y col umnas devuel va una mat r i z de caract eres de di mensi ón 8×8como l a de l a est r uct ur a del si gui ent e ej empl o:
Ej: fila= 4, columna = 3:
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 12/27
⎟
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
f f f ed e f f
f f ed cd e f
f ed cbcd e
ed cbabcd
f ed cbcd e
f f ed cd e f
f f f ed e f f
f f f f e f f f
Si el mét odo reci bi era como ar gument o de ent r ada una posi ci ón i ni ci alf uer a de l a mat r i z, deber á devol ver una ‘ x’ .
56. Real i zar una cl ase que contenga un mét odo que r eci bi endo comoargument o de ent r ada una posi ci ón en f i l as y col umnas sobr e una mat r i z
de di mensi ón 10×10 devuel va l a si gui ent e mat r i z de car act er es:
Ej: filas=3, columnas=5
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎜⎜⎜⎜
⎝
⎛
uuuuuuuuuu
uuuuuuuuuu
uuuuuuuuuu
uooooooouu
uoiiiiiouu
uoieeeiouu
uoieaeiouu
uoieeeiouu
uoiiiiiouu
uooooooouu
Si l a posi ci ón i ni ci al r eci bi da en f or ma de f i l a y col umna noest uvi er a dent r o del t abl er o, el mét odo deber á devol ver una ‘ x’ .
57. Real i zar una apl i caci ón en j ava que, pi di endo por t ecl ado unnúmero ent er o n, muest r e por moni t or l as n pr i mer as f i l as del
t r i ángul o de t ar t agl i a.
11 1
1 2 11 3 3 1
1 4 6 4 11 5 10 10 5 1
1 6 15 20 15 6 1
M
58. Real i zar una cl ase de uso común en j ava que cont enga un mét odoque, t omando como ent r ada una mat r i z de números r eal es, devuel va un
vect or con l a posi ci ón en f i l as y col umnas del el ement o de l a matr i zmás cer cano a cer o. En caso de que haya más de un el ement o que cumpl adi cha car act er í st i ca, se devol ver á el más cercano a l a esqui nasuper i or i zqui erda de l a mat r i z, y en caso de est ar a l a mi smadi st anci a el que est é en una f i l a super i or .
59. Se pi de escr i bi r el códi go f uent e de una cl ase que cont enga unmét odo que r eci bi endo como argumento de ent r ada un númer o enter o n yun número r eal x , devuel va una mat r i z r eal de di mensi ón n×n que si gal a est r uct ur a de l os si gui ent es ej empl os:
Ej: n=4, x=0.2 n=3, x=-1.1
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−−−
−−
−
2.04.06.08.0
4.02.04.06.0
6.04.02.04.0
8.06.04.02.0 ⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−
−−−−−
1.12.23.3
2.21.12.23.32.21.1
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 13/27
Si el método reci bi era como ar gument o de ent r ada un val or de n noposi t i vo, deber á devol ver un -1.0.
60. Se pi de r eal i zar una cl ase que contenga un método que r eci bacomo ar gumento de ent r ada dos mat r i ces y devuel va como ar gumento desal i da una mat r i z que est é f or madas por caj as en l a di agonal de l asot r as dos mat r i ces:
Ej :
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛ −
⇒
⎪⎪⎪
⎭
⎪⎪⎪
⎬
⎫
⎟⎟ ⎠
⎞⎜⎜⎝
⎛
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛ −
51000
32000
001401
00879
00452
51
32
1401
879
452
61. Escr i bi r una cl ase que cont enga:a. Un mét odo que reci ba como argumento de ent r ada una mat r i z de
números enteros y devuel va su si mét r i ca respecto de l ahori zont al .
b. Un mét odo que reci ba como argumento de ent r ada una mat r i z denúmeros enteros y devuel va su si mét r i ca respecto de l a
ver t i cal .c. Un mét odo que reci ba como argumento de ent r ada una mat r i z de
números enteros y devuel va su si mét r i ca respecto de l adi agonal .
d. Un mét odo que reci ba como argumento de ent r ada una mat r i z denúmeros enteros y devuel va su si mét r i ca respecto de l acont r adi agonal .
e. Un mét odo que reci ba como argumento de ent r ada una mat r i z denúmeros enteros y l a devuel va gi r ada 90º en el sent i do de l asaguj as del r el oj .
f . Un mét odo que reci ba como argumento de ent r ada una mat r i z denúmeros ent eros y l a devuel va gi r ada 180º en el sent i do de l asaguj as del r el oj .
g.
Un mét odo que reci ba como argumento de ent r ada una mat r i z denúmeros ent eros y l a devuel va gi r ada 270º en el sent i do de l asaguj as del r el oj .
62. Se pi de escr i bi r el códi go f uent e de una cl ase que cont enga unmét odo que r eci bi endo como argumento de ent r ada una mat r i z de númer osent eros, devuel va ot r a mat r i z de números ent eros de l a mi sma di mensi ónque l a ant er i or con sus el ement os or denados de mayor a menor .
Ej:
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛ −−
⇒⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−
−
10876
4311
0025
3120
7681
45010
63. Real i ce una cl ase que cont enga l os si gui ent es métodos:a. Dadas una mat r i z de números r eal es y una posi ci ón en f i l as y
col umnas, extr ae l a mat r i z de 3x3 que rodea al número que seencuent r a en di cha posi ci ón.
b. Dadas una mat r i z de números ent eros y una posi ci ón en f i l as ycol umnas, ext r ae l os el ement os que r odean a di cha posi ci ón yl os col oca por f i l as dent r o de un vect or , ( excl uyendo al pr opi onúmero) , comenzando por l a esqui na super i or i zqui erda yt er mi nando en l a i nf er i or der echa.
Si l a mat r i z no es, al menos, de tamaño 3x3, o si l a posi ci ón en f i l asy col umnas no está en l a par t e i nt er na de l a matr i z ( es deci r , que nodebe est ar t ampoco en el borde) , el método devol ver á un - 1.
c.
Exactament e i gual al método del apart ado a) sal vo porque sedebe per mi t i r ext r aer submatr i ces i ncl uso en l os bor des de l amat r i z. En caso de que l a posi ci ón el egi da esté en el bor de,
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 14/27
l os el ement os que no exi st en se r el l enar án con ceros en l asubmat r i z.
64. Una mat r i z t i ene un “valle” si el val or de una de sus cel das esmenor que el de cual qui era de sus 8 cel das veci nas. Escr i be una cl aseque cont enga l os si gui ent es métodos:
a. Reci be una mat r i z r eal como argument o de ent r ada y busca unval l e dent r o de l a mi sma. El método devol ver á un vect or con l aposi ci ón en f i l as y col umnas del pr i mer val l e que se hayaencont r ado.
b. Reci be una mat r i z ent era como argument o de ent r ada y devuel vel a posi ci ón en f i l as y col umnas del val l e que se encuent r e máscer ca de l a esqui na i nf er i or der echa de l a mat r i z.
c. Reci be una mat r i z r eal como ar gument o de ent r ada y devuel ve l aposi ci ón en f i l as y col umnas de t odos l os val l es que exi st andent r o de l a mat r i z.
Las casi l l as que no t i enen 8 veci nos no se consi deran candi datas a serval l e. La mat r i z de ent r ada deberá ser , al menos de 3x3. En casocont r ar i o se devol ver á un - 1.
Ej :
metodo ent r ada Sal i daMet odoXXa
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
0.90.00.80.30.6
0.60.70.80.10.6
0.50.40.90.20.3
0.50.50.90.20.1 ( )12
Met odoXXb
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
90836
67816
54923
55921 ( )31
Met odoXXc
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
0.90.00.80.30.6
0.60.70.80.10.6
0.50.40.90.20.3
0.50.50.90.20.1
⎟⎟ ⎠
⎞⎜⎜⎝
⎛
31
12
65. Real i zar una cl ase con l os mét odos anál ogos a l os de l a cl aseant er i or , per o que tambi én per mi t an encont r ar val l es en l os bor des del a mat r i z.
66. Se pi de r eal i zar una cl ase que cont enga un método que r eci bi endocomo argument o de ent r ada una mat r i z de número ent eros, muest r e porpantal l a di cha mat r i z, ordenada compl etament e de manera que t odos l ascomponentes de l a mi sma col umna empi ecen en l a mi sma posi ci ón ader echas:
Ej :
4 24 4- 13 - 7 - 2- 8 165 - 12
5401 21 45
67. Se pi de r eal i zar una cl ase que cont enga un método que r eci bi endocomo argumento de ent r ada una mat r i z A y un vector b de números r eal esr esuel va el si st ema de ecuaci ones Ax=b medi ante el mét odo deel i mi naci ón gaussi ana.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 15/27
Manejo de cadenas de caracteres
68. I mpl ement e un nuevo mét odo par a l a cl ase Leer que per mi t a l eeruna cadena de t ext o y al macenar l a dent r o de un vector de car acteres.
69. Real i ce una cl ase que cont enga un método que r eci ba comoargument o de ent r ada un ver bo y l o muest r e por pantal l a conj ugado enpr esent e de i ndi cat i vo.Si l a cadena de car acteres de ent r ada no f uese un verbo ( y sol ament eun ver bo) , el pr ogr ama devol ver á un - 1.
Nota: Exi st en t r es conj ugaci ones –ar , -er , -ir . Se supondr á que l osver bos i nt r oduci dos son r egul ar es.
70. Escr i ba una cl ase que cont enga l os si gui ent es métodos:a. Un método que r eci ba como argument o de ent r ada una f r ase y l a
devuel va convert i da por compl eto a mayúscul as.b. Un método que r eci ba como argument o de ent r ada una f r ase y l a
devuel va conver t i da por compl eto a mi núscul as.
71. Uno de l os métodos de encr i ptaci ón más si mpl es que exi st enconsi st e en “despl azar ” un mensaj e un val or f i j o de posi ci ones ( est eval or se conoce como ‘ l l ave’ ) en el al f abet o. Así por ej empl o, l apal abr a J AVA despl azada una posi ci ón ( ‘ l l ave’ = 1) se convi er t e enKBWB. Real i ce una cl ase en l enguaj e J AVA que contenga:
a. Un mét odo que, r eci bi endo como argument o de ent r ada una f r ase yun val or ent er o ( l a ‘ l l ave’ ) devuel va l a f r ase encri pt ada.
b.
Un mét odo que, r eci bi endo como argument o de ent r ada una f r aseencri pt ada y un val or ent er o ( l a ‘ l l ave’ de encri pt aci ón) ,devuel va l a f r ase desencr i pt ada.
En el pr oceso de encr i pt aci ón/ desencr i pt aci ón sól o se t endr án encuent a l as l et r as y/ o númer os, no modi f i cándose l os espaci os o si gnosde punt uaci ón. Si l a ‘ l l ave’ no f uese un númer o posi t i vo, el mét ododevol ver á l a cadena “er r or ”.Par a compr obar que el pr oceso de encr i pt ado ha si do cor r ect o, r eal i ceun t ercer método de apl i caci ón dent r o de est a mi sma cl ase en el cualse pi da una cadena de t ext o al usuar i o, se encr i pt e usando una l l aveque se pedi r á t ambi én al usuar i o, se muest r e por pant al l a l a f r aseencr i pt ada, y se desencr i pt e a cont i nuaci ón most r ando por pant al l a elr esul t ado f i nal ( que debe ser i gual a l a f r ase i nt r oduci da por
t ecl ado) .
72. Real i ce una cl ase que cont enga l os si gui ent es métodos:
Nota: Par a real i zar l os ej er ci ci os de manej o de cadenas decar act eres en J AVA se t endr án en cuent a l os si gui ent es datos:
•
El t i po char se t r ata i nternament e como un entero de 16 bi t s aef ect os de conver si ón aut omát i ca de t i pos.
• Los códi gos numér i cos que r epr esent an l os car acteresal f anumér i cos son consecut i vos, comenzando en:
o Mayúscul as: ‘ A’ = 65 (41 en hexadeci mal ) ‘ Z’ = 90 (5A en hexadeci mal )
o Mi núscul as: ‘ a’ = 97 ( 61 en hexadeci mal ) ‘ z’ = 122 ( 7A en hexadeci mal )
o Númer os: ‘ 0’ = 48 (30 en hexadeci mal )
‘ 9’ = 57 (39 en hexadeci mal )
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 16/27
a. Reci be como argument o de ent r ada una cadena de caract eres y l adevuel ve i nver t i da.
b. Reci be como ar gumento de ent r ada una palabra ( vect or decar act er es si n espaci os ni si gnos de punt uaci ón) y di ce si ést aes un pal í ndr omo o no.
c. Reci be como ent r ada una frase y di ce si ésta es un pal í ndr omo ono.
En caso de que el vect or de car act er es i nt r oduci do sea pal í ndr omo, l asf unci ones devol ver án un 1. Si no l o son, devol ver án un 0.
Nota: Una f r ase es un pal í ndr omo si se l ee i gual de i zqui er da ader echa que de derecha a i zqui erda. Los car acteres de espaci o enbl anco y si gnos de punt uaci ón no se t endrán en cuent a a l a hora de l acomprobaci ón.
73. Real i ce una cl ase en J AVA que cont enga l os si gui ent es métodos:a. Reci be como argument o de ent r ada dos cadenas de car act eres y
muest r a el í ndi ce del car áct er de l a pr i mer a cadena, en el queempi eza, por pr i mera vez, l a segunda cadena. Si l a segundacadena de car acteres no est á cont eni da en l a pr i mera, sedevol ver á un - 2.
b. Reci be como argument o de ent r ada dos cadenas de car act eres y
devuel va el número de veces que aparece l a segunda cadenacont eni da dent r o de l a pr i mera.
Si el segundo vector de car acteres es más l argo que el pr i mero sedevol ver á un - 1.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 17/27
Ejercic ios de examen
Mayo 2007
1. Se pide realizar una clase que se llame clase01 , que contenga un método que se llame metodo01 ,
que recibiendo como argumento de entrada dos número enteros a y b que representan los extremosde un intervalo de números enteros positivos [ a,b ], devuelva el número primo más pequeño dentrode ese rango.
Nota : Si a o b no fueran mayores que 1 o a no fuera menor que b el método deberá devolver un -1. Sidentro del intervalo [ a,b ] no se encontrara ningún número primo el método también deberá devolver-1.
2. Se pide realizar una clase que se llame clase02 , que contenga un método que se llame metodo02 ,que recibiendo como argumento de entrada un vector de caracteres c que representa la conversiónen binario de un número real, devuelva su valor en base decimal.
Ej: c = ‘ 10001001, 1’ 128+8+1+0, 5 = 137, 5
c = ‘ 10110’ 16+4+2 = 22c = ‘ a12az123’ - 1c = ’ 1001, 11, 11010’ - 1
Nota : La representación del número binario se supone como parte entera, una coma para laseparación fraccionaria y parte fraccionaria. Si el método recibiera como argumento de entrada unacadena que no representara un número binario, deberá devolver -1 ( ver ejemplos ).
3. Se pide realizar una clase que se llame clase03 , que contenga un método que se llame metodo03 ,que devuelva un vector con las dos componentes cartesianas, x e y , de un lanzamiento aleatorio ensobre el plano dentro del circulo unidad que se muestra en la figura.
Nota : Por motivos de eficiencia computacional queda prohibido el uso de cualquier tipo de bucle( for , while o do… while )
4. Se pide realizar una aplicación que se llame aplicacion04 que pruebe la bondad del método delejercicio2 pidiendo por teclado el número a convertir a octal y mostrando por pantalla la conversión.
Nota : Si lo desea, el alumno puede usar los métodos de la clase Leer .
( 2
p u n t o s )
( 2
p u n t o s )
( 2
p u n t o s )
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 18/27
Junio 2007
1. Realice una clase que se llame clase01 que contenga tres métodos que permitan simular un sorteodel cupón de la ONCE. Los métodos serán los siguientes:
a. Un método, llamado metodo01a , que permita al usuario introducir por teclado un númeroentre 00.000 y 99.999 como su apuesta para el sorteo. Dicho número se introducirá dígito adígito y se almacenará en un vector que se devolverá como salida del método.
b. Otro método, llamado metodo01b , que simule el sorteo de modo aleatorio y devuelva elnúmero que ha resultado premiado en el mismo formato que el vector de apuesta.
c. Un tercer método, llamado metodo01c , que, recibiendo como entrada una apuesta y elnúmero premiado, diga si dicha apuesta ha resultado premiada y devuelva la cuantía delpremio. La relación de premios considerada será la siguiente:
A las cinco cifras: ........................ 35.000 € A las cuatro últimas cifras: ...............200 € A las tres últimas cifras: ...................... 20 € A las dos últimas cifras: ........................ 6 € A la última cifra (reintegro): ............1,50 €
Nota : La introducción de los números por teclado deberá ser robusta, de manera que el vector
generado se corresponda con un número válido para el sorteo. En el método de comprobación delpremio se deberá asegurar que los vectores que contienen la apuesta y el número premiado son
válidos. Utilice si lo necesita los métodos de laclase Leer .
2. Se pide realizar una clase que se llame clase02 , que contenga un método que se llame metodo02 ,que recibiendo como argumento de entrada un número entero devuelva en un vector su equivalenteen el sistema octal de numeración.
Ej: ent r ada = 8 s al i da = 1· 81 + 0· 80 = 10ent r ada = 748 s al i da = 1· 83 + 3· 82 + 5· 81 + 4· 80 = 1354ent r ada = - 200 s al i da = 3· 82 + 1· 81 + 0· 80 = 310
Nota : Si el número introducido fuese negativo, el método devolverá un –1. Utilice si lo necesita los
métodos de la clase Leer .
3. Realice una clase, llamada clase03 , que contenga un método, de nombre metodo03 , que recibacomo entrada un número entero y devuelva una matriz que tenga la estructura que se muestra en losejemplos:
Ej:0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 1 2 1 0 0 0
3 0 1 2 1 0 ; 5 ;0 0 1 2 3 2 1 0 0
1 2 3 2 1 0 1 2 3 4 3 2 1 0
1 2 3 4 5 4 3 2 1
n salida n salida
⎛ ⎞⎜ ⎟
⎛ ⎞ ⎜ ⎟⎜ ⎟ ⎜ ⎟= → = = → =⎜ ⎟ ⎜ ⎟⎜ ⎟⎝ ⎠ ⎜ ⎟
⎜ ⎟⎝ ⎠
Nota : Si el número introducido no fuese mayor que 1, el método devolverá un –1. Utilice si lonecesita los métodos de la clase Leer .
( 2
p u n t o s )
( 2
p u n t o s )
( 3
p u n t o s )
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 19/27
Septiembre 2007
1. Realice una clase que se llame clase01 que contenga un método llamado metodo01 que reciba comoentrada tres argumentos: m , n y p, y devuelva una matriz real de dimensión mxn , A , que tenga lasiguiente estructura:
A =
m
n
p p p p p
p p p p p
p p p p p
p p p p p
4 4 4 4 4 4 4 34 4 4 4 4 4 4 21 OM
L
⎪⎪⎪
⎭
⎪⎪⎪
⎬
⎫
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
22/4/8/
422/4/
8422/
16842 ⇒ Ej.: m = 5, n = 4, p = 4.8 A =
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
4.22.16.03.0
8.44.22.16.0
6.98.44.22.1
2.196.98.44.2
4.382.196.98.4
Notas : La matriz no necesita ser cuadrada. Debe comprobarse que las dimensiones de la matriz son
válidas. En caso de no serlo, el programa devolverá un -1 como código de error.
2. Realice una clase llamada clase02 que contenga un método que se llame metodo02 que reciba comoargumento una matriz de números enteros A y devuelva como argumento de salida otra matriz denúmeros enteros, B , con una columna y una filas más que la matriz de entrada. En la matriz desalida, los elementos de la matriz de entrada se hallarán ordenados de menor a mayor por columnas(independientemente unas columnas de otras) y la fila y la columna adicionales contendrán las sumasde los elementos ordenados de cada columna y cada fila respectivamente.
Ej.: A =
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−− 819
572
847
589 ⇒ B =
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛ −−−
55101827
25889
21579
16547
7812
3. Realice una aplicación llamada clase03 con la que se pueda comprobar el correcto funcionamientodel método creado en el ejercicio 2. Suponga que los métodos de las clases Leer y Entrada (realizadasen clase) están disponibles para su uso si fuese necesario.
( 2 .
5
p u n t o s )
( 2 .
5
p u n t o s )
( 2
p u n t o s )
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 20/27
Mayo 20081. Se pide realizar una clase de aplicación que se llame clase01 que pida al usuario un número n por
teclado y, en función de dicho número dibuje la siguiente figura por pantalla:
Ejemplos: n = 8 ** ** n = 5 ** **
* * * * * * * *
* * * * * * *
* ** * * * * *
* ** * ** **
* * * *
* * * *
** **
Nota : La introducción del número por teclado deberá ser robusta, de manera que sólo se aceptaránnúmeros positivos mayores que 2.
2. Realizar una clase llamada clase02 que contenga un método llamado metodo02 que permitacalcular la derivada de un polinomio. Para ello se le pasará como argumento de entrada un vector, p ,que contenga los coeficientes del polinomio en orden decreciente, mientras que el argumento desalida será un vector conteniendo los coeficientes del polinomio derivada del original.
Ej:
( ) ( )4.316654.382
4.316654.382 223
−=⇒−−=
−+=⇒−−+=
salida p
x xdx
dy x x x y
3. Realice una clase llamada clase03 que permita crear sopas de letras. Para ello contendrá lossiguientes métodos:
a. metodo03a: recibiendo como argumento un número n , que debe ser entero, positivo ymayor que 1, crea una matriz de dimensión nxn que contiene letras mayúsculas obtenidasaleatoriamente y la devuelve como argumento de salida.
Ej:
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
⇒=
I J U U N
R LP Z A
D E C X H
F BU E D
GOK PG
n 5
b. metodo03b: recibiendo como argumentos de entrada una matriz de caracteres, A , unapalabra (vector de caracteres), v , y una posición en filas, f , y columnas, c , devuelve lamisma matriz, con la palabra colocada dentro de la matriz a partir de la posición indicada.
Ej:( )
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
⇒===
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
=
I J U U N
R L A Z A
D E S X H
F B A E D
GOC PG
c f AS AC v
I J U U N
R LP Z A
D E C X H
F BU E D
GOK PG
A 2,0,,
Nota : El códigoASCI I
asociado al carácter‘ A’
es 65, mientras que el asociado a‘ Z’
es 90. Sedebe comprobar que el vector de caracteres solamente contiene letras mayúsculas, así como que laposición en filas y columnas permite colocar la palabra contenida en el vector de caracteres. En casocontrario se devolverá el caracter ‘ x’ .
( 2 p u n t o s )
( 2
p u n t o s )
( 3
p u n t o s )
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 21/27
Junio 20081. Se pide realizar una clase de aplicación que se llame Quiniela que simule el desarrollo de una
quiniela de fútbol. Para ello, en primer lugar pedirá al usuario que realice una apuesta para lospartidos de la jornada, después simulará los resultados de los partidos mostrándolos por pantalla, ypor último calculará el número de aciertos que ha tenido el usuario. Para ello se deberán tener encuenta los siguientes puntos:
• Una apuesta/sorteo de una quiniela consta de 14 elementos. Cada uno de ellos tendrá uno delos siguientes valores:
o 1 para la victoria local;o X para el empate;o 2 para la victoria del equipo visitante.
• La lectura de la apuesta se realizará de forma robusta, garantizando que la apuesta no contendrá valores no permitidos.
• La simulación de los resultados de los partidos se realizará aleatoriamente, teniendo un 45% deposibilidades de acabar en victoria local, un 35% de que haya un empate y un 20% de que ganeel visitante.
• La entrada-salida por pantalla tendrá la siguiente forma:
Nota : Para la lectura de datos suponga que tiene disponibles los métodos de una clase Leer quepermiten leer datos de cualquier tipo introducidos por teclado (datoInt, datoDouble, datoChar,datoFloat, etc.).
2. Realizar una clase llamada Texto que contenga un método llamado cambiaCadena que, recibiendocomo argumentos de entrada tres vectores de caracteres: texto , c1 y c2 , devuelva otro vector decaracteres en el que se haya sustituido en el vector texto la cadena c1 por la c2 .
Notas : Las cadenas de texto c1 y c2 deberán tener el mismo tamaño. En caso de que no fuese así opudiese haber cualquier otro error en los argumentos de entrada (la comprobación de errores quedaa discreción del alumno), se devolverá ‘x’.
3.
Realizar una clase llamada Integral que contenga un método llamado indefinidaMultiple que calcule laintegral indefinida enésima de un polinomio. Los argumentos de entrada de la función serán el
vector de coeficientes de polinomio en orden decreciente de potencias de x, p , y un vector deconstantes de integración, c , que nos dirá el número de veces que hay que integrar el polinomio
I nt r oduzca su apuest a:
Par t i do 1 ( 1- X- 2) : 1Par t i do 2 ( 1- X- 2) : 1Par t i do 3 ( 1- X- 2) : 1Par t i do 4 ( 1- X- 2) : 1Par t i do 5 ( 1- X- 2) : 1Par t i do 6 ( 1- X- 2) : 2Par t i do 7 ( 1- X- 2) : 2Par t i do 8 ( 1- X- 2) : 2Par t i do 9 ( 1- X- 2) : 2Par t i do 10 ( 1- X- 2) : XPar t i do 11 ( 1- X- 2) : XPar t i do 12 ( 1- X- 2) : XPar t i do 13 ( 1- X- 2) : 1Par t i do 14 ( 1- X- 2) : X
Los r esul t ados de l a j ornada f ueron:Par t i do 1: 1
Par t i do 2: 2Par t i do 3: 1Par t i do 4: 1Par t i do 5: XPar t i do 6: 1Par t i do 7: 1Par t i do 8: XPar t i do 9: 1Par t i do 10: 2Par t i do 11: XPar t i do 12: 1Par t i do 13: XPar t i do 14: XHa obteni do 5 aci ert os
( 3
p u n t o s )
( 2
p u n t o s
)
( 2
p u n t o s )
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 22/27
(tantas como constantes de integración). Dichas constantes se irán agregando a la integral delpolinomio empezando por la de índice más bajo (i.e.: primera integración c[0], segundaintegración c[1], etc.). La salida será un vector conteniendo los coeficientes del polinomiointegrado.
Ej:( ) [ ] ( )825,26,018254,312
825,26,08,256,312 234
212
−−−=⇒−==
−+−−=⇒−==−−= ∫∫salidac p
x x x x ydxdxcc x x y
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 23/27
Julio 20081. Realizar una clase llamada Talla que calcule la talla de un vector. La talla de un vector se definirá
como el máximo número de elementos consecutivos repetidos dentro del vector. Dicha clasecontendrá dos métodos:
a. Un método llamado calculaTalla que recibirá como argumento de entrada un vector denúmeros enteros, v , y devolverá un vector de tres componentes, llamado salida . La
primera de las componentes contendrá la talla del vector, la segunda dirá cuál es elelemento que se repite, mientras que la tercera dirá la posición del vector a partir de la cualse ha encontrado.
b. Un método de aplicación que permitirá probar la bondad del anterior método. Para ellopedirá por teclado un vector de números enteros, lo pasará al método y mostrará porpantalla los resultados proporcionados por éste. La salida por pantalla debe ser análoga a laque se muestra en el ejemplo:
Nota : El alumno dispone de los métodos de la clase Leer para la introducción de datos por teclado(pero NO dispone de las clases Entrada ni Salida ).
2.
Realizar una clase llamada Distancias que contenga un método llamado minimaDistancia quecalcule la mínima distancia entre una serie de puntos. El método recibirá como argumento deentrada una matriz de números reales, P . Cada una de las filas de P se corresponderá con lascoordenadas cartesianas de un punto en el espacio. El método calculará la menor de las distanciasentre dos puntos cualesquiera de los que se encuentren definidos en P y devolverá en un vector lasfilas correspondientes a los puntos que se encuentran más cerca. En caso de que la matriz de entradano sea válida, el método devolverá un -1.
Ejemplo: [ ]20
7.090
318
4.12.23.1
15.14
012
4
3
2
1
0
=⇒
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−
=
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
= salida
P
P
P
P
P
P
Lo que quiere decir que los puntos más cercanos entre sí son los descritos por las filas 0 y 2 ( distancia= 1.9723 ).
Tamaño del vect or : 10
El ement o 0: 3El ement o 1: 0El ement o 2: 0El ement o 3: 1El ement o 4: 5El ement o 5: 5El ement o 6: 5El ement o 7: 7El ement o 8: 7El ement o 9: 1
La t al l a del vector es 3.El el ement o que se r epi t e mas veces consecut i vas es el 5.La posi ci on a part i r de l a cual se repi t e mas veces es l a 4.
( 3
p u n t o s )
( 4
p u n t o s )
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 24/27
Mayo 20091. (0,5 puntos) Realizar una clase de aplicación llamada Igualdad que imprima n veces por pantalla la frase:
“ Ninguna persona debe ser discriminada a causa de su raza, sexo, creencia o religión.”. Dicho valor n deberá leersedesde teclado. Puede utilizar para ello los métodos que necesite de las clases Leer , Entrada y Salida .
2. (2 puntos) Realizar una clase de uso común llamada Estadistica que contenga un método llamadomediana que, recibiendo como argumento de entrada un vector de números enteros, v , devuelva el
valor de la mediana de dicho vector.
Ejemplos de uso: 1 18 42 3 2 3 1 21 10 3 3 4 3.5
Nota : La mediana de un número se define como el valor tal que la mitad de los números del vector esinferior o igual a él y la otra mitad es mayor o igual. Existen dos casos:
• Si el vector tiene un número impar de elementos, dicho valor corresponde al elemento centraldel vector una vez ordenado.
• Si el vector tiene un número par de elementos, dicho valor corresponde a la media entre los doselementos centrales del vector una vez ordenado.
3. (2 puntos) Realizar una clase de uso común llamada Concatenacion que contenga un método llamadocontradiagonal que, recibiendo como entrada dos matrices de números reales, A y B , devuelva unamatriz que contenga las simétricas de dichas matrices respecto de la vertical colocadas por cajas en la
contradiagonal: , 0 0
Ejemplo de uso: 1 23 4 , 9 8 75 4 3 0 0 00 0 0 2 14 37 8 93 4 5 0 00 0
Para el cálculo de las matrices simétricas, puede utilizar una clase llamada Simetrias , que contiene lossiguientes métodos:
• publ i c stat i c i nt [ ] [ ] ver t i cal Entera ( i nt [ ] [ ] A)
Devuelve la simétrica respecto de la vertical de una matriz de números enteros.•
publ i c stat i c i nt [ ] [ ] hor i zonta l Entera ( i nt [ ] [ ] A)
Devuelve la simétrica respecto de la horizontal de una matriz de números enteros.
• publ i c stat i c doubl e[ ] [ ] vert i cal Real (doubl e [ ] [ ] A)
Devuelve la simétrica respecto de la vertical de una matriz de números reales.
• publ i c st at i c doubl e[ ] [ ] hori zont al Real ( doubl e [ ] [ ] A)
Devuelve la simétrica respecto de la horizontal de una matriz de números reales.
4. (2,5 puntos) Realice un método llamado resuelveSopa que esté incluido en una clase llamadaSopadeletras y determine si una palabra se encuentra escondida dentro de una sopa de letras. Dichométodo recibirá como argumento de entrada una matriz de caracteres, S , que contendrá la sopa, y un
vector de caracteres, c , que contendrá la palabra a buscar. Esta palabra se podrá encontrar en la sopatanto en horizontal, como en vertical y tanto del derecho como del revés, pero no en diagonal. El
método devolverá un vector que contendrá la fila y la columna de la posición desde la que se encontró lapalabra. En caso de no encontrarse dentro de la sopa se devolverá un -1 en ambas coordenadas.
Ejemplo de uso:
, 2 4 La palabra ‘NULA’ comienza en fila 2, columna 4.
Nota : El alumno deberá comprobar que la matriz y la palabra recibidas contienen únicamente letrasmayúsculas. En caso de que no sea así se devolverá únicamente un -1.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 25/27
Junio 20091. (1 punto) Realizar una clase de aplicación llamada MuyFacil que dé al usuario la posibilidad de elegir una
de las dos siguientes frases para imprimirla por pantalla:
• “ Ninguna persona debe ser discriminada a causa de su raza, sexo, creencia o religión.”
• “Ninguna persona debe copiar en un examen ni presumir en el tuenti de que lo va a hacer.”Puede utilizar para ello los métodos que necesite de las clases Leer , Entrada y Salida . Nota : La elección de la frase se deberá realizar de manera robusta.
2. (3 puntos) Realizar una clase de uso común llamada Triangulos que contenga un método llamadocentrados que, recibiendo como argumento de entrada un número entero, n , muestre la siguiente figurapor pantalla, donde n se corresponde con el número de triángulos centrados que comparten la mismabase:
Caso General n = 1 n = 2 n = 3 n = 5
*
***
*
* ** * *
*******
*
* *
* * *
* * * ** * * * *
***********
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * ** * * * * * * * *
*******************
Nota : El número n deberá ser positivo y menor que 10. En caso contrario, se mostrará un mensaje porpantalla indicando el problema y se saldrá del método sin hacer nada más.
3. (3 puntos) Realizar una clase de uso común llamada Patrones que contenga un método llamadobusqueda que, recibiendo como entrada dos matrices de números enteros, A y B , determine si la matrizB se encuentra contenida en A . Si es así, devolverá la posición, p , (en filas y columnas) correspondiente ala esquina superior izquierda donde la haya encontrado. En caso contrario, devolverá la p = (-1,-1) .
Ejemplo de uso:
5 27 85 9 1 14 97 9 237 , 4 97 9 1 2
Nota : En caso de que la matriz que estamos buscando, B , sea mayor que la matriz donde la buscamos, A ,devolveremos únicamente un -1 como código de error.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 26/27
Julio 20091. (1 punto) Realizar una clase de aplicación llamada Regalo que cree un vector de números enteros. El
tamaño de dicho vector se deberá pedir de modo robusto al usuario. Por último, la aplicación mostrarálos contenidos del vector. Puede utilizar para ello los métodos que necesite de las clases Leer y Entrada realizadas en clase.
2. (3 puntos) Realizar una clase de uso común llamada Desplazamiento que contenga un método llamado
haciaLaIzquierda que, recibiendo como entrada un vector de números reales, vector , y un númeroentero n , devuelva el mismo vector desplazado n posiciones hacia la izquierda. Los elementos que sesalgan del vector al desplazarse deberán volver a incluirse por la derecha.
Ejemplo de uso: v
1 2 3 4 5 6,n
2 s lid
3 4 5 6 1 2 Notas : En el caso de que n no sea un número entero positivo (es decir, mayor que 0) se devolverá el vector de entrada sin modificar.
3. (3 puntos) Realizar una clase de uso común llamada Hexadecimal que contenga un método llamadodec2hex que, recibiendo como argumento de entrada un número real positivo, n , devuelva un vector decaracteres que contenga el equivalente de ese número en el sistema hexadecimal de numeración con doscifras decimales.
Ejemplos de uso: n 3240 s lid ‘C’ ‘A’ ‘8’ ‘,’ ‘0’ ‘0’n
231,21 s lid
‘E’ ‘7’ ‘,’ ‘3’ ‘5’ Notas : Se valorará positivamente que a la hora de calcular los dígitos hexadecimales se utilice el código del
menor tamaño posible. Si el número es negativo se devolverá un caracter ‘X’.
7/25/2019 FUNDAMENTOS DE INFORMÁTICA CURSO 2009/2010
http://slidepdf.com/reader/full/fundamentos-de-informatica-curso-20092010 27/27
Problemas de más nivel
1. Real i zar un método que di buj e l a est r el l a de Davi d por pant al l a( est r el l a de 6 punt as) .
2. Real i zar un método que rel l ene en espi r al una mat r i z cuadr ada det amaño nxn con números ent eros en orden creci ent e.
3. Real i zar un método que haga l a peregr i naci ón del cabal l o por un
t abl er o de aj edr ez.4. Real i zar un método que consi ga col ocar 8 damas en un t abl ero de
aj edr ez si n que ni nguna de el l as se mat e con ot r a.5. Real i zar un método que consi ga col ocar 5 damas en un t abl ero de
aj edr ez de modo que t odo el t abl ero est é amenazado.6. Real i zar un método que cal cul e el determi nante de una matr i z de
or den n.7. Real i zar un método que pueda resol ver si st emas de ecuaci ones
compat i bl es i ndet er mi nados.
top related