• No se han encontrado resultados

Cada método de ordenamiento debe estar implementado en una función diferente.

In document Ejercicios Básicos de Programación (página 163-193)

15. * El ejercicio está dividido en los siguientes pasos:

a) Implemente una función que devuelva un número entero aleatorio en el rango [LímInferior, LímSuperior].

b) Implemente una función que devuelva una palabra cuyo número de letras sea dado como parámetro. Cada letra de la palabra es generada individualmente al azar; las letras deben ser sólo minúsculas.

c) Genere un arreglo de n elementos, donde n es un número aleatorio entre 25 y 50.

d) Llene el arreglo con palabras aleatorias de m letras, donde m es un número aleatorio entre 3 y 5.

e) La mitad (si n/2 no es entero, trúnquelo) del arreglo ordénelo con el método de la burbuja.

f) La otra mitad del arreglo ordénelo con el método de la selección.

g) Con las dos mitades ordenadas, aplique el método de la inserción para ordenar el arreglo completo.

Nota 1: Dentro del método principal (main) solamente deben haber el arreglo generado con n elementos y máximo un arreglo auxiliar (dos arreglos en total).

Nota 2: Cada método de ordenamiento debe estar implementado en una función diferente.

* Calificaciones de estudiantes

El objetivo del programa es gestionar calificaciones de estudiantes. Se deben registrar n estudiantes (n ≥ 3, validar). De cada uno de los estudiantes se deben ingresar, el nombre y una calificación; los datos se registran en arreglos separados. A partir de los dos arreglos se deben ordenar los datos de acuerdo al nombre del estudiante de manera ascendente, obteniendo como resultado una matriz de nx2. Sobre la matriz resultante se tienen que obtener los nombres de los estudiantes que tienen la mínima calificación y la máxima calificación. Además, se deben obtener los nombres de los tres estudiantes con las máximas calificaciones y los nombres de los tres estudiantes con las mínimas calificaciones.

Detallando los requerimientos utilizando un ejemplo, se tendría lo siguiente: 1. Escribir una función f1 que permita ingresar los datos de los estudiantes.

Nombres Calificaciones Juan 16 Andrés 18 Pedro 15 María 11 Xavier 10 Ximena 17 Fernando 19 ... ... Jaime 5

2. Escribir una función f2 que reciba los dos arreglos ingresados en f1 y devuelva una matriz con los nombres y calificaciones de forma ascendente, por nombre.

Andrés 18 Fernando 19 Jaime 5 Juan 16 A= María 11 Pedro 15 Xavier 10 ... ... Ximena 17

3. Escribir una función f3 que reciba como entrada la matriz generada en f2 y devuelva una matriz con la calificación mínima y calificación máxima.

B=Jaime 5

Fernando 19

4. Escribir una función f4 que reciba como entrada la matriz generada en f2 y devuelva una matriz con las tres mayores calificaciones y las tres menores calificaciones. Fernando 19 Andrés 18 C=Ximena 17 Jaime 5 Xavier 10 María 11 Ordenamientos en matriz

un rango dado por el mismo usuario. Muestre la matriz generada y luego, realice los siguientes ordenamientos:

• Las columnas pares ordénelas de manera descendente con el método de inserción y las columnas impares ordénelas de manera ascendente con el método de selección. Muestre la matriz original luego de aplicados estos cambios.

• Las filas pares ordénelas de manera ascendente y las filas impares ordénelas de manera descendente; este ordenamiento de filas, en ambos casos, debe realizarse con el método de ordenamiento de burbuja. Muestre la matriz original luego de aplicados estos cambios.

Las “diagonales derecha–izquierda” ordénelas de manera ascendente con el método de inserción; muestre la matriz original luego de aplicados estos cambios. Las "diagonales izquierda–derecha" ordénelas de manera descendente con el método de selección; muestre la matriz original luego de aplicados estos cambios.

A continuación se muestra un ejemplo de ejecución del programa: Ingreso de datos

================ Dimensión de la matriz n: 3

m: 4

Rango para generación de números aleatorios inf: -2 sup: 10 Matriz generada 8 4 9 5 2 1 7 4 3 5 -1 2 Resultados ==========

Luego de ordenadas las columnas

2 5 -1 5

3 4 7 4

Luego de ordenadas las filas

9 8 5 4

1 2 4 7

5 3 2 -1

Luego de ordenadas las “diagonales derecha–izquierda”

8 2 1 5

4 3 5 -1

9 7 4 2

Luego de ordenadas las “diagonales izquierda–derecha”

8 7 9 5

5 1 4 4

Archivos Miscelánea

1. ¿Qué significa EOF? a) Empty or full b) End of file c) End of floop

d) Las anteriores respuestas no son correctas 2. Pregunta

Miscelánea de Ejercicios

Un buen lugar para comenzar a practicar más está en http://www.lab.dit.upm.es/~fprg/examenes/

* Combate de pokemones

Ejercicio propuesto por María Fernanda Granda.

Realizar un programa que permita simular el combate entre dos pokemones a través de las siguientes opciones del menú:

1.- Ingresar datos de los pokemones 2.- Simular combate

3.- Terminar

Ingresar opción <1-3>:

1)Ingresar datos de los pokemones (i.e. nombres, poder de ataque). Por ejemplo se ingresa los pokemones: 1) Pikachu con poder de ataque 55 y 2) Jigglypuff con su poder de ataque 45

2)Simular combate

Se tiene que usar una función para decidir aleatoriamente qué jugador inicia la pelea. Para ello se usará la función azar(2). Esta función devolverá 0 ó 1. Si es 0 el Jugador1 inicia la pelea, caso contrario inicia el Jugador2. Recuerde que una vez que se define el jugador que tiene el primer turno, los siguientes turnos son intercalados, i.e., un jugador, el otro, un jugador, el otro, etc. Ambos jugadores inician sus vidas con 100 puntos y se tienen que ir simulando el combate restando de la vida de los pokemones el poder de ataque de su contrincante, esto se hace en base al turno de ataque.

Por cada turno se debe nuevamente utilizar la función azar(2) para determinar si un jugador ataca o no. Solamente si el resultado es 1, el jugador al que le toca el turno ataca. Recuerde que luego de definido al azar el jugador que comienza (el que tiene el primer turno), los turnos son intercalados entre los dos.

Como ejemplo, suponga que la función azar(2) devuelve 0. Por lo tanto Pikachu inicia con el primer turno. Entonces se usa la función azar(2) para determinar si Pikachu ataca o no. Suponga que la función azar(2) devuelve 1. Cómo el resultado es 1 éste ataca y en el primer turno Jigglypuff queda con 45 de vida. Luego es el

Jigglypuffno ataca. Para el siguiente turno de Pikachu la función azar(2) devuelve 1. Cómo es 1 Pikachu ataca y Jigglypuff termina con -10 de vida, entonces el combate termina. Se tiene que mostrar por cada turno: de quién fue el turno y cómo quedaron las vidas de los dos contrincantes y al final quien ganó y en qué turno.

Ejemplo de ejecución: Combate de pokemones

1.- Ingresar datos de los pokemones 2.- Simular combate

3.- Terminar

Ingresar opción <1-3>: 1

Nombre del primer Pokemon: Pikachu Poder de ataque del primer Pokemon: 55 Nombre del segundo Pokemon: Jigglypuff Poder de ataque del segundo Pokemon: 45 Combate de pokemones

1.- Ingresar datos de los pokemones 2.- Simular combate

3.- Terminar

Ingresar opción <1-3>: 2

Vidas:Pikachu(100) vs Jigglypuff(100)

1.- Turno: Pickachu (55 de poder). (Sí ataca, azar(2) devolvió 1) Vidas: Pikachu (100) vs Jigglypuff (45)

2.- Turno: Jigglypuff (45 de poder). (No ataca, azar(2) devolvió 0) Vidas: Pikachu (100) vs Jigglypuff (45)

3.- Turno: Pickachu (55 de poder). (Sí ataca, azar(2) devolvió 1) Vidas: Pikachu (100) vs Jigglypuff (-10)

Pokemon ganador: Pikachu en 3 turnos. Combate de pokemones

1.- Ingresar datos de los pokemones 2.- Simular combate

3.- Terminar

(termina el programa)

Solución de un sistema de ecuaciones por matrices

Conversión de un número en base diez a sistema binario

Conversión de un número en base binaria a sistema en base diez

Cálculo de las tres alturas de un triángulo dadas las longitudes de sus lados

Valor futuro de una inversión Cálculo del capital inicial Cálculo de la tasa de interés Cálculo del número de años

Media, mediana y varianza de N datos

Transformación de números decimales a romanos

Desarrolle un algoritmo que permita transformar un número decimal n ≤ 5000 a número romano. La información mostrada a continuación, que debe tomar en cuenta para este ejercicio, fue tomada de Wikipedia (https://goo.gl/auCPx7). La siguiente tabla muestra los símbolos válidos en el sistema de los números romanos, y sus equivalencias en el sistema decimal.

Signo Valor I 1 V 5 X 10 L 50 C 100 D 500 M 1000

Para la notación moderna de los números romanos se utilizan las siguientes normas:

• Los números se leen de izquierda a derecha empezando por los símbolos con mayor valor, o conjunto de símbolos de mayor valor.

• Un símbolo seguido de otro de igual o inferior valor, suma (e.g., X·X·I = 10+10+1 = 21), mientras que si está seguido de otro de mayor valor, ambos símbolos forman un conjunto en el cual debe restarse el valor del primero al valor del siguiente (e.g., X·IX = 10+[10-1] = 19).

• La unidad (I) y los números con base 10 (X, C y M) pueden repetirse hasta 3 veces consecutivas como sumandos.

• Los números con base 5 (V, L y D), no pueden repetirse seguidos, ya que la suma de esos dos símbolos tiene representación con alguno de los símbolos anteriores.

• La unidad y los símbolos de base 10 también pueden estar restando antes de un símbolo de mayor valor, pero con las siguientes normas:

1. solo pueden aparecer restando sobre los símbolos con base 5 y 10 de valor inmediatamente superiores, pero no de otros con valores más altos (e.g., ‘IV’ y ‘IX’, pero no ‘IL’ ni ‘IC’).

2. en el caso de estar restando, no pueden repetirse.

• Los símbolos con base 5 no pueden utilizarse para restar (e.g., 45 se escribe ‘XLV’ y no ‘VL’).

• Para números con valores igual o superiores a 4000, se coloca una línea horizontal por encima del número, para indicar que la base de la multiplicación es por 1000:

Romano (miles) Decimal

V 5000 X 10 000 L 50 000 C 100 000 D 500 000 M 1 000 000

Dígitos de un número

Elaborar un algoritmo que dado un número entero positivo (>0) cualquiera (validar para que siga ingresando números mientras no cumple la condición) nos diga el número de dígitos que tiene.

* Pirámide invertida

Represente mediante un diagrama de flujo el algoritmo que solicite un número n y escriba en pantalla una pirámide invertida. La altura de la pirámide es igual a n. Valide que el usuario ingrese números mayores o iguales a uno (vuelva a solicitar si no cumple la condición). La siguiente pirámide muestra el ejemplo de la ejecución del algoritmo con n igual a 5.

Ingrese la altura (n): 5 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1 Cubos e impares

Considere la siguiente propiedad:

• Sumando el primer número impar positivo se obtiene el primer cubo. • Sumando los dos siguientes impares se obtiene el segundo cubo.

• Sumando los tres siguientes impares se obtiene el tercer cubo, y así sucesivamente.

Expresado de forma matemática:

13 = 1 = 1

23 = 3 + 5 = 8

33 = 7 + 9 + 11 = 27 43 = 13 + 15 + 17 + 19 = 64

El usuario ingresa un entero positivo n. El programa debe mostrar los n primeros cubos calculándolos mediante la propiedad descrita.

Cantidad de dígitos fijo de números mostrados

Se ingresan dos límites: límite inferior con un valor mínimo de 1 y límite superior con un valor máximo de 9999 (validar valores mínimos y máximos de los límites y

(incremento) entre 1 y 1000 (validar para que siga ingresando números mientras no cumple la condición). Imprimir los valores desde el límite inferior al límite superior con el paso (incremento) dado por el usuario. Los números que se muestran deben tener el número de dígitos que tenga el límite superior; es decir, los número que se van a mostrar que tienen un número de dígitos menor al número de dígitos del límite superior, deben completar el número de dígitos con ceros a la izquierda. Ejemplo 1:

Límite inferior: 1 Límite superior: 12 Paso: 3

Lo que se muestra en pantalla es: 01 04 07 10 Ejemplo 2: Límite inferior: 1 Límite superior: 1500 Paso: 500

Lo que se muestra en pantalla es: 0001

0501 1001

Algoritmo de Gauss y Método de eliminación de Gauss

Para la resolución de sistemas de ecuaciones lineales existe el método de factorización LU. Un algoritmo que se utiliza para implementar este método es el algoritmo de Gauss que a su vez se utiliza en el método de eliminación de Gauss. Realice la implementación de ambos algoritmos basándose en la explicación dada en el libro de Quarteroni et al. (2014, pp. 146–147).

1. Implemente el algoritmo de Gauss (página 146).

2. Implemente el método de eliminación de Gauss (página 147). Métodos de Jacobi y de Gauss-Seidel

Dados

Escribir un programa que simule el lanzamiento de dos dados y muestre por pantalla la frecuencia de los resultados de mil lanzamientos.

Búsquedas y ordenación

1. Diseñar una función recursiva que realice una búsqueda binaria.

2. Diseñar un procedimiento recursivo que ordene una lista de elementos por el método Quick Sort.

Interpolación

Para resolver los siguientes ejercicios revise las páginas 80-83 del libro de Quarteroni et al. (2014).

1. Implemente la interpolación polinómica mediante la matriz de Vandermonde.

2. Implemente la interpolación polinómica de Lagrange para encontrar el polinomio interpolador que pase por tres puntos.

3. Implemente la interpolación polinómica de Lagrange para encontrar el polinomio interpolador que pase por cuatro puntos.

Integración numérica

Para resolver los siguientes ejercicios revise la sección 4.3 Numerical integration del libro de Quarteroni et al. (2014).

1. Implemente la fórmula de cuadratura de punto medio compuesto para integración numérica.

2. Implemente la fórmula trapezoidal compuesta para integración numérica. 3. Implemente la fórmula de cuadratura de Simpson para integración numérica

con un polinomio integrador de Lagrange de segundo grado.

4. Implemente la fórmula de cuadratura de Simpson para integración numérica con un polinomio integrador de Lagrange de tercer grado.

Ecuaciones diferenciales ordinarias (EDO)

dy/dx = f(x, y) = - 2x3 + 12x2 – 20x + 8.5

desde x0 = 0 hasta xn = 4 con un tamaño de paso de h = 0.2 (i.e., x1 = x0 + 0.2, x2 = x1 + 0.2, x3 = x2 + 0.2, etc.). La condición inicial en x0 = 0 es y0= 1.

El método de Euler consiste en dividir el intervalo que va desde x0 a xn en subintervalos de ancho

(16) y aplicar la fórmula iterativa

(17) Para comprobar sus resultados sepa que la integral analítica de la función dy/dx es y = - 0.5x4 + 4x3 - 10x2 + 8.5x + 1. La figura 10 muestra las gráficas de la solución analítica y la solución numérica cuyos valores de yi (aproximados) usted debe encontrar. La tabla 1 muestra los valores de los puntos de la aproximación mediante el método de Euler.

Si desea más información acerca del método puede leer la definición en el libro de Chapra et al. (2007), páginas 719-722.

Figura 10: Comparación de la solución analítica con una solución numérica usando el método de Euler, para la integral dy/dx desde x0 = 0 hasta xn = 4 con un tamaño de paso h = 0.2. La condición inicial en x0 = 0 es y0 = 1.

Tabla 1: Solución numérica usando el método de Euler, para la integral dy/dx desde x0 = 0 hasta xn = 4 con un tamaño de paso h = 0.2. La condición inicial en x0 = 0 es y0 = 1. i xi yi (aproximación) 0 0 1 1 0.2 2.7 2 0.4 3.6928 3 0.6 4.1512 4 0.8 4.2288 5 1 4.06 6 1.2 3.76 7 1.4 3.4248 8 1.6 3.1312 9 1.8 2.9368 10 2 2.88 11 2.2 2.98 12 2.4 3.2368 13 2.6 3.6312 14 2.8 4.1248 15 3 4.66 16 3.2 5.16 17 3.4 5.5288 18 3.6 5.6512 19 3.8 5.3928 20 4 4.6 •

¿Qué Hace el Algoritmo/Programa?

1. * ¿Cuál es el valor final de las variables a, b y c? Proceso sin_titulo a<-5 b<-6 c<-7 aux<-a b<-a c<-b Escribir a, b, c FinProceso

2. * ¿Cuál es el valor de la variable x? Proceso sin_titulo

Definir x Como Entero Definir z Como Entero x<-2 z<-5 Si z<0 Entonces x<-x+2 Sino Si x>1 Entonces x<-x+1 Sino x<-5 Fin Si Fin Si Escribir x FinProceso

3. * ¿Cuál es el resultado de ejecutar el siguiente pseudocódigo? Proceso valorC c<-50 Mientras c>=0 Hacer Escribir c c<-c+1 Fin Mientras FinProceso

4. * ¿Cuál es el resultado de ejecutar el siguiente pseudocódigo? Proceso sin_titulo

Para i<-1 Hasta 5 Con Paso 1 Hacer Segun i Hacer 1: Escribir "a" 2: Escribir "b" 3: Escribir "c" De Otro Modo: Escribir "d" Fin Segun Fin Para FinProceso

5. ¿Qué realiza o cuál es el fin del siguiente algoritmo o programa? Proceso sin_titulo

Leer var1 Leer var2

Mientras var1<var2 Hacer Leer var1

Leer var2 Fin Mientras var3<-0

Mientras var1 >= var2 Hacer var1<-var1-var2 var3<-var3+1 Fin Mientras Escribir var3 Escribir var1 FinProceso

6. ¿Qué realiza o cuál es el fin del siguiente algoritmo o programa? Proceso sin_titulo

var1<-10 Leer var2

Mientras var2<1 Hacer Leer var2

Para var3<-1 Hasta var2 Con Paso 1 Hacer var4<-1

Mientras var4<=var1 Hacer var5<-var4*var3 Escribir var5 var4<-var4+1 Fin Mientras Escribir '***** ****** ***** *****' Fin Para FinProceso

7. ¿Qué realiza o cuál es el fin del siguiente algoritmo o programa? Proceso sin_titulo

Leer var1

Mientras var1<0 Hacer Leer var1 Fin Mientras var2<-1 var3<-11

Mientras var2<=var1 Hacer Leer var4

Mientras var4<1 O var4>10 Hacer Leer var4 Fin Mientras Si var4<var3 Entonces var3<-var4 Fin Si var2<-var2+1 Fin Mientras Escribir var3 FinProceso

Proceso sin_titulo

Para i<-1 Hasta 7 Con Paso 3 Hacer cont<-1

Mientras cont<=5 Hacer

Escribir Sin Saltar i,'^',cont,': ',i^cont, ' ' cont<-cont+2

Fin Mientras Escribir '' Fin Para

FinProceso

¿Cuál de las siguientes versiones hace exactamente lo mismo? a)

Proceso sin_titulo cont<-1

Mientras cont<=8 Hacer

Para i<-1 Hasta 5 Con Paso 2 Hacer

Escribir Sin Saltar cont,'^',i,': ',cont^i, ' ' Fin Para Escribir '' cont<-cont+4 Fin Mientras FinProceso b) Proceso sin_titulo cont<-1

Mientras cont<=7 Hacer

Para i<-1 Hasta 5 Con Paso 2 Hacer

Escribir Sin Saltar cont,'^',i,': ',cont^i, ' ' Fin Para Escribir '' Fin Mientras FinProceso c) Proceso sin_titulo cont<-1

Mientras cont<=7 Hacer

Para i<-1 Hasta 5 Con Paso 2 Hacer

Escribir '' cont<-cont+3 Fin Mientras

FinProceso

d) Ninguna de las anteriores Lenguaje Java

1. * ¿Para el siguiente segmento de código cuál es la salida del programa? a) -120

b) 0 c) 60

d) Ninguna de las anteriores public class Test {

public static void main (String[] args) { int j = operacion();

System.out.println("Resultado: " + j);

}

public static int operacion(){ j = -1;

for(int i=5; i>=0; i--)

j=j*i; }

}

2. * ¿Para el siguiente segmento de código cuál es la salida del programa? a) 8

b) 72 c) 0 d) 36

public class Test {

static int resultado = 0;

public static void main (String[] args) { operacion(3);

System.out.println("Resultado: " + resultado);

public static int potencia(int base, int exp){ int j = 1;

for(int i=0; i<exp; i++)

j=j*base; return j;

}

public static void operacion(int resultado){ int i=1;

for(int j=1; j<resultado; j++)

i=j*potencia(j, 2); resultado = i;

} }

8. * ¿Cuál es el tiempo de vida de una variable global? a) Existe tanto tiempo como el programa

b) Existe mientras una función se encuentra ejecutando c) Existe mientras un bucle for se encuentra ejecutando

d) Existe mientras un parámetro de una función cambie de valor

9. Indicar cuáles de las siguientes declaraciones de matrices no son válidas y el porqué.

a) int primos={2,3,5,7,11}; b) int [] resultados=int [30]; c) int [] primos= new{2,3,5,7,11};

10. Completar el siguiente método que imprime los elementos de una matriz bidimensional (la matriz puede tener distinto número de elementos en cada fila).

public static void imprime(int[][] a){ for(int i=0; i<a.length; i++){

for(int j=0; ---; j++){

System.out.print(a[i][j] + “ ”); }

} }

11. ¿Cuál es la salida del siguiente programa? public class Ejercicio {

metodoA(matriz);

for(int i=0; i<matriz.length; i++)

System.out.print(matriz[i]++ + " "); for(int i=0; i<matriz.length; i++)

System.out.print(matriz[i] + " "); }

static void metodoA(int [] b){ for(int i=0; i<b.length;i++) b[i]=b[i]+3;

} }

12. * ¿Cuál es la salida del siguiente programa? public class Ejercicio {

public static void main (String[] args) { char[] matriz = {'e','u','o','i','a'}; metodo(matriz);

for(int i=0; i<matriz.length; i++){

System.out.println(matriz[i]); }

}

public static void metodo(char[] vocales){ char aux;

for(int i=1; i<vocales.length; i++){

if(vocales[i-1]>vocales[i]){ aux=vocales[i-1]; vocales[i-1]=vocales[i]; vocales[i]=aux; } } } }

13. * ¿Cuál es la salida del siguiente fragmento de código? int index = 1;

while(index < 10){

System.out.println(index); index ++;

}

14. * ¿Cuál es la salida del siguiente programa? public class Ejercicio {

public static void main (String args[]) { int c = 1; final int N=5; while(c<=N){ System.out.println(c); c--; } } }

15. * Diga si la proposición referente al siguiente método programado en Java es verdadera o falsa: El método llamado funcion muestra (imprime en pantalla) los elementos de cualquier tipo de arreglo bidimensional enviado como argumento sin que haya ningún error al momento de la ejecución. Nota: el método no tiene absolutamente ningún error de sintaxis, es decir, sí se compila sin ningún error.

public static void funcion (int[][] parametro) { for(int i = 0; i < parametro.length; i++)

for(int j = 0; j < parametro.length; j++)

System.out.println(parametro[i][j]); }

a) La proposición es verdadera b) La proposición es falsa

16. * ¿Qué retorna la siguiente función?

public static int misterioso(int a, int n) { int i, r, x; i = n; r = 1; x = a; while (i > 0) { if (i % 2 != 0) { r = r * x; } x = x * x; i = i / 2; } return r;

a) El mínimo común múltiplo de los parámetros a y n.

b) El resultado de elevar el parámero n a la a-ésima potencia. c) El resultado de sacar la raíz n-ésima del parámetro a. d) El resultado de elevar el parámero a a la n-ésima potencia.

17. * Dada las siguientes líneas de código del siguiente programa, identifique la salida correcta del mismo.

public static void main(String[] args) {

int arreglo[] = {2,7,8,9,4,5,2,6,8,9,3}; String cadena ="";

cadena = cadena + "\nNumeros: "; for(int i=0;i < arreglo.length;i++){

if(arreglo[i]%2!=0){

cadena = cadena +" "+ arreglo[i];

} }

System.out.println(cadena); }

public static void funcion(int[] arreglo) { for (int i=1; i < arreglo.length; i++) {

int aux = arreglo[i]; int j;

for (j=i-1; j >=0 && arreglo[j] > aux; j--){

arreglo[j+1] = arreglo[j]; } arreglo[j+1] = aux; } } a) 2 8 5 7 9 b) 2 2 4 6 8 c) 7 9 5 9 3 d) 2 9 9 5 3

18. * ¿Qué es lo que muestra en pantalla el siguiente código? public static void main(String[] args) {

int[][] m = { {6, 7, 5, 0, 4}, {3, 8, 4}, {1, 0, 2, 7} };

for(int i = 0; i < m.length; i++) {

} } a) 4 4 7 b) 5 3 4 c) 0 8 2 d) 6 3 1

19. * ¿Cuál es el ámbito de la variable x?

1) public void counter(int StartingNumber){

2) for (int x = StartingNumber; x<100; x++)

3) {

4) JOptionPane.showMessageDialog(null, x);

5)

6) }

7) JOptionPane.showMessageDialog(null, “Fin del método”, x);

8) }

a) Líneas desde la 2 a 7 b) Líneas desde la 2 a 6 c) Línea 4

d) Líneas desde la 1 a 8

20. * ¿Cuál es la salida correcta del siguiente programa? public class ProgramacionI {

public static int contador = 0;

public static void main(String[] args) { String cadena1, cadena2;

cadena1 = "cadena";

cadena2 = "programación";

for (int i = 0; i < cadena2.length(); i++) {

for (int j = 0; j < cadena1.length(); j++) {

if (i == j) { contar(); } } } System.out.println(contador);

In document Ejercicios Básicos de Programación (página 163-193)

Documento similar