0% encontró este documento útil (0 votos)
32 vistas11 páginas

Segundo Parcial

El documento presenta una serie de problemas de programación en Java, incluyendo la cuenta de números de longitud 3, la verificación de números capicúa, el cálculo de sumatorias y la identificación de números amigos. Cada problema incluye una descripción, ejemplos y el código correspondiente para su solución. Además, se abordan conceptos como la inversión de números, el cálculo de potencias y factoriales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
32 vistas11 páginas

Segundo Parcial

El documento presenta una serie de problemas de programación en Java, incluyendo la cuenta de números de longitud 3, la verificación de números capicúa, el cálculo de sumatorias y la identificación de números amigos. Cada problema incluye una descripción, ejemplos y el código correspondiente para su solución. Además, se abordan conceptos como la inversión de números, el cálculo de potencias y factoriales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

SEGUNDO PARCIAL

1. Dado un lote de números, contar cuantos numero dígitos tiene longitud 3 (3 digitos)
Si N=10
123, 4, 567, 345, 3, 45, 34, 2343, 4, 45

Total=3

Conta longitud 3

LongitudNumero cuentaDig3 leeDatos principal

LeeDatos() inicio
N=563 L=3 cuentaDigitos(N)
563 10
3 56 10
LeeDatos()
6 5 10 CD3 = 0 N
5 0

cuentaDigitos(N) fin
i = 1, N, 1
LongitudNumero(N)

return
L=0 A

L= LongitudNumero(A)
N ≠ 0

f v
L= L + 1 L=3
N= N/10
CD3 = CD3 + 1

Return L

CD3

GABRIEL TITO DURAN


return
ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

import [Link];

public class CuentaDigiitosLongitud3 {

Scanner lee = new Scanner([Link]);

long LongitudNumero(long N) {
long L;
L = 0;
while (N != 0) {
L = L + 1;
N = N / 10;
}
return L;
}

void cuentaDigitos(long N) {
int CD3;
long i, A, L;
CD3 = 0;
for (i = 1; i <= N; i++) {
[Link]("Ingrese Numero :");
A = [Link]();
L = LongitudNumero(A);
if (L == 3) {
CD3 = CD3 + 1;
}
}
[Link]("Total Numeros con longitud 3 =" + CD3);
}

void leeDatos() {
long N, Dm;
[Link]("Ingrese cantidad de numeros :");
N = [Link]();
cuentaDigitos(N);

public static void main(String arg[]) {


CuentaDigiitosLongitud3 cuenta = new CuentaDigiitosLongitud3();
[Link]();
}

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

2. Dado un numero N verificar si un numero capicúa (nota debe resolver utilizando la estructura do while)

Ejemplo

N = 1234 no es capicúa

N=121 es capicúa

N = 1234 se tiene que invertir el numero NI= 4321

N = 42124 se tiene que invertir el numero NI= 42124

Comparar N=NI

Como se invierte un numero


NI= 0
N=1234 10 NI= NI*10 + R
4 123 10 NI= 0*10 + 4 = 4
NI= 4*10 + 3 = 43
3 12 10
NI=43*10+2 = 432
2 1 10 NI= 432*10 + 1 = 4321
1 0

Problema de la verificación de números capicua

Invertir(N) Capicúa(N) leeDatos() Principal()

Invertir(N) Capicua(N) leeDato() inicio

NI=0
N leeDato()
NI=invertir(N)

N ≠ 0
f v Capicúa(N)
fin
R= N mod 10 N=NI
N=N/10
import [Link];
return
NI=NI * 10 + R No capicua
capicua

Return (NI)
GABRIEL TITO DURAN return
ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

public class NumeroCapicua {

Scanner lee = new Scanner([Link]);

long invertir(int N) {
long NI;
int R;
NI = 0;
while (N != 0) {
R = N % 10;
N = N / 10;
NI = NI * 10 + R;
}
return (NI);
}

void capicua(int N) {
long ni;
ni = invertir(N);
if (ni == N) {
[Link]("el Numero es capicua");
} else {
[Link]("El numero no es capicua");
}
}

void leeDatos()
{
int N;
do{
[Link]("Ingrese un numero ");
N=[Link]();
}while(N<=0);
capicua(N);
}

public static void main(String arg[])


{
NumeroCapicua cap = new NumeroCapicua();
[Link]();
}
}

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

3. Calcular la siguiente sumatoria: (leer X y N)


S= 1-X+X2-X3+X4-……+Xn

Si N = 4 y X=2

S=X0-X1+X2-X3 = 20-21+22-23 = 1-2+4-8 = -5

Serie

Potencia(X,Y) Sumatoria(N,X) leeDatos() principal

Potencia(X,Y) Sumatoria(N,X) leeDato() inicio

P=1 S=0 N,X


leeDato()

i = 1, Y, 1 i = 0, N-1, 1 Sumatoria(N,X)
fin

P=P*X P=potencia(X,i) return

f v
i mod 2=0
Return P
S=S-P S=S+P

return

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

import [Link];

public class Serie1 {

Scanner lee = new Scanner([Link]);

long potencia(int x, int y) {


long p;
int i;
p = 1;
for (i = 1; i <= y; i++) {
p = p * x;
}
return p;
}

void sumatoria(int N, int X) {


long p, s;
int i;
s = 0;
for (i = 0; i <= N - 1; i++) {
p = potencia(X, i);
if (i % 2 == 0) {
s = s + p;
} else {
s = s - p;
}
}
[Link]("La sumatoria es:" + s);
}

void leeDatos() {
int N, X;
[Link]("Ingrese valor de N:");
N = [Link]();
[Link]("Ingrese valor de X:");
X = [Link]();
sumatoria(N, X);
}

public static void main(String arg[]) {


Serie1 ser = new Serie1();
[Link]();
}

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

4. Determinar si dos números son amigos (Dos números amigos son dos números


enteros positivos a y b tales que la suma de los divisores propios de uno es igual al otro número y
viceversa).

A=10 , B=8 los numero son amigos

A = 10 B=8
1 1
2 2
5 4
SA= 8 SB=7

Numero amigos

sumaDivisores(N) Amigos(A,B) leeDatos principal

sumaDivisor(N) Amigos(A,B) leeDato() inicio

S=0 SA=sumaDivisor(A) A,B


leeDato()

i = 1, N-1, 1 SB=sumaDivisor(B) Amigos(A,B)


fin
v f v return
f SA=B y
N mod i =0 SB = A

No Amigos
S=S+i
amigos

Return(S) return

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

import [Link];

public class NumeroAmigos {

Scanner lee = new Scanner([Link]);

int sumaDivisor(int N) {
int S, i;
S = 0;
for (i = 1; i <= N - 1; i++) {
if (N % i == 0) {
S = S + i;
}
}
return (S);
}
void amigos(int A,int B){
int SA,SB;
SA=sumaDivisor(A);
SB=sumaDivisor(B);
if(SA==B && SB==A)
[Link]("son amigos");
else
[Link]("No son amigos");

}
void leeDatos()
{
int A,B;
do{
[Link]("Ingrese un numero A ");
A=[Link]();
}while(A<=0);
do{
[Link]("Ingrese un numero B ");
B=[Link]();
}while(B<=0);

amigos(A,B);
}

public static void main(String arg[])


{
NumeroAmigos am = new NumeroAmigos();
[Link]();
}

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

5. Calcular la siguiente serie

S = X1/1! + X2/2! + X3/3! + X4/4! + X5/5! + … … Xn/n! +

Si n = 3 , x=2

S = 21/1! + 22/2! + 23/3! = 2/1 + 4/2 + 8/6 = 2+2+1.33 = 5.33

Calcular la serie

Potencia
factorial sumar leerdatos principal
2 3 = 2*2*2

Potencia(x,y) Factorial(n) sumar(n,x) leerDatos() inicio

P=1 F=1 s=0 n,x leerDatos()

i=1,n,1 i=1,n,1 S=sumar(n,x) Fin


i=1,y,1

P= P * x S
F= F * i P=Potencia(x,i)

F=factorial(i) return
Return(P) Return(P)

S = S + P/F

Return(S)

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

import [Link];

public class SumarSerie {

Scanner lee = new Scanner([Link]);

long potencia(int x, int y) {


long p;
int i;
p = 1;
for (i = 1; i <= y; i++) {
p = p * x;
}
return p;
}

long factorial(int n) {
long f;
int i;
f = 1;
for (i = 1; i <= n; i++) {
f = f * i;
}
return f;
}

double sumar(int n,int x)


{
double s;
long p,f;
int i;
s=0;
for(i=1;i<=n;i++){
p=potencia(x,i);
f=factorial(i);
s=s+((double)p/f);
}
return s;
}

void leeDatos()
{
int n,x;
double s;
[Link]("Ingrese el valor de n:");
n=[Link]();
[Link]("Ingrese el valor de x:");
x=[Link]();

GABRIEL TITO DURAN


ESCUELA INDUSTRIAL PEDRO DOMINGO MURILLO

s=sumar(n,x);
[Link]("La suma es :"+s);

public static void main(String arg[])


{
SumarSerie ser = new SumarSerie();
[Link]();
}
}

GABRIEL TITO DURAN

También podría gustarte