Pascal/Turbo Pascal - promedios

 
Vista:

promedios

Publicado por matias (5 intervenciones) el 08/09/2003 16:04:59
Buenas.
Tengo un problema que me pide que realize otra operacion si el resultado de PROM es multiplo de 11 ó 18. Por ej. EL programa lee 2 valores (R, S, T) si el promedio entre R y T es multiplo de 11 o 18 tengo que realizar la productoria de S. Una vez planteado esto, a "PROM" le asigné "PROM:=((R+T)/2)", lo cual me tendria que dar un valor para analizar si es multiplo o no. El tema es como hago la verificacion?. Se sabe que al resultado lo tengo que dividir por "algun numero" y me tiene que dar (PROM) 11 ó 18. Pero como hago la verificación para 1.2,3,4,5.......N? No se si se entiende.
Espero me puedan ayudar. Saludos. Matias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:promedios

Publicado por Diego Romero (786 intervenciones) el 08/09/2003 17:56:39
Evidentemente para poder comprobar que un número es multiplo de otro ese número no puede ser un número real, tiene que ser necesariamente entero, verifica si esto es un problema del enunciado.
Para solventarlo la formula en Pascal debe ser así:
PROM:=((R+T) div 2);
div es el operador que devuelve la división entera entre dos números.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:promedios

Publicado por matias (5 intervenciones) el 08/09/2003 18:24:26
Diego,
El problema es que el resultado que me tira PROM.. como hago para verificarlo? Por ejemplo, me dá 33, 33 es multiplo de 11 por que 11x3=33 pero como hago consistencia para todo los numero para que recorra desde 1 a N (hasta que dé o no).
Si tenes otra manera de verifiracar el numero para que sea multiplo de 11 ó 18, desde ya agradecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:promedios

Publicado por matias (5 intervenciones) el 08/09/2003 18:26:02
Diego,
El problema es que el resultado que me tira PROM.. como hago para verificarlo? Por ejemplo, me dá 33, 33 es multiplo de 11 por que 11x3=33 pero como hago consistencia para todo los numero para que recorra desde 1 a N (hasta que dé o no).
Si tenes otra manera de verifiracar el numero para que sea multiplo de 11 ó 18, desde ya agradecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:promedios

Publicado por Diego Romero (786 intervenciones) el 09/09/2003 04:00:18

var
A: Real;
Para el caso de 11, que es un número primo es facil, mira tu ecuación y sustituye el 3 por una X de incognita, pasa el 11 dividiendo al otro término para dejarla sola:
begin
...
A:=PROM/11;
if (Trunc(A) - A) = 0 then WriteLn('Es multiplo de 11');
...
end.
El resultado de la división real te dará A, que si es un número entero entonces es multiplo, esto lo compruebas truncando A en su parte entera y restandole A como número real, si la resta da cero es porque A no tiene parte fraccionaria, es decir es un entero.
Mas simple aún es esto
if ((PROM mod 11) = 0) then WriteLn('el número es multiplo de 11');
mod devuelve el resto de la división entera entre dos numeros, si es cero entonces es multiplo.
Lo mismo se aplica para el 18.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:promedios (gracias!!)

Publicado por matias (5 intervenciones) el 10/09/2003 00:09:39
Gracias, diego!
mil gracias.
matias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar