define f(x) {return x**2 + 3*x -4;} 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 riemann(inicio, fim, delta){ local transfere = fopen("exer05_00.gnuplot","a"); local soma = 0; fprintf(transfere, "f(x) = x**2 + 3*x -4; \n"); fprintf(transfere, "set xrange [-3:3] \n"); fprintf(transfere, "set pointsize 0.1 \n"); while(inicio < fim){ soma = soma + f(inicio); fprintf(transfere, "set arrow from %f,%f to %f,%f nohead \n",\ inicio, 0, inicio, f(inicio)); inicio +=delta; } fprintf(transfere, "print \"o valor da integral aproxim. é \", %f \n",soma*delta); fprintf(transfere, "print \"Aperte enter para ver o gráfico\" \n"); fprintf(transfere, "pause -2 \"\n"); fprintf(transfere, "plot f(x),0 \n"); fprintf(transfere, "print \"Aperte enter para terminar \" \n"); fprintf(transfere, "pause -2 \n"); fprintf(transfere, "system \"clear\" \n"); fclose(transfere); } copyleft(); riemann(0,1,0.01); ##system("joe exer05_00.gnuplot") system("gnuplot exer05_00.gnuplot ");