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