Ir ao conteúdo
  • Cadastre-se

Programa em pascal


Ir à solução Resolvido por dontpanic,

Posts recomendados

Preciso de ajuda para terminar um programa em pascal.

o exercício pede:

 

Faça um programa que calcule e imprima os valores da seguinte função:

F=X²+3x+y²/xy-5y-3x+15

 

para x=1,4,9,16,....100 e y=0,1,2,...,5 para cada valor de x.

 

Pelo que eu entendi para cada valor de x que vai de 1² ate 10² eu faço y de 0 a 5.

como eu não sei se eu posso usar for 1² ate 10², eu fiz de 1 a 10 e joguei expoente 2 direto na função e ficou assim:

Program funcao;VARF:Real;x,y:integer;BeginFor x:= 1 to 10 dobeginfor y:= 0 to 5 dobeginF:=(((exp(4*ln(x)))+(3*(sqr(x)))+(sqr(y)))/(((sqr(x))*y)-(5*y)-(3*(sqr(x)))+15));Writeln(F:10:2)end;end;  End.

Do jeito que eu montei o programa chega uma hora que da divisão por 0 e o programa para. É o primeiro programa que eu faço usando o comando "para até faça"  provavelmente o comando esta errado ou então eu não entendi direito o que o exercício pede.

alguém me ajuda a encontrar o erro e se possível trocar o comando "para até faça" por um que se encaixe melhor nesse exercício. 

Link para o comentário
Compartilhar em outros sites

  • Solução

Teu programa tá correto.

É que a parte do divisor da função dá zero mesmo as vezes.

Pra consertar isso você pode tentar separar a função em dividendo e divisor, e testar se o divisor é diferente de zero a cada iteração.

Program funcao;VAR    F: Real;    G: Real;    x,y: integer;    t: integer;    Begin    For x:= 1 to 10 do    begin        t := x*x;        for y:= 0 to 5 do        begin            F := (t*t) + (3*t) + (y*y);            G := (t*y) - (5*y) - (3*t) + 15;            if (G <> 0) then writeln(F/G);        end;    end;  End.
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...