system "clear" print " " print " " print "============================================================" print " Os direitos do autor e a GPL " print "============================================================" print " " print "Este programa é distribuido sob GPL. " print "Se você não souber o que é a GPL, envie um e-mail ao autor " print " tarcisio@member.ams.org " print "mas em suma quer dizer que você pode usar livremente o sistema" print "de programas aqui mencionados, desde que esta informação seja mantida" print "em todas as alterações que você fizer dos programas e das cópias que " print "você deles fizer - é a proteção do direito autoral que não lhe impede" print "de usar livremente o conhecimento mas que mantém na memória quem " print "participou de sua produção." print "Este programa foi escrito por Tarcisio Praciano-Pereira " print "professor da Universidade Estadual Vale do Acaraú - UeVA " print "Laboratório de Matemática Computacional - Curso de Matemática " print "Sobral - Ceará - Brasil " print "Aperte enter para continuar!" pause -2 system "clear" print "Derivação algorítmica - ilustrando como verificar um erro na derivação." print "Este programa tem um erro no cálculo de uma das derivadas " print "de v. " print "Vou mostrar como se pode detectar estes erros usando gráficos de" print "uma função e sua derivada, com gnuplot. " print " " print "Acompanhe os gráficos e os comentários arrastando o terminal gráfico" print "do gnuplot para o lado, deixando este terminal visível." print "Matenha o cursor dentro deste terminal para que você possa acionar " print "o \"enter\". Os comentários vão orientá-lo a compreender qual é" print "a derivada que está errada." print " " print "Observe que algumas das derivadas foram calculadas corretamente." print "Aperte enter para continuar!" pause -2 system "clear" print "O erro fica visível no gráfico simultâneo de dddv, ddv " print "u(x) = sin(x+4);" print "du(x) = cos(x+4)" print "ddu(x) = -sin(x+4)" print "dddu(x) = -cos(x+4)" print "" print "h(x) = 1 + x**2" print "dh(x) = 2*x" print "ddh(x) = 2" print "dddh(x) = 0" print "Aperte enter para continuar!" pause -2 u(x) = sin(x+4); du(x) = cos(x+4) ddu(x) = -sin(x+4) dddu(x) = -cos(x+4) h(x) = 1 + x**2 dh(x) = 2*x ddh(x) = 2 dddh(x) = 0 print "v(x) = 1/h(x)" print "dv(x) = -dh(x)/h(x)**2 " print "##ddv(x) = ( -ddh(x)*h(x)**2 - -dh(x)*2*h(x)*dh(x) )/h(x)**4" print "##ddv(x) = ( -ddh(x)*h(x)**2 + 2*h(x)*dh(x)**2 )/h(x)**4" print "##ddv(x) = ( -h(x)*ddh(x) + 2*dh(x)**2 )/h(x)**3" print "##ddv(x) = ( -1 - x**2 + 8*x**2 )/h(x)**3" print "ddv(x) = (7.0*x**2 - 1.0)/h(x)**3" print "dddv(x) = (14.0*x*h(x)**3 - 3*(7.0*x**2 -1.0)*h(x)*dh(x))/h(x)**6" print "Aqui está o erro, ele vai ficar visível no gráfico. " print "Aperte enter para continuar!" pause -2 system "clear" print " " print " " print " " print "Vou pedir que gnuplot faça os gráficos das derivadas sucessivas de v" print "sempre aos pares, de modo que você possa comparar uma função e sua" print "derivada. Você verá assim qual é a derivada que foi calculada errado." print "Aperte enter para continuar!" pause -2 system "clear" v(x) = 1/h(x) dv(x) = -dh(x)/h(x)**2 ##ddv(x) = ( -ddh(x)*h(x)**2 - -dh(x)*2*h(x)*dh(x) )/h(x)**4 ##ddv(x) = ( -ddh(x)*h(x)**2 + 2*h(x)*dh(x)**2 )/h(x)**4 ##ddv(x) = ( -h(x)*ddh(x) + 2*dh(x)**2 )/h(x)**3 ##ddv(x) = ( -1 - x**2 + 8*x**2 )/h(x)**3 ddv(x) = (7.0*x**2 - 1.0)/h(x)**3 dddv(x) = (14.0*x*h(x)**3 - 3*(7.0*x**2 -1.0)*h(x)*dh(x))/h(x)**6 print "O gráfico simultâneo de v, dv - verifique porque não está errado" print "Observe que os zeros da derivada coincidem com os pontos extremos" print "da função de quem ela é a derivada. Obviamente que isto não garan-" print "a correção, mas vai mostrar claramente quando houver erro." print "Não se esqueça de arrastar o terminal gráfico deixando este " print "terminal de texto livre para que você possa ler os comentários." print "Mantenha o cursor dentro deste terminal. " print "Aperte enter para continuar!" pause -2 system "clear" plot v(x), dv(x), 0 print "Aperte enter para continuar!" pause -2 system "clear" print "O gráfico simultâneo de dv, ddv - verifique porque não está errado" print "Observe que os zeros da derivada coincidem com os pontos extremos" print "da função de quem ela é a derivada. Obviamente que isto não garan-" print "a correção, mas vai mostrar claramente quando houver erro." print "Aperte enter para continuar!" pause -2 plot dv(x), ddv(x), 0 print "Aperte enter para continuar!" pause -2 system "clear" print "O gráfico simultâneo de ddv, dddv . " print "Verifique porque está errado !" print "Observe que os zeros da derivada não coincidem com os pontos extremos" print "da função de quem ela é a derivada. Isto mostra que a derivada dddu " print "foi calculada errado." print " " print " " print "A expressão dddv(x) não é a derivada de ddv(x) ! " print " " print " " print "Aperte enter para continuar!" pause -2 plot ddv(x), dddv(x), 0 print "Aperte enter para terminar!" pause -2 system "clear"