Académique Documents
Professionnel Documents
Culture Documents
Problema 46
Resultado deseado.
Datos necesarios.
Procesamiento.
Diagrama de paquetes
DominioDeLaAplicacion Libreria
Clases Clases
DominioDeLaAplicacion Librería
PrgObreros Math2
main() getString()
getChar()
getInt()
getLong()
getFloat()
getDouble()
Pag. 253
Juan José Flores Cueto
ENTRADA: sueldo
SALIDA: totalMenor, totalMediano, totalMayor
INICIO
MIENTRAS ( i < 51 )
LEER sueldo
FINSI
i=i+1
FINMIENTRAS
FIN
Pag. 254
ESTRUCTURAS LÓGICAS DE CONTROL O REPETICIÓN
Clase PrgObreros
package DominioDeLaAplicacion;
import Libreria.Math2;
class PrgObreros {
i=i+1;
}
}
}
Pag. 255
Juan José Flores Cueto
Problema 47
Determinar la suma de sueldos de los obreros (categoría C), la suma de sueldos de los
empleados (categoría B) y la suma de sueldos de los gerentes (categoría A) de una
determinada empresa. Adicionalmente, determinar cuál es el mayor y el menor sueldo
en la empresa.
Resultado deseado.
Datos necesarios.
Procesamiento.
Diagrama de paquetes
DominioDeLaAplicacion Libreria
Clases Clases
DominioDeLaAplicacion Librería
PrgSueldoCategoria Math2
main() getString()
getChar()
getInt()
getLong()
getFloat()
getDouble()
Pag. 256
ESTRUCTURAS LÓGICAS DE CONTROL O REPETICIÓN
INICIO
NUMERO sueldo, categoria, mayorSueldo = 0, menorSueldo = 0
NUMERO sueldo1 = 0, sueldo2 = 0, sueldo3 = 0, i = 1
HACER
LEER categoria
SI (categoria <> 0)
ENTONCES
LEER sueldo
SI (i = 1)
ENTONCES
i=0
mayorSueldo = sueldo
menorSueldo = sueldo
SINO
SI ( sueldo < menorSueldo )
ENTONCES
menorSueldo = sueldo
FINSI
FINSI
Pag. 257
Juan José Flores Cueto
Clase PrgSueldoCategoria
package DominioDeLaAplicacion;
import Libreria.Math2;
class PrgSueldoCategoria {
Pag. 258
ESTRUCTURAS LÓGICAS DE CONTROL O REPETICIÓN
Problema 48
Calcular y muestre el número de alumnos que tienen promedio final menos de 10; los
que tiene promedio final entre 10 y 14; aquellos que tienen promedio final entre 15 y 18;
y los que tienen promedio final mayor de 18. Ingrese 4 notas y calcule el promedio del
alumno sobre la base de la siguiente fórmula nf = ( n1 + n2 + n3 + ( n4 * 2 ) ) / 5.
Resultado deseado.
Datos necesarios.
Procesamiento.
Diagrama de paquetes
DominioDeLaAplicacion Libreria
Clases Clases
DominioDeLaAplicacion Librería
PrgNotasRango Math2
main() getString()
getChar()
getInt()
getLong()
getFloat()
getDouble()
Pag. 259
Juan José Flores Cueto
INICIO
LEER numAlumnos
nf = (n1 + n2 + n3 + ( n4 * 2 ) ) / 5
FIN
Pag. 260
ESTRUCTURAS LÓGICAS DE CONTROL O REPETICIÓN
Clase PrgNotasRango
package DominioDeLaAplicacion;
import Libreria.Math2;
class PrgNotasRango {
Pag. 261
Juan José Flores Cueto
Problema 49
Resultado deseado.
Datos necesarios.
Procesamiento.
Diagrama de paquetes
DominioDeLaAplicacion Libreria
Clases Clases
DominioDeLaAplicacion Librería
PrgMenuRectangulo Math2
main() getString()
getChar()
getInt()
getLong()
getFloat()
getDouble()
Pag. 262
ESTRUCTURAS LÓGICAS DE CONTROL O REPETICIÓN
INICIO
NUMERO base, altura, area = 0, perimetro = 0, opc
HACER
ESCRIBIR “- MENU -”
ESCRIBIR “-------------------------------------------------”
ESCRIBIR “[1] Ingreso de datos”
ESCRIBIR “[2] Cálculo del área y perímetro”
ESCRIBIR “[3] Mostrar resultado”
ESCRIBIR “[4] Terminar”
ESCRIBIR “--------------------------------------------------”
ESCRIBIR “ Ingrese su opción: ”
LEER opc
SEGÚN SEA (opc)
CASO 1 :
HACER
LEER base
MIENRAS (base < 1)
HACER
LEER altura
MIENTRAS (altura < 1)
CASO 2 :
SI (base < 1 OR altura < 1)
ENTONCES
area = 0
perímetro = 0
SINO
area = base * altura
perimetro = (base + altura) * 2
FINSI
CASO 3 :
ESCRIBIR area, perimetro
CASO 4 :
ESCRIBIR “Hasta pronto... ”
OTROS :
ESCRIBIR “Opción no válida... ”
FINSEGUN
MIENTRAS (opc <> 4)
FIN
Pag. 263
Juan José Flores Cueto
Clase PrgMenuRectangulo
package DominioDeLaAplicacion;
import Libreria.Math2;
class PrgMenuRectangulo {
do {
System.out.println ( “ [1] Ingreso de datos ” ) ;
System.out.println ( “ ----------------------------------------------------- ” ) ;
System.out.println ( “ [1] Ingreso de datos ” ) ;
System.out.println ( “ [2] Cálculo del área y perímetro ” ) ;
System.out.println ( “ [3] Mostrar resultados ” ) ;
System.out.println ( “ [4] Terminar ” ) ;
System.out.println ( “ ----------------------------------------------------- ” ) ;
System.out.println ( “ Ingrese su opción: ” ) ;
opc = Math2.getInt();
switch (opc) {
case 1 :
do {
System.out.println ( “Ingrese base del rectángulo: ”);
base = Math2.getDouble();
} while ( base < 1) ;
do {
System.out.println ( “Ingrese base del rectángulo: ”);
altura = Math2.getDouble();
} while (altura < 1) ;
break ;
case 2 :
if ( base == 0 || altura == 0 ) {
area = 0 ;
perimetro = 0 ;
}
else {
area = base * altura ;
perimetro = ( base + altura ) * 2 ;
}
break ;
case 3 :
System.out.println (“Área: ” + area ) ;
System.out.println (“Perímetro: ” + perimetro) ;
break ;
case 4 :
System.out.println (“Área: ” + area ) ;
break ;
default :
System.out.println (“Opción no válida... ”) ;
}
} while (opc <> 4) ;
}
}
Pag. 264
ESTRUCTURAS LÓGICAS DE CONTROL O REPETICIÓN
Problema 50
Elaborar una solución que permita controlar la venta de boletos en un determinado día en un
teatro de la capital, en base a la siguiente información:
• Al comenzar, se leerá una sola vez el precio de entrada para palco, platea y mezanine.
• Por cada entrada vendida se leerá los siguientes datos: número de boleto y lugar
(puede ser platea, palco o mezanine).
• El programa terminará cuando el número de boleto sea igual a cero.
• Antes de finalizar, se deberá proporcionar la siguiente información:
• Número total de entradas vendidas durante el día.
• El total de soles recaudados en el día.
• Número de entradas vendidas para platea, palco y mezanine en el
día.
Resultado deseado.
Datos necesarios.
Procesamiento.
DominioDeLaAplicacion Libreria
PrgTeatro Math2
main() getString()
getChar()
getInt()
getLong()
getFloat()
getDouble()
Pag. 265
Juan José Flores Cueto
INICIO
SI ( numBoleto <> 0 )
ENTONCES
HACER
LEER tipo
MIENTRAS (tipo < 1 OR tipo >3)
ESCRIBIR totalVendidas
ESCRIBIR totalGanancia
ESCRIBIR totalPla, totalPal, totalMez
FIN
Pag. 266
ESTRUCTURAS LÓGICAS DE CONTROL O REPETICIÓN
Clase PrgTeatro
package DominioDeLaAplicacion;
import Libreria.Math2;
class PrgTeatro {
if (numBoleto <> 0) {
do {
System.out.println ( “Ingrese el lugar”);
System.out.println ( “[1] Platea, [2] Palco [3] Mezanine”);
tipo = Math2.getInt();
} while (tipo < 1 || tipo > 3) ;
switch (tipo) {
case 1 :
totalPla ++ ;
break ;
case 2 :
totalPal ++ ;
break ;
case 3 :
totalMez ++ ;
}
}
} while ( numBoleto <> 0 ) ;
Pag. 267