Buscar

Programa HP prime - LaGrange

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

LOCAL funcao(lista)
BEGIN
 LOCAL tamanho:= SIZE(lista);
 LOCAL u;
 
FOR u FROM 1 TO tamanho DO
 IF lista(u)<0 THEN
 return u;
END; 
END;
RETURN tamanho;
END;
///////////////////////////////////////////////////
EXPORT LaGrange()
BEGIN
LOCAL lista;
PRINT();
INPUT({{lista,[6],{35,15,1}}},"Calc. de LaGrange","Lista de índices:","Respeite a ordem polinominal decrescente!!!");
PRINT(lista);
LOCAL tamanho,k;
tamanho:=SIZE(lista);
 k:= tamanho-funcao(lista);
lista:=revlist(lista);
LOCAL n,b,an,p;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
///
///
///
//////////////////////////////////// Limite Superior
IF n<>k THEN
lista:=revlist(lista);
n:=0;
b:=0;
an:=0;
k:=0;
k:= tamanho-funcao(lista);
lista:=revlist(lista);
LOCAL n,b,an;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
LOCAL superior,x;
x:= (n-k);
superior:= (1+((((b/an))^(1/(x)))));
PRINT("Limite Superior: " +superior);
END;
///
///
///
IF n==k THEN
lista:=revlist(lista);
n:=0;
b:=0;
an:=0;
k:=0;
 FOR p FROM 1 TO tamanho DO
 lista(p):= (lista(p)*(-1));
 END;
k:= tamanho-funcao(lista);
lista:=revlist(lista);
LOCAL n,b,an;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
LOCAL superior,x;
x:= (n-k);
superior:= (1+((((b/an))^(1/(x)))));
PRINT("Limite Superior: " +superior);
lista:=revlist(lista);
FOR p FROM 1 TO tamanho DO
 lista(p):= (lista(p)*(-1));
 END;
END;
/////////////////////////////////////////////
//////////////Limite Inferior Positivo
LOCAL x:=0;
k:=0;
 k:= tamanho-funcao(lista);
lista:=revlist(lista);
n:=0;
b:=0;
an:=0;
x:=0;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
LOCAL inferior,div;
lista:=revlist(lista);
///
///
/// 
IF n<>k THEN 
k:=0;
 k:= tamanho-funcao(lista);
lista:=revlist(lista);
n:=0;
b:=0;
an:=0;
x:=0;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
LOCAL inferior,div;
x:= (n-k);
inferior:= (1+(((b/an)^(1/(x)))));
div:=(1/(inferior));
PRINT("Limite Inferior Positivo: " +div);
END;
///
///
///
IF n==k THEN
k:=0;
 k:= tamanho-funcao(lista);
lista:=revlist(lista);
n:=0;
b:=0;
an:=0;
 FOR p FROM 1 TO tamanho DO
 lista(p):= (lista(p)*(-1));
 END;
k:= tamanho-funcao(lista);
lista:=revlist(lista);
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
LOCAL inferior,div;
x:= (n-k);
inferior:= (1+(((b/an)^(1/(x)))));
div:=(1/(inferior));
PRINT("Limite Inferior Positivo: " +div);
lista:=revlist(lista);
FOR p FROM 1 TO tamanho DO
 lista(p):= (lista(p)*(-1));
 END;
lista:=revlist(lista);
END;
///////////////////////////////////////////////////////////////
///////////////// Limite Inferior Negativo - listas aparecendo como digitado
lista:=revlist(lista);
LOCAL i:=1;
FOR i FROM i TO tamanho DO
 IF ((i+1) MOD 2)<>0 THEN
lista(i):= (lista(i)*(-1)); 
END;
END;
n:=0;
b:=0;
an:=0;
x:=0;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
lista:=revlist(lista);
k:= tamanho-funcao(lista);
LOCAL inferiorneg;
///
///
///
IF n<>k THEN
lista:=revlist(lista);
LOCAL i:=1;
n:=0;
b:=0;
an:=0;
x:=0;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
lista:=revlist(lista);
k:= tamanho-funcao(lista);
LOCAL inferiorneg;
x:= (n-k);
inferiorneg:= ((1+(((b/an)^(1/(x)))))*(-1));
PRINT("Limite Inferior Negativo: " +inferiorneg);
END;
///
///
///
IF n==k THEN
lista:=revlist(lista);
LOCAL i:=1;
n:=0;
b:=0;
an:=0;
x:=0;
 FOR p FROM 1 TO tamanho DO
 lista(p):= (lista(p)*(-1));
 END;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
lista:=revlist(lista);
k:= tamanho-funcao(lista);
LOCAL inferiorneg;
x:= (n-k);
inferiorneg:= ((1+(((b/an)^(1/(x)))))*(-1));
PRINT("Limite Inferior Negativo: " +inferiorneg);
END;
/////////////////////////////////////////////////////////////////
//////////////// Superior Negativo - Lista aparece como digitado
n:=0;
b:=0;
an:=0;
x:=0;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
lista:=revlist(lista);
 k:= tamanho-funcao(lista);
lista:=revlist(lista);
LOCAL supneg,conta;
IF n<>k THEN
n:=0;
b:=0;
an:=0;
x:=0;
 n:=(tamanho-1);
 b:=(min(lista)*(-1));
 an:= lista(tamanho);
lista:=revlist(lista);
 k:= tamanho-funcao(lista);
LOCAL supneg,conta;
x:= (n-k);
conta:= ((1+(((b/an)^(1/(x)))))*(-1));
supneg:= (1/(conta));
PRINT("Limite Superior Negativo: " +supneg);
END;
IF n==k THEN
n:=0;
b:=0;
an:=0;
x:=0;
 FOR p FROM 1 TO tamanho DO
 lista(p):= (lista(p)*(-1));
 END;
n:=(tamanho-1);
b:=(min(lista)*(-1));
an:= lista(tamanho);
lista:=revlist(lista);
 k:= tamanho-funcao(lista);
LOCAL supneg,conta;
x:= (n-k);
conta:= ((1+(((b/an)^(1/(x)))))*(-1));
supneg:= (1/(conta));
PRINT("Limite Superior Negativo: " +supneg);
END;
END;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais