Actividad Unidad 2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

Universidad de Cartagena abierta y a distancia

Actividad de aprendizaje II

Estructura de Datos

Bivian Robles

14/12/2020
Realizar los siguientes ejercicios utilizando como lenguaje JAVA:

1. Utilizando un arrays, escribir un programa que


visualice un cuadro mágico de orden impar n,
comprendido entre 3 y 11. El usuario debe elegir el
valor de n.
“Un cuadrado mágico se compone de números enteros
comprendidos entre 1 y n. La suma de los números
que figuran en cada fila, columna y diagonal son
iguales”.
Ejemplo:
8 1 6
3 5 7
4 9 2

Un método de generación consiste en situar el número


1 en el centro de la primera fila, el número siguiente en
la casilla situada por encima y a la derecha de la
última es la primera. En el caso de que el número
generado caiga en una casilla ocupada, se elige la
casilla que se encuentre debajo del número que acaba
de ser situado.

R//

package estructura_of_datos;

public class CuadroMagico {

int NIVEL=5;

int arreglo[][];

public CuadroMagico () {
arreglo = new int [NIVEL][NIVEL];
generar();

public void generar () {


int mitad = NIVEL/2;
int ubicacionC = mitad;
int ubicacionF = 0;

arreglo[ubicacionF] [ubicacionC] =1;

int ubicacionFActual = ubicacionF;


int ubicacionCActual = ubicacionC;

for (int i=2; i<=(Math.pow(arreglo.length,2)); i++){

ubicacionF--;
ubicacionC--;

if (ubicacionF<0) {

ubicacionF = arreglo.length-1;
}

if(ubicacionC<0) {
ubicacionC = arreglo.length-1;
}

if (arreglo[ubicacionF][ubicacionC]==0) {

arreglo[ubicacionF][ubicacionC]=i;
}else {

ubicacionF = ubicacionFActual+1;
ubicacionC = ubicacionCActual;
arreglo[ubicacionF][ubicacionC]=i;
}

ubicacionFActual = ubicacionF;
ubicacionCActual = ubicacionC;

mostrarArreglo();

public void mostrarArreglo () {


for(int i=0;i<arreglo.length;i++) {
for(int j=0; j<arreglo.length;j++) {
System.out.print(arreglo[i][j]+"\t");
}
System.out.println();
}

}
public static void main (String... args) {

new CuadroMagico();

2. Se dispone de N temperaturas almacenadas en un array. Se


desea calcular su media y obtener el número de temperaturas
mayores o iguales que la media.

R//

package estructura_of_datos;
import java.util.*;
public class nTemperaturas {

public static void main(String[] args) {


// TODO Auto-generated method stub

int suma=0;

int TemperaturaMayor=0;

int TemperaturaMenor = 0;

int media = 0;

System.out.println("Introduce N temperaturas para almacenarlas en


un array");

int n=new Scanner (System.in).nextInt();

int [] Temperaturas=new int [n];

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

System.out.println("Introduce la temperatuira para la


pocision "+i);

Temperaturas [i]=new Scanner (System.in).nextInt();

suma=suma+Temperaturas[i];

media=suma/n;
}

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

if (Temperaturas[i]>media) {

TemperaturaMayor=Temperaturas[i];

System.out.println(" numero de temperatura mayores a la media: "+


i+ ": "+ TemperaturaMayor);

}else {

if (Temperaturas[i]==media) {
TemperaturaMenor=Temperaturas[i];
System.out.println(" numero de temperatura iguales a la
media son: "+i+ ": "+ TemperaturaMenor);
}
}
}

System.out.println(" La media es: "+suma/n);

3. Leer una matriz de 3 por 3 elementos y calcular la suma de cada


una de sus filas y columnas, dejando dichos resultados en dos
vectores, uno de la suma de las filas y otro de las columnas.

R//

package estructura_of_datos;

import java.util.*;

public class CalcularFilasColumnas {

public static void main (String []args) {

int sumf[]=new int [3];

int sumc[]=new int [3];

int Matriz [][]=new int[3][3];

Scanner m=new Scanner (System.in);


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

for (int y=0; y < Matriz[x].length; y++) {

System.out.println("Introduce el numero en: "+ x+", "+ y + "]


");

Matriz [x][y]= m.nextInt();


}

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

System.out.println(" ");
for (int y=0; y < Matriz[x].length; y++) {
System.out.print ("[" + x + "," + y + "] = " + Matriz[x][y]);
}
}

System.out.println( " ");

//SUMA FILAS
for (int i = 0; i < Matriz.length; i++) {

for (int j = 0; j < Matriz[i].length; j++) {


sumf[j]=sumf[j]+Matriz[i][j];
}

for(int filas:sumf) {
System.out.println("La suma de los valores de la fila "+(" ")+"
es: "+filas);
}

//SUMA COLUMNAS
for (int i = 0; i < Matriz[0].length; i++) {

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


sumc[i]=sumc[i]+Matriz[j][i];
}

for(int columnas:sumc) {
System.out.println("La suma de los valores de la columna "+
(" ")+" es: "+columnas);
}
}

4. Leer las notas de 15 estudiantes en un arreglo y ordenarlo con


el fin imprimirlo de forma Descendente

R//

package estructura_of_datos;

import java.util.*;

public class OrdenarFormaDescendenteArray {

public static void main(String[] args) {


// TODO Auto-generated method stub

double notas[]=new double [15];

int i,j;
double aux;

for ( i=0;i<=14;i++) {

System.out.println("Nota del estudiante : "+i);

notas[i]= new Scanner (System.in).nextDouble();

}
System.out.println();

for (i=0;i<15;i++) {

for (j=i+1;j<15;j++) {

if (notas[i]<notas[j]) {
aux=notas[i];
notas[i]=notas[j];
notas[j]=aux;

}
}
}

System.out.print(" notas en forma Descendente: ");

for(i=0;i<15;i++) {

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

5. Se tiene un vector que va a contener como elementos, donde


cada elemento es un registro: Código del Vendedor, Nombre,
Salario básico, Valor Venta, salario neto de 10 empleados. Se
debe imprimir por cada empleado: • Código del vendedor •
Comisión. La comisión se calcula así:

• Si Valor Venta oscila entre 250 y 300 la Comisión = 20% Valor


Venta

• Si Valor Venta oscila entre 301 y 450 la Comisión = 25% Valor


Venta
• Si Valor Venta >450 la Comisión = 30% Salario Básico Se debe
imprimir al final de todo el proceso:

• Total pagado en comisión por cada rango

• Total pagado en neto.

R//

package estructura_of_datos;

import java.util.*;

public class VectorEmpleados {

public static void main(String[] args) {


// TODO Auto-generated method stub

int totalcomisionA = 0;

int totalcomisionB=0;

int totalcomisionC=0;

int ValorV[]=new int[10];

int SalarioN[]=new int[10];

int comision[]=new int [10];

int salarioB=1000;

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


//Si Valor Venta oscila entre 250 y 300 la Comisión = 20%
Valor Venta

System.out.println("Introduce el precio de la venta "+i);

ValorV[i]=new Scanner (System.in).nextInt();

if (ValorV[i]>250 && ValorV[i]<300) { //CALCULAR LA COMISION

comision[i]=(20*ValorV[i])/100;
SalarioN[i]+=comision[i];

totalcomisionA =+ comision[i];

if (ValorV[i]>301 && ValorV[i]<450) {

comision[i]=(25*ValorV[i])/100; //CALCULAR LA
COMISION
SalarioN[i]+=comision[i];

totalcomisionB =+ comision[i];
}

if (ValorV[i]>450) {

comision[i]=(30*ValorV[i])/100; //CALCULAR LA
COMISION
SalarioN[i]+=comision[i];

totalcomisionC =+ comision[i];
}

Empleados []empleado=new Empleados [10];

empleado[0]=new Empleados("empleado1",salarioB,ValorV[0],SalarioN[0],1);

empleado[1]=new Empleados(" empleado2


",salarioB,ValorV[1],SalarioN[1],2);

empleado[2]=new Empleados("empleado3",salarioB,ValorV[2],SalarioN[2],3);

empleado[3]=new Empleados("empleado4",salarioB,ValorV[3],SalarioN[3],4);

empleado[4]=new Empleados("empleado5",salarioB,ValorV[4],SalarioN[4],5);

empleado[5]=new Empleados("empleado6",salarioB,ValorV[5],SalarioN[5],6);

empleado[6]=new Empleados("empleado7",salarioB,ValorV[6],SalarioN[6],7);
empleado[7]=new Empleados("empleado8",salarioB,ValorV[7],SalarioN[7],8);

empleado[8]=new Empleados("empleado9",salarioB,ValorV[8],SalarioN[8],9);

empleado[9]=new
Empleados("empleado10",salarioB,ValorV[9],SalarioN[9],10);

for (Empleados e:empleado) {


System.out.println(e.devuelveDatos());
}

for (int i=0;i<10;i++) { // COMISIONES

System.out.println("Total pagado en comisiones es "+ comision[i]+ "


Al empledo "+i);
}

System.out.println("////////////////////////");

System.out.println(" Total pagado en comision en el rango entre 250 y 300


es: "+totalcomisionA);

System.out.println(" Total pagado en comision en el rango entre 301 y 450


es: "+totalcomisionB);

System.out.println(" Total pagado en comision en el rango entre >450 es:


"+totalcomisionC);

for (Empleados e:empleado) {


System.out.println(e.salarioNeto()); //SALARIO NETO
}

class Empleados {

String Nombre;

int Salariobasico;

double ValorVenta;
int Salarioneto;

private int id;

public Empleados ( String nom, int Salariob, double ValorV, int


salarioN,int id ){

Nombre=nom;

Salariobasico=Salariob;

ValorVenta=ValorV;

Salarioneto=salarioN;

this.id=id;

public String devuelveDatos() {

return "El codigo del empleado es: "+id +"-- El nombre es:
"+Nombre+" --El salario basico es: "+Salariobasico+ " \n"

+" -- El valor de la venta es: " +ValorVenta;

public String salarioNeto () {

int Total=Salarioneto+Salariobasico;
return " El total pagado en Neto es: "+ Total + " Al empleado "+
Nombre;
}

También podría gustarte