1. Problema no.10 de la segunda unidad.
a) Planteamiento del problema
El numero de sonidos emitido por un grillo en un minuto es una función
de la temperatura. Asì,es posible determinar la temperatura haciendo
uso de un grillo como termómetro y aplicando la fórmula : t= N/4 +40 ,
donde n es el número de sonidos emitido por un grillo en un minuto.
Necesitamos un programa que estime la temperatura, tomando en
cuenta que si el grillo no emite ningún sonido (es decir,N es cero) no es
posible hacer la estimación. Así mismo, tenga en cuenta que un valor
negativo para N es un error.
b) Análisis de datos (datos de: entrada / salida, condiciones y
diccionario de Datos).
Datos de Entrada:
Numero flotante
Temperatura =0
Grillo =0
Leer valor para el Grillo
Valores para Grillo
Condiciones:
Si es =0
Si es =<10
Dato de Salida
Temperatura=grillo/4 +40
Diccionario:
Grillo y Temperatura son Valores positivos flotantes que se le pide al usuario.
Valor 1 = Valor positivo
Valor 2= si el valor dado anteriormente es igual a 0 hay un mensaje que dirá
que debe de ser mayor a 0.
Valor 3: si el valor es negativo. Hay un mensaje que dice que tiene que ser
positivo.
Valor = es el resultado de (valor 1) /4 +40.
Para empezar el programa se le pide al usuario que ingrese un valor para para
el grillo. El numero que debe de ingresar no debe de ser negativo y menor a
cero, si se cumple la condición que se le indica al usuario que el numero es
menor a cero o igual y debe de ingresar el dato correcto. Si esta condición no
2. se cumple el programa sigue la operación y te da el resultado del numero
ingresado dividido entre 4 y sumado por 40.
c) Diagrama y solución del problema en Dfd.
Prueba de escritorio;
Leer valor para grillo
Si, grillo= 0
El valor debe de ser mayor que 0
Si, grillo=-23
El valor debe de ser positivo
Else
Grillo=23
Temperatura = grillo /40
Codigo fuente
package grillo;
import javax.swing.JOptionPane;
/**
*
* @author AaronDzulllenny
3. */
public class Grillo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
float temperatura, grillo = 0;
do {
grillo = Float.parseFloat(JOptionPane.showInputDialog(null, "Escribe el
valor para el grillo"));
if (grillo == 0) {
JOptionPane.showMessageDialog(null, "El dato ingresado tiene que
ser mayor a 0", "Error", JOptionPane.ERROR_MESSAGE);
}
if (grillo < 0) {
JOptionPane.showMessageDialog(null, "El dato ingresado tiene que
ser Positivo", "Error", JOptionPane.ERROR_MESSAGE);
}
} while (grillo == 0 || grillo < 0);
temperatura = (grillo / 4) + 40;
// mostrar el valor de temperatura
JOptionPane.showMessageDialog(null, "La temperatura es " +
temperatura);
}
}
d) Depuracion
4. e) Conclusión del programa.
En este programa, se le pide al usuario que ingrese un valor para hacer la operación que
comentamos anteriormente, pero lo mas importante de este es que nos anticipamos si el
usuario ingresa un valor negativo o un valor igual a cero, donde en automatico se le explica
que el dato es erróneo. Debemos de anticiparnos siempre a lo que el usuario piense y
pensar como él.