Está en la página 1de 39

PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

CRISTIAN CAMILO MARTINEZ CARDENAS CODIGO: 1921026585

POLITECNICO GRAN COLOMBIANO

Módulo Programación de Computadores

Nombre de la entrega Desarrollo y solución de problemas

Nivel académico Tecnólogo y profesional

Tipo de entrega Taller de ejercicios

PARTE 1 DEL TRABAJO:

a. Hora a segundos :. Escriba un método que reciba tres enteros correspondientes a la hora actual
(horas, minutos y segundos), y retorne el número de segundos que han transcurrido desde la
medianoche. Use el formato de 24 horas.
b. Escriba un programa que pida al usuario los valores de horas, minutos y segundos, y muestre en
pantalla el valor retornado por el método del literal a.

import java.util.Scanner;
public class Ejercicio1 {

public String CalcularTiempo(int tsegundos)


{
int horas = (tsegundos / 3600);
int minutos = ((tsegundos-horas*3600)/60);
int segundos = tsegundos-(horas*3600+minutos*60);
return horas + ":" + minutos+ ":" + segundos;

public static void main(String[] args) {

System.out.print("A continuación deberá introducir una hora del día, ");


PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

System.out.println("primero introducirá la hora y luego los minutos.");

Scanner hora1 = new Scanner(System.in);


Scanner minuto1 = new Scanner(System.in);
int hora = hora1.nextInt();
int minuto = minuto1.nextInt();

if((hora>=24) || (minuto>60) ){
System.out.println("Error, por favor ingrese valor valido");
}else {
if((hora<0) || (minuto<0)) {
System.out.println("Error, por favor ingrese valor positivo");
}else {
System.out.println("Desde las " + hora + ":" + minuto + " hasta la medianoche
faltan " + (segundoshastamedianoche(hora,minuto) -
segundostranscurridos(hora,minuto)) + " segundos.");
}
}

}
static int segundostranscurridos (int hora,int minuto) {
int segundosTrabscurridos = (hora * 3600) + (minuto * 60);
return segundosTrabscurridos;
}
static int segundoshastamedianoche (int hora,int minuto) {
int segundosHastaMedianoche = (24 * 3600);
return segundosHastaMedianoche;
}
}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

2. Conversión de medidas de longitud Escriba un programa que pida al usuario una longitud en metros
y muestre en pantalla las conversiones de dicha cantidad a centímetros, milímetros, pies, pulgadas,
yardas, años luz y angstroms. Use métodos adecuadamente.

mport java.util.Scanner;
public class medidasdelongitud {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in);
System.out.println("Ingrese medida de longitud en metros:");

float a = entrada.nextFloat();
float centimetros = 100;
float milimetros = 1000;
double pies = 3.28084;
double pulgadas = 39.3701;
double yardas = 1.09361;
double añosluz = 0.0000000010570;
double angstroms = 10E9;

if(a < 0) {
System.out.println("ingrese valor positivo");
}else {

System.out.println("Longitud en centimetros: " + metrosacentimetros(a,centimetros) +


" centimetros");
System.out.println("Longitud en milimetros: " + metrosamilimetros(a, milimetros) + "
milimetros");
System.out.println("Longitud en pies " + metrosapies(a,pies) + " pies");
System.out.println("Longitud en pulgadas " + metrosapulgadas(a, pulgadas) + "
pulgadas");
System.out.println("Longitud en yardas " + metrosayardas(a, yardas) + " yardas");
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

System.out.println("Longitud en años luz " + metrosaañosluz(a, añosluz) + " años


luz");
System.out.println("Longitud en angstroms " + metrosaangstroms(a, angstroms) + "
angstroms");

}
static float metrosacentimetros (float a,float centimetros) {
float metroscentimetros = a * centimetros;
return metroscentimetros;
}
static float metrosamilimetros (float a,float milimetros) {
float metrosmilimetros = a * milimetros;
return metrosmilimetros;
}
static double metrosapies (float a,double pies) {
double metrospies = a * pies;
return metrospies;
}
static double metrosapulgadas (float a,double pies) {
double metrospulpagas = a * pies;
return metrospulpagas;
}
static double metrosayardas (float a,double yardas) {
double metrosyardas = a * yardas;
return metrosyardas;
}
static double metrosaañosluz (float a,double añosluz) {
double metrosañosluz = a * añosluz;
return metrosañosluz;
}
static double metrosaangstroms (float a,double angstroms) {
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

double metrosaangstroms = a * angstroms;


return metrosaangstroms;
}
}

3. Temperatura Escriba un programa que pida al usuario una cantidad correspondiente a una
temperatura en grados centígrados y muestre en pantalla las conversiones de dicha cantidad a grados
Fahrenheit, Kelvin y Rankine. Use métodos adecuadamente.
import java.util.Scanner;
public class temperatura {
public static void main(String[] args) {

System.out.println("Ingrese la cantidad de grados centigrados a convertir:");

Scanner sc = new Scanner(System.in);

double c =sc.nextDouble();

System.out.println(c + " grados centigrados son equivalente a " + rankie(c) + "


grados Rankine");
System.out.println(c + " grados centigrados son equivalente a " + fahrenheit(c) +
" grados farenheit");
System.out.println(c + " grados centigrados son equivalente a " + kelvin(c)+ "
grados kelvin");
}
static double rankie (double c) {
double r = 9/5.0 * c + 491.67;
return r;
}
static double fahrenheit (double c) {
double f = 9/5.0 * c + 32;
return f;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

}
static double kelvin (double c) {
double k= c + 273.15;
return k;
}
}

4. Ofertas Escriba un programa que pida al usuario los valores de A, B, C y D, y muestre en pantalla la
solución del siguiente problema:

Bélen desea comprar tres camisetas. En una tienda, cada camiseta tiene un costo de A pesos y por
comprar tres dan un descuento de D% sobre el valor total de la compra. En otra tienda, cada camiseta
tiene un costo de B pesos y tienen una oferta de lleve tres camisetas y pague dos. En otra tienda, cada
camiseta tiene un costo de C pesos y no ofrecen ningún tipo de oferta. ¿Cuál es el menor valor que puede
pagar Bélen por las tres camisetas?
import java.util.Scanner;
public class oferta {

public static void main(String[] args) {


Scanner entrada =new Scanner(System.in);
System.out.println("Ingrese valor A,B,C Y D");
System.out.println("los cuales corresponden a el valor de la primera tienda, segunda
tienda, tercera tienda y el descuento ofrecido por la primera tienda");
System.out.println("respectivamente");
int a = entrada.nextInt();
int b = entrada.nextInt();
int c = entrada.nextInt();
int d = entrada.nextInt();
int valortienda1 = a * 3;
int valortienda2 = b * 2;
int valortienda3 = c * 3;
int valortienda1descuento = valortienda1 - (valortienda1 * d/100);

if((a<0) || (b<0) || (c<0) || (d<0)){


PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

System.out.println("error, por favor ingrese valores positivos");


}else {
if((valortienda1descuento < valortienda2) && (valortienda1descuento <valortienda3)) {

System.out.println("el menor valor que Belen debe pagar es: " +


valortienda1descuento);

}else {
System.out.println("el menor valor que Belen debe pagar es: " +
Math.min(valortienda2, valortienda3));

}
}

5. Cuaderno Escriba un programa que pida al usuario los valores de A y B, y muestre en pantalla la
solución del siguiente problema:

A María se le acaba de ocurrir una pregunta muy interesante sobre su cuaderno: ¿Cuántos cuadritos hay
en cada página? María, que es muy inteligente, sabe que no es necesario contar todos los cuadros; en
cambio, usa su regla para realizar las siguientes mediciones: » Cada página del cuaderno mide A
centímetros de largo por B de ancho.

» El margen de cada página es de 1 centímetro arriba, 1 centímetro abajo, medio centímetro a la


izquierda y medio centímetro a la derecha.

» Cada cuadro de la cuadrícula mide medio centímetro por medio centímetro.

» ¿Cuántos cuadritos hay en cada página del cuaderno de María?

6. Ascii art :Escriba un método que muestre en pantalla un dibujo en arte ASCII de su elección. Cree
también el método main que invoca al método anterior.
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

ENTREGA 2

Ejercicios Para cada uno de los siguientes problemas, escriba un programa en el lenguaje java que lo
resuelva usando instrucciones condicionales:

1. Valor absoluto Dado un número real, calcular su valor absoluto.

static double valabsoluto (int x){

if (x < 0) {

return -x;
}

else {
return x;

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

2. Par o impar Dado un número entero, decidir si es o no par.

static double parimpar (int x){

if (x % 2 == 0) {
return System.out.println(“Es par”);

}
else {

return System.out.println(“Es impar”);

}
}

3. Tipo de triángulo Dadas las longitudes de los lados de un triángulo, determinar si el triángulo es
equilátero, isósceles o escaleno.

static double angtriangulos (int a, int b, int c){

static double triangulos (int a, int b, int c){

if (a == b){
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

if (b==c){

return System.out.println(“Es un triángulo equilátero”);


}else{

return System.out.println(“Es un triángulo isósceles ”);

}
} else {

if (a==c) {
return System.out.println(“Es un triángulo isósceles”);

}else{

if (b==c){
return System.out.println(“Es un triángulo isósceles”);

} else {
return System.out.println(“Es un triángulo escaleno”);

}
}

4. Juego de dardos Un tablero de dardos está compuesto por cinco aros concéntricos.
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

static double dardos (int x, int y){

double dist = Math.sqrt((x-0)*(x-0)+(y-0)*(y-0));

if (dist < 1){

return System.out.println(“15 puntos”);


}else{

if (1 < dist && dist <= 2) {

return System.out.println(“9 puntos”);


}else{

if (2 < dist && dist <= 3){


return System.out.println(“5 puntos”);

}else{

if (3 < dist && dist <= 4){


return System.out.println(“2 puntos”);

}else{
if(4 < dist && dist <=5){

return System.out.println(“1 punto”);

}else{
return System.out.println(“0 puntos, cayó fuera del tablero.”);

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

6. Encuentro en la universidad Ana va a la universidad cada A días, Bernardo cada B días, y Carlos cada C
días. Si todos van a la universidad hoy, ¿dentro de cuántos días irán nuevamente los tres?

package Entrega;

import java.util.Scanner;

public class Ana {

public static void main(String[] args) {


Scanner teclado = new Scanner(System.in);

int num1,num2,mcm,i;

System.out.println("Ingrese primer numero:");


num1=teclado.nextInt();

System.out.println("Ingrese segundo numero:");


num2=teclado.nextInt();

mcm=1;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

i=2;

while(i <= num1 || i <= num2)


{

if(num1%i==0 || num2%i==0)

{
mcm=mcm*i;

if(num1%i==0) num1=num1/i;
if(num2%i==0) num2=num2/i;

else
i=i+1;

}
System.out.println("El MCM es =" +mcm);

7. Primalidad Dado un número entero, decidir si es o no primo.

package Entrega;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

public class NumerosPrimos {

public static boolean esPrimo(int numero){


int contador = 2;

boolean primo=true;
while ((primo) && (contador!=numero)){

if (numero % contador == 0)

primo = false;
contador++;

}
return primo;

8. Conjetura de Goldbach La conjetura de Goldbach afirma que todo número natural par mayor que 2
puede expresarse como la suma de dos números primos. Dado un natural n, mayor que 2, calcular dos
números primos tales que su suma sea igual a n.
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

package Entrega;

import javax.swing.JOptionPane;

public class Goldbach {

private static Object Keyboard;

public static void main(String[] args) {

long numero;

do {

String title = "Probando la conjetura fuerte de Goldbach";

String message = "Ingrese un número entero par, mayor que 2


[fin=0]";

int messageType = JOptionPane.DEFAULT_OPTION;

String n = JOptionPane.showInputDialog(null, message, title,

messageType);

numero = Long.parseLong(n);
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

if(numero == 0) System.exit(0);

try {

String resultado = probar(numero);

if (!resultado.equals("")) {

message = "El número " + numero

+ " cumple la conjetura de Goldbach,"

+ "\nlos números primos asociados son:\n"

+ resultado;

messageType = JOptionPane.DEFAULT_OPTION;

} else {

message = "\n¡¡Felicitaciones!! con el número " + numero

+ " usted ha refutado la conjetura de


Goldbach\n";

messageType = JOptionPane.WARNING_MESSAGE;

JOptionPane
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

.showMessageDialog(null, message, title,


messageType);

} catch (Exception e) {

message = "\nError: Por favor, ingrese un número entero, par


y mayor que 2\n";

messageType = JOptionPane.ERROR_MESSAGE;

JOptionPane

.showMessageDialog(null, message, title,


messageType);

main(null);

} while (true);

public static String probar(long numero) throws Exception {

String retorno = "";

long medio = numero / 2;


PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

if (numero <= 2 || numero % 2 != 0) throw new Exception();

for (int probando = 2; probando <= medio; ++probando) {

if (esPrimo(probando) && esPrimo(numero - probando)) {

retorno += probando + " - " + (numero - probando) + "\n";

return retorno;

private static boolean esPrimo(long n) {

for (int i = 2; i <= n / 2; ++i) {

if (n % i == 0) {

return false;

return true;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

ENTREGA FINAL

Ejercicios Para cada uno de los siguientes problemas, escriba un programa en el lenguaje java que lo
resuelva:

1. Búsqueda en arreglo Dado un arreglo de enteros x y un entero n, encuentre una posición de x en la


que se encuentre n.

public class Busqueda {

public static void main(String[] args) {


// TODO Auto-generated method stub

Scanner entrada = new Scanner(System.in);


int dim = 0, n = 0;

System.out.println("Ingrese una dimensión para el arreglo de enteros:


");
String dimension = entrada.nextLine();

dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim];


for (int i = 0; i < arreglo.length; i++) {
System.out.println("Ingrese un valor para la posición " + i);

String valor = entrada.nextLine();


arreglo[i] = Integer.parseInt(valor);

}
System.out.println("\n\nIngrese el número que desea buscar en el
arreglo: ");
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

String numero = entrada.nextLine();

n = Integer.parseInt(numero);
encontrarPosicion(arreglo, n);

public static void encontrarPosicion(


int[] x, int n) { int ban = 0;

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

if (x[i] == n) {

System.out.println("La posisión es " + i);


ban = 1;

}
}

if (ban == 0) {

System.out.println("El número " + n + " no se encuentra en el


arreglo. ");

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

2. ¿Está ordenado? Dado un arreglo de enteros x, decida si x está ordenado o no de menor a mayor.

package Ordenado;

import java.util.Scanner;

public class Ordenado {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner entrada = new Scanner(System.in);

int dim = 0, n = 0;
System.out.println("Ingrese una dimensión para el arreglo de enteros:
");
String dimension = entrada.nextLine();

dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim];


PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

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

System.out.println("Ingrese un valor para la posición " + i);


String valor = entrada.nextLine();

arreglo[i] = Integer.parseInt(valor);

}
if (ordenado(arreglo)) {

System.out.println("El arreglo está ordenado de menor a mayor.");


} else {

System.out.println("El arreglo NO está ordenado de menor a


mayor.");
}

}
public static boolean ordenado(int[] a) {

int ban = 0;

for (int i = 0; i < a.length-1; i++) {


if (a[i] > a[i+1]) {

ban = 1;
}

if (ban == 0) {
return true;
} else {
return false;

}
}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

3. ¿Cuántos diferentes? Dado un arreglo de enteros x, cuente el número de valores diferentes en x.

public class Diferentes {

public static void main(String[] args) {


// TODO Auto-generated method stub

Scanner entrada = new Scanner(System.in);

int dim = 0, n = 0;

System.out.println("Ingrese una dimensión para el arreglo de enteros:


");
String dimension = entrada.nextLine();

dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim]; for (int i = 0; i <


arreglo.length; i++) {
System.out.println("Ingrese un valor para la posición " + i);
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

String valor = entrada.nextLine();

arreglo[i] = Integer.parseInt(valor);

System.out.println("\nCantidad de números diferentes: " +


diferentes(arreglo));

//Validamos cuales de los numeros no esta repetidos son diferentes

//Recoremos el arreglo buscando los numeros repetidos que despues


separaremos de los que son diferentes y contar la diferencia de tamaños

public static int diferentes(int [] cadena) {

int total = cadena.length;

boolean bandera = false;


String resultado="";

int contar =-1;


for(int i=0;i< total; i++){

int c = cadena[i];

for(int j=i+1;j< total; j++){


int b = cadena[j];

if (b == c){
resultado += c + " ";

break;

}
}

}
int diferentes = 0;

String[] duplicados = resultado.split(" ");


diferentes = cadena.length - duplicados.length;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

return diferentes;

}
}

4. Mediana Dado un arreglo de reales x, calcule su mediana.

public class Diferentes {

public static void main(String[] args) {


// TODO Auto-generated method stub

Scanner entrada = new Scanner(System.in);


int dim = 0, n = 0;

System.out.println("Ingrese una dimensión para el arreglo de enteros:


");

String dimension = entrada.nextLine();


dim = Integer.parseInt(dimension);

int [] arreglo = new int [dim]; for (int i = 0; i <


arreglo.length; i++) {

System.out.println("Ingrese un valor para la posición " + i);


String valor = entrada.nextLine();

arreglo[i] = Integer.parseInt(valor);

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

System.out.println("\nCantidad de números diferentes: " +


diferentes(arreglo));
}

//Validamos cuales de los numeros no esta repetidos son diferentes


//Recoremos el arreglo buscando los numeros repetidos que despues
separaremos de los que son diferentes y contar la diferencia de tamaños
public static int diferentes(int [] cadena) {

int total = cadena.length;


boolean bandera = false;

String resultado="";
int contar =-1;

for(int i=0;i< total; i++){

int c = cadena[i];
for(int j=i+1;j< total; j++){

int b = cadena[j];
if (b == c){

resultado += c + " ";

break;
}

}
}

int diferentes = 0;

String[] duplicados = resultado.split(" ");


diferentes = cadena.length - duplicados.length;

return diferentes;
}

}
}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

5. Palíndromo Un palíndromo es una cadena que se lee de igual manera de izquierda a derecha y de
derecha a izquierda. Ejemplos de palíndromos son “sometemos”, “reconocer”, “arenera”, “anilina” y
“radar”. Escriba un método que reciba como entrada una cadena y decida si es palíndromo o no.

package Palíndromo;

import java.util.Scanner;

public class Palíndromo {

public static void main(String[] args) {

// TODO Auto-generated method stub

boolean es_Palindrome = false;


Scanner entrada = new Scanner(System.in);

String palabra;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

System.out.println("Introduzca una cadena. Le diremos si es un


palíndromo.");
palabra = entrada.nextLine();

es_Palindrome = EsPalindrome(palabra);
if(es_Palindrome){

System.out.println("\n"+palabra +" es una palabra Palíndromo");


}else{

System.out.println("\n"+palabra +" no es una palabra


Palíndromo");
}

6. Anagramas Una cadena S es anagrama de T si contiene los mismos símbolos en las mismas
cantidades. Por ejemplo, algunos anagramas de “amor” son “roma”, “omar”, “ramo” y “mora”; además,
“aroma” y “nora” no son anagramas de “amor”. Escriba un método que reciba como entrada dos
cadenas S y T, y determine si S es anagrama de T.

package Anagramas;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

import java.util.Arrays;

import java.util.Scanner;

public class Anagramas {

public static void main(String[] args) {

// TODO Auto-generated method stub

boolean esAnagrama = false;

Scanner entrada = new Scanner(System.in);


String palabra1, palabra2;

System.out.println("Introduzca la primera cadena. Le diremos si es un


anagrama.");

palabra1 = entrada.nextLine();

System.out.println("Introduzca la segunda cadena para la


comparacion.");

palabra2 = entrada.nextLine();

esAnagrama = anagrama(palabra1, palabra2);

if(esAnagrama){

System.out.println(palabra1+" es un anagrama de "+palabra2);

}else{
System.out.println(palabra1+" no es un anagrama "+palabra2);

}
}

//Ordenamos una cadena de caracteres en order alfabetico


PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

public static String ordenar(String cadena) {

char[] caracteres = cadena.toCharArray();


Arrays.sort(caracteres);

return new String(caracteres);

public static boolean anagrama(String s, String t) {

char[] caracteres1 = s.toCharArray();


char[] caracteres2 = t.toCharArray();

String cadena1 = ordenar(s);

String cadena2 = ordenar(t);

int totalCaracteres1 = cadena1.length();

int totalCaracteres2 = cadena2.length();

//Retornamos false si las palabras tienen tamaños diferentes ya que asi


no cumpliria la regla
if(totalCaracteres1 != totalCaracteres2)
return false;

// Regresar resultado de la comparación

return cadena1.equals(cadena2);
}

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

7. Contraseña segura Una contraseña se considera segura si su longitud es mayor o igual a 10, tiene al
menos una letra (A-Z, a-z), tiene al menos un dígito (0-9), y tiene al menos un símbolo diferente a letras
o dígitos. Escriba un programa que reciba como entrada una cadena y decida si ésta corresponde a una
contraseña segura.

package Contraseña;

import java.util.Scanner;

public class Contraseña {

public static void main(String[] args) {

// TODO Auto-generated method stub

// Cadenas de posibles caracteres que contendrá la contraseña


generada

String alfabeto1 = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";


String alfabeto2 = "abcdefgehijlkmnñoprstuvwxyz";

String alfabeto3 = "1234567890";


PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

String alfabeto4 = "@#!$€&[]()/*-.";

boolean esAnagrama = false;

Scanner entrada = new Scanner(System.in);

String palabra = "";


int validacion1, validacion2, validacion3, validacion4, validacion5,
total;

System.out.println("Introduzca una posible contraseña. Le diremos si


se considera segura.");
palabra = entrada.nextLine();

int totalCaracteres = palabra.length();

validacion1 = validar(palabra, alfabeto1);


validacion2 = validar(palabra, alfabeto2);

validacion3 = validar(palabra, alfabeto3);


validacion4 = validar(palabra, alfabeto4);

validacion5 = validarLongitud(palabra);

//Tenemos las 5 validaciones para que sea una contraseña segura


cada una retorna 1 cuando se cumple
total = validacion1 + validacion2 + validacion3 + validacion4 +
validacion5;

if(total == 5){

System.out.println("Es una contraseña segura ");


}else{

System.out.println("No es una contraseña segura ");


}

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

//Validamos si la contraseña es segura

public static int validar(String cadena, String alfabeto) {


char[] caracteres = cadena.toCharArray();

int totalCaracteres = caracteres.length;

boolean bandera = false;


int contar = 0;

for(int i=0;i< totalCaracteres; i++){


//char c = caracteres[i];

String c = String.valueOf(caracteres[i]);

if (String.valueOf(alfabeto).contains(c)) {
contar++;

break;
}

return contar;

//Validamos si la longitud de la contraseña es segura

public static int validarLongitud(String cadena) {


char[] caracteres = cadena.toCharArray();
int totalCaracteres = caracteres.length;
int contar = 0;

if(totalCaracteres >= 10)


contar = 1;

return contar;
}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

8. Zapatico cochinito Un grupo de hermanos se disponía a jugar fútbol cuando su mamá les ordenó lavar
los platos. Como esta tarea puede ser realizada por una sola persona, decidieron escoger al azar uno de
ellos, y así el resto podría ir a jugar. Los niños resolvieron usar el juego zapatico cochinito como
mecanismo de selección del “lavaplatos”.

package Zapatico;

import java.util.Scanner;

public class Zapatico {

public static void main(String[] args) {

// TODO Auto-generated method stub


PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

//String[] nombres = new String[]{"Hugo", "Paco", "Luis", "Pedro",


"Juan", "Filosofo", "Pitufina", "valiente", "Tontin", "Gruñon", "Pintor",
"Bromista"}; //cadena de nombres estáticos

Scanner entrada = new Scanner(System.in);


System.out.println("Ingrese un número 'k' para el conteo: ");

String valorK = entrada.nextLine();


int k = Integer.parseInt(valorK);

System.out.println("Ingrese la cantidad de niños: ");


String dimension = entrada.nextLine();

int dim = Integer.parseInt(dimension);

String [] nombres = new String [dim];

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


System.out.println("Ingrese el nombre N°" + i);

nombres[i] = entrada.nextLine();

int cant = nombres.length;

String[] resultado = recorridoCircular(nombres, k);


String[] resultado2;

while (cant > 2) {

if(cant != 3)
resultado2 = recorridoCircular(salida(resultado,0), k);

else
resultado2 = salida(resultado,0);

resultado = resultado2;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

cant--;

if (cant == 2) {

if(k == 1){
resultado2 = salida(resultado,1);

} else {
if(k % 2 == 0)

resultado2 = salida(resultado,0);

else
resultado2 = salida(resultado,1);

for(int i = 0;i<resultado2.length;i++){
System.out.print("\nEl 'lavaplatos' es
"+resultado2[i]+". ");

}
}}

public static String[] salida(String [] arr, int toRemove){

int newLength = arr.length;

newLength--;

String[] result = new String[newLength];

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

{
if(i != toRemove) {

result[count] = arr[i];
count++;
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

}
return result;

private static String[] recorridoCircular(String[] array, int


startIndex) {
StringBuilder sb = new StringBuilder();

int currentIndex = startIndex;

int newLength = array.length;


String[] result = new String[newLength];

int temp = 0;

try {

do {
if (currentIndex > array.length - 1) {

currentIndex = 0;
}

result[temp]=array[currentIndex++];

temp++;
} while (currentIndex != startIndex);
}
catch(Exception e) {

System.out.println(e);

return result;
}

}
PROGRAMACION DE COMPUTADORES TALLER DE EJERCICIOS

También podría gustarte