Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/11/2007, 05:56
Avatar de dogduck
dogduck
 
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 19 años, 1 mes
Puntos: 19
Re: alguien me puede ayudar con un ejercicio en turbo pascal

Investiga si matematicamente existe algún algoritmo (método, formula,...) para determinar la razón de una sucesión geométrica de números, y si no haya la razón -> no es una sucesión geométrica, siempre contemplando las excepciones y singularidades ...
Cita:
http://www.hiru.com/es/matematika/matematika_01100.html

Progresiones geométricas

Otra forma común de sucesión es la constituida por las llamadas progresiones geométricas. Estas progresiones se definen como aquellas en las que cada término se obtiene multiplicando el anterior por un valor fijo predefinido que se conoce como razón.

El término general an de una progresión geométrica puede escribirse como:
an = a1 × r^(n-1)
ya tienes el concepto matemático, ahora, si tomas neperianos en esa expresión:
ln(an)=ln(a1xr^(n-1)) <=> ln(an) = ln(a1)+(n-1)ln(r) => luego r=e^((ln(an)-ln(a1))/(n-1))



Una vez que sepas como lo hacen los matemáticos traduces el algoritmo a turbo pascal. Aunque yo lo haria en pascal objects ( delphi )

Pero para no complicártelo te diré que seria tan facil como tener los números de la sucesión en un array o matriz de una dimensión o vector sucesion[i] y que simplemente di divides sucesion[i+1]/sucesion[i] siempre ha de darte por resultado la razón de la sucesión geométrica, luego barres el vector y lo compruebas

Algoritmo ( a depurar )
Para i=0 hasta i=nº elementos del vector sucesion -1 hacer
razon[i]:=sucesion[i+1]/sucesion[i];
fin para
salu2

i=0
mientras i< nº elementos vector razon-1 hacer
si razon[i]=razon[i+1] entonces si es sucesion geometrica
sino entoces no es sucesion geometrica y salir
i:=i+1;
fin mientras

Última edición por dogduck; 25/11/2007 a las 07:16