Está en la página 1de 10

1

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

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

}
2
CeGo.net.....Stone_c35....FIEE-UNI

//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;
3
CeGo.net.....Stone_c35....FIEE-UNI

//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;
4
CeGo.net.....Stone_c35....FIEE-UNI

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


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

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){
6
CeGo.net.....Stone_c35....FIEE-UNI

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;
7
CeGo.net.....Stone_c35....FIEE-UNI

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;}
8
CeGo.net.....Stone_c35....FIEE-UNI

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: ");


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

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 :

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
10
CeGo.net.....Stone_c35....FIEE-UNI

La matriz arreglada:

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

BUILD SUCCESSFUL (total time: 3 seconds)

También podría gustarte