Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bortoli

Prova de programação

Recommended Posts

Ola, sou novo no forum, e sempre tive boas referencias do msm...

Se puderem por favor me ajudem neste exercicios que errei na avaliação de pascal na facul, eu aprender qual o caminho correto...

 

O enunciado é:

 

Faça um algoritmo para calcular: Y = X - 2X + 4X - 6X + 8X - 10X + … NX

 

meu programa chegou até o seguinte ponto:

 

Program Equacao{Y= x - 2x + 4x - 6x +8x - 10x... + nx} ;
var x,y,p,k: real;
i,n:integer;
 Begin
 writeln('Informe o valor de n');
 readln(n);
 writeln('Informe o valor de x');
 readln(x);
 y:=0;
 for i:=1 to n do
 begin
 if i=1 then p:=(exp(i*ln(-1)))*(2*i);
 if (i)mod(2)=0 then p:=(exp(i*ln(-1)))*(2*i);
 y:=y+(p*x);
 end;
 k:=x+y   ;
 writeln('O valor de Y na equação é: ', k);
 End.

* Ele nao da certo, pois ln(-1) não funciona, pois o logaritmando deve ser maior que zero... mas entao... o que fazer? o.o

 

Plz, aguardo respostas...

Já agradecido,

Tiago de Bortoli

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei em algo assim:

(vou mostrar a minha lógica)

inteiro y, cont;
y    <- 0;
cont <- 0;
para i de 1 até n faça
    se (i%2=0) então
        y <- y - ((i+cont)*x)
    senão
        y <- y + ((i+cont)*x)
    fim_se
    se i > 1 então
        cont <- cont + 1;
    fim_se
fim_para

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.