define copyleft() { system("clear"); printf(" \n"); printf(" \n"); printf("============================================================\n"); printf(" Os direitos do autor e a GPL \n"); printf("============================================================\n"); printf(" \n"); printf("Este programa é distribuido sob GPL. \n"); printf("Se você não souber o que é a GPL, envie um e-mail ao autor \n"); printf(" tarcisio@member.ams.org \n"); printf("mas em suma quer dizer que você pode usar livremente o sistema\n"); printf("de programas aqui mencionados, desde que esta informação seja mantida\n"); printf("em todas as alterações que você fizer dos programas e das cópias que \n"); printf("você deles fizer - é a proteção do direito autoral que não lhe impede\n"); printf("de usar livremente o conhecimento mas que mantém na memória quem \n"); printf("participou de sua produção.\n"); printf("Este programa foi escrito por \n"); printf("Tarcisio Praciano-Pereira - tarcisio@member.ams.org \n"); printf("Laboratório de Matemática Computacional - Curso de Computação \n"); printf("Universidade Estadual Vale do Acaraú - UeVA \n"); printf("Sobral - Ceará - Brasil " ); apeteco2(); system("clear"); } define apeteco2() { local temporario; printf("%s","================================================= "); printf("%c%c%c%c%c\n",7,7,7,7,7); printf(" Aperte para continuar "); scanf("%c", temporario);scanf("%c", temporario); return temporario; } pi2 = 8*atan(1); ## 2*pi ## expansão do seno define P_seno(x,n,k,y) { if (k==n) return(y); else return P_seno(x, n, k+1, y+dseno(k)*power(x,k)/fact(k) ); } define dseno(n) { return( (n%4==0)?0:(n%4==1)?1:(n%4==2)?0:-1 );} define dcoseno(n) { return( (n%4==0)?1:(n%4==1)?0:(n%4==2)?-1:0 );} define P(x,n,k,y) { if (k==n) return(y); else return P(x,n,k+1,y*x);} ## expansão do coseno define P_coseno(x,n,k,y) { if (k==n) return(y); else return P_coseno(x,n,k+1, y+dcoseno(k)*power(x,k)/fact(k)); } define seno(x,n) { local y=0; local pi2 = 8*atan(1); ## pi local k=0, sinal=1; if (x < 0) {sinal = -1; x = -x;} ## porque sin(x) é impar while(k*pi2 < x) k++; ## determinando a congruência módulo 2*pi de |x| y = x - (k-1)*pi2 ; ## determinando a congruência módulo 2*pi de |x| return(sinal*P_seno(y,n,0,0)) ## se x for negativo, sinal = -1 } define coseno(x,n) { local y = 0; local pi2 = 8*atan(1); ## 2*pi local k=0; if (x < 0) {x = -x;} ## porque cos(x) é par while(k*pi2 <= x) k++; ## determinando a congruência módulo 2*pi2 de |x| y = x - (k-1)*pi2 ; ## determinando a congruência módulo 2*pi2 de |x| return(P_coseno(y,n,0,0)) } ## rode esta função define main2(inicio, fim) { local teste=0; ## usado com aperte enter para continuar... noticia(); system("rm exer02_item09_dados"); local dados = fopen("exer02_item09_dados","w"); local delta = 0.01; local x=inicio; while (x