Вы находитесь на странице: 1из 3

ProgramacinenJava

Ejerciciosdeestructurasdecontrolyarrays

Ejercicios:

1. Escribirunbucleequivalentealdelsiguienteprogramasinutilizarel
operador&&.

int lim = 10;
int c = 1;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < lim && c != 0; i++, c = sc.nextInt()) {}reaks

2. Escribaunprogramaqueleadelaentradaunnmeroydeterminesiesun
nmeroprimo.
3. Escribaunprogramaquesumetodosloselementosdeunarraydeenteros.
Utilceloparasumarelvector:
int[] a = {1, 2, 3, 4, 5, 6};
4. Hacerunprogramaquedadosdosarraysdeterminesisoniguales.Probarlo
conlosarrays[1,2,3]y[1,2,3],[1,2,3,4]y[1,2,3]y[1,2,3]y[1,2,2]
5. Escribirunprogramaquerecojadelaentradaestndardosarraysdeenteros
detamaoespecificadoporelusuarioylosmultipliquedosados,guardando
elresultadoenotroarrayeimprimiendolosvaloresdeesteltimoarray.
6. Escribaunprogramaqueleadelaentradaunnmeroyutiliceesenmero
paracrearunarraydeenterosdeesetamao.Acontinuacin,elprograma
inicializarelarrayconlosvaloresqueelusuariointroduzcaporlaentrada.
Finalmente,sedeberrecorrerelarrayeimprimirtantoscaracteres*como
indiqueelvalordecadaelementodelarray.Ejemplo:losvalores5,4,3,2
producirnlasiguientesalida:
*****
****
***
**

7. Declarareinicializarunamatrizdeenterosde2x3eimprimirla.
8. Escribirunprogramaquecalculeeldeterminantedeunamatrizde3x3.
Prubeloconlamatriz[[1,2,3],[4,5,6],[7,8,8]]cuyodeterminantees3

=

= + + .



Ejercicios Extra

9. Escribirunprogramaqueleaunnmerodeenterosentre1y100dela
entradaestndarygenereunhistogramaconlasfrecuenciasdecadaentero
enlasecuencia.Pararepresentarlasbarrasdelhistogramautilizar
secuenciasdelcarcter*.Porejemplo,lasecuencia:1,1,20,1,2,20,3,3,
3,4,4,4,33,3generaralasiguientesalida:

1:***
2:*
3:****
4:***
20:**
33:*

10. Escribeunprogramaquedadaunamatrizde3x3realicelassiguientes
funciones:

Calculelamediadetodoslosvalores
Calculeelvalormnimoyelmximodetodoslosvalores
Sumarlosvaloresenladiagonaldescendente.
Sumarlosvaloresenladiagonalascendente.
Sumarlosvaloresqueestnporencimadeladiagonaldescendente.
Sumarlosvaloresqueestnpordebajodeladiagonaldescendente.
Probarloconlamatriz[[1,2,3],[4,5,6],[7,8,9]]

11. Escribaunprogramasimulevarioslanzamientosdeundadoymuestrela
frecuenciadecadaunadelascarasascomolaproporcindelnmerode
vecesquehayasalidocadacaraconrespectoaltotal.Paraellosimule6000
lanzamientosdeundadoutilizandolafuncinMath.random()*6parasimular
cadalanzamiento.
12. Escribeunprogramaqueordenelosnmerosdeunvector.Utilizarel
algoritmodelaburbujayprobarlosobrelosvectores[4,3,2,1]y[3,2,1,4].
Algoritmodelaburbuja(bubblesort)enpseudocdigo
for i from 1 to n
for j from i to 2
if (A[j ] < A[j - 1])
intercambiar los valores entre A[j ] y A[j - 1]
13. Escribaunprogramaque,dadounarraydeenteros,busquesiunnmero
obtenidoporlaentradaestndarseencuentraenelarrayeimprimala
primeraposicinenlaqueseencuentraelnmero.
14. Implementarelalgoritmodebsquedabinariasobreunarray/vectorde
enterosordenado.Elprogramadebedevolversihaencontradoonoel
nmeroyelnmerodecomparacionesconelementosdelvectorqueha
requeridoparaencontrarlo.Probarloconelvector
int v[] = {2,3,4,5,6,7,8,9,10,11,12} y los nmeros 11 y 13
Algoritmo binario en pseudocdigo
menor_pos = 0
mayor_pos = N
medio_pos = (menor_pos + mayor_pos) / 2
while (menor_pos <= mayor_pos AND vector[medio_pos] != valor) {
if (valor < vector[medio_pos])
mayor_pos = medio_pos -1;
else
menor_pos = medio_pos +1;
medio_pos = (menor_pos + mayor_pos)/2
15. Escribaunprogramaquepidaunnmeroalusuarioymuestreporpantallael
resultadodesurazcuadrada.Pararealizaresteejerciciosepuedeutilizarun
mtodoaproximadoquepermitallegaralasolucinconunerrormenorde
0,0001.Lgicamenteparasuresolucinnosepuedeutilizarlafuncinde
bibliotecaMath.sqrt()perossepuedeutilizarlaquedevuelveelvalor
absolutodeunreal(Math.abs(numero)).

Вам также может понравиться