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

Propiedades de la POO

Las caracteristicas de la programacin orientada a objetos son las siguientes:


1.Herencia: Se refiere a que una clase(objeto) puede tener clases hijas, que son principalmente clases
derivadas, por ejemplo: Si se tiene la clase padre Perro sus clases hijas pueden ser clases que se refieran a
razas especificas de perros, como Labrador,Salchicha,Poodle,Doberman, cada una de estas clases hijas tendra
diferencias en sus propiedades, pero todas comparten el hecho de que siguen siendo perros.
2.Polimorfismo: Se refiere a que se pueden utilizar variables u objetos con el mismo nombre, sin embargo sus
funciones cambian dependiendo del contexto en que fueron creados, el polimorfismo suele ser complicado de
entender, pero lo explicaremos mas a fondo en un proximo articulo o video.
3.Encapcsulacin: Significa que se puede encapsular codigo, por ejemplo, si se tiene un objeto llamado perro,
el perro puede tener un metodo para correr, por lo tanto si se desea ejecutar la accin Perro.correr(); se puede
hacer sin necesidad de conocer el codigo que esta implicito dentro de la instruccin correr, esto es muy util
para reutilizacin de codigo, y para hacer la programacin mas facil.
4.Abstraccin: Se relaciona con utilizar propiedades de objetos sin necesidad de crear un objeto en si, esto
quiere decir si existe el objeto matematicas, no es necesario crear el objeto, para utilizar sus metodos como
pueden ser sumar, restar, o multiplicar.

DEFINICIONES
Programacin Estructurada es una tcnica en la cual la estructura de un programa, esto es, la interpelacin de sus partes realiza tan
claramente como es posible mediante el uso de tres estructuras lgicas de control:
a.
Secuencia: Sucesin simple de dos o mas operaciones.
b.

Seleccin: bifurcacin condicional de una o mas operaciones.

c.

Interaccin: Repeticin de una operacin mientras se cumple una condicin.

Estos tres tipos de estructuras lgicas de control pueden ser combinados para producir programas que manejen cualquier tarea de
procesamiento de informacin.

VENTAJAS DE LA PROGRAMACION ESTRUCTURADA


Con la programacin estructurada elaborar programas de computador sigue siendo un albor que demanda esfuerzo, creatividad,
habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas:
1.
- Los programas son ms fciles de entender. Un programa estructurado puede ser ledo en secuencia, de arriba hacia abajo,
sin necesidad de estar saltando de un sitio a otro en la lgica, lo cual es tpico de otros estilos de programacin. La estructura del
programa es mas clara puesto que las instrucciones estn mas ligadas o relacionadas entre s, por lo que es ms fcil comprender
lo que hace cada funcin.
2.

Reduccin del esfuerzo en las pruebas. El programa se puede tener listo para produccin normal en un tiempo menor del
tradicional; por otro lado, el seguimiento de las fallas("debugging") se facilita debido a la lgica ms visible, de tal forma que los
errores se pueden detectar y corregir mas fcilmente.

3.

Reduccin de los costos de mantenimiento.

4.

Programas ms sencillos y ms rpidos

5.

Aumento de la productividad del programador

6.

Se facilita la utilizacin de las otras tcnicas para el mejoramiento de la productividad en programacin

7.

Los programas quedan mejor documentados internamente.

Leer ms: http://www.monografias.com/trabajos/progestructu/progestructu.shtml#ixzz3aAxrBeG3

Manual de prcticas JAVA 2015.

Elaborado por: Ulises Martnez Flores

Programacin.

Grupo 402

Figuras Rectangulares
Descripcin
Tenemos un conjunto de cuadrados y rectngulos cuyos medidas de sus diferentes lados son cantidades enteras y
mayores a 1 y , si tenemos el rea de la figura, es posible que sea un cuadrado o un rectngulo.

Problema
Construye un programa que nos ayude a resolver este problema (dada el rea de una figura determinar si es cuadrado o
rectngulo), la lectura la debes hacer de la entrada estndar (teclado) y la escritura se debe hacer a la salida estndar
(pantalla).

Entrada
La primera lnea contendr un nmero "N" entre 1 y 1,000,000,000, representando el rea.

Salida
Una sola lnea indicando la figura que se puede formar, si el rea puede formar un cuadrado debes imprimir la palabra
cuadrado si el rea puede formar un rectngulo, debes imprimir la palabra rectangulo y si el rea puede formar ambos
debe imprimir la palabra ambos (note no hay acentos ni mayusculas), en caso de que no se pueda formar un cuadrado
o rectngulo escriba "ninguno"
Entrada Salida

cuadrado

rectangulo

36

ambos

Solucion:
import java.util.*;
public class figuras{
public static void main(String []args){
Scanner in=new Scanner (System.in);
int contador=0;

int n=in.nextInt();
int raiz =(int) Math.sqrt(n);
for(int i=2;i<n;i++){
if(n%i==0){
System.out.println("n:"+n+"i:"+i);
contador++;
}
}
System.out.println("contador"+contador);

if ((raiz*raiz)==n && contador>=2){


System.out.println ("ambos");

} else if ((raiz*raiz)!=n && contador >=2){


System.out.println("rectangulo");
}
else if ((raiz*raiz)==n){
System.out.println("cuadrado");
} else {
System.out.println("ninguno");
}
}
}

Ordenando
Problema
Dada una lista de nmeros enteros hay que determinar si la lista esta ordenada de menor a mayor, de mayor a menor o
sencillamente no est ordenada.

Entrada
En la primera lnea un valor n indicando la cantidad de valores que conforma la lista, donde 3<=n<=1000, en la segunda
lnea los n nmeros separados por un espacio, cada nmero est en el rango de 1 a 1,000,000,000.

Salida
Una sola lnea con 3 posibles valores, si la lista est ordenada de menor a mayor debes escribir la palabra CRECIENTE
si la lista esta ordenada de mayor a menor debes escribir la palabra DECRECIENTE y si la lista no esta ordenada
debes escribir la frase NO ORDENADA. Te aseguramos que no existe un caso con posibilidad de empate (que pueda
ser creciente y decreciente).

Consideraciones
Tu programa se evaluar con varios casos de prueba.

Ejemplos
Entrada

Salida

5
10 20 30 40
40
3
322
4
1 10 10 5

CRECIENTE
DECRECIEN
TE
NO
ORDENADA

Descripci
n
Case #1:
Case #2:
Case #3:

Solucion:
import java.util.*;
public class ordenado{
public static void main(String []args){
Scanner in=new Scanner (System.in);

int n=in.nextInt();
int []numeros=new int [n];

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


numeros [i]=in.nextInt ();

}
ImprimeArray(numeros, n);
}
public static void ImprimeArray (int [] n, int num){
for(int i=0;i<num;i++){
System.out.println("N ->" + n [i]);
}
}
public static void checarOrden (int [] n, int num ){
int c=0, d=0;
for(int i=1; i<num;i++){
if (n[i-1]<=n[i]){
c++;

}else if (n[i-1]>=n[i]){
d++;
}
}
if (c==(num-1)){
System.out.println("CRECIENTE");
}
else if (d==(num-1)){
System.out.println("Decreciente");
}
else {
System.out.println("NO ORDENADO");

}
}
}

Sumando
Problema
Se tiene un matriz cuadrada de tamao n y se requiere saber cunto suma cada columna.

Entrada
En el primer rengln un valor n indicando el tamao de la matriz donde 1<=n<=1000 y en los siguientes n
renglones habrn n valores correspondientes los valores de cada rengln de la matriz donde 1<=V<= 1000.

Salida
Un rengln con n cantidades, cada cantidad representa la sumatoria de cada columna de la matriz, el primer valor
corresponde a la columna 1, el segundo a la columna 2 ,... y el ltimo valor corresponde a la columna n.

Consideraciones
Tu programa se evaluar con varios casos de prueba.

Ejempl
os
Entrada
3
123
356
789
4
3
2
7
1

2
3
8
1

4
3
5
1

3
2
3
1

Salida

Descrip
cin

11 15 18

Case #1:

13 14 13
9

Case

Solucion: import java.util.*;


public class sumando{
public static void main (String []args){
Scanner in=new Scanner (System.in);
int n=in.nextInt();
int numeros [][]= new int [n][n];
int suma [] = new int [n];
for(int i=0;i<n;i++){

for (int k=0;k<n ;k++ ) {


numeros [i][k]=in.nextInt();
suma[i]=0;
}
}
Imprimir(numeros,n);
obtenersuma(numeros, n, suma);
imprimirsuma (suma, n);

}
public static void Imprimir (int [] [] numeros, int n){

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


for (int k=0; k<n; k++) {
System.out.print("numeros["+ (i+1)+ "]["+(k+1)+"]=>"+numeros[i][k]+" ");

}
System.out.println (" ");

}
}
public static void obtenersuma(int [] [] numeros, int n, int [] suma){
for (int i=0;i<n;i++){
for (int k=0;k<n ;k++ ) {
suma[i]+=numeros[k][i];

}
}

}
public static void imprimirsuma (int [] suma, int n){
for (int i=0;i<n ;i++ ) {
System.out.print(" "+suma[i]+" ");
}
}
}
Ejemplo:

Frecuencias
Descripcin
Cierta escuela realiza cuestionarios para conocer al profesor favorito de los alumnos. Y lo realiza de la siguiente
manera; a cada profesor se le asigna un nmero posteriormente a cada alumno se le pregunta cual es su profesor
favorito, posteriormente, se calcula una tabla de frecuencia indicando en cada profesor cual es la cantidad de
alumnos que lo eligieron.

Problema
Escribe un programa que ayude a la escuela a escribir la tabla de frecuencias.

Entrada
En la primera lnea el nmero P que indica la cantidad de profesores que tiene la escuela donde 1<=P <= 100 y el
nmero n que indica la cantidad de alumnos en la escuela donde 1<=n<=1000. en la siguiente lnea habrn n
nmeros que representan el nmero de profesor favorito F de cada alumno donde 1<=F<=P.

Salida
Deber haber P cantidad de lneas y en cada una dos nmeros separados por un guin, el primer nmero ser el
nmero del profesor y el segundo nmero la cantidad de alumnos que lo eligieron.

Consideraciones
Tu programa se evaluar con varios casos de prueba.

Ejemplo
Entrada
4 10
112112
3234
48
124124
12

Salida
1-4
2-3
3-2
4-1
1-3
2-3
3-0
4-2

Descripci
n
Case #1:

Case #2:

Solucion:
import java.util.*;
public class frecuencia{
public static void main (String []args){
Scanner n=new Scanner (System.in);
int np=n.nextInt();
int ap[]=new int[np];
int na=n.nextInt();
int voto[]=new int[na];
for(int a=0;a<na;a++){
voto [a]=n.nextInt();

ap[voto[a]-1]++;
}
for (int b=0;b<np ;b++ ) {
System.out.println("profesor"+(b+1)+" =>"+ap[b]);

}
}
Ejemplo:

Cuadrado

Descripcin.
A continuacin te mostramos un giro de 90 grados a la derecha de una matriz de 2 por 2 cuyos valores son:
Matriz original
12
34
Matriz Girada 90 a la derecha
31
42

Problema
Dada una matriz cuadrada de tamao n , debes hacer que tu programa la gire 90 grados a la derecha.

Entrada
En la primera lnea el valor n indicando el tamao de la matriz donde 1<=n<=1000, en los siguientes n renglones
habrn n valores de la matriz separados por un espacio.

Salida
n renglones cada rengln con "n" valores mostrando la matriz girada 90 grados.
Consideraciones Tu programa se evaluar con varios casos de prueba

Ejem
plo
Entra
da
2
12
34
3
123
456
789

Salida

Descr
ipcin

31
42

Case #1:

741
852
963

Case #2:

Solucion:
import java.util.*;
public class movimiento90{
public static void main(String[]args){
Scanner lol=new Scanner(System.in);
int xl=lol.nextInt();
int numeros[][]=new int[xl][xl];
for(int i=0; i<xl; i++){
for(int j=0; j<xl; j++){
numeros [i][j]=lol.nextInt();

}
}
for(int i=0; i<xl; i++){
for(int j=(xl-1); j>=0;j--){
System.out.print(numeros[i][j]+" ");
}
System.out.println(" ");
}
}
}
Ejemplo:

Bardeando
Descripcin
Se tiene un conjunto de n trozos de malla ciclnica y un terreno de permetro P el terreno es cuadrado.

Problema
Debes escribir un programa que nos diga cuntos metros de malla ciclonica nos hace falta para poder bardear el
terreno.

Entrada

En la primera lnea dos nmeros P y "n", donde "P" representa el permetro del terreno con un rango de valores
de 1<=P <= 2,000,000,000 y n representa la cantidad de trozos de malla ciclnica que tenemos, donde
1<=n<=100,000. En las siguientes n lneas es el tamao de cada trozo de malla que tenemos. La suma de todos
los trozos siempre ser menor a 2147483648.

Salida
Un nico valor entero indicando los metros de malla que nos hacen falta para bardear el terreno.

Ejem
plos
Entra
da
100 3
25
20
10
100 2
1000
2000
21 1
20

Salid
a

Descr
ipcin

45

Caso #1

Caso #2

Caso #3

Solucion:
import java.util.*;
public class bardeando{
public static void main(String[] args) {
Scanner in=new Scanner (System.in);
int a=in.nextInt();
int t=in.nextInt();
int trozos []= new int [t];
int total []= new int [t];
for (int i=0;i<t ; i++) {
trozos[i]=in.nextInt();
}
int x=trozos[0];
for(int i=1;i<t;i++){
x=x+trozos[i];

}
System.out.println(x);
if (x==a){
System.out.println("faltan 0 mts");
}
else if(x>a){
System.out.println("faltan 0 mts");
}
else if (x<a) {
int q=a-x;
System.out.println("fatltan "+ q+ " metros");
}
}
}
Ejemplo:

Matriz Cuadrada
Descripcin
Descripcin Tenemos una matriz de R renglones por C columnas, donde podemos enumerar las casillas de la
siguiente manera, la casilla 1,1 (rengln 1, columna 1), la casilla 1,2 (rengln 1, columna 2) y la casilla 1,3 (rengln
1, columna 3 ) seran respectivamente las posiciones 1, 2 y 3 como se puede ver en la figura, donde la casilla 1,1
es la esquina superior izquierda y la celda R x C es la celda ubicada en la esquina inferior derecha.
En esta cuadrcula, podemos hacer preguntas de la forma, que nmero est en la casilla 1,2 ? y su respuesta
sera 2 otro ejemplo qu nmero est en la celda 2,3? y su respuesta es 6.

Problema
Escribe un programa que dada las dimensiones de la cuadrcula responda una cantidad P de preguntas.

Entrada
En la primera lnea dos valores indicando las dimensiones de la cuadrcula separados por un espacio R cantidad
de renglones donde 1<=R<=10000 y C cantidad de columnas donde 1<=C<=10000, En la tercera lnea el nmero
P cantidad de preguntas donde 1<=P<=10,000 y en las siguientes P lneas un par de coordenadas de la forma r,
c, representando las coordenadas de cada pregunta en donde r indica el rengln 1<=r<=R y c la columna
1<=c<=C por cada pregunta.

Salida
Por cada pregunta debe escribir en cada lnea el nmero de casilla que le corresponde.

Ejem
plos
Salida

Entra
da
33
159
3
11
22
33
3 1000 1001
2
2010
21
2 10
Solucion:

Descr
ipcin
Caso #1

Caso #2

import java.util.*;
public class matriz2{
public static void main (String []args){
Scanner in=new Scanner (System.in);
int fila=in.nextInt();
int columna=in.nextInt();
int n=in.nextInt();
int ar[][]=new int [n][2];
int res []=new int [n];
for(int i=0;i<n;i++){
for (int k=0;k<=1 ;k++ ) {
ar[i][k]=in.nextInt();
}
}
for(int i=0;i<n;i++){
res[i]=((ar[i][0]-1)*columna)+ar[i][1];
}
for (int c=0;c<n ;c++ ) {
System.out.println(""+res[c]);

}
}
}
Ejemplo:

Suma Triple
Descripcin
Se tiene la siguiente funcin f(n), formada por la suma de los tres nmeros anteriores.
f(1)=1
f(2)=1
f(3)=2
f(4)=4
f(5)=7
f(6)=13
f(7)=24
f(8)=44
f(9)=81
Note que f(1) = 1 ya que no tiene nmeros anteriores, f(2)=1 ya que es el nico nmero anterior, f(3) tiene solo 2
nmeros anteriores y a partir de f(4) se da la suma de los tres nmeros anteriores.

Problema
Escribe un programa que dado el valor de n escriba la serie correspondiente.

Entrada
Un solo rengln conteniendo el valor ndonde 1<=n<=64.

Salida
Una sola
lnea
mostrando la
serie desde el
nmero
menor hasta
el mayor
cada nmero
debe estar
separado por
un espacio.

Entrada

Salida

4
6
9

1124
1 1 2 4 7 13
1 1 2 4 7 13
24 44 81

Descripci
n
Caso #1
Caso #2
Caso #3

Solucion:
import java.util.*;
public class trilpe{
public static void main (String []args){
Scanner in=new Scanner (System.in);
int cantidad=in.nextInt();
int pre []=new int [cantidad];
for(int i=0;i<cantidad;i++){
if(i<2){
pre[i]=1;

}
else if (i==2){
pre[i]=pre[0]+pre[1];
}
else{

pre[i]=pre[i-1]+pre[i-2]+pre[i-3];
}
}

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


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

}
}
Ejemplo:

Tringulo
Descripcin
Un tringulo es formado por 3 segmentos (con valor entero) de recta unidos por sus extremos, sin embargo no
todas las combinaciones de 3 segmentos pueden formar un tringulo.

Problema
Escriba un programa que dados 3 nmeros que representan 3 segmentos de rectas, diga si pueden formar un
tringulo rectngulo.

Entrada
En la primera lnea 3 nmeros a, b y c representando las longitudes de 3 segmentos de recta en un rango de
entre 1 y 32,000.

Salida
Una sola lnea en donde si es posible generar un tringulo rectngulo debes imprimir la hipotenusa, el cateto mayor
y el cateto menor y si no es posible formar un tringulo rectngulo imprime la palabra imposible.

Consideraciones
Tu programa se evaluar con varios casos de prueba, para cada caso de prueba (entrada)

Ejemp
los
Entrad
a
111
345

Salida

Descri
pcin

imposibl
e
543

Caso #1
Caso #2

Solucion:

import java.lang.Math;
import java.util.*;
public class triangulo{

public static void main(String[] args) {

Scanner b1= new Scanner (System.in);


Scanner b2= new Scanner (System.in);
Scanner b3= new Scanner (System.in);
int a,b,c,ax,bx,cx,d,e,f;
Double raiz;
System.out.println("Ingresa los numeros");
a=b1.nextInt();
b=b2.nextInt();
c=b3.nextInt();
ax=a*a;
bx=b*b;
cx=c*c;
if (a>=b){
if(a>=c){
if(b>=c){
System.out.println("\n N:"+a+"\n N:"+b+"\n N:"+c);
d=bx+cx;
raiz=Math.sqrt(d);
if(raiz==a){
System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+a+"\n Cateto Adyacente
"+b+"\n Cateto Opuesto "+c);
}
else{
System.out.println("Es imposible");
}
}
else{
System.out.println("\n N:"+a+"\n N:"+c+"\n N:"+b);
d=cx+bx;

raiz=Math.sqrt(d);
if(raiz==a){
System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+a+"\n Cateto Adyacente
"+c+"\n Cateto Opuesto "+b);
}
else{
System.out.println("Es imposible");
}
}
}
else{
System.out.println("\n N:"+c+"\n N:"+a+"\n N:"+b);
d=ax+bx;
raiz=Math.sqrt(d);
if(raiz==c){
System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+c+"\n Cateto Adyacente
"+a+"\n Cateto Opuesto "+b);
}
else{
System.out.println("Es imposible");
}

}
}
else {
if(b>=c){
if(c>=a){
System.out.println("\n N:"+b+"\n N:"+c+"\n N:"+a);
d=ax+cx;

raiz=Math.sqrt(d);
if(raiz==b){
System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+b+"\n Cateto Adyacente
"+c+"\n Cateto Opuesto "+a);
}
else{
System.out.println("Es imposible");
}
}
else{
System.out.println("\n N:"+b+"\n N:"+a+"\n N:"+c);
d=ax+cx;
raiz=Math.sqrt(d);
if(raiz==b){
System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+b+"\n Cateto Adyacente
"+a+"\n Cateto Opuesto "+c);
}
else{
System.out.println("Es imposible");
}
}
}
else{
System.out.println("\n N:"+c+"\n N:"+b+"\n N:"+a);
d=ax+bx;
raiz=Math.sqrt(d);
if(raiz==c){
System.out.println("Si es posible el triangulo y sus medidas serian Hipotenusa "+c+"\n Cateto Adyacente
"+b+"\n Cateto Opuesto "+a);
}

else{
System.out.println("Es imposible");
}
}
}
}
}

Romanos
Descripcin
Escribe un programa que lea un entero entre 1 y 100 e imprima su equivalencia en nmeros romanos.

Entrada
Una lnea con el entero a convertir.

Salida
la conversin a nmeros romanos (en maysculas).

Ejemplos
Entrada
48

Salida

Descripcin

Salida
XLVIII

Las equivalencias de
nmeros arbigos a
romanos son:
I1
V5
X 10
L 50
C 100

Solucion:
import java.util.Scanner;
public class romanos{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String Unidad[]={"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
String Decena[]={"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};

int N = sc.nextInt();
int u=N%10;
int d=(N/10)%10;

if(N==100){
System.out.println("C");
}
else if(N>=10){
System.out.println(Decena[d]+Unidad[u]);
}
else{
System.out.println(Unidad[N]);
}

}
}
Ejemplo:

Tablero de Ajedrez
Descripcin
Dadas las coordenadas de una casilla en un tablero de ajedrez de 8x8, determinar el color de dicha casilla.

Entrada
Una lnea con la letra y dgito separados por espacios correspondientes a la coordenada de la casilla.

Salida
Imprime BLANCO, NEGRO segn sea el caso.

Ejem
plos
Entrada
a1

Salida
Salida
NEGRO

Solucion:
import java.util.*;
public class ajedrez{
public static void main(String[] args) {
Scanner in=new Scanner (System.in);

String a=in.nextLine();
int b=in.nextInt();

if(a.equals("a")){
if(b==1){
System.out.println("negro");

}
else if(b==3){
System.out.println("negro");

}
else if(b==5){
System.out.println("negro");

}
else if(b==7){
System.out.println("negro");

}
else{
System.out.println("blanco");

}
else if(a.equals("b")){
if(b==1){
System.out.println("blanco");

}
else if(b==3){

System.out.println("blanco");

}
else if(b==5){
System.out.println("blanco");

}
else if(b==7){
System.out.println("blanco");

}
else{
System.out.println("negro");

}
if(a.equals("c")){
if(b==1){
System.out.println("negro");

}
else if(b==3){
System.out.println("negro");

}
else if(b==5){
System.out.println("negro");

}
else if(b==7){
System.out.println("negro");

}
else{
System.out.println("blanco");

}
else if(a.equals("d")){
if(b==1){
System.out.println("blanco");

}
else if(b==3){
System.out.println("blanco");

}
else if(b==5){
System.out.println("blanco");

}
else if(b==7){
System.out.println("blanco");

}
else{

System.out.println("negro");

}
if(a.equals("e")){
if(b==1){
System.out.println("negro");

}
else if(b==3){
System.out.println("negro");

}
else if(b==5){
System.out.println("negro");

}
else if(b==7){
System.out.println("negro");

}
else{
System.out.println("blanco");

}
else if(a.equals("f")){

if(b==1){
System.out.println("blanco");

}
else if(b==3){
System.out.println("blanco");

}
else if(b==5){
System.out.println("blanco");

}
else if(b==7){
System.out.println("blanco");

}
else{
System.out.println("negro");

}
if(a.equals("g")){
if(b==1){
System.out.println("negro");

}
else if(b==3){
System.out.println("negro");

}
else if(b==5){
System.out.println("negro");

}
else if(b==7){
System.out.println("negro");

}
else{
System.out.println("blanco");

}
else if(a.equals("h")){
if(b==1){
System.out.println("blanco");

}
else if(b==3){
System.out.println("blanco");

}
else if(b==5){
System.out.println("blanco");

else if(b==7){
System.out.println("blanco");
}
else{
System.out.println("negro");
}
}
}
}

Intervalo
Descripcin
Escribe un programa que lea tres enteros a, b, c y determine si c se encuentra en el intervalo [a,b], a la izquierda o
a la derecha de dicho intervalo.

Entrada
Una lnea con los enteros a,b,c separados por un espacio

Salida
Imprime INTERVALO, IZQUIERDA o DERECHA segn sea el caso.
Descripcin
Ejemplos Entrada Salida
3 10 6
Salida
6 se encuentra contenido
INTERVALO
en el intervalo desde 3
hasta 10

Solucion:
import java.util.*;
public class intervalo{
public static void main(String []args){
Scanner in=new Scanner (System.in);
int a=in.nextInt();
int b=in.nextInt();
int c=in.nextInt();

if (c<a){
if(c<b){

System.out.println("Izquierda");

}
else if (c==b){
System.out.println("intervalo");
}
else {
System.out.println("intervalo");
}
}
else if (c==a){
System.out.println("intervalo");
}

else {
if(c<b){

System.out.println("intervalo");

}
else if (c==b){
System.out.println("intervalo");
}
else {
System.out.println("derecha");
}
}}}

Sedes

Descripcin
Ahora que ests en la preseleccin de Veracruz, debes prepararte mucho para ser seleccionado. Como parte de
este proceso, se deben realizar algunos entrenamientos y de preferencia en varias sedes del estado, por ejemplo
Coatzacoalcos, Veracruz, Xalapa, Tuxpan, etc. Puesto que a ti te gusta viajar mucho, quieres asistir a las dos sedes
que estn ms lejos entre s.
Suponiendo que todas las sedes se encontraran en lnea recta, una tras de otra, identifica, cul es la distancia ms
larga que deberas recorrer entre dos sedes.

Entrada
En la primera lnea el nmero n, que indica la cantidad de sedes para este ao. 1<=n<=100000. En las siguientes n
lneas un nmero indicando la distancia de esa sede con respecto a tu ubicacin actual entre 0<=d <=5000. Supn
que tu ubicacin actual es el inicio de la lnea recta, por lo que todas las distancias sern positivas. Siempre te
encuentras en el km 0, y en el ejemplo la primera sede est a 7 kilmetros de tu ubicacin, la segunda a 5, la
tercera a 13, y la cuarta a 4 kilmetros de tu ubicac

Salida
Un solo nmero con un salto de lnea, indicando la distancia mxima que hay entre dos sedes.

E
j
e
m
p
l
o
4

7
5
1
3
4

Solucion:
import java.util.*;
public class sede3{
public static void main(String[] args) {
Scanner in=new Scanner (System.in);
int a=in.nextInt();
int ar[]=new int [a];
for (int i=0;i<a ;i++ ){
ar[i]=in.nextInt();
}

int c=ar[0];
for (int i=1;i<a ;i++ ) {
if (ar[i]>c){
c=ar[i];
}

int q=ar[0];
for (int i=1;i<a ;i++ ) {
if (ar[i]<q){
q=ar[i];
}

}
int x=c-q;
System.out.println(" "+x);

}
}
Ejemplo:

No-Fibonacci
"Leonardo de Pisa o Leonardo Pisano o Leonardo Bigollo(c. 1175 - 1250), tambi llamado Fibonacci, fue un
matemtico italiano,famoso por la invencin de la sucesin de Fibonacci, surgida como consecuencia del estudio
del crecimiento de las poblaciones de conejos" Wikipedia
La sucesin de Fibonacci es una serie de nmeros enteros positivos de la cual sus primeros 2 nmeros son 1 y 2,
luego de eso, cada nmero es el resultado de sumar los dos anteriores de dicha serie de la siguiente forma:
1, 2, 3, 5, 8, 13, 21, 34, 55...
Ntese que 1+2=3, 2+3=5, 5+8=13, 13+21=34, 21+34=55 ...
Ahora, podras pensar que el problema ser calcular la serie de fibonacci, sin embargo es exactamente lo contrario.

Problema
Escribe un programa que imprima en pantalla todos los nmeros enteros positivos estrictamente menores que N
que NO pertenezcan a la serie de Fibonacci.

Entrada
Tu programa deber de leer del un solo nmero entero 2 N 30000 (30 mil)

Salida
Tu programa deber imprimir en pantalla todos los nmeros enteros positivos menores que N que no formen parte
de la serie de Fibonacci, deber imprimirlos en orden creciente, separados por espacios.
Eje Salida

mpl
o
Entra
da
9

467

Solucion:
import java.util.*;
public class fibo2{
public static void main(String[] args) {
Scanner in=new Scanner (System.in);

int a=in.nextInt();
int ar []=new int [a];

if (a>2) {
ar[0]=1;
ar[1]=1;

for (int i=2;i<a ;i++ ) {

ar[i]=ar[i-1]+ar[i-2];
}
}
else if(a==2){
ar[0]=1;
ar[1]=1;
}
else if (a<2){
ar[0]=1;
}
int ar1 []=new int [a];
for (int i=0;i<a ;i++ ) {
ar1[i]=i+1;
}

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


for (int k=1;k<a ;k++ ) {
if (ar1[i]==ar[k]){
k=a-1;
}

else if (k==(a-1)){
System.out.println(ar1[i]);
}
}
}
System.out.println("\n");
}
}

Divisores
Dado un numero presentado tenis que sacar sus divisores de dicho nmero.
Ejemplo:
Entrada Salida
4

10 12 5 6

10 12 5
6

Solucion:
import java.util.*;
public class divisores{
public static void main(String[] args) {
Scanner in=new Scanner (System.in);
int a=in.nextInt();
int c[]=new int [a];
for (int i=0;i<a ;i++ ) {
c[i]=in.nextInt();
int cx=c[i];

int d[]=new int [cx];


for (int k=0;k<cx ;k++ ) {
int ax=k+1;
d[k]=c[i]%ax;
if (d[k]==0) {
System.out.println(" "+ax);
}

}
}
}
}

Desarrollador: Ulises Martnez Flores

Grupo 402

CeCyTem

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