Criei uma função para fórmula de Bhaskara.
Fique a vontade para modificá-la e usar em seus programas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
//programa para calcular equações quadráticas imprima"digite o valor de a depois de b e c:\n(na ausência de 'c' coloque zero ou dê ENTER apenas)\n" es.escreva'a: '; a = convnumero(leia()); es.escreva'b: '; b = convnumero(leia()); es.escreva'c: '; c = convnumero(leia()); a = a ou 1; b = b ou 1; c = c ou 0; funcao Bhaskara(a,b,c) local delta = b^2 - (4*a*c); se delta < 0 entao imprima('Delta Negativo, não possui resolução\nEnter para sair...'); leia(); sis.saia(1); senaose delta == 0 entao imprima('Delta = 0, apenas uma solução:'); fim local res_delta = mat.raizquad(delta); local xa1 = (-1 * b) + res_delta local xa2 = 2 * a; se xa2 == 0 entao erro'Divisao por zero' fim local x1 = xa1 / xa2; local xb1 = (-1 * b) - res_delta; local xb2 = (2 * a ); se xb2 == 0 entao erro'Divisao por zero' fim local x2 = xb1 / xb2; //imprima( "valor b - =", xb1 .. ' / ' .. xb2 ..' = ' .. x2); retorne {x1, xa1,xa2} , {x2,xb1,xb2}; fim b1 , b2 = Bhaskara(a,b,c); imprima( "\nvalor b + =" , b1[2] .. ' / ' .. b1[3] .. ' = ' .. b1[1]); imprima( "valor b - =" , b2[2] .. ' / ' .. b2[3] .. ' = ' .. b2[1]); /** b[1] = resultado final +/- b[2] = parte de cima da fração b[3] = parte de baixo da fração **/// |
Falou gente, até a próxima.