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

7 respostas
visualgassembly
fabsantini

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!!

7 Respostas

Jelson1

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!

fabsantini

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

Jelson1

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

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

fabsantini

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

Jelson1

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!

fabsantini

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 ;(

Jelson1

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!

Criado 22 de junho de 2020
Ultima resposta 22 de jun. de 2020
Respostas 7
Participantes 2