problemas java arreglos y instrucciones de control-uni-fiee

10
CeGo.net.....Stone_c35....FIEE-UNI 1 PROBLEMAS DE JAVA EN NETBEANS-ARREGLOS Y INSTRUCCIONES DE CONTROL. UNIVERSIDAD NACIONAL DE INGENIERIA EXAMEN PARCIAL 2010-II PROGRAMACION DIGITAL Problema1: Calcule la expresión de la serie de Taylor del seno para N términos y x grados sexagesimales. (N términos) package javaapplication25; import java.util.Scanner; public class Problema1 { int N;int grados1; //metodo lectura: solo lee las dimensiones de los arreglos void lectura(int NN,int grados11){ NN=N;grados11=grados1; Scanner ob=new Scanner(System.in); System.out.println("Escriba el numero de terminos:"); //llama por el teclado N=ob.nextInt(); System.out.println("Escriba el anuglo a evlauar:"); grados1=ob.nextInt(); //llama por el teclado a grados1 }

Upload: stonec35

Post on 24-Jun-2015

711 views

Category:

Documents


2 download

DESCRIPTION

problemas de nivel moderado resueltos con metodos simples de entender

TRANSCRIPT

Page 1: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

1

PROBLEMAS DE JAVA EN NETBEANS-ARREGLOS Y INSTRUCCIONES DE

CONTROL.

UNIVERSIDAD NACIONAL DE INGENIERIA

EXAMEN PARCIAL 2010-II

PROGRAMACION DIGITAL

Problema1:

Calcule la expresión de la serie de Taylor del seno para N términos y x

grados sexagesimales.

(N términos)

package javaapplication25;

import java.util.Scanner;

public class Problema1 {

int N;int grados1;

//metodo lectura: solo lee las dimensiones de los arreglos

void lectura(int NN,int grados11){

NN=N;grados11=grados1;

Scanner ob=new Scanner(System.in);

System.out.println("Escriba el numero de terminos:");

//llama por el teclado

N=ob.nextInt();

System.out.println("Escriba el anuglo a evlauar:");

grados1=ob.nextInt();

//llama por el teclado a grados1

}

Page 2: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

2

//metodo funcion:evalua la serie

void funcion(int NN,int grados11){

//igualo parametro locales con los de clase

NN=N;grados11=grados1;

double grados2;

//tranformo grados1 a radianes

grados2=(grados1*Math.PI)/180;

double sumaseno=0;

//for me dara la suma de terminos(sumaseno)

for(int i=1;i<=N;i++){

//falta hhallar el factorial

double fac;

double producto=1;

//for para el factorial

for(int j=1;j<=2*i-1;j++ ){

producto=producto*j;}

//fin for factorial

//funcion de un factor de la serie

fac=(Math.pow(-1,i+1)*Math.pow(grados2,(2*i)-1))/producto;

//sumador de cada factor(fac)

sumaseno=sumaseno+fac;

Page 3: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

3

}

//impresion

System.out.println("sen("+grados1+")= "+sumaseno);

}

public static void main(String[] args) {

//creo una prueba

Problema1 obj=new Problema1();

//inicializo valores de prueba

int n=0;int grados=0;

//llamo alos metodos

obj.lectura(n, grados);

obj.funcion(n, grados); }}

run:

Escriba el numero de terminos:

6

Escriba el anuglo a evlauar:

30

sen(30)= 0.4999999999999643

BUILD SUCCESSFUL (total time: 3 seconds)

Problema 2:

Codifique un programa que cargue dos arreglos unidimensionales de n y

m elementos ,con valores aleatorios enteros en el rango de 10 y 100 y

con ellos genere un tercer arreglo el cual está formado por los elementos

pares tomados de izquierda a derecha y los elementos impares tomados

del otro arreglo de derecha a izquierda .

package javaapplication27;

Page 4: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

4

import java.util.Scanner;

public class Problema2 {

public static void main(String[] args) {

//lectura de las dimensiones arreglos

Scanner ob=new Scanner(System.in);

System.out.println("Escriba la dimension primer arreglo:");

int n=ob.nextInt();

System.out.println("Escriba dimension segundo arreglo:");

int m=ob.nextInt();

//fin lectura dimensiones

int contparn=0;

int contimparm=0;

//creo de nueva matriz n

int arreglon[]=new int[n];

System.out.println("Primer arreglo");

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

arreglon[i]=(int)(Math.random()*90+10);

//cuento los multiplos de 2(pares)de la matriz n

if(arreglon[i]%2==0){

contparn=contparn+1;}

//imprimo matriz valores aleatorios

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

System.out.println();

//creo nueva matriz m

int arreglom[]=new int[m];

System.out.println("Segundo arreglo");

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

arreglom[i]=(int)(Math.random()*90+10);

//cuento los impares de la matriz m

if(arreglom[i]%2==1){

contimparm=contimparm+1;}

//imprimo valores aleatorios

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

System.out.println();

//creando matriz de factores pares e impares

//creo arreglo con los valores pares

Page 5: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

5

System.out.println();

int matrizpar[]=new int[contparn];

System.out.print("numero elemntos pares :"+contparn);

System.out.println();

//inserto los valores pares a la matriz par

int contadorpar=0;

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

if(arreglon[i]%2==0){

matrizpar[contadorpar]=arreglon[i];

System.out.print(" "+matrizpar[contadorpar]);

contadorpar=contadorpar+1; }

} System.out.println();

//creo arreglo con valores impares

int matrizimpar[]=new int[contimparm];

System.out.print("numero elemntos impares :"+contimparm);

System.out.println();

//inserto valores impares de la matriz m

int contadorimpar=0;

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

if(arreglom[i]%2==1){

matrizimpar[contadorimpar]=arreglom[i];

System.out.print(" "+matrizimpar[contadorimpar]);

contadorimpar=contadorimpar+1; }

} System.out.println();

//cambio de izquierdz<a a derecha

int matrizimparinv[]=new int[contadorimpar];

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

matrizimparinv[i]=matrizimpar[matrizimpar.length-i-1];

} System.out.println();

//su busca cunatos facores tomo d cada arreglo

int contador=Math.min(contadorimpar, contadorpar);

//creo arreglo para el resultado final

int arreglo3[]=new int[2*contador];

System.out.println("La matriz arreglada es:");

//intercalo valores pares e impares

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

if(i==0){

Page 6: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

6

arreglo3[i]=matrizpar[i];}

if(i%2==1){

arreglo3[i]=matrizimparinv[(int)(0.5*(i-1))];}

if(i%2==0){

arreglo3[i]=matrizpar[(int)(0.5*(i))];}

//impresion

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

System.out.println();

//fin

}}

run:

Escriba la dimension primer arreglo:

8

Escriba dimension segundo arreglo:

9

Primer arreglo

41 38 37 15 58 49 43 32

Segundo arreglo

23 95 26 11 54 58 76 13 32

numero elemntos pares :3

38 58 32

numero elemntos impares :4

23 95 11 13

Problema 3

El arreglo A esta cargado de N numeros enteros aleatorios , determinar

el pivot como el valor de la semi-suma del primer y ultimo

elemento(valor medio), formar dos grupos o subarreglos en el mismo

arreglo A ,al izquierda menores que el pivot y al a derecha mayores que

el pivot.

package javaapplication28;

import java.util.Scanner;

Page 7: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

7

public class Problema3 {

public static void main(String[] args) {

//le la dimension del arreglo

Scanner ob=new Scanner(System.in);

System.out.println("ingrese N :");

int N=ob.nextInt();

//creo arreglo de dim. N

int A[]=new int[N];

System.out.println("La matriz aleatoria es:");

//arreglo con valoes aleatorios

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

A[i]=(int)(Math.random()*49+1);

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

//busc el pivot

System.out.println();

double pivot=0.5*(A[0]+A[A.length-1]);

System.out.println("Pivot: "+pivot);

int contmenor=0;

int contmayor=0;

//cuent lo mayores y menores ue el pivot

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

if(A[i]<pivot){

contmenor=contmenor+1;}

Page 8: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

8

if(A[i]>=pivot){

contmayor=contmayor+1;}}

//creo arreglo de mayoresy menores que el pivot

int submenor[]=new int[contmenor];

int submayor[]=new int[contmayor];

//inserto los menores al arreglo

System.out.println("menores: "+contmenor);

int contme=0;

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

if(A[i]<pivot){

submenor[contme]=A[i];

System.out.print(" "+submenor[contme]);

contme=contme+1;}}

System.out.println();

//inserto mayores al arreglo

System.out.println("mayores: "+contmayor);

int contma=0;

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

if(A[i]>=pivot){

submayor[contma]=A[i];

System.out.print(" "+submayor[contma]);

contma=contma+1;}}

System.out.println();

System.out.println("La matriz arreglada: ");

Page 9: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

9

int contadoralfa=0;

int contadorbeta=0;

//creo matriz resultado

int matrix[]=new int[N];

//uno pares e impres

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

//contmenor a la izquierda

if(i<contmenor){

matrix[i]=submenor[contadorbeta];

contadorbeta=contadorbeta+1;}

//cont mayor a la derecha

if(i>=contmenor){

matrix[i]=submayor[contadoralfa];

contadoralfa=contadoralfa+1;}

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

System.out.println(); }}

run:

ingrese N :

8

La matriz aleatoria es:

[22] [31] [29] [23] [43] [8] [5] [11]

Pivot: 16.5

menores: 3

8 5 11

mayores: 5

22 31 29 23 43

Page 10: Problemas Java Arreglos y Instrucciones de Control-uni-fiee

CeGo.net.....Stone_c35....FIEE-UNI

10

La matriz arreglada:

[8] [5] [11] [22] [31] [29] [23] [43]

BUILD SUCCESSFUL (total time: 3 seconds)