Exercicio para calculo de serie - - + + - - + +

Opa pessoal, tudo bem? Espero que sim. Estou com uma dificuldade tremenda em um exercício e consegui resolvê-lo parcialmente, mas não da forma que se pede.

"Entrar com o número de termos da série (n) e imprimir o valor de H, sendo: H = 1-12-13+1*4+… "

A sequência que se pede é -,-,+,+,-,-,+,+,-,-… segundo meu professor.

Minha resolução ficou assim:

Var
// Seção de Declarações das variáveis
num, x: inteiro
y, h: real

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc…
h <- 0
escreval("Insira um número para calcular sua série: ")
leia(x)
para num de 2 ate x faca
y <- ((1num)(-1))
h <- (h + y)
escreval(y)
fimpara
escreval("H = ", h)
Fimalgoritmo

Eu consegui resolver ele com a sequencia -,-,-,-, como acima… ou +,+,+,+… porém não tenho ideia como se faz uma sequência do tipo -,-,+,+,-,-,+,+… no VisualG. Alguém poderia me dar uma luz? Preciso muito resolver esse exercício!!

Boa tarde, poderia explicar o valor de H novamente?

Sendo:
N = 3
N = 4
N = 1

Qual seria o resultado correto?

Ah!!! Na hora de colocar o código aqui, seleciona todo o codigo e clique no botão </>. Também ajeita a indentação. Assim fica mais fácil de ler o código!

Opa Jelson1, boa tarde. Me desculpe, sou novo na área. Na proxima vez fico mais atento a isso!

Bom, agora que vi que ficou meio estranho mesmo.

O sujeito precisa entrar com o número de termos (N) de uma série e calcular o valor de H. Sendo H = 1- (1x2) - (1x3) + (1x4) + (1x5)… +/- (1/N). Lembrando que os sinais da série respondem a um padrão - - + + - - + + - -…

Por exemplo, se o sujeito inserir o número de termos 7

H = 1- (1x2) - (1x3) + (1x4) + (1x5) - (1x6) - (1x7) = -8

Ai deveria imprimir o valor -8
Por favor, me ajude. Já não sei mais o que fazer eheh

Oi, essa parte eu ainda não entendi e -8 ou -28

1−12−13+14+15−16−17 = -28

Ah é que o forum não permite asterisco. “*”, editei acima e coloquei um x para representar multiplicação. Obrigado

1 curtida

Oi de novo! Eu não me lembro exatamente como é a sintaxe do visualg e nem tenho como testa agora. Eu fiz aqui mas, acho que a sintaxe tá errada, você pode tentar fazer as correções!

Var
// Seção de Declarações das variáveis
h,n,c,i: inteiro
b : logico

Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc…

   h <- 1
   b <- true

   escreval("Insira um número para calcular sua série: ")
   leia(n)

   para i de 2 ate n faca
      se b == true então faça
         h <- h - i
      senão faça
         h <- h + 1;
      fimse
   
      c <- c + 1
   
      se c >= 2 então faça
        c = 0
        se b == true então faca
           b <- false
        senão
           b <- true
        fimse
      fimse
   fimpara
   
   escreval("H = ", h)
   
Fimalgoritmo

O valor de H = 1- (1x2) - (1x3) + (1x4) + … - (1xN)
E 1 vez qualquer coisa é a própria coisa! Entao:
H = 1- 2 - 3 + 4 … - N

Então criei um loop que começa em 2 e vai até N!

Agora você precisa determinar se deve somar ou subtrair, para isso criei um contador, variavel c e uma variável lógica b. Quando b é true eu diminuo e quando é false eu somo. Em cada operação eu acrescento 1 ao C e quando C é igual a 2 eu troco o valor de B para false ou true e zero o valor de C!

Se você conhece outra linguagem de programação tipo java, eu posso te dá um exemplo melhor! Mas é porque eu não me lembro do visualg!

1 curtida

Nossa já ajudou muitoooooo! Muito obrigado meu amigo, vou jogar no VisualG aqui e eu tento corrigir a sintaxe caso ocorra. A princípio eu tinha que fazer em VisualG e depois em Assembly, mas até em VisualG tava complicado pra mim, pois não estava sabendo como respeitar este padrão de sequência.
Agora vem a próxima parte da luta, fazer em Assemble ;(

Em uma linguagem de mais alto nível é mais fácil fazer essa sequência, mas agora visualg… não sei se é porque eu não me lembro da sintaxe…, só sei que ficou bem complicado. Agora em assemble talvez alguém aqui do fórum possa te ajudar!