“Programas Propuestos Capítulo IV”
INSTITUTO TECNOLÓGICO DE SALTILLO
Programación Orientada a Objetos
Ingeniería en Sistemas Computacionales
Nombre: Eduardo Cárdenas Magallanes Catedrático: Dr. Sócrates Torres
Ovalle
1. Una aplicación Java que genere cinco números aleatorios enteros entre 65 y 90.
Indicar para cada uno si se trata del código ASCII de una consonante o una vocal.
Utilizar un switch.
Código:
publicclassASCII
{
publicstaticvoidmain(String[] args)
{
intnum1=65;
intnum2=90;
for (inti=1;i<6;i++)
{
int numAleatorio=(int)Math.floor(Math.random()*(num2-num1)+num1);
if (numAleatorio==65|| numAleatorio==69|| numAleatorio==73||
numAleatorio==79||numAleatorio==85)
{
System.out.println("Se generoel número"+ numAleatorio+" ,que
corresponde conel códigoASCIIa una Vocal ");
}
else
{
System.out.println("Se generoel número"+ numAleatorio+",que
corresponde conel códigoASCIIa una Consonante ");
}
}
}
}
Ejecución del Programa:
2. Misma aplicación anterior, pero que indique cuantas fueron consonantes y cuantas
vocales. Utilizar primero un switch, luego elaborar la versión que usa if´s
Código:
import java.util.*;
public class numal
{
public static void main (String args [])
{
Random rnd = new Random();
int cont = 0;
while (cont < 5)
{
int num = rnd.nextInt(26)+65;
cont++;
switch(num)
{
case 65: case 69: case 73: case 79: case 85: System.out.println("Se
generaron los números " + num + " Son "+cont++” vocales);
break;
default: System.out.println("Son"+cont++” consonantes”);
}
}
}
}
Ejecución del Programa:
3. Se necesitaunaaplicaciónque permitacalcular el cobro por la rentade un coche,las
tarifassonlas siguientes:
a. Cuota fijade $1000 pesos
b. $5.00 pesos/km,porlosprimeros100 kilómetrosextra
c. $2.50 pesos/km,porlossegundos100 kilómetrosextra
d. $1.25 pesos/km,porel restode loskilómetrosextra,másun descuentototal de 10%
Código:
importjavax.swing.*;
publicclassCobroCoche
{
publicstaticvoidmain(String[]args)
{
intKilometros=0;
double cobro=0.0;
double descuento=0.0;
intcont;
Kilometros=Integer.parseInt(JOptionPane.showInputDialog("teclealoskilometros
recorridos"));
if(Kilometros<=100);
cobro=1000;
cont=Kilometros;
while(cont>100&& cont<=200)
{
cont--;
cobro=cobro+5.0;
}
while(cont>200&& cont<=300)
{
Cobro+=500;
cont--;
cobro=cobro+2.50;
}
while(cont>300)
{
cobro+=750;
cont--;
cobro=cobro+1.25;
}
JOptionPane.showMessageDialog(null,"el cobro="+cobro);
}
}
Ejecución del Programa:
4. El código de la siguiente aplicación Java está incompleto. Escribe en la línea lo que
mejor corresponda
Public class ProbandoSelectivosRepetitivos
{
Public static void main(String args[])
{
_____int____ A = 10;
__if___ (A>0)
{
A=A*1.3;
}
}
}
5. Diseñar una aplicación que permita verificar si la entrada corresponde a un
número par o múltiplo de siete.
Código:
importjavax.swing.*;
publicclassNumeroPar{
publicstaticvoidmain(String[]args){
intnum;
num=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzcaunnúmero"));
if(num%2==0) {
JOptionPane.showMessageDialog(null,"Espar");
}
else {
JOptionPane.showMessageDialog(null,"Noespar");
}
if(num%7==0) {
JOptionPane.showMessageDialog(null,"Esmúltiplode siete");
}
else {
JOptionPane.showMessageDialog(null,"Noesmúltiplode siete");
}
}
}
Ejecución del Programa:
6. Diseñar una aplicación que lea tres números enteros y reporte el mayor
Código:
import java.util.*;
public class MayorDeTres {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n1, n2, n3;
System.out.print("Introduzca primer número: ");
n1 = sc.nextInt();
System.out.print("Introduzca segundo número: ");
n2 = sc.nextInt();
System.out.print("Introduzca tercer número: ");
n3 = sc.nextInt();
if(n1 > n2)
if(n1>n3)
System.out.println("El mayor es: " + n1);
else
System.out.println("el mayor es: " + n3);
else if(n2>n3)
System.out.println("el mayor es: " + n2);
else
System.out.println("el mayor es: " + n3);
}
}
Ejecución del Programa:
7. Deberásdetectarpara lossiguientesfragmentosde códigoerroresde sintaxis:
Primerfragmento de código:
Int x = 100;
If (x = 100) Error enel símbolo=
{
System.out.println(“Iguales”);
}
Else
{
System.out.println(“Iguales”);
}
SegundoFragmentode Código:
Int opción;
Booleanbandera= 1;
If(bandera!=true)
{
Opción==false;Errorenel símbolo ==
}
Tercer fragmentode código:
Int altura;
Int ancho;
Final intlimite =80;
If((altura=100) > limite) Nohay error
{
Ancho=altura*3;
}
Cuarto fragmentode código:
Int edad=20;
If(¡edad<18); Error, operadorno válido.
{
System.out.println(“Menorde edad”);
}
Else
{
System.out.println(“Mayorde edad”);
}
8. A continuaciónel sueñode todoprogramador:destruirunprograma.La siguiente
aplicaciónmuestrael cálculode lavelocidadfinal de unobjetoencaídalibre.El código
estáfuncionandocorrectamente.El ejercicioconsiste enprovocartantoserrores
diferentesenel códigocomoseaposible.Laúnicareglaconsiste enque solopodrás
agregar o quitarun carácter por línea.
importjava.util.*;
publicclassDistancia{
publicstaticvoidmain(String[]args){
Scanners = newScanner(System.in);
final double g=9.8;
System.out.println("Velocidadinicial=");
double vi=s.nextDouble();
double vf=0.0;
System.out.println("Tiempo=");
double t= s.nextDouble();
if(t>=0.0&& vi>=0.0)
{
vf = vi + g*t;
System.out.println("Velocidadfinal="+vf);
}
}
}
Programa destruido:
importjava.util.; 1
publi classDestruirPrograma{ 2
publicstaticvoidmain(String[args) { 3
Scanners = new Scaner(System.in)4
final doubl g=9.8; 5
System.out.println("Velocidadinicial=);6
double vi=s.nextDouble(;7
double vf=0.; 8
System.outprintln("Tiempo=");9
double t= s.Double();10
i(t>=0.0 && vi>=0.0) 11
vf = vi + gt; 12
System.out.println("Velocidadfinal="+vi);13
}
}
}
Los erroresdiferentesgeneradosfueron: 13
9. Mencionalasaplicacionesrecomendadasparacada unode los estatutosselectivos.
¿podemosdecirque unoesmejorque otrou otros (si consideramosel operador
condicional)?,¿podemosdecirque unosiempre serámásfácil de programar?
R = estatutosif,aplicaciónrecomendada:Unprogramaque pidatres edadesde tres
personasymuestre lasque sonmayoresde 30 y lasque son menoresde 20
Estatutowhile,ydo-while: Unaaplicaciónque calcule lasumade losnúmerosparesdel 1
al 100
Estatutoswitch:Una aplicaciónque muestre losdíasde lasemana
Considerandoel operadorcondicional,podemosdecirque unoesmejorque otro,en
cuestiónde que esmás sencillomanejarciertooperador,mássinembargo,ningunoes
más fácil de programar que otro,ambospuedentenerel mismonivel de complejidadode
facilidad.
10. Investigaprocesosnaturalesodel quehacerhumanoque representenaccionesque
puedenseremuladasporif,switch,operadorcondicional (?)
Un ejemploque puedeseremuladoporif,seríacuandoun maestrocalificaasus alumnos,
si su promedioesigual a70 o mayor,entoncesapruebanlamateria,si esmenora 70
repruebanlamateria,parael switch,lopodemosaplicarcuandovamospor un heladoyse
nos presentanvariasopcionesde saboresparaescoger, encuantoal operadorcondicional
(?) lopodríamos aplicarenuna situaciónenlaque preguntemosporalgo,como“A es
mayor que B?”, comúnmente loutilizamospararesolverproblemasmatemáticos o
demostrarque unvalor esmayor o menorque otro.

Programas Propuestos Capítulo IV

  • 1.
    “Programas Propuestos CapítuloIV” INSTITUTO TECNOLÓGICO DE SALTILLO Programación Orientada a Objetos Ingeniería en Sistemas Computacionales Nombre: Eduardo Cárdenas Magallanes Catedrático: Dr. Sócrates Torres Ovalle 1. Una aplicación Java que genere cinco números aleatorios enteros entre 65 y 90. Indicar para cada uno si se trata del código ASCII de una consonante o una vocal. Utilizar un switch. Código: publicclassASCII { publicstaticvoidmain(String[] args) { intnum1=65; intnum2=90; for (inti=1;i<6;i++) { int numAleatorio=(int)Math.floor(Math.random()*(num2-num1)+num1); if (numAleatorio==65|| numAleatorio==69|| numAleatorio==73|| numAleatorio==79||numAleatorio==85) { System.out.println("Se generoel número"+ numAleatorio+" ,que corresponde conel códigoASCIIa una Vocal "); } else { System.out.println("Se generoel número"+ numAleatorio+",que corresponde conel códigoASCIIa una Consonante "); } } } }
  • 2.
  • 3.
    2. Misma aplicaciónanterior, pero que indique cuantas fueron consonantes y cuantas vocales. Utilizar primero un switch, luego elaborar la versión que usa if´s Código: import java.util.*; public class numal { public static void main (String args []) { Random rnd = new Random(); int cont = 0; while (cont < 5) { int num = rnd.nextInt(26)+65; cont++; switch(num) { case 65: case 69: case 73: case 79: case 85: System.out.println("Se generaron los números " + num + " Son "+cont++” vocales); break; default: System.out.println("Son"+cont++” consonantes”); } } } }
  • 4.
  • 5.
    3. Se necesitaunaaplicaciónquepermitacalcular el cobro por la rentade un coche,las tarifassonlas siguientes: a. Cuota fijade $1000 pesos b. $5.00 pesos/km,porlosprimeros100 kilómetrosextra c. $2.50 pesos/km,porlossegundos100 kilómetrosextra d. $1.25 pesos/km,porel restode loskilómetrosextra,másun descuentototal de 10% Código: importjavax.swing.*; publicclassCobroCoche { publicstaticvoidmain(String[]args) { intKilometros=0; double cobro=0.0; double descuento=0.0; intcont; Kilometros=Integer.parseInt(JOptionPane.showInputDialog("teclealoskilometros recorridos")); if(Kilometros<=100); cobro=1000; cont=Kilometros; while(cont>100&& cont<=200) { cont--; cobro=cobro+5.0; } while(cont>200&& cont<=300) { Cobro+=500; cont--; cobro=cobro+2.50; } while(cont>300) { cobro+=750; cont--; cobro=cobro+1.25; } JOptionPane.showMessageDialog(null,"el cobro="+cobro); } }
  • 6.
  • 7.
    4. El códigode la siguiente aplicación Java está incompleto. Escribe en la línea lo que mejor corresponda Public class ProbandoSelectivosRepetitivos { Public static void main(String args[]) { _____int____ A = 10; __if___ (A>0) { A=A*1.3; } } } 5. Diseñar una aplicación que permita verificar si la entrada corresponde a un número par o múltiplo de siete. Código: importjavax.swing.*; publicclassNumeroPar{ publicstaticvoidmain(String[]args){ intnum; num=Integer.parseInt(JOptionPane.showInputDialog(null,"Introduzcaunnúmero")); if(num%2==0) { JOptionPane.showMessageDialog(null,"Espar"); } else { JOptionPane.showMessageDialog(null,"Noespar"); } if(num%7==0) { JOptionPane.showMessageDialog(null,"Esmúltiplode siete"); } else { JOptionPane.showMessageDialog(null,"Noesmúltiplode siete"); } } }
  • 8.
  • 9.
    6. Diseñar unaaplicación que lea tres números enteros y reporte el mayor Código: import java.util.*; public class MayorDeTres { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n1, n2, n3; System.out.print("Introduzca primer número: "); n1 = sc.nextInt(); System.out.print("Introduzca segundo número: "); n2 = sc.nextInt(); System.out.print("Introduzca tercer número: "); n3 = sc.nextInt(); if(n1 > n2) if(n1>n3) System.out.println("El mayor es: " + n1); else System.out.println("el mayor es: " + n3); else if(n2>n3) System.out.println("el mayor es: " + n2); else System.out.println("el mayor es: " + n3); } } Ejecución del Programa:
  • 10.
    7. Deberásdetectarpara lossiguientesfragmentosdecódigoerroresde sintaxis: Primerfragmento de código: Int x = 100; If (x = 100) Error enel símbolo= { System.out.println(“Iguales”); } Else { System.out.println(“Iguales”); } SegundoFragmentode Código: Int opción; Booleanbandera= 1; If(bandera!=true) { Opción==false;Errorenel símbolo == } Tercer fragmentode código: Int altura; Int ancho; Final intlimite =80; If((altura=100) > limite) Nohay error { Ancho=altura*3; } Cuarto fragmentode código: Int edad=20; If(¡edad<18); Error, operadorno válido. { System.out.println(“Menorde edad”); } Else { System.out.println(“Mayorde edad”); }
  • 11.
    8. A continuaciónelsueñode todoprogramador:destruirunprograma.La siguiente aplicaciónmuestrael cálculode lavelocidadfinal de unobjetoencaídalibre.El código estáfuncionandocorrectamente.El ejercicioconsiste enprovocartantoserrores diferentesenel códigocomoseaposible.Laúnicareglaconsiste enque solopodrás agregar o quitarun carácter por línea. importjava.util.*; publicclassDistancia{ publicstaticvoidmain(String[]args){ Scanners = newScanner(System.in); final double g=9.8; System.out.println("Velocidadinicial="); double vi=s.nextDouble(); double vf=0.0; System.out.println("Tiempo="); double t= s.nextDouble(); if(t>=0.0&& vi>=0.0) { vf = vi + g*t; System.out.println("Velocidadfinal="+vf); } } } Programa destruido: importjava.util.; 1 publi classDestruirPrograma{ 2 publicstaticvoidmain(String[args) { 3 Scanners = new Scaner(System.in)4 final doubl g=9.8; 5 System.out.println("Velocidadinicial=);6 double vi=s.nextDouble(;7 double vf=0.; 8 System.outprintln("Tiempo=");9 double t= s.Double();10 i(t>=0.0 && vi>=0.0) 11 vf = vi + gt; 12 System.out.println("Velocidadfinal="+vi);13 } } } Los erroresdiferentesgeneradosfueron: 13
  • 12.
    9. Mencionalasaplicacionesrecomendadasparacada unodelos estatutosselectivos. ¿podemosdecirque unoesmejorque otrou otros (si consideramosel operador condicional)?,¿podemosdecirque unosiempre serámásfácil de programar? R = estatutosif,aplicaciónrecomendada:Unprogramaque pidatres edadesde tres personasymuestre lasque sonmayoresde 30 y lasque son menoresde 20 Estatutowhile,ydo-while: Unaaplicaciónque calcule lasumade losnúmerosparesdel 1 al 100 Estatutoswitch:Una aplicaciónque muestre losdíasde lasemana Considerandoel operadorcondicional,podemosdecirque unoesmejorque otro,en cuestiónde que esmás sencillomanejarciertooperador,mássinembargo,ningunoes más fácil de programar que otro,ambospuedentenerel mismonivel de complejidadode facilidad. 10. Investigaprocesosnaturalesodel quehacerhumanoque representenaccionesque puedenseremuladasporif,switch,operadorcondicional (?) Un ejemploque puedeseremuladoporif,seríacuandoun maestrocalificaasus alumnos, si su promedioesigual a70 o mayor,entoncesapruebanlamateria,si esmenora 70 repruebanlamateria,parael switch,lopodemosaplicarcuandovamospor un heladoyse nos presentanvariasopcionesde saboresparaescoger, encuantoal operadorcondicional (?) lopodríamos aplicarenuna situaciónenlaque preguntemosporalgo,como“A es mayor que B?”, comúnmente loutilizamospararesolverproblemasmatemáticos o demostrarque unvalor esmayor o menorque otro.