Está en la página 1de 17

PRÁCTICA 3 PARA TODOS LOS PARALELOS

PROGRAMACION
Para los siguientes enunciados realizar diagrama de flujo y prueba de escritorio.

EJERCICIOS CON VECTORES

1. Llenar un vector con 5 números, obtener la suma de los 5 números.


package v01;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int i;
for(i=1;i<=5;i++) {
v[i] =w.nextInt();
}
int s=0;
for(i=1;i<=5;i++) {
s=s+v[i];
}
System.out.println("LA SUMA ES DE "+s);

2. Pedir el tamaño de un vector, llenar el vector por teclado, obtener el número mayor, el número
menor y el promedio de todos los números.
package v2;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i,s=0,may,men;
double p;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
for(i=1;i<=5;i++) {
v[i] =w.nextInt();
}
may=-9999;
men=9999;
for(i=1;i<=n;i++) {
s=s+v[i];
if (v[i]>=may) {
may=v[i];
}
if (v[i]<=men) {
men=v[i];
}
}
p=s/n;
System.out.println("el mayor es: "+may+", el menor es: "+men+" y el promedio
es: "+p);

3. Llenar un vector con N cantidad de números por teclado, indicar la cantidad de números primos
ingresados en el vector.
package v3;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i,j,c,s;
System.out.print("INTRODUZCA EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
for(i=1;i<=n;i++) {
//System.out.print("INGRESE UN VALOR");
v[i] =(int) (Math.random()*100);
//v[i] =w.nextInt();
}
c=0;
for(i=1;i<=n;i++) {
s=0;
for(j=1;j<=v[i];j++) {
if (v[i]%j==0) {
s=s+1;
}
}
if (s==2) {
System.out.println(v[i]+",");
c=c+1;
}
}
System.out.println();
System.out.println("SE TIENE "+c+" NÚMEROS PRIMOS");
}

4. Llenar un vector con N cantidad de números. Luego pedir un número el cual se busca dentro del
vector, indicar si existe o no el número buscado (mostrar un mensaje para esto), en el caso de
que exista se debe mostrar la posición donde se encuentra.
package v4;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i,s=0,x;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
for(i=1;i<=n;i++) {
System.out.print("Ingrese un valor:");
v[i] =w.nextInt();
}
System.out.println("INGRESE EL NUMERO A BUSCARSE:");
x =w.nextInt();
for(i=1;i<=n;i++) {
if (x==v[i]) {
System.out.println("Existe y esta en la posición "+i);
}
else {
s++;
}
}
if (s==n) {
System.out.println("El numero buscado no fue encontrado.");
}

5. Llenar dos vectores (A y B) con N cantidad de elementos y determine cuantos números de A se


encuentran en B
package v5;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int [] u=new int[100];
int n,i,s=0,x;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
for(i=1;i<=n;i++) {
System.out.print("Ingrese un valor para el vector A:");
u[i] =w.nextInt();
}
for(i=1;i<=n;i++) {
System.out.print("Ingrese un valor para el vector A:");
v[i] =w.nextInt();
}
for(i=1;i<=n;i++) {
for(int j=1;j<=n;j++)
if (u[i]==v[j]) {
s++;
}
}
System.out.println("Se encuentran "+s+" elementos.");
}

6. Llenar un vector con los números pares de la serie de Fibonacci.


package v6;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i=1,s=0,a=-1,b=1,c;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
do {
c=a+b;
a=b;
b=c;
if (c%2==0) {
v[i]=c;
i++;
}
} while (i<=n);
for(i=1;i<=n;i++) {
System.out.println(" "+v[i]);
}

7. Llenar un vector de tamaño N y ordenarlo usando el método de ordenación por intercambio


(burbuja). Ordenar de forma ascendente y luego de forma descendente.
package v7;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int [] u=new int[100];
int [] s=new int[100];
int n,i,j,x;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
for(i=1;i<=n;i++) {
System.out.print("Ingrese un valor:");
v[i] =w.nextInt();
}
for(i=1;i<=n;i++) {
for(j=1;j<=n;j++) {
if (v[j]>v[j+1]) {
x=v[j];
v[j]=v[j+1];
v[j+1]=x;
}
}
}
System.out.println("forma ascendente");
for(i=1;i<=n;i++) {
System.out.print(" "+v[i+1]);
}
for(i=1;i<=n;i++) {
for(j=1;j<=n;j++) {
if (v[j]<v[j+1]) {
x=v[j];
v[j]=v[j+1];
v[j+1]=x;
}
}
}
System.out.println();
System.out.println("forma descendente");
for(i=1;i<=n;i++) {
System.out.print(" "+v[i]);
}
}

8. Llenar dos vectores (A y B) de tamaño N, hallar la suma de sus elementos de las mismas
posiciones en un tercer vector y mostrar los elementos del nuevo vector.
package v8;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int [] u=new int[100];
int [] t=new int[100];
int n,i,s=0,x;
System.out.println("INGRESE EL TAMAÑO DE LOS VECTORES:");
n =w.nextInt();
System.out.print("Ingrese un valor para el vector A:");
for(i=1;i<=n;i++) {
u[i] =w.nextInt();
}
System.out.print("Ingrese un valor para el vector B:");
for(i=1;i<=n;i++) {
v[i] =w.nextInt();
}
System.out.println("la suma de vectores es igual a");
for(i=1;i<=n;i++) {
t[i] =v[i]+u[i];
System.out.print(" "+t[i]);
}

}
}

9. Pedir el tamaño de un vector y llenarlo con la serie 1, 4, 9, 16, 25,….. y mostrar el vector
package v9;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i,j,x=1,y=0;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
for(i=1;i<=n;i++) {
v[i] =x+y;
x=x+2;
y=v[i];
System.out.print(" "+v[i]);
}
}
}

10. Pedir un número entero y positivo y ordenar sus dígitos de manera descendente utilizando
vectores y mostrar el número ordenado. Primero se deberá llenar un vector con cada uno de los
dígitos del número ingresado, luego ordenar los elementos del vector y finalmente componer
nuevamente un número con los elementos del vector y mostrar el número con los dígitos
ordenados.
package v10;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i=1,j,x,s=0;
double y=0;
System.out.println("INTRODUZCA UN NUMERO:");
n =w.nextInt();
while (n!=0) {
v[i]=n%10;
n=n/10;
i++;
s++;
}
for(i=1;i<=s;i++) {
for(j=1;j<=s;j++) {
if (v[j]<v[j+1]) {
x=v[j];
v[j]=v[j+1];
v[j+1]=x;
}
}
}
for(i=1;i<=s;i++) {
System.out.print(" "+v[i]);
y=y+v[i]*(Math.pow(10,s-i));
}
System.out.println();
System.out.println("x="+y);
}
}

11. Pedir un numero entero y positivo que será el tamaño de dos vectores llenarlos por teclado y
calcular y mostrar la suma de los dos vectores de la siguiente forma

1 2 6 7 3 5

6 8 3 1 8 2

11 11 10 7 10 3
package v11;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int [] u=new int[100];
int [] t=new int[100];
int n,i,m,j;
System.out.println("INGRESE EL TAMAÑO DE LOS VECTORES:");
n =w.nextInt();
System.out.println("INGRESE VALORES PARA EL VECTOR A");
for(i=1;i<=n;i++) {
v[i] =w.nextInt();
}
System.out.println("INGRESE VALORES PARA EL VECTOR B");
for(i=1;i<=n;i++) {
u[i] =w.nextInt();
}
m=n;
System.out.println();
for(i=1;i<=n;i++) {
t[i] =v[m]+u[i];
m=m-1;
System.out.print(" "+t[i]);
}

12. Llenar un vector con los factoriales de los primeros “N” números enteros positivos.
package v12;
import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i,j,s=0,f;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
for(i=1;i<=n;i++) {
s=s+2;
f=1;
for(j=1;j<=s;j++) {
f=f*j;
}
v[i]=f;
System.out.print(" "+v[i]);
}
}
}

13. Llenar un vector con “N” cantidad de números enteros positivos y mostrar el elemento
cuya suma de sus dígitos sea el valor más grande.
package v13;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i,j = 0,x,s,a,m = 0 ,may=-666;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
i=1;
do {
System.out.println("ingrese un numero positivo:");
x =w.nextInt();
if (x%2==0) {
v[i]=x;
i++;
}
} while (i<=n);
for(i=1;i<=n;i++) {
x=v[i];
s=0;
while (x!=0) {
a=x%10;
x=x/10;
s=s+a;
}
if (s>may) {
may=s;
m=v[i];
j=i;
}
}
System.out.println("Elemento cuya suma de digitos es el mayor es
v["+j+"]="+m);
}

14. Pedir los nombres y teléfonos de “N” cantidad de personas y guardar esos datos en dos
vectores (uno para los nombres y otro para los teléfonos). Luego se desea mostrar el teléfono
de una de-terminada persona, para esto pedir el nombre de la persona y mostrar su teléfono.
package v14;

import java.util.Scanner;

public class main {

public static void main(String[] args) {


Scanner w = new Scanner(System.in);
Scanner teclado = new Scanner(System.in);
int[] v=new int[100];
String[] u=new String[100];
String x;
int n,i,m,j,s=0;
System.out.println("INGRESE EL TAMAÑO DE LOS VECTORES:");
n =w.nextInt();

for(i=1;i<=n;i++) {
System.out.print("INTRODUZCA NOMBRE");
u[i] =teclado.next();
System.out.print(" NUMERO DE TELÉFONO");
v[i] =w.nextInt();
System.out.println();
}
i=1;
do {
System.out.println("BUSCAR NOMBRE:");
x=teclado.next();
if (x==u[i]) {
System.out.println("SU NUMERO DE TELEFONO ES:"+v[i]);
s++;
}
} while (s==0);
System.out.println("INGRESE VALORES PARA EL VECTOR B");

15. Diseñar un algoritmo que pida “N” cantidad de números enteros positivos y debe almacenar
en un vector solo los números primos ingresados.

package v15;

import java.util.Scanner;

public class main {


public static void main(String[] args) {
Scanner w = new Scanner(System.in);
int [] v=new int[100];
int n,i,j=1,x,s,c,m = 0 ,may=-666;
System.out.println("INGRESE EL TAMAÑO DEL VECTOR:");
n =w.nextInt();
do {
System.out.println("Ingrese un valor entero positivo y primo");
x =w.nextInt();
if (x>0) {
c=0;
for(i=1;i<=x;i++) {
if (x%i==0) {
c++;
}
}
if (c==2) {
v[j]=x;
j++;
}
}
} while (j<=n);
for(i=1;i<=n;i++) {
System.out.print(" "+v[i]);
}

}
16. Diseñar un algoritmo que pida los nombres y edades de “N” cantidad de personas. Luego debe
mostrar los nombres de las personas ordenadas de acuerdo a sus edades, desde el menor hasta
la persona mayor del grupo.
17. Diseñar un algoritmo que pida los nombres y teléfonos de “N” cantidad de personas. Debe lle-
nar en un vector los nombres de las personas que viven en la zona sur de la ciudad y en otro
vector los que no viven en la zona sur. Los teléfonos de la zona sur de la ciudad empiezan por
el prefijo 27, por ejemplo 2720084. Todos los teléfonos tienen 7 dígitos, si se introduce un
núme-ro con una cantidad de dígitos diferente, se debe mostrar la palabra “Error”.
18. Diseñar un algoritmo que pida las edades y nombres de personas, se debe dejar de pedir datos
cuando se introduzca una edad negativa. Mostrar los nombres de las tres personas mas altas.

EJERCICIOS CON MATRICES

19. Ingrese 6 números en un arreglo de dos dimensiones (matriz) de 3x2 y obtenga la suma de los
números ingresados.
20. Pedir el tamaño de una matriz NO cuadrada (número de filas y número de columnas), llenar la
matriz por teclado y mostrar el promedio de los números ingresados.
21. Almacene en una matriz de 3x2, 6 números y obtenga la cantidad de pares e impares.
22. Ingrese 12 números en un arreglo bidimensional (Matriz) de 4x3, y obtenga la suma de cada
columna.
23. Pedir el tamaño de una matriz no cuadrada (número de filas y número de columnas), llenar la
matriz por teclado, obtener la suma de cada fila y almacenar los resultados en un vector.
24. Llenar una matriz de NxN (pedir el valor de N) con los números naturales (empezando por el
1) como la matriz viborita de la siguiente forma
Ejemplo para una matriz 4x4:
1 2 3 4
1 1 8 9 16
2 2 7 10 15
3 3 6 11 14
4 4 5 12 13

25. Pedir el tamaño de una matriz no cuadrada (número de filas y número de columnas), llenar la
matriz por teclado, obtener la suma de cada columna y almacenar los resultados en un vector.
26. Dada la matriz A de 4x4, la matriz B de 4x4, obtenga la suma de dichas matrices.
27. Pedir el tamaño de una matriz cuadrada, llenarla por teclado, hallar su traspuesta en otra
matriz y mostrar.
1 2 3 4 1 2 3
1 3 5 7 6 1 3 4 6
2 4 6 8 2 su traspuesta 2 5 6 7
3 6 7 7 9 3 7 8 7
4 6 2 9

28. Sean A, B, C matrices cuadradas NxN. Llenar por teclado las matrices A y B. Hallar C de
acuerdo a la siguiente ecuación, donde P es una variable simple que el usuario deberá ingresar
su valor.
C= A+P BT
B
Luego mostrar los elementos de la matriz C. (Nota: T es la traspuesta de la matriz B).
29. Llenar una matriz cuadrada (pedir el valor de N, que sea igual o mayor a cinco) llenarlo como
la matriz “Z” (de la siguiente forma y mostrarlo.
Ejemplo para una matriz 5x5:
1 2 3 4 5
1 1 1 1 1 1
2 0 0 0 1 0
3 0 0 1 0 0
4 0 1 0 0 0
5 1 1 1 1 1
30. Llenar una matriz de NxN (pedir el valor de N) con los números naturales (empezando por el
1) como la matriz viborita de la siguiente forma
Ejemplo para una matriz 4x4:
1 2 3 4
1 13 14 15 16
2 12 11 10 9
3 5 6 7 8
4 4 3 2 1

31. Llenar una matriz cuadrada (pedir el valor de N) llenarlo como la matriz reloj de arena de la
siguiente forma y mostrarlo
Ejemplo para una matriz 5x5:
1 2 3 4 5
1 1 1 1 1 1
2 0 1 1 1 0
3 0 0 1 0 0
4 0 1 1 1 0
5 1 1 1 1 1

package m31;

import java.util.Scanner;

public class main {

public static void mostrar_matriz(int tam, int matriz[][]) {


for(int f=1;f<=tam;f++) {
for(int c=1;c<=tam;c++) {
System.out.print(matriz[f][c]+"\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int [][] M = new int [10][10];
int n = 0 ,m, f ,c,s,k;
Scanner w = new Scanner(System.in);
//System.out.print("Introduzca el número de filas y columnas de una matriz cuadrada");
//n =w.nextInt();
System.out.print("Introduzca el número de filasy columnas de una matriz cuadrada");
while (n<5) {
n =w.nextInt();
}
s=n;
k=1;
for(f=1;f<=n;f++) {
if (f==1 || f==n) {
for(c=1;c<=n;c++) {
M[f][c]=1;
}
}
else {
s--;
k++;
if (s>(n/2) ) {
for(c=k;c<=s;c++) {
M[f][c]=1;
}
}
else {
for(c=s;c<=k;c++) {
M[f][c]=1;
}
}
}
}

mostrar_matriz(n,M);
}

32. Llenar una matriz no cuadrada por teclado. Luego se pide un número por teclado el cual se debe
buscar dentro de la matriz, determinar si existe o no el número buscado (mostrar un mensaje
para esto) y la posición donde se encuentra (tomar en cuenta que la posición del número está
dada por dos variables, una que indica la fila y otra la columna donde se encuentra).

package m32;

import java.util.Scanner;

public class main {


public static int [][] generar_matriz(int tamf,int tamc){
int [][] aux = new int [10][10];
for(int f=1;f<=tamf;f++) {
for(int c=1;c<=tamc;c++) {
aux[f][c]=(int)(Math.random()*10);
}
}
return aux;
}
public static void mostrar_matriz(int tamf,int tamc, int matriz[][]) {
for(int f=1;f<=tamf;f++) {
for(int c=1;c<=tamc;c++) {
System.out.print(matriz[f][c]+"\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int [][] M = new int [10][10];
int [] v=new int[100];
int n ,m, f ,c,s = 0,k;
double p;
Scanner w = new Scanner(System.in);
System.out.print("Introduzca el número de filas");
n =w.nextInt();
System.out.print("Introduzca el número de columnas");
m =w.nextInt();
M=generar_matriz(n,m);
mostrar_matriz(n,m,M);
System.out.println("Ingrese el numero que desea encontrar en la matriz");
k =w.nextInt();
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
if (k==M[f][c]) {
System.out.println("existe el numero buscado y se encuentra en la
posicion:");
System.out.println("fila: "+f+" y columna: "+c);
}
else {
s++;
}
}
}
if (s==(n*m)) {
System.out.println("no existe el número buscado");
}
}

}
33. Llenar una matriz cuadrada (pedir el valor de N) llenarlo como la matriz ajedrez de la siguiente
forma y mostrarlo
Ejemplo para una matriz 4x4:
1 2 3 4
1 1 0 1 0
2 0 1 0 1
3 1 0 1 0
4 0 1 0 1

package m33;

import java.util.Scanner;

public class main {

public static void mostrar_matriz(int tam, int matriz[][]) {


for(int f=1;f<=tam;f++) {
for(int c=1;c<=tam;c++) {
System.out.print(matriz[f][c]+"\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int [][] M = new int [10][10];
int n = 0 ,f ,c,k;
Scanner w = new Scanner(System.in);
System.out.print("Introduzca el número de filas y columnas de una matriz cuadrada");
n =w.nextInt();
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
if ((f+c)%2==0) {
M[f][c]=1;
}
}
}
mostrar_matriz(n,M);

}
34. Llenar por teclado dos matrices cuadrada (pedir el valor de N) calcular la suma de las
diferentes posiciones de las matrices y mostrar la suma
Ejemplo para una matriz 2x2:
3 5 6 5 9 10
+ =
2 1 2 7 4 8
35. Dada una matriz X de n filas y m columnas, elabore un algoritmo que:
a) Calcule el mayor valor de la matriz
b) Determine las posiciones (fila y columna) cuyos valores sean iguales al mayor.
c) Modifique la matriz de tal manera que cada elemento de la matriz sea multiplicado por el
ma-yor valor.
d) Escriba la matriz original y la modificada.

36. Cada alumno de un curso tiene notas correspondientes a cuatro asignaturas diferentes,
pudiendo no tener calificación (para este caso se asume una calificación de 0) en alguna
asignatura. Ela-bore un algoritmo que permita:
a) Calcular el promedio de las calificaciones de cada alumno.
b) Calcular el promedio general de cada asignatura
c) Porcentaje de estudiantes que no asisten a cada asignatura (calificaciones igual a 0)
37. Un deportista cumple durante un año con un conjunto de actividades. El mismo desea poder
lle-var un registro de las puntuaciones obtenidas cada mes del año en cada una de las
actividades que debe ejecutar. Para ello se le ha ocurrido almacenar esto en una matriz donde
las filas repre-sentan los meses del año, y las columnas las actividades. De esta forma una
posición (i,j) de la matriz indica una puntuación obtenida dada una actividad y un mes
particular. Se desea que us-ted le proporcione un pequeño algoritmo con el cual pueda ejecutar
fácilmente las siguientes operaciones:
a) Cargar todos los datos de todas las actividades realizadas durante de un año.
b) Obtener los promedios del deportista por cada actividad al final del año, el cual es el
resulta-do de sumar cada una de las puntuaciones correspondientes para todos los meses y
dividir cada resultado entre doce.
c) Dado un mes en particular, determinar en cual actividad el deportista obtuvo mayor
puntua-ción.
d) Determinar el mes del año en el que el deportista obtuvo el menor promedio de puntuaciones.
38. Dada una matriz elabore un algoritmo que determine:
• El elemento mayor.
• El elemento menor.
• Cantidad de elementos positivos y negativos
• El promedio de todos los elementos
39. Escribir un programa que lea una matriz de 3 filas y 3 columnas de valores enteros. A
continua-ción, el programa debe pedir el número de una fila. El programa deberá devolver el
máximo de esa fila.
40. Diseñar un algoritmo para llenar una matriz no cuadrada (cantidad de filas distinta a la
cantidad de columnas), luego debe intercambiar la primera fila con la última. Mostrar la
matriz resultan-te.
41. Una empresa necesita registrar los precios de los productos de la canasta familiar de cada tri-
mestre del año. Diseñar un algoritmo que almacene los precios de los productos en una
matriz, el nombre del producto en un vector y encuentre el precio máximo registrado de cada
producto y se guarde en otro vector. Se debe mostrar los precios máximos almacenados en el
vector y el nombre de cada producto.
42. Un profesor toma 5 evaluaciones en un curso de “N” estudiantes. Diseñar un algoritmo
que calcule el promedio de las mejores 3 notas de cada estudiante y lo almacene en un
vector. Se debe mostrar los elementos del vector que contiene los promedios.

También podría gustarte