Jump to content
Sign in to follow this  
[_Silence_]

[Closed Source] Fórmula Resolvente (n00b inside)

Recommended Posts

[_Silence_]

Deixo aki o link pá ultima versão do meu 1º programa, feito apenas com alguma leitura deste forum e de uns tutorials.

Basicamente o programa efectua a Fórmula Resolvente, indicando os zeros da função e a localização do vértice da parábola, mt simples, razoável para 1º programa =)

http://pwp.netcabo.pt/orlandojdr/formula1.2.rar

Share this post


Link to post
Share on other sites
[_Silence_]
A linguagem utilizada foi o Pascal não foi? :D

Foi sim =)

Até gostei bastante de o fazer, e (riam-se!) o mais complicado foi conseguir dar os resultados sem ser em notação cientifica :O eheheh

Share this post


Link to post
Share on other sites
deathseeker25
Citação
Citação
A linguagem utilizada foi o Pascal não foi? :D

Foi sim =)

Até gostei bastante de o fazer, e (riam-se!) o mais complicado foi conseguir dar os resultados sem ser em notação cientifica :O eheheh

Pois...ao início as coisas simples parecem-nos bastante complicadas...Tambem brevemente colocarei aqui os meus projectos em Pascal e alguns em C....

Cumps

Share this post


Link to post
Share on other sites
redhat

o pai orlando que saiba que andas a gastar o ftp da netcabo hihihihih j/k :D

Força eh assim que se começa! se alguem quiser, posso transcrever o code para C para terem termo de comparaçao!

:D

Abraços!


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
melSpeedl.ine
o pai orlando que saiba que andas a gastar o ftp da netcabo hihihihih j/k :D

Força eh assim que se começa! se alguem quiser, posso transcrever o code para C para terem termo de comparaçao!

:D

Abraços!

muito interessante a tua ideia!

e visto que ando a começar no C... seria excelente poder comparar os dois codes...

cumps e fiquem bem

Share this post


Link to post
Share on other sites
vbmaster

hum.....ja fiz isso em vb que devido ao seu ide torna tudo muito simples......

se kiserem o link depois mando......

Share this post


Link to post
Share on other sites
redhat

silence, dp posta o codigo para eu "transcrever" (nao me apetece criar de raiz :X)

Abraço!


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
deathseeker25
hum.....ja fiz isso em vb que devido ao seu ide torna tudo muito simples......

se kiserem o link depois mando......

Força com isso.... :D   :D

Share this post


Link to post
Share on other sites
[_Silence_]
silence, dp posta o codigo para eu "transcrever" (nao me apetece criar de raiz :X)

Abraço!

Mais logo posto, k vou agora fazer uma instalação nova do Windows.

Share this post


Link to post
Share on other sites
redhat

bota ghost nisso! eh o que da esticares com a prommy :D dp rebentas com o windows :D :D:D


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
[_Silence_]
bota ghost nisso! eh o que da esticares com a prommy :) dp rebentas com o windows :D :D:D

Nepes, andei a exprimentar o Windows XP x64, mas pa OC sucka =(

Anyway aki tens o código:

Program FormulaResolvente;
uses
crt;
label
inicio, fim;
var
tecla : char;
A : real;
B : real;
C : real;
D : real; {o k ta dentro da raiz kuadrada da formula resolvente}
X : real; {coordenada X do vertice}
raiz1 : real;
raiz2 : real;
Begin
inicio:
clrscr;
writeln( 'Introduz o valor de A:' );
readln( A );
writeln( 'Introduz o valor de B:' );
readln( B );
writeln( 'Introduz o valor de C:' );
readln( C );
d:= (b*b)-(4*a*c);
if d < 0 then
begin
writeln;
writeln('Raizes de numeros negativos nao existem ');
goto fim;
end
else
raiz1:= (-b+sqrt(d))/(2*a);
raiz2:= (-b-sqrt(d))/(2*a);
BEGIN
writeln;
writeln('1¦ Raiz = ',raiz1 : 0 : 5);
writeln('2¦ Raiz = ',raiz2 : 0 : 5);
END;
X:= (raiz1+raiz2)/2;
Begin
writeln;
writeln('Coordenada X do vertice : ',X : 0 : 5);
writeln('Coordenada Y do vertice : ',(A*sqr(x))+(B*X)+C : 0 : 5);
end;
Begin
fim:
writeln; writeln;
writeln('Deseja voltar ao inicio? (s/n)');
tecla := readkey;
if (tecla = 's') or (tecla = 'S') then goto inicio
end;
clrscr;
writeln('Obrigado e volte sempre =)');
readkey;
end.

Boa sorte nessa conversão =)

Share this post


Link to post
Share on other sites
redhat

ahhh eu pedi-te na altura na tech para testares!! se sucka, ja n instalo :)

Vou converter isso!

int main()
{
   int a, b, c;
   float d, raiz1, raiz2,x,y;
   char tecla='s';

   fflush(stdin);

   while(tecla == 's' || tecla == 'S')
   {
     printf("Introduz o valor de A: ");
     scanf(" %d", &a);

     printf("Introduz o valor de B: ");
     scanf(" %d", &b);

     printf("Introduz o valor de C: ");
     scanf(" %d", &c);

     d = ((-4)*a*c);

     if(d<0)
     {
       printf("Raizes de numeros negativos nao existem\n");
     }

     else
     {
         raiz1 = (-b+sqrt(d))/(2*a);
         raiz2 = (-b-sqrt(d))/(2*a);

         printf("1| Raiz = %f\n", raiz1);
         printf("2| Raiz = %f\n", raiz2);

         x = (raiz1+raiz2)/(2);
         y = (a*x*x)+(b*x)+c;

         printf("Coordenada do vertice em X = %f\n", x);
         printf("Coordenada do vertice em Y = %f\n", y);
     }

     printf("Deseja voltar ao inicio? (s/n): ");
     scanf(" %c", &tecla);
   }

   return 0;
}

Nao testei isto a ver se compila!!! :X nao me flamem ja :D

EDIT: Ok isto funca mas n ta bem!!! ja arranjo! :)

EDIT2: Ja funca para as raizes!! o calculo dos vertices esta mal... sera que é a tua formula silence??

EDIT3: That should do it :)


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
redhat

quem nao tiver as libs do vb fica agarrado... tenta fazer include disso...

n sei pk, achei 17kB mto pouco.


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
vbmaster
quem nao tiver as libs do vb fica agarrado... tenta fazer include disso...

n sei pk, achei 17kB mto pouco  ;)

Podes sempre ver o executável que tem lá uma opção para veres o código fonte.....mas só o da form principal porque o resto não interessa muito....e sim, não tem mais que 17 KB (zipado), o executável tem 50 ou 60 KB.

Se calhar está muito simples, mas eu tbm não precisei de mais na altura.....

Fiquem bem :D ;):D

Share this post


Link to post
Share on other sites
[_Silence_]
EDIT2: Ja funca para as raizes!! o calculo dos vertices esta mal... sera que é a tua formula silence??

Nope, as formula k usei tão correctas. Coordenada X do vértice fazes a semi-soma dos zeros da função. Depoix a coordenada Y é substituir na função o X pelo valor de X e dá o Y.

Share this post


Link to post
Share on other sites
redhat

explica la isso direitinho.... :oops:


Software is like sex... it's better when it's free

in the old days

P@P "C" && "Linux" Moderator

Share this post


Link to post
Share on other sites
[_Silence_]
explica la isso direitinho.... :oops:

Uma fórmula resolvente serve pa resolver uma ekuação do tipo: AX^2+BX+C. Isto com um valor para A, outro pa B e outro pa C. Tendo esses 3 valores usas a dita fórmula: -B+-(raiz(B^2-4*A*C)/2A). O +- indica k dá um resultado fazendo a formula com - e outro fazendo com +. Esses 2 resultados são as ditas raizes. Agora falta descobrir o vértice da parábola (a equação inicial é de uma parábola). Para isto somas as duas raizes k te deu e divides por 2. O valor k der corresponde  coordenada X. Para saber a coordenada Y vais  ekuação AX^2+BX+C e substituis o X pelo valor da coordenada X. O resultado desta operação dáte a coordenada Y.

Basicamente é isto k o meu programa faz =)

Alg dúvida? (deve tar algo confuso :S)

Share this post


Link to post
Share on other sites
vbmaster

Bem simples por acaso..... ;)

realmente sinto-me estupido.... :shock: ...nas minha aulas de mat fizemos (pois porque agr é férias :D )...grande malukices para achar o vertice da parabola e no fundo é tão simples.....mas tambem a minha matemática não é assim tao avançada.....sou mais novo do que pode parecer, so acho estupido não nos terem ensinado logo dessa maneira (seria melhor para os alunos mais fracos...)......pelo menos o valor x.

Claro que usar a minha TI 84 Plus é mais simples....lol.....(just kidding) :D

Fiquem bem;):D ;)

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.