Subido por brayan alvarado

Practicas en el de Aula de Fundamentos de Programacion (1)

Anuncio
1.- El clásico Hola Mundo
public class HolaMundo {
public static void main(String[] args) {
System.out.println("Hola Mundo ");
}
}
2.- Elaborar un programa que realice operaciones aritméticas utlizando métodos diferentes
para sumar, restar, multiplicar, dividir y residuo.
import java.util.Scanner;
class OperacionesAritmeticas{
int a,b;
public static void main(String[] Arg){
//declaracion de variables
int a,b;
Scanner teclado = new Scanner (System.in);
System.out.print("Proporciona Valor de operadpr 1: ");
a = teclado.nextInt();
System.out.print("\nProporciona Valor de operador 2: ");
b = teclado.nextInt();
//Sumatorio sr = new Sumatorio();
//System.out.println("Sumatorio "+sr.sumar());
int resultado=resta(a,b);
System.out.println("a = "+a);
System.out.println("Resta ="+resultado);
resultado=suma(a,b);
System.out.println("Suma = "+resultado);
resultado = multiplica(a,b);
System.out.println("Multiplica = "+resultado);
double resultado2 = dividir(a,b);
System.out.println("Divisioo = "+resultado2);
resultado = residuo(a,b);
System.out.println("Residuo = "+resultado);
}
public static int suma(int i,int j){
return i+j;
}
public static int resta(int a,int b){
return a-b;
}
public static int multiplica(int x, int y){
return x*y;
}
public static double dividir(int a,int b){
return (double)(a)/(double)(b);
}
public static int residuo(int a, int b){
return a % b;
}
}
3.- Se desea calcular la distancia recorrida (m) por un automóvil que tiene velocidad constante
(m/s) durante un tiempo t (s), considerar que es un Movimiento Rectilíneo Uniforme.
import java.util.Scanner;
public class Distancia{
public static void main(String[] args) {
// declaracion de variables
int d=0;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona tiempo en s");
short t=entrada.nextShort();
System.out.print("Proporciona Velocidad em m/s");
short v=entrada.nextShort();
d = v * t;
System.out.print("Distancia = ");
System.out.println(d);
}
}
4.- Se necesita obtener el promedio aritmético de un estudiante a partir de sus tres notas
parciales.
import java.util.Scanner;
public class Promedio{
public static void main(String[] args){
// Declaración de variables
byte calf1 = 0, calf2 = 0,calf3 = 0;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona Calificacion 1: ");
calf1=entrada.nextByte();
System.out.print("Proporciona Calificacion 2: ");
calf2=entrada.nextByte();
System.out.print("Proporciona Calificacion 3 ");
calf3=entrada.nextByte();
float promedio=(float)((calf1+calf2+calf3)/3.0);
System.out.print("Promedio = ");
System.out.println(promedio);
}
}
import java.util.Scanner;
public class Promedio2{
public static void main(String[] Args){
byte c_2 = 0,c2 = 0,c3 = 0;
/*
c1=0;
c2=0;
c3=0;
*/
byte c[] = new byte[3];
Scanner entrada = new Scanner (System.in);
System.out.print("Propocione Calif 1: ");
//c1 = entrada.nextByte();
c[0] = entrada.nextByte();
System.out.print("\nPropocione Calif 2: ");
//c2 = entrada.nextByte();
c[1] = entrada.nextByte();
System.out.print("\nPropocione Calif 3: ");
//c3 = entrada.nextByte();
c[2] = entrada.nextByte();
//double prom = promedio(c1,c2,c3);
double prom = promedio(c[0],c[1],c[2]);
System.out.println("\nPromedio = "+prom);
}
public static double promedio(byte x, byte y, byte z)
{
return (double)(x+y+z)/3;
}
}
import java.util.*;
public class Promedio3{
public static void main(String []Args){
//declaración de variables
int tec2020 = 0; int tec2021 = 0; //ejemplo de nombre de variables
char x= 'a',y='b'; // variables tipo char
char c1 = 'C';
byte c[] = new byte[3]; // ejemplo de un arreglo
float prom;
Scanner entrada = new Scanner (System.in);
System.out.print("Propociona calificación 1:");
c[0] = entrada.nextByte();
System.out.print("\nPropociona calificación 2:");
c[1] = entrada.nextByte();
System.out.print("\nPropociona calificación 3:");
c[2] = entrada.nextByte();
prom = promedio(c[0],c[1],c[2]);
System.out.println("Promedio = "+prom);
}
public static float promedio(byte a, byte b, byte c)
{
return (float)(a+b+c)/3;
}
}
5.-Elaborar un algoritmo que solicite el número de respuestas correctas, incorrectas y en blanco,
correspondiente a concursantes y muestre su puntaje final considerando, que por cada
respuesta correcta tendrá 4 puntos, repuesta incorrecta tendrá -1 y respuestas en blanco
tendrán un valor de 0.
import java.util.Scanner;
public class Puntaje{
public static void main(String []Args){
//Declaración de variables
short trc = 0;
short tri = 0, trb=0;
short tpc = 0, tpi =0;
int totalPuntaje = 0;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona respuestas correctas: ");
trc = entrada.nextShort();
System.out.print("Proporciona respuestas incorrectas: ");
tri = entrada.nextShort();
System.out.print("Proporciona respuestas en blanco: ");
trb = entrada.nextShort();
tpc = (short)(trc * 4);
tpi = (short)(tri * -1);
totalPuntaje = tpc + tpi ;
System.out.println("Puntaje Total = "+totalPuntaje);
}
}
6.- Elaborar un algoritmo que permita ingresar el número de partidos ganados, perdidos y
empatados, por algún equipo en el torneo de apertura, se debe de mostrar su puntaje total,
teniendo en cuenta que por cada partido ganado obtendrá 3 puntos, empatado 1 punto y
perdido 0 puntos.
import java.util.*;
public class Partidos{
public static void main(String[] Args){
//Declaracion de variables
int pgan = 0;
int pemp = 0;
int pper = 0;
int totalpartidos = 0;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporcionar partidos ganados: ");
pgan = entrada.nextInt();
System.out.print("Proporcionar partidos empatados: ");
pemp = entrada.nextInt();
System.out.print("Proporcionar partidos perdidos: ");
pper = entrada.nextInt();
totalpartidos = pgan*3 + pemp*1 + pper*0;
System.out.println("Total de Partidos = "+ totalpartidos);
}
}
7.- Elaborar un algoritmo que permita averiguar su una persona debe sacar su INE, sabiendo su
año de nacimiento, para lo cual debe demostrar que es mayor de 17 años.
Algoritmo sin_titulo
Leer AA
Leer AN
E = AA - AN
Si (E>17) Entonces
Escribir "Solicitar INE"
SiNo
Escribir "NO Solicitar"
Fin Si
FinAlgoritmo
import java.util.Scanner;
public class Id{
public static void main(String []Args){
//Declaración de variables
short aActual= 0;
short aNac = 0;
short edad = 0;
String mensaje;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona Año Actual: ");
aActual = entrada.nextShort();
System.out.print("Proporciona Año Nacimiento: ");
aNac = entrada.nextShort();
edad = (short)(aActual - aNac);
if (edad>17)
{mensaje = "Solicitar ID";
System.out.println("Felcidades");}
else
{mensaje = "NO Solicitar ID";}
System.out.println(mensaje);
}
}
8.-Elaborar un algoritmo que solicite la edad y nombre de 2 hermanos y muestre un mensaje
indicando la edad y nombre del mayor y cuántos años de diferencia tiene con el menor.
PSEUDOCÓDIGO
Algoritmo DiferenciaEdades
Leer edad1,edad2
si (edad1>edad2) Entonces
msg = "Hermano 1 mayor que hermano 2"
dEdades = edad1 - edad2
SiNo
msg = "Hermano 2 es mayor que hermano 1"
dEdades = edad2 - edad1
FinSi
Escribir msg
Escribir "La diferencia de edades = ",dEdades
FinAlgoritmo
DIAGRAMA DE FLUJO:
EN JAVA:
import java.util.*;
public class DiferenciaEdades{
public static void main(String[] Args){
//Declaracion de variables
String msg;
short e1,e2,dE;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporcione Edad Hermano 1: ");
e1= entrada.nextShort();
System.out.print("Proporcione Edad Hermano 2: ");
e2 = entrada.nextShort();
if (e1>e2)
{
msg = "Hermano 1 es mayor que Hermano 2";
dE = (short)(e1-e2);
}
else
if (e1==e2)
{
msg = "Hermano 1 es igual que Hermano 2";
dE = 0;
}
else
{
msg = "Hermano 2 es mayor que Hermano 1";
dE = (short)(e2-e1);
}
/*if (e1==e2)
{
msg = "Hermano 1 es igual que Hermano 2";
dE = 0;
}*/
System.out.println(msg);
System.out.println("Diferencia de Edades = "+dE);
}
}
import java.util.*;
public class DiferenciaEdades{
public static void main(String[] Args){
//Declaracion de variables
String msg;
short e1,e2,dE;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporcione Edad Hermano 1: ");
e1= entrada.nextShort();
System.out.print("Proporcione Edad Hermano 2: ");
e2 = entrada.nextShort();
if (e1>e2)
{
msg = "Hermano 1 es mayor que Hermano 2";
dE = (short)(e1-e2);
}
else
{
msg = "Hermano 2 es mayor que Hermano 1";
dE = (short)(e2-e1);
}
/*if (e1==e2)
{
msg = "Hermano 1 es igual que Hermano 2";
dE = 0;
}*/
System.out.println(msg);
System.out.println("Diferencia de Edades = "+dE);
}
}
9.- Se tiene registrado la producción (unidades) logrados por un trabajador a lo largo de una
semana (lunes a sábado). Elabore un algoritmo que nos muestre o nos diga si el operario recibirá
incentivos sabiendo que el promedio de producción mínima es de 100 unidades.
PSEUDOCÓDIGO
Algoritmo Produccion
Escribir "Dame nombre de trabajador: "
Leer nombre
Escribir "Dame producción de una semana: "
Leer horasTrab
Si horasTrab>100
Escribir nombre+"SI recibirá incentivos"
SiNo
Escribir nombre+"NO recibirá incentivos"
FinSi
FinAlgoritmo
DIAGRAMA DE FLUJO
JAVA
import java.util.Scanner;
public class Produccion{
public static void main(String args[]) {
Scanner teclado = new Scanner (System.in);
double unidadesProd;
String nombre;
System.out.println("Dame nombre de trabajador: ");
nombre = teclado.nextLine();
//teclado.nextLine();
System.out.println("Dame producción de una semana: ");
unidadesProd =teclado.nextDouble();
if (unidadesProd>100) {
System.out.println(nombre+" SI recibirá incentivos");
} else {
System.out.println(nombre+" NO recibirá incentivos");
}
}
}
10.-Elaborar un algoritmo que lea 3 números diferentes entre sí, y determine el número mayor
de los tres.
Algoritmo Mayor
Leer a,b,c
Si a>b Entonces
Si a>c Entonces
Escribir "El mayor es ", a
SiNo
Escribir "El mayor es ", c
FinSi
SiNo
Si b>c Entonces
Escribir "El mayor es", b
SiNo
Escribir "El mayor es" ,c
FinSi
Fin Si
FinAlgoritmo
Algoritmo Mayor2
Leer a,b,c
Si a>b y a>c
Escribir "el mayor es ", a
FinSi
Si b>a y b>c
Escribir "el mayor es ", b
FinSi
Si c>a y c>b
Escribir "el mayor es ", c
FinSi
FinAlgoritmo
Algoritmo Mayorde3
Leer a,b,c
Si (a>b) Entonces
Si (a>c) Entonces
Escribir 'La mayor es a'
SiNo
Escribir 'La mayoe es C'
FinSi
SiNo
Si (b>c) Entonces
Escribir 'La mayor es b'
SiNo
Escribir 'La mayor es c'
FinSi
FinSi
FinAlgoritmo
EN JAVA:
//Lee 3 valores diferentes y calcula el mayor
import java.util.Scanner;
public class Intercambia2Variables{
public static void main(String[] arg){
// Declaración de Variables
int a,b, aux;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona valor de a ");
a=entrada.nextInt();
System.out.print("Proporciona valor de b ");
b=entrada.nextInt();
aux = a;
a=b;
b=aux;
}
}
// Calcula la mayor de 3 valores diferentes utilizando
// una variable auxiliar
import java.util.Scanner;
public class Mayorv2{
public static void main(String[] arg){
// Declaración de Variables
int a,b,c;
int aux;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona valor de a ");
a=entrada.nextInt();
System.out.print("Proporciona valor de b ");
b=entrada.nextInt();
System.out.print("Proporciona valor de c ");
c=entrada.nextInt();
if (a>b)
if(a>c)
aux=a;
else
aux=c;
else
if(b>c)
aux=b;
else
aux=c;
System.out.print("El mayor es "+aux);
}
}
import java.util.Scanner;
public class Mayor3{
public static void main(String[] arg){
// Declaración de Variables
int a,b,c;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona valor de a ");
a=entrada.nextInt();
System.out.print("Proporciona valor de b ");
b=entrada.nextInt();
System.out.print("Proporciona valor de c ");
c=entrada.nextInt();
if (a>b && a>c)
System.out.println(a);
if (b>a && b>c)
System.out.println(b);
if (c>a && c>b)
System.out.println(c);
}
}
//Calcula el mayor de 3 valores diferentes
import java.util.Scanner;
public class Mayor4{
public static void main(String[] arg){
// Declaración de Variables
int a,b,c;
int mayor;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona valor de a ");
a=entrada.nextInt();
System.out.print("Proporciona valor de b ");
b=entrada.nextInt();
System.out.print("Proporciona valor de c ");
c=entrada.nextInt();
mayor=a;
if(b>mayor)
mayor = b;
if(c>mayor)
mayor = c;
System.out.print(mayor);
}
}
11.- Elabore un algoritmo que lea dos variables a y b e intercambio sus valores.
// Intercambia el valor de 2 variables
import java.util.Scanner;
public class Intercambia2Variables{
public static void main(String[] arg){
// Declaración de Variables
int a,b;
int aux;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona valor de a ");
a=entrada.nextInt();
System.out.print("Proporciona valor de b ");
b=entrada.nextInt();
aux=a;
a=b;
b=aux;
System.out.println("Valor de a ="+a);
System.out.println("Valor de b ="+b);
}
}
12.- Elaborar un algoritmo que sirva para identificar el tipo de triángulo conociendo sus tres
lados.
PSEUDOCODIGO
Algoritmo Triangulo
Escribir "Dame Lado 1:"
Leer lado1
Escribir "Dame Lado 2:"
Leer lado2
Escribir "Dame Lado 3:"
Leer lado3
SI lado1<>lado2 Y lado2<>lado3 Y lado3<>lado1
Escribir "ESCALENO"
SiNo
SI lado1 = lado2 Y lado2 = lado3
Escribir "EQUILATERO"
SIno
Escribir "ISOCELES"
FinSi
FinSi
FinAlgoritmo
DIAGRAMA DE FLUJO
JAVA
import java.util.Scanner;
public class Triangulo{
public static void main(String[] arg){
Scanner entrada = new Scanner (System.in);
double lado1,lado2,lado3;
System.out.print("Proporciona Lado1 :");
lado1 = entrada.nextDouble();
System.out.print("Proporciona Lado2 :");
lado2=entrada.nextDouble();
System.out.print("Proporciona Lado3 :");
lado3=entrada.nextDouble();
if ((lado1 != lado2) & (lado2 != lado3) & (lado3 != lado1))
System.out.print("ESCALENO\n");
else
if ((lado1 == lado2) & (lado2 == lado3))
System.out.print("EQUILATERO\n");
else
System.out.print("ISOCELES\n");
}
}
13.- Elabore un algoritmo que permita ingresar un número entero (1 a 10) y muestre su
equivalente en romano.
PSEUDOCÓDIGO:
Algoritmo Romano
Escribir "Proporcione Número Arábigo"
Leer numArabigo
Segun numArabigo Hacer
opcion 1:
Escribir "I"
opcion 2:
Escribir "II"
opcion 3:
Escribir "III"
opcion 4:
Escribir "IV"
opcion 5:
Escribir "V"
opcion 6:
Escribir "VI"
opcion 7:
Escribir "VII"
opcion 8:
Escribir "VIII"
opcion 9:
Escribir "IX"
opcion 10:
Escribir "X"
De Otro Modo:
Escribir "Dato Invalido"
Fin Segun
FinAlgoritmo
DIAGRAMA DE FLUJO:
JAVA:
import java.util.Scanner;
public class Romano{
public static void main(String[] arg){
Scanner entrada = new Scanner (System.in);
int nArabigo;
System.out.print("Proporciona número arábigo del 1 al 10 ");
nArabigo = entrada.nextInt();
switch (nArabigo){
case 1:
System.out.print("I");
break;
case 2:
System.out.print("II");
break;
case 3:
System.out.print("III");
break;
case 4:
System.out.print("IV");
break;
case 5:
System.out.print("V");
break;
case 6:
System.out.print("VI");
break;
case 7:
System.out.print("VII");
break;
case 8:
System.out.print("VIII");
break;
case 9:
System.out.print("IX");
break;
case 10:
System.out.print("X");
break;
default:
System.out.print("DATO NO VALIDO");
}
System.out.print("\n Fin de la Estructura switch");
}
}
14.-Elabore un algoritmo que solicite un carácter (vocales de la a a la u) y muestre su
correspondiente número: a= 1, e=2,i=3,o=4 y u=5
JAVA:
import java.util.Scanner;
public class Vocal{
public static void main(String[] arg){
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona vocal ");
char vocal = entrada.next().charAt(0); // LEE UN CARACTER
int num;
switch (vocal){
case 'a':
num =1;
break;
case 'e':
num=2;
break;
case 'i':
num=3;
break;
case 'o':
num=4;
break;
case 'u':
num=5;
break;
default:
System.out.println("DATOS INVALIDOS");
num=0;
}
System.out.print("\n Valor = "+num);
}
}
15.- Elabore un algoritmo que solicite un número entero y diferente a cero, e indique si es par.
JAVA:
import java.util.Scanner;
public class ParImpar{
public static void main(String[] arg){
Scanner entrada = new Scanner (System.in);
int num;
System.out.print("Proporciona número: ");
num = entrada.nextInt();
if (num % 2 == 0)
{System.out.print("ES PAR");}
else
{System.out.print("ES IMPAR");}
}
}
16.- Elabore un algoritmo que permita ingresar el monto de venta alcanzado por un vendedor
durante un mes, luego de calcular la bonificación que le corresponde sabiendo:
Monto
0-1000
1000-5000
5000-20000
20000 o mas
Bonificación (%)
0
3
5
8
JAVA:
import javax.swing.JOptionPane;
import java.util.Scanner;
public class Bonificaciones{
public static void main(String[] arg){
Scanner entrada = new Scanner (System.in);
int ventas;
ventas = Integer.parseInt(JOptionPane.showInputDialog("Dame las ventas"));
JOptionPane.showMessageDialog(null, "Ventas = "+ventas);
double bon = 0;
// Utilizando if anidados
/*
if (ventas<1000)
bon = 0;
else
if (ventas<5000)
bon =ventas * 0.03;
else
if(ventas<20000)
bon = ventas * 0.05;
else
bon = ventas * 0.08;
*/
if (ventas>1000 && ventas<5000)
bon =ventas * 0.03;
if (ventas>5000 && ventas<20000)
bon = ventas * 0.05;
if (ventas>20000)
bon = ventas * 0.08;
System.out.println("Bonificacion = "+bon);
}
}
17.- Se desea leer un número entero de 2 cifras y que muestre el número de unidades, decenas
que lo componen.
JAVA
import java.util.Scanner;
public class DecenasUnidades{
public static void main(String[] arg){
Scanner entrada = new Scanner (System.in);
byte num;
System.out.print("Proporciona número de dos digitos: ");
num = entrada.nextByte();
byte d = (byte)(Math.floor(num/10));
System.out.println("Decenas = "+d);
byte u = (byte)(num - d * 10);
System.out.print("Unidades ="+u);
}
}
18.- Programa que lee 5 calificaciones y calcula su promedio utilizando el ciclo for.
import java.util.Scanner;
public class PromedioCiclos{
public static void main(String[] args){
// Promedio sin ciclos
// Declaración de variables
byte calf1 = 0, calf2 = 0,calf3 = 0;
Scanner entrada = new Scanner (System.in);
System.out.print("Proporciona Calificacion 1: ");
calf1=entrada.nextByte();
System.out.print("Proporciona Calificacion 2: ");
calf2=entrada.nextByte();
System.out.print("Proporciona Calificacion 3 ");
calf3=entrada.nextByte();
float promedio=(float)((calf1+calf2+calf3)/3.0);
System.out.print("Promedio = ");
System.out.println(promedio);
*/
/*
byte calf = 0;
float promedio = 0;
Scanner entrada = new Scanner (System.in);
for (int i =1; i<=3; i++)
{
System.out.print("Proporciona Calificacion : "+i);
calf = entrada.nextByte();
promedio = promedio + calf;
}
promedio = promedio/3;
System.out.print("Promedio = ");
System.out.println(promedio);
/*
byte n = 0, calf = 0;
float promedio = 0;
Scanner entrada = new Scanner (System.in);
System.out.print("¿Cuántas calificaciones capturaras?");
n = entrada.nextByte();
for (int i =1; i<=n; i++)
{
System.out.print("Proporciona Calificacion : "+i+" ");
calf = entrada.nextByte();
promedio = promedio + calf;
}
promedio = promedio/n;
System.out.print("Promedio = ");
System.out.println(promedio);
*/
}
}
19.- Programa que lee n calificaciones y calcula su promedio utilizando el ciclo for.
PSEUDOCODIGO:
Algoritmo PromedionCalificaciones
Escribir 'Cantidad de calificaciones'
Leer n
Para i<-1 Hasta n Hacer
Escribir 'Dame calificacion ',i
Leer calf
promedio <- promedio+calf
FinPara
promedio <- promedio/n
Escribir 'Promedio = ',promedio
FinAlgoritmo
DIAGRAMA DE FLUJO:
JAVA:
import java.util.Scanner;
public class PromedioCiclos{
public static void main(String[] args){
byte n = 0, calf = 0;
float promedio = 0;
Scanner entrada = new Scanner (System.in);
System.out.print("¿Cuántas calificaciones capturaras?");
n = entrada.nextByte();
for (int i =1; i<=n; i++)
{
System.out.print("Proporciona Calificacion : "+i+" ");
calf = entrada.nextByte();
promedio = promedio + calf;
}
promedio = promedio/n;
System.out.print("Promedio = ");
System.out.println(promedio);
*/
}
}
20.- Calcula la siguiente ecuación e2-x utilizando el ciclo for.
JAVA
//Calcula la funcion e^(x)-x
final int VECES =15;
Scanner entrada = new Scanner(System.in);
for (int i=1;i<=VECES;i++){
double x,f;
System.out.print("Valor de x: ");
x=entrada.nextDouble();
f=Math.exp(x)-x;
System.out.println("f("+x +") = "+f);
}
21.- Programa que visualice por pantalla todos los caracteres correspondientes a letras
minúsculas
JAVA
public class Letras{
public static void main(String[] arg){
for (char i='a';i<='z';i++)
{
System.out.println("\t"+(int)(i)+"\t"+i);
}
}
}
22.- Construir un programa que calcule el factorial de un valor numérico introducido como
parámetro o argumento en la línea de comando
JAVA
public class Factorial{
public static void main(String[] arg){
long fact = 1;
int f = Integer.parseInt(arg[0]);
System.out.print("Factorial de "+f+"= ");
for (int i=2;i<=f;i++)
fact *= i; //fact = fact *i;
System.out.println(fact);
}
}
23.- Programa que calcula y visualiza por pantalla las tablas demultiplicar del 1 al 10
JAVA
public class Tablas1al10{
public static void main(String[] arg){
for (int i = 1;i <= 10; i++)
{ System.out.println("TABLA DEL "+i);
for (int j = 1; j<10; j++)
{
System.out.println(i +" X "+j +" = "+i*j);
}
}
}
}
24.- Programa que calcula y visualiza por pantalla el factorial de todos los valores numéricos
enteros entre 1 y 10
JAVA
public class Factorial1al10{
public static void main(String[] arg){
long fact ;
for (int j=1;j<=10;j++) {
int f = j;
System.out.print("Factorial de "+f+"= ");
fact = 1;
for (int i=2;i<=f;i++)
fact *= i; //fact = fact *i;
System.out.println(fact);
}
}
}
25.- Programa que visualiza por pantalla los parámetros o argumento de la línea de ejecución en
orden inverso palabra por palabra
JAVA
public class PalabrasInversas{
public static void main(String[] arg){
int i = arg.length; // regresa la longitud del parámetro
for (int j=i;j>0;j--) {
System.out.print(arg[j-1]+" ");
}
System.out.println();
}
}
26.- Programa que visualiza por pantalla los parámetros o argumento de la línea de ejecución en
orden inverso letra por letra
JAVA
public class LetrasInversas{
public static void main(String[] arg){
int longitudFrase = arg.length; // regresa la longitud del parámetro
//System.out.println("Longitud de la Frase = "+longitudFrase);
for (int j=longitudFrase;j>0;j--) {
int longitudPalabra = arg[j-1].length(); // regresa la longitud de la palabra
//System.out.println("Palabra analizada "+arg[j-1]);
//System.out.println("Longitud de la palabra: "+longitudPalabra);
for (int z=longitudPalabra;z>0;z--){
System.out.print(arg[j-1].charAt(z-1));
}
}
System.out.println();
}
}
27.-Calculo de Calorías con la sentencia WHILE.
import java.util.Scanner;
public class Calorias{
public static void main(String[] algo){
Scanner entrada = new Scanner (System.in);
int num_de_elementos, cuenta;
int calorias_por_alimento, calorias_total;
System.out.print("¿Cuántos alimentos ha comido hoy? ");
num_de_elementos = entrada.nextInt();
System.out.println("Introducir el número de calorías de"+
" cada uno de los " + num_de_elementos +
" alimentos tomados:");
calorias_total = 0;
cuenta = 0;
while (cuenta<num_de_elementos)
{
calorias_por_alimento = entrada.nextInt();
calorias_total = calorias_total+calorias_por_alimento;
cuenta++;
}
System.out.println("Las calorías totales consumidas hoy son = " +
calorias_total);
}
}
28.- Calcula la funcion e^(x)-x
//Calcula la funcion e^(x)-x
/*
final int VECES =15;
Scanner entrada = new Scanner(System.in);
for (int i=1;i<=VECES;i++){
double x,f;
System.out.print("Valor de x: ");
x=entrada.nextDouble();
f=Math.exp(x)-x;
System.out.println("f("+x +") = "+f);
}
*/
29.- Lee un Carácter y cuando teclea un dígito sale del ciclo ya que utiliza a los dígitos como
INDICADORES O VALORES BANDERA
PSEUDOCODIGO:
Algoritmo LeerCaracter
digito_leido <- Falso
Mientras ( NO digito_leido) Hacer // !
Escribir 'Introduzca un caracter, teclee del 0 al 9 para salir'
Leer CARACTER
digito_leido <- CARACTER>='0' Y CARACTER<='9'
FinMientras
FinAlgoritmo
DIAGRAMA DE FLUJO:
boolean digito_leido = false;
char car = ' ';
while (!digito_leido)
{
System.out.println("Introduzca un caracter: ");
try {
car = (char)System.in.read();
System.in.skip(1);
}
catch(Exception e)
{
}
digito_leido = (car>='0' && car<='9');
} // fin de bucle
30.- Calcula el Promedio de calificaciones, utilizando un CENTINELA para terminar
PSEUDOCODIGO:
Algoritmo Notas
CENTINELA <- -1
cuenta <- 1
Leer nota
suma <- nota
Mientras nota<>CENTINELA Hacer
Leer nota
Si nota<>CENTINELA Entonces
suma <- suma+nota
cuenta <- cuenta+1
FinSi
FinMientras
promedio <- suma/cuenta
Escribir 'Promedio = ',promedio
FinAlgoritmo
DIAGRAMA DE FLUJO:
PROGRAMA JAVA:
/* entrada de datos numéricos, centinela –1 */
/*
Scanner entrada = new Scanner(System.in);
final int centinela = -1;
int nota;
int cuenta=1;
int suma = 0;
System.out.println("Proporcione primera calificación");
nota = entrada.nextInt();
suma = nota;
while (nota != centinela)
{
System.out.println("Proporcione Siguiente calificación");
nota = entrada.nextInt();
if (nota != centinela)
{
suma+=nota; // suma = suma +nota
cuenta++; // cuenta = cuenta +1
}
}
// calculo del promedio
System.out.println("Promedio = "+suma/cuenta);
*/
31.- Salida de un ciclo indefinido.
// Salida de un bucle for indefinido
final int CLAVE = -999;
Scanner entrada = new Scanner(System.in);
for (;;)
{
System.out.println("Introduzca un número "+CLAVE+
"para terminar");
int num = entrada.nextInt();
if (num == CLAVE) break;
}
// Lo mismo utilizando una Sentencia While
while (true)
{
System.out.println("Introduzca un número "+CLAVE+
"para terminar");
int num = entrada.nextInt();
if (num == CLAVE)
break;
}
32.- Programa JAVA que genero número de 3 cifras, excepto múltiplos de 3. Utilizando la
Sentencia Continue
// Utilización de la Sentencia Continue
final int CLAVE = 3;
final int RANGO = 999;
int n = (int)(Math.random()*RANGO +1);
for (int i = 0; i < n; i++)
{
int numero;
numero = (int)(Math.random()*RANGO +1);
if (numero % CLAVE == 0)
{ System.out.println();
continue;
}
System.out.print(" " + numero);
}
33.- El programa Asteriscos escribe líneas con asteriscos en una cantidad igual al número de
línea correspondiente del código fuente. Utilizando sentencia CONTINUE
public class Asteriscos{
public static void main(String[] arg){
final int COLUMNA = 17;
final int FILA =17;
siguiente:
for (int f = 1; f <= FILA; f++)
{ System.out.println();
for (int c = 1; c <= COLUMNA; c++)
{ if (c > f) continue siguiente;
System.out.print('*');
}
}
//Otra forma de hacerlo
for (int f=1;f<=FILA;f++)
{
System.out.println();
for(int c=1;c<=f;c++)
{
System.out.print('*');
}
}
}
34.- Aplicación simple de un bucle do while: seleccionar una opción de saludo al usuario dentro
de un programa.
PSEUDOCODIGO
Algoritmo Saludo
Definir resp como caracter
Repetir
Escribir "Hola"
Escribir "Le gustaría otro tipo de saludos?"
Leer resp
Hasta Que resp = 'n' o resp = 'N'
Escribir "Adios!"
FinAlgoritmo
DIAGRAMA DE FLUJO:
JAVA:
import java.util.Scanner;
public class Saludo{
public static void main(String[] arg){
Scanner entrada = new Scanner (System.in);
char opcion=' ';
do
{
System.out.println("Hola");
System.out.println("Desea otro tipo de saludo?");
System.out.println("Pulse s para si y n para no,");
System.out.print("y a continuacion pulse intro: ");
try {
opcion = entrada.next().charAt(0);
}
catch(Exception e)
{}
} while (opcion == 's'|| opcion == 'S');
System.out.println("Adios");
}
}
35.- Elabore un programa que le permita conocer a una persona que desea su jubulación, la
cantidad de años que requiere para en base a la suma de jubilación, pago anual y tasa de
interés, la cantidad de años que tiene trabajar.
Pseudocódigo:
Algoritmo Jubilacion
definir pago, tasaInteres, meta, balance,interes Como Real
definir anios como entero
Escribir "¿Cuánto desea recibir cuando se jubile?"
Leer meta
Escribir "¿Cuánto desea aportar anualmente? "
Leer pago
Escribir "Proporcione tasa de interes anual: "
Leer tasaInteres
balance = 0
anios = 0
Mientras (balance< meta) Hacer
balance = balance + pago
interes = balance * (tasaInteres/100)
balance =balance + interes
anios = anios +1
FinMientras
Escribir "Usted requiere ", anios, " anios para Retirarse"
FinAlgoritmo
DIAGRAMA DE FLUJO:
JAVA:
import javax.swing.*;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class Jubilacion{
public static void main(String[] args){
// Formateo de números
DecimalFormatSymbols simbolos = new DecimalFormatSymbols();
simbolos.setDecimalSeparator(',');
DecimalFormat formato = new DecimalFormat("$#,###,###.##",simbolos);
//Lee las entradas
String input = JOptionPane.showInputDialog
("CUánto dinero quieres tener cuando te retires ");
double objetivo = Double.parseDouble(input);
input = JOptionPane.showInputDialog
("Con cuánto dinero quieres contribuir cada año ");
double pago = Double.parseDouble(input);
input = JOptionPane.showInputDialog("Tasa de Interes % ");
double tasaInteres = Double.parseDouble(input);
double balance = 0;
int anios = 0;
// Actualiza el saldo de la cuenta mientras no se alcance el objetivo
while (balance < objetivo){
balance += pago;
double interes = balance * tasaInteres/100;
balance += interes;
anios ++;
System.out.println("Anio "+anios + " Monto Acumulado:
"+formato.format(balance)+
" Interes :"+formato.format(interes));
}
System.out.println
(" Usted podra retirase en "+ anios + " Anios ");
System.exit(0);
}
}
36.- Elabore un programa que le permita conocer a una persona que desea su jubIlación, en base
la cantidad de aportación anual y tasa de interés, en cada cálculo se le preguntará al usuario si
es suficiente.
PSEUDOCODIGO:
Algoritmo Jubilacion2
Definir pago,tasaInteres,meta,balance,interes Como Real
Definir anios Como Entero
Definir resp Como caracter
Escribir '¿Cuánto desea aportar anualmente? '
Leer pago
Escribir 'Proporcione tasa de interes anual: '
Leer tasaInteres
balance <- 0
anios <- 0
Repetir
balance <- balance+pago
interes <- balance*(tasaInteres/100)
balance <- balance+interes
anios <- anios+1
Escribir "La cantidad acumulada en año:",anio," = ",balance
Escribir "Desea Continuar (S/N)?"
Leer resp
Hasta Que (resp = "N" o resp ="n")
FinAlgoritmo
DIAGRAMA DE FLUJO:
JAVA:
import javax.swing.*;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class Jubilacion2{
public static void main(String[] args){
// Formateo de números
DecimalFormatSymbols simbolos = new DecimalFormatSymbols();
simbolos.setDecimalSeparator(',');
DecimalFormat formato = new DecimalFormat("$#,###,###.##");
//Lee las entradas
String input = JOptionPane.showInputDialog("Con cuánto dinero quieres contribuir
cada año ");
double pago = Double.parseDouble(input);
input = JOptionPane.showInputDialog("Tasa de Interes % ");
double tasaInteres = Double.parseDouble(input);
double balance = 0;
int anios = 0;
// Actualiza el saldo de la cuenta mientras no se alcance el objetivo
do {
//Añade el interes y el pago de este año
balance += pago;
double interes = balance * tasaInteres/100;
balance += interes;
anios ++;
//Muestra el saldo Actual
System.out.println("Despues de anio "+ anios +": "+
formato.format(balance));
//Preguntar si quiere jubilarse y tomar la respuesta del usuario
input = JOptionPane.showInputDialog("Listo para retirarse (S/N): ");
input = input.toUpperCase();
} while (input.equals("N"));
System.exit(0);
}
}
37.- Programa JAVA que hace un Menu.
import java.util.Scanner;
public class Menu2{
static Scanner entrada = new Scanner (System.in);
static int opc = -1 ; // Opcion elegida por el usuario
public static void main(String[] args){
while (opc != 0){
// Para evitar que el programa termine si hay un error
try{
System.out.println("\t1) Clase 1:");
System.out.println("\t2) Clase 2: ");
System.out.println("\t0) Salir: ");
opc = Integer.parseInt(entrada.nextLine());
switch (opc){
case 1:
//System.out.println("Entre a la opcion 1");
Clase1 obj = new Clase1();
break;
case 2:
//System.out.println("Entre a la opcion 2");
Clase2 obj = new Clase2();
break;
case 0:
System.out.println("Adios!!");
break;
default:
System.out.println("Seleccione valores de 0 a 2!");
break;
}
}
catch(Exception e){
System.out.println("Upss! hubo un Error");
}
}
}
}
public class Clase1{
public Clase1(){
System.out.println(" Hola 0Estoy en Clase 1");
}
}
public class Clase2{
public Clase2(){
System.out.println("Hola Estoy en Clase 2");
}
}
38.- Programa que lea por teclado 10 números enteros y los guarde en un Array, después calcula
y muestra la media de los valores positivos y negativo.
import java.util.Scanner;
public class Arreglo10{
public static Scanner entrada = new Scanner(System.in);
public static void main(String[] arg)
{
int i;
int pos = 0, neg = 0; //contadores de los numero
// positivos y negativos
int [] numeros = new int[10]; // Array que contrendrá
// los números leídos
double sumaPos = 0, sumaNeg = 0;//acumuladores para la
// suma de los negativos y positivos
//Lectura de los datos y llenar en el array
System.out.println("Lectura de los elementos del array:");
for (i = 0; i<10; i++){
System.out.print("numeros["+i+"]= ");
numeros[i] = entrada.nextInt();
}
//Recorrer el array para sumar por separado los
//numero positivos y negativos
for(i=0;i<10;i++){
if(numeros[i]>0){//sumar positivos
sumaPos += numeros[i];
pos ++;
}else if (numeros[i]<0){// sumar negativos
sumaNeg += numeros[i];
neg ++;
}
}
//calcular y mostrar las medias
if (pos != 0) {
System.out.println("Media Positivos: "+sumaPos/pos);
}else {
System.out.println("No ha introducido positivos");
}
if (neg != 0){
System.out.println("Media Negativos: "+sumaNeg/neg);
}else{
System.out.println("No ha introducido negativos");
}
}
}
39.- Modificamos el Programa anterior para que además de que que lea por teclado 10 números
enteros y los guarde en un Array, después calcula y muestra la media de los valores positivos y
negativo. Deberá tener un método que calcule el promedio de todo el arreglo, un método para
que calcule la calificación mayor, un método para que ordene de mayor a menor la lista y un
método para que calcule la mediana, así como un método que imprima las frecuencia de las
calificaciones.
JAVA:
import java.util.Scanner;
import java.util.ArrayList;
public class ArregloMedia{
public static Scanner teclado = new Scanner(System.in);
public static void main(String arg[]){
int i;
int pos = 0, neg = 0; //
double sumaPos = 0, sumaNeg = 0;
final int TAM = 4;
int numeros[] = new int[TAM];
//lectura de datos
System.out.println("Lectura de los elementos del array");
for(i=0;i<TAM;i++){
System.out.print("numeros["+i+"] = ");
numeros[i] = teclado.nextInt();
}
//Recorrer el array para sumar separado pos y neg
for(i = 0;i<TAM;i++){
if(numeros[i] > 0 ){ // sumar los positivos
sumaPos += numeros[i];
pos ++;
}else if (numeros[i]<0){// sumar los negativos
sumaNeg += numeros[i];
neg ++;
}
}
//calcular y mostrar las medias
if(pos != 0){
System.out.println("Media de los valores positivos "+
sumaPos/pos);
}else {
System.out.println("No hay positivos");
}
if (neg != 0){
System.out.println("MEdia de los valores negativos "+
sumaNeg/neg);
}else{
System.out.println("No hay negativos");
}
double pr;
pr = promedio(numeros);
System.out.println("Promedio = "+pr);
//Calculo de la mediana
//Deberá primero ordenar la lista
double med;
med = medio(numeros);
System.out.println("Mediana = "+med);
int mayor = mayor(numeros);
System.out.println("Mayor = "+mayor);
System.out.println("Lista Ordenada : ");
ordenar(numeros);
//Invoca al calculo de frecuencias
frecuencias(numeros);
}
public static double promedio(int a[])
{
/*
double acum = 0;
for(int j=0;j<10;j++)
{//acum = acum +a[j];
acum += a[j];}
return acum/10;
*/
/*
double acum = 0;
for(int elemento:a)
acum +=elemento;
return acum/10;
*/
double acum = 0;
for(int j=0;j<a.length;j++)
{//acum = acum +a[j];
acum += a[j];}
return acum/a.length;
}
public static double medio(int arg[])
{
int indice;
double med;
indice = (int)(arg.length/2) ;
if (arg.length % 2 != 0){ // Es impar
med = (double)(arg[indice]);
}
else{//Es par
med =(double)((arg[indice-1]+arg[indice]))/2;
}
return med;
}
//método que calcula el mayor de un arreglo
public static int mayor(int arg[]){
int tam=arg.length;
int arreglo[] = new int[tam]; //arreglo para copiar el arreglo original
for (int i=0;i<tam;i++)
arreglo[i] = arg[i] ; //copio para no alterar el arreglo original
int mayor = arreglo[0];
int aux = 0;
for (int i=1;i<arreglo.length;i++){
if (arreglo[i]>mayor){
aux = mayor;
mayor = arreglo[i];
arreglo[i] = aux;
}
}
return mayor;
}
//método que ordena un arreglo
public static int[] ordenar(int arg[]){
int aux;
for(int i=0;i<arg.length-1;i++){
for(int x = i+1;x<arg.length;x++){
if(arg[x] < arg[i]){
aux = arg[i];
arg[i] = arg[x];
arg[x] = aux;
}
}
}
return arg;
}
//métoto para sacar table de frecuencias
public static void frecuencias(int arg[]){
int frec[] = new int[11];
for (int i=0;i<arg.length;i++){
frec[arg[i]] = frec[arg[i]]+1;
}
for (int i=0;i<frec.length;i++)
System.out.println("Calificacion ["+i+"] = " +frec[i]);
}
}
Descargar