Ejerciciox Finales
Ejerciciox Finales
Ejerciciox Finales
INSTITUTO
SUPERIOR
TECNOLOGICO
PRIVADA
TEMA:
INTEGRANTES:
4. LIMA LINDA
2
14. Escribir un programa para imprimir los números enteros positivos entre 1 y n, en orden
b) A partir del segundo renglón se escribe un número más que en el renglón anterior.
Dn: 18
23
456
11 12 13 14 15
16 17 18
CÓDIGO
package Matematicas;
import java.util.Scanner;
System.out.print("Dn: ");
int n = leer.nextInt();
count++;
}
4
15. La amistad es difícil de encontrar. Se dice que dos números A y B son amigos, si la
Escribir un programa para encontrar todos los números amigos comprendidos entre 1 y n.
Escribir el programa:
16. Se dice que un número es "caprichoso" si la suma de sus dígitos elevada a cierta
potencia n es igual
al mismo número. Los números siguientes son caprichosos si la suma de sus dígitos se
eleva a la potencia 3.
Escribir un programa para imprimir y contar los números caprichosos entre a y b, para una
potencia de n.
5
escribir el
Para x=51;
Se cumple que:
m=15; s=6;
3(15) + 6 = 51
Por lo tanto 51 es un número raro. Escribir un programa para listar todos los números raros
entre 1.
CÓDIGO
int m = 0;
int s = 0;
int num = x;
while(num > 0) {
m = m * 10 + num % 10;
s += num % 10;
num /= 10;
if(3 * m + s == x) {
}
7
18. Suponer que el precio de todos los productos en una tienda departamental es una
cantidad entera. Escribir un programa que lea de teclado el precio de cada uno de los
productos que un cliente compra en dicha tienda, deja de leer precios de productos cuando el
precio sea igual a -1. Después de leer los precios de los productos se debe leer también la
cantidad entera con que paga el cliente. Finalmente deberá imprimir el cambio en billetes (o
monedas) de 500, 200, 100, 50, 20, 10, 5, 2 y 1 pesos. Se requiere que la computadora
CÓDIGO
import java.util.Scanner;
int sum = 0;
int paid;
int price;
do {
price = scanner.nextInt();
if (price != -1) {
sum += price;
8
paid = scanner.nextInt();
System.out.println("Cambio:");
remaining %= num_notes[i];
if (count > 0) {
scanner.close();
}
9
19. El mínimo común múltiplo (mcm) de dos números a y b es el menor número natural
que es múltiplo de ellos. El mcm(a, b) se puede encontrar al multiplicar los factores primos
El máximo común divisor (mcd) de dos números a y b es el mayor número que los divide.
El mcd(a, b), se puede encontrar al multiplicar los factores comunes con su menor
exponente.
Para encontrar el mcm(50, 12) y el mcd(50, 12) se descomponen en sus factores primos
factores 50
50 2 2
25 5
25 5
5 5
5 5
1
1
El mcd(50, 12) = 2, que es el único factor que es común a ambos números con el menor
exponente. Escribir un programa para leer dos números enteros positivos a y b. Descomponer
dichos números en sus factores. Encontrar el mcm(a, b) y el mcd(a, b), usando el método
anteriormente descrito.
10
A:450
B:840
Factores
450=2*3*3*5*5
840=2*2*2*3*3*5*5*7
CODIGO
import java.util.Scanner;
int a = 450;
int b = 840;
while (b != 0) {
int temp = b;
11
b = a % b;
a = temp;
return a;
20. Existe relación entre el mcm y el mcd de los números a y b, ya que conociendo el
mcd(a,b) es posible
algoritmo con- siste en llevar a cabo divisiones Euclidianas sucesiva. En la primera división,
se toma como dividendo el mayor de los números y como divisor el otro. Luego el divisor y
de iterar hasta que se obtiene como resul- tado un resto de cero y el mcd(a, b) es el penúltimo
resto obtenido.
mcm(840,450) es:
Escribir un programa para leer dos números enteros positivos a y b. Encontrar el mcm(a,
A:4200
B:234
2 234 222 12
3 222 12 6
CODIGO
import java.util.Scanner;
int a = scanner.nextInt();
int b = scanner.nextInt();
System.out.println("El máximo común divisor (mcd) de " + a + " y " + b + " es: " +
mcd);
System.out.println("El mínimo común múltiplo (mcm) de " + a + " y " + b + " es: " +
mcm);
while (b != 0) {
int aux = b;
b = a % b;
14
a = aux;
return a;
21. Se considera que una frase palíndroma es aquella que se escribe igual al derecho y al
revés ignorando los espacios. Ejemplo de una frase palíndroma es “hola nena an enaloh”.
Escriba un programa con un método que acepte una frase de teclado y que determine si se
trata de una frase palíndroma o no. Leer varias frases hasta que la frase sea "finaliza"
CODIGO
import java.util.Scanner;
String finaliza;
while (true) {
15
finaliza = leer.nextLine();
if (finaliza.equalsIgnoreCase("finaliza")) {
break;
palíndromo");
reversa.reverse();
return normalizado.equals(reversa.toString());
22. Escribir un programa con un método que acepte una frase como parámetro y que
regrese al punto donde fue llamado el método, para imprimir el número de palabras de la
frase y el promedio de letras de las palabras. Considerar que la frase puede tener palabras
CODIGO
int palabras = 0;
int letras = 0;
palabras++;
} else {
letras++;
if (letras != 0) {
palabras++;
return resultado;
}
17
23. Escribir un programa para leer tres números (a, b y c) de teclado y encontrar el
A:9
B:5
C:8
Promedio =7.33
CODIGO
import java.util.Scanner;
System.out.println("A: ");
int a = scanner.nextInt();
System.out.println("B: ");
int b = scanner.nextInt();
System.out.println("C: ");
int c = scanner.nextInt();
18
return (a + b + c) / 3.0;
24. Escribir un programa para leer el número de puntos a tabular "n", los valores de las
variables "x" y "y", con su correspondiente incremento. Con esta información desplegar en
una tabla los valores de las variables y el valor de la función, usando la siguiente expresión
matemática:
N:4
X:2
Incremento de x: 0.76
Y:19
Incremento de y: - 4.38
X y f(x,y)
25. Escribir un programa para contar los puntos con coordenadas enteras que se encuentran
en la siguiente elipse.
(x^2/16) + (y^2/25) = 1
* El intervalo de coordenadas está limitado por los ejes mayor y menor de la elipse. En
este caso
-4<=x<=4y-5<=y<=5
* Imprimir las parejas de puntos dentro de la elipse cuya suma sea la indicada por teclado.
(3,5)
(4,4)
CÒDIGO JAVA
import java.util.Scanner;
int count = 0;
count++;
}
21
26. Escribir un programa para tabular n puntos de la parábola y =3x"—4x+5. Leer los
In: 6
x: 3.23
Incremento de x: .75
Punto x y=3x^2-4x+5
1 3.23 23.3787
2 3.98 36.6012
3 4.73 53.1987
4 5.48 73.1712
5 6.23 96.5187
6 6.98 123.2412
22
CÓDIGO JAVA
import java.util.Scanner;
int n = scanner.nextInt();
double x = scanner.nextDouble();
double y = polinomio(x);
x += incremento;
return 3 * Math.pow(x, 2) - 4 * x + 5;
}
23
27. Escribir un programa para calcular el valor real de cos(s). Leer de teclado el valor de x
y el error permitido. Aproximar cos(x) al valor real usando la serie que se muestra a
continuación. El programa
terminará cuando el error entre la función real y la aproximada sea menor o igual al error
permitido.
cos(x) = 1 + ∑_(n=1)^∞▒(-1)^n(x^2n)/(2n)!01-(x^2/2!)+(x^4/4!)+(x^6/6!)+...
Usar una función para calcular la factorial y otra para calcular e imprimir cada uno de los
términos
que se van sumando. Leer el ángulo en grados, pero considerar que los ángulos de las
programación. (π
rad=180º)
24
x:60
Error: 0.001
0 1 0.500002
1 0.45168608 0.048312
2 0.501794106 0.001796
5 0.499962444 0.000035
CÓDIGO JAVA
import java.util.Scanner;
double x = scanner.nextDouble();
double dif;
int n = 0;
do {
n++;
cosxAprox += termino;
= " + dif);
if (num == 0) {
return 1;
} else {
}
27
para leer un
maneras diferentes:
Número: 1704071
1704071 es palíndromo
Es palíndromo 1704071
import java.util.Scanner;
int reversedNum = 0;
while (num != 0) {
num /= 10;
if (originalNum == reversedNum) {
} else {
}
29
import java.util.Scanner;
int reversedNum = 0;
while (num != 0) {
num /= 10;
if (originalNum == reversedNum) {
} else {
30
si se apoderan del 0. Hay números clave que se deben de tomar, asegurarse que la
computadora gane, si se llega a apoderar antes que el usuario de alguno de esos números
clave.
31
run:
Nombre: Juan
Número generado: 15
Juan resta: 3
Número= 12
Compu. resta: 2
Número= 10
Juan resta: 3
Número= 7
Compu. resta: 3
Número= 4
Juan resta: 1
Número= 3
Compu. resta: 3
Número= 0
GANÓ la computadora.
32
30. El juego de dados es muy común en ferias y casinos. En dicho juego hay una banca
representada por
la persona que atiende, el jugador, una mesa con el número 7 al centro de dicha mesa, los
números
menores que 7 (2, 3,4, 5, 6) a la izquierda de la mesa y los mayores (8, 9, 10, 11, 12) a la
derecha.
El jugador coloca la cantidad apostada en el número 7, después se lanzan por primera vez
los dados.
11 ó 7 El jugador gana
33
número
que salió. Supóngase que salió el 8 entonces la cantidad se pasa al número 8. El jugador
deberá seguir
lanzando los dados hasta obtener el número de la primera tirada (en este caso el 8) o bien
obtener el
número 7. Ganará:
Después de la primera tirada pueden salir el 2, 3, 12 ó 11 varias veces y nadie gana, ya que
se deberán seguir haciendo lanzamientos hasta obtener el número lanzado en la primera tirada
o el 7.
computadora
aparecer los resultados de los lanzamientos en la pantalla, indicar quien ganó y preguntar si se
distribución uniforme, esto significa que tienen la misma probabilidad de ser elegidos.
Tomando en cuenta esto; para la simulación del juego de dados se deben hacer los ajustes
34
Primer lanzamiento.
2 5
Gana jugador
Primer lanzamiento.
4 2
Lanzamientos siguientes
6 4
3 5
6 6
3 4
Gana la banca
CÓDIGO JAVA
import java.util.Random;
import java.util.Scanner;
int dinero = 0;
while (seguirJugando) {
dinero += apuesta;
System.out.println("Gana jugador.");
dinero -= apuesta;
System.out.println("Gana la banca.");
} else {
while (true) {
dado1 = random.nextInt(6) + 1;
dado2 = random.nextInt(6) + 1;
if (resultado == 7) {
dinero -= apuesta;
System.out.println("Gana la banca.");
37
break;
dado1 + dado2) {
dinero += apuesta;
System.out.println("Gana jugador.");
break;
seguirJugando = decision.equalsIgnoreCase("s");
}
38
31. Escribir un programa que lea el valor de n y encuentre el resultado en forma recursiva
a) Sumatoria: 1+2+3+...+n
b) Sumatoria: -1 +2-3+4—5+...+(-1)^n n
c) Factorial: n!=1`2`3`...`(n—1)*n
d) Sumatoria: 1+4+9+....+n^2
39
CÓDIGO JAVA
import java.util.Scanner;
int n = scanner.nextInt();
// a) Sumatoria: 1+2+3+...+n
return n * (n + 1) / 2;
}
40
// b) Sumatoria: -1 +2-3+4—5+...+(-1)^n n
int sumatoria = 0;
sumatoria += ((-1) ^ i + 1) * i;
return sumatoria;
// c) Factorial: n!=1`2`3`...`(n—1)*n
long factorial = 1;
factorial *= i;
return factorial;
// d) Sumatoria: 1+4+9+....+n^2
return n * (n + 1) * (2 * n + 1) / 6;
forma recursiva.
Valor de n: 6
El elemento 6 de Fibonacci es = 8
CÓDIGO JAVA
import java.util.Scanner;
int n = scanner.nextInt();
42
if (n <= 1) {
return n;