Anda di halaman 1dari 18

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD DE INGENIERÍA ELECTRICA Y


ELECTRONICA

MA713N
PROGRAMACION DIGITAL

ALUMNO: DIEGO EDUARDO SAMANEZ TUCTO

CODIGO: 20171162J

PROFESOR: TRINI CASTILLO BELSUZARRI


PROBLEMA DE VARIAS CLASES
ARRAYLIST , ARREGLO DINAMICO
CODIGO CLASE LISTADENOMBRES

public class ListaNombres {

String NombreDeLaLista;

ArrayList<String> ArrayListListaDeNombres = new ArrayList<String>();

public ListaNombres(String nombre){

NombreDeLaLista = nombre ;

public void AddNombre( String _nombre){

ArrayListListaDeNombres.add(_nombre);

public String getNombre( int posicion){

if(posicion >= 0 && posicion < ArrayListListaDeNombres.size()){

return ArrayListListaDeNombres.get(posicion);

else return "No existe ningun nombre en esta posicion. ";

public int getTamaño(){

return ArrayListListaDeNombres.size();

public void RemoveNombre( int posicion ){

if(posicion >= 0 && posicion < ArrayListListaDeNombres.size()){


ArrayListListaDeNombres.remove(posicion);

}else{System.out.println("Posicion duera del limite.");}

CODIGO CLASE CLEER

public class Cleer {

String Nombre;

public Cleer(){

this.PedirEntrada();

Scanner sca= new Scanner(System.in);

public void PedirEntrada(){

Nombre=sca.nextLine();

public String GetNombre(){

return Nombre;

CODIGO CLASE TESTLISTA


public class TestLista {

public static void main(String[] args){

System.out.println ("Empezamos el programa");


System.out.println ("Por favor introduzca nombre 1:"); Cleer entrada1 = new Cleer();

System.out.println ("Por favor introduzca nombre 2:"); Cleer entrada2 = new Cleer();

System.out.println ("Por favor introduzca nombre 3:"); Cleer entrada3 = new Cleer();

System.out.println ("Gracias");

ListaNombres lista1 = new ListaNombres("Nombres introducidos por usuario");

lista1.AddNombre (entrada1.GetNombre() ); lista1.AddNombre (entrada2.GetNombre() );

lista1.AddNombre (entrada3.GetNombre() );

System.out.println ("La lista ha quedado formada por " + lista1.getTamaño() + " elementos");

System.out.println ("Elemento 1: " + lista1.getNombre(0) );

System.out.println ("Elemento 2: " + lista1.getNombre(1) );

System.out.println ("Elemento 3: " + lista1.getNombre(2) );

}
RESULTADO
run:

Empezamos el programa

Por favor introduzca nombre 1:

Leo

Por favor introduzca nombre 2:

Manuel

Por favor introduzca nombre 3:

Cynthia

Gracias

La lista ha quedado formada por 3 elementos

Elemento 1: Leo

Elemento 2: Manuel

Elemento 3: Cynthia

BUILD SUCCESSFUL (total time: 11 seconds)


SOLUCION EXAMEN PARCIAL
PROBLEMA 1
HALLAR RAICES DE UNA ECUACION CÚBICA , CON EL METODO NEWTON RHAPSON :
CODIGO:
package prob1;

import java.util.Scanner;

public class NewtonRhapson {

int a=2,b=-5,c=-4,d=3;// coeficientes del polinomio de grado 3

public double evaluar(double _x0){

double result;

result= a*Math.pow(_x0, 3)+b*Math.pow(_x0, 2)+c*_x0+d;

return result;

}
public double evaluard(double _x1){

double resultd;

resultd= 3*a*Math.pow(_x1, 2)+2*b*_x1+c;

return resultd;

static int repeticiones=0;

static double error=0.0001,x0;

public static void pedirDataRC(){

Scanner input = new Scanner(System.in);

System.out.println("Introduzca x0 : ");

x0 = input.nextDouble();

//System.out.println("Introduzca el numero de repeticiones : ");

//repeticiones = input.nextInt();

public static double NewtonRhapson(NewtonRhapson ob){

double x1=1,x0anterior=0;// para que al inicio el x1 entre al bucle , osea que sea mayor que x0,
solo un valor inicial cualquiera

int i=0;

while ( Math.abs(x1-x0anterior)>error ){ // f(x1) = f(x0+dx) ~= f(x0)+ f"(x0)dx

x1= x0 - (ob.evaluar(x0)/ob.evaluard(x0)); // supuestamente f(x1) = 0

x0anterior=x0;

x0=x1;

i++;

System.out.println(" x1 : "+x1+" x0: "+x0+" x0anterior: "+x0anterior);

repeticiones++;

error=Math.abs(x1-x0anterior);
return x1;

public static void main(String[] args){

double laraiz;

NewtonRhapson ecuacion= new NewtonRhapson();

NewtonRhapson.pedirDataRC();

laraiz = NewtonRhapson.NewtonRhapson(ecuacion);

System.out.println(" la raiz aproximada es : " + laraiz);

System.out.println("Las iteraciones fueron : " + repeticiones);

System.out.printf("El error es : " + error );

RESULTADO

run:

Introduzca x0 :

-0.6

la raiz aproximada es : -
1.000000000497047

Las iteraciones fueron : 5

El error es : 2.3285803621320156E-5

BUILD SUCCESSFUL (total time: 3 seconds)

PROBLEMA 2
GESTIONAR NOTAS DE LOS ALUMNOS DE UN CENTRO EDUCATIVO :

CODIGO:

package ddddd;

import java.util.Scanner;

public class alumnosgestion {

static void leernotas(int[][] ob){

Scanner sca= new Scanner(System.in);

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

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

System.out.println("Digite la nota del alumno "+ (i+1)+" en el trimestre " + (j+1));

ob[i][j]=sca.nextInt();
}

static void mportrimestre(int [][] ob){

int [] media = {0,0,0};

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

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

media[j]=media[j]+ob[i][j];

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

System.out.println("La media del grupo en el trimestre "+ (i+1)+ " es : "+ (media[i]/5));

static void mporpos(int [][] ob,int n){

int[] med = {0,0,0,0,0};

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

med[n-1]=med[n-1]+ob[n-1][j];

System.out.println("La media del alumno en la posicion " + n + " es : " + (med[n-1])/3);

}
public static void main(String[] args){

int[][] alumno = new int[5][3];

leernotas(alumno);

mportrimestre(alumno);

System.out.println("Digite la posicion del alumno del que quiere su media :");

Scanner sca = new Scanner(System.in);

int pos = sca.nextInt();

mporpos(alumno,pos);

RESULTADO:
run:

Digite la nota del alumno 1 en el trimestre 1

12

Digite la nota del alumno 1 en el trimestre 2

14

Digite la nota del alumno 1 en el trimestre 3

18

Digite la nota del alumno 2 en el trimestre 1

12

Digite la nota del alumno 2 en el trimestre 2

14

Digite la nota del alumno 2 en el trimestre 3

13

Digite la nota del alumno 3 en el trimestre 1

15

Digite la nota del alumno 3 en el trimestre 2

16
Digite la nota del alumno 3 en el trimestre 3

11

Digite la nota del alumno 4 en el trimestre 1

10

Digite la nota del alumno 4 en el trimestre 2

Digite la nota del alumno 4 en el trimestre 3

12

Digite la nota del alumno 5 en el trimestre 1

14

Digite la nota del alumno 5 en el trimestre 2

15

Digite la nota del alumno 5 en el trimestre 3

13

La media del grupo en el trimestre 1 es : 12

La media del grupo en el trimestre 2 es : 13

La media del grupo en el trimestre 3 es : 13

Digite la posicion del alumno del que quiere su media :

La media del alumno en la posicion 4 es : 10

BUILD SUCCESSFUL (total time: 21 seconds)


PROBLEMA 3
ELIMINAR UNA LETRA DE UNA ARREGLO Y RETORNAR EL MISMO ARREGLO CON LA LETRA OMITIDA;

CODIGO:

import java.util.Scanner;

public class EliminarLetra {

Scanner sca = new Scanner(System.in);

char[] arri;

int n;

public void n(){

System.out.println(" Digite la cantidad de terminos del arreglo inicial : ");

n=sca.nextInt();

arri= new char[n];

public void arrinicial(){

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

System.out.println("Digite el termino "+ (i+1)+ " : ");

arri[i]=sca.next().charAt(0);
}

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

System.out.print(arri[i]+"\t");

System.out.println();

public void deleteletra(){

int cont=0;

System.out.println("Digite la letra que quiere eliminar : ");

char a = sca.next().charAt(0);

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

if(arri[i]== a){

cont++;

for(int j=i;j<arri.length-1;j++){

arri[j]= arri[j+1];

for(int i=0;i<arri.length-cont;i++){

System.out.print(arri[i] + "\t");

public static void main(String[] args) {

EliminarLetra ob = new EliminarLetra();

ob.n();

ob.arrinicial();

ob.deleteletra();

}
RESULTADO:
run:

Digite la cantidad de terminos del arreglo inicial :

Digite el termino 1 :

Digite el termino 2 :

Digite el termino 3 :

Digite el termino 4 :

Digite el termino 5 :

Digite el termino 6 :

Digite el termino 7 :

Digite el termino 8 :

E G H F D A E O

Digite la letra que quiere eliminar :

G H F D A O BUILD SUCCESSFUL (total time: 30 seconds)

Anda mungkin juga menyukai