Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Aplicacion en Delphi (https://www.clubdelphi.com/foros/showthread.php?t=46050)

Quimico 23-07-2007 05:22:41

Aplicacion en Delphi
 
Que tal foristas.

Escribo en el foro debido a que he estado leyendo y me ha sido de mucha ayuda.

actualmente tengo una asignacion que consiste en el siguiente problema:

Se tienen una cantidad determinadas de temperaturas en ºKelvin (K), y debo realizar una aplicacion en delphi que sume las temperaturas en grado ºF, que cuente las temperaturas en K cuya mitad sea mayor de 50, promedio de las temperaturas en ºCelsius mayores a 25, suma de los cuadrados de las temperaturas en ºF mayores de 300, suma de las dos primeras temperaturas en escala ºK.

Tengo hasta ahora lo siguiente:

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
VAR K, I, X, TM50, STM25, CTM25, SPT: INTEGER;
STF, F, C, PROM: REAL;
begin
K:= STRTOINT (INPUTBOX ('CANTIDAD DE VALORES A PROCESAR', 'CANTIDAD DE TEMPERATURAS', ''));
TM50:=0; STM25:=0; CTM25:=0; SPT:=0;
FOR I:=1 TO K DO
begin
X:=STRTOINT (INPUTBOX ('LISTA DE TEMPERATURAS', 'TEMPERATURA Nº ' + INTTOSTR (I),''));
F:=((9/5)*K)-459.67;
IF (I=1) THEN STF:=F+X;
IF (X/2>50) THEN TM50:=TM50+1;
C:=K-273;
IF(C>25) THEN
begin
STM25:=STM25+X; CTM25:=CTM25+1;
end;
IF (F>300) THEN STF:=STF+X;
IF (I>K+2) THEN SPT:=SPT+X;
end;
SHOWMESSAGE ('SUMA DE TEMPERATURAS EN ºF = ' + FLOATTOSTR (F));
SHOWMESSAGE ('CANTIDAD DE TEMPERATURAS LEIDAS CUYA MITAD ES MAYOR DE 50 = ' + INTTOSTR (TM50));
SHOWMESSAGE ('PROMEDIO DE TEMPERATURAS EN ºC MAYORES A 25 = ' + FLOATTOSTR (STM25/CTM25));
SHOWMESSAGE ('SUMA DE LAS DOS PRIMERAS TEMPERATURAS EN K = ' + INTTOSTR (SPT));
SHOWMESSAGE ('SUMA DE LOS CUADRADOS DE ºF MAYORES DE 300 = ' + FLOATTOSTR (SQR(STF)));
end;
end.

la aplicacion corre pero no esta bien, no realiza las acciones, alguien me puede ayudar?

:confused:

Neftali [Germán.Estévez] 23-07-2007 09:49:01

Cita:

Empezado por Quimico
...la aplicacion corre pero no esta bien, no realiza las acciones, alguien me puede ayudar?

Has explicado bien el programa y el código está expuesto, pero no has hablado mucho del error.
¿Qué quieres decir con que corre pero no está bien?
¿Da algun error? ¿Cual?
¿Has ejecutado el programa paso a paso? Si no lo has hecho, hazlo y ves comprobando los cálculos uno a uno.

Robert01 23-07-2007 17:19:36

Si no he mirado mal hay un problema con la definición de variables.

Código Delphi [-]
var STM25, CTM25, SPT: INTEGER;


y luego haces

Código Delphi [-]
SHOWMESSAGE ('PROMEDIO DE TEMPERATURAS EN ºC MAYORES A 25 = ' + FLOATTOSTR (STM25/CTM25));


Yo lo que haría sería cambiar STM25 y CTM25 a float;

Saludos

Robert01 23-07-2007 17:32:47

Hay un error de lógica en el programa.

K es la cantidad de temperaturas a ingresar, un entero por lo tanto, pero luego haces C:= K - 273; ¿C es una temperatura? ¿y que es K aquí? pareciera ser grados Kelvin.

¿Porque no pruebas ingresando los valores en un editbox o tomarlos de un archivo para ver en donde está el error?

Saludos

Quimico 24-07-2007 04:51:34

Si, K en la formula la represento como la temperatura en Kelvin, pero ya K la he declarado como variable entera correspondiente a la cantidad de temperaturas, en ese caso en el calculo de C el valor correcto es X en vez de K, ya que X es el valor real de la temperatura, alli estaba el error, igual en el calculo de F.

Pues el error es que no hacia todos los calculos correctos, al momento de colocar valores de K los valores de F resultaban negativos siendo que por calculo directo resultan positivos.

Wow, muchas gracias, fue de muxa utilidad sus respuestas, soy estudiante de Ingenieria Quimica como mi segunda carrera y estoy viendo programacion en delphi como materia obligatoria :(, por eso las dudas.

Pasado mañana tengo evaluacion practica, cualquier duda les pedire su ayuda.


La franja horaria es GMT +2. Ahora son las 03:57:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi