define copyleft(){ local transfere = fopen("exer05_00.gnuplot","w"); fprintf(transfere,"print \" \" \n"); fprintf(transfere,"print \" \" \n"); fprintf(transfere,"print \"============================================================\"\n"); fprintf(transfere,"print \" Os direitos do autor e a GPL \"\n"); fprintf(transfere,"print \"============================================================\"\n"); fprintf(transfere,"print \" \"\n"); fprintf(transfere,"print \"Este programa é distribuido sob GPL. \"\n"); fprintf(transfere,"print \"Se você não souber o que é a GPL, envie um e-mail ao autor \"\n"); fprintf(transfere,"print \" tarcisio@member.ams.org \"\n"); fprintf(transfere,"print \"mas em suma quer dizer que você pode usar livremente o sistema\"\n"); fprintf(transfere,"print \"de programas aqui mencionados, desde que esta informação seja mantida\"\n"); fprintf(transfere,"print \"em todas as alterações que você fizer dos programas e das cópias que \"\n"); fprintf(transfere,"print \"você deles fizer - é a proteção do direito autoral que não lhe impede\"\n"); fprintf(transfere,"print \"de usar livremente o conhecimento mas que mantém na memória quem \"\n"); fprintf(transfere,"print \"participou de sua produção.\"\n"); fprintf(transfere,"print \"Este programa foi escrito por Tarcisio Praciano-Pereira \"\n"); fprintf(transfere,"print \"professor da Universidade Estadual Vale do Acaraú - UeVA \"\n"); fprintf(transfere,"print \"Laboratório de Matemática Computacional \"\n"); fprintf(transfere,"print \"Sobral - Ceará - Brasil \" \n"); fprintf(transfere,"print \"Aperte enter para continuar!\"\n"); fprintf(transfere,"pause -2 \n"); fprintf(transfere,"system \"clear\" \n"); fprintf(transfere,"print \"Este programa foi gerado pela programa exer05_00.calc e pode voltar a ser\"\n"); fprintf(transfere,"print \"gerado pelo programa com dados diferentes para obter o gráfico de uma\"\n"); fprintf(transfere,"print \"função viasualizando a sua integral calculada aproximadamente por somas\"\n"); fprintf(transfere,"print \"de Riemann.\"\n"); fprintf(transfere,"print \"Basta que você troque aqui a equação da função nos locais \"\n"); fprintf(transfere,"print \"adequados e volte a rodar exer05_00.calc \"\n"); fclose(transfere); } define F(x,y) {return (1+x)*sin(y);} define dup_riemann_dydx(inicioX, fimX, inicioY, fimY, N,M){ local soma = 0,x=inicioX,y; local deltax = (fimX-inicioX)/N, deltay = (fimY-inicioY)/M; while(x < fimX){ y = inicioY; while(y < fimY){ soma = soma + F(x,y); y+=deltay; } x +=deltax; } return(soma*deltax*deltay) } define dup_riemann_dxdy(inicioY, fimY, inicioX, fimX, N,M){ local soma = 0,y=inicioY,x; local deltax = (fimX-inicioX)/N, deltay = (fimY-inicioY)/M; while(y < fimY){ x = inicioX; while(x < fimX){ soma = soma + F(x,y); x+=deltax; } y +=deltay; } return(soma*deltax*deltay) } ##copyleft(); ##riemann(0,1,0.01); ##system("joe exer05_00.gnuplot") ##system("gnuplot exer05_00.gnuplot "); inicioX=3; fimX=10; inicioY=-3; fimY=7; N = 1000; M=1000; define main(inicioX, fimX, inicioY, fimY, N,M){ print dup_riemann_dydx(inicioX, fimX, inicioY, fimY, N,M); print dup_riemann_dxdy(inicioY, fimY, inicioX, fimX, N,M); return(0); } print "integral no retângulo [",inicioX,",",fimX,"]x[",inicioY,",",fimY,"] com N=M =",1000; print "calculando ........" main(inicioX, fimX, inicioY, fimY, N,M);