define f(x) { return ((x+7)*(x-5));} define df(x) {return x+7 + x-5;} define testa_troca_sinal(inicio, fim) { local teste=0; ## variavel lógica if (f(inicio)*f(fim) <= 0) teste = 1; return(teste); } define raiz_tangente(inicio, fim){ while (abs(f(inicio)) > 0.01){ inicio = inicio - f(inicio)/df(inicio); print inicio; } return(inicio); } define principal(inicio, fim, delta) { local temp = 0; while(inicio < fim) { if (testa_troca_sinal(inicio, inicio+delta)){ temp = raiz_tangente(inicio, inicio+delta); print "[",inicio, ",", inicio+delta, "] \n"; } inicio = inicio + delta; } return(temp) } a = -8.9; b = 8; passo = 0.3 print "Procurando as raízes no intervalo [",a,",",b,"] com passo", passo print principal(a,b,passo) ## isto é um comentário !! ## for (x=-9;x<=8;x+=passo) print "[", x, x+passo,"]", testa_troca_sinal(x, x+passo) quit