define copyleft() { print "Este programa é distribuido sob GPL. \n", "Se você não souber o que é a GPL, envie um e-mail ao autor \n", "tarcisio@member.ams.org \n", "mas em suma isto quer dizer que você pode usar livremente o sistema\n", "de programas aqui mencionados, desde que esta copyleft seja mantida\n", "em todas as alterações que você fizer do programa e das cópias que \n", "você dele fizer - é a proteção do direito autoral que não lhe impede\n", "de usar livremente o conhecimento mas que mantém a memória de quem \n", "participou de sua produção.\n"; } define informa() { copyleft(); print "O objetivo é o cálculo aproximado de integrais duplas, \n", "exemplificar a definição de domínios não retangulares,\n", "tornar intuitivo o cálculo de integrais múltiplas. \n"; } define apeteco2() { local temporario=0; printf("%s","================================================= \n"); printf(" Aperte para continuar \n"); scanf("%c",temporario); } informa(); ##define F(x,y) {return power(x,2) + power(y,2);} define G(x,y) {return 1;} define F(x,y) {return 1;} ## para calcular integral dxdy - o laço externo controla y define g2(y) {return sqrt(1 - power(y,2));} define g1(y) {return -sqrt(1 - power(y,2));} define integral_dxdy(iniY,fimY){ local soma = 0, deltax=0.01,deltay=0.01; local x, fimX; local y = iniY; while(y < fimY){ x = g1(y); fimX = g2(y); if (x > fimX) swap(x,fimX); while(x < fimX){ soma = soma + F(x, y); print '(',x,',',y,')'; x += deltax; } y += deltay; } return re(soma*deltax*deltay); } ## para calcular integral dydx - o laço externo controla x define h2(x) {return power(x,2);} define h1(x) {return x;} define integral_dydx(iniX,fimX){ local soma = 0, deltax=0.001,deltay=0.001; local x = iniX, fimY; local y; while(x < fimX){ y = h1(x); fimY = h2(x); if (y >= fimY) swap(y,fimY); ## troca y, fimY while(y < fimY){ soma = soma + F(x, y); print '(',x,',',y,')'; y += deltay; } x += deltax; } return re(soma*deltax*deltay); } define main(){ local a = 1; print integral_dydx(-a,a); quit; } main();