Exercícios Resolvidos de Expressões e precedência

Ver Teoria

Enunciado

Leia a razão de uma PA (Progressão Aritmética) e o seu primeiro e último termos e informe a soma dos elementos dessa PA.

Passo 1

Vamos nessa, galerinha!

Pra começo de conversa, vamos lembrar o que para calcular a soma dos elementos de uma P.A a gente precisa saber três coisas: o primeiro termo ( a 0 ) , o último termo ( a n ) , e quantidade de termos ( n ) da P.A.

S o m a P A = n ⋅ a 0 + a n 2

Mas nessa questão o usuário vai inserir a razão ( r ) da P.A. e não vai inserir a quantidade de termos, e agora? 🤷‍♂️🤷‍♀️

Sem pânico! A gente pode calcular a quantidade de termos da seguinte forma:

n = a n - a 0 r + 1

Massa né! Então vamos por

Passo 2

Pra começar o nosso programa, vamos escrever o cabeçalho do código:

E vamos determinar as nossas variáveis. De cara vamos precisar dos elementos inicial e final da progressão. Como esses elementos podem ser quaisquer valores reais, vamos declará-los como f l o a t :

Em seguida vamos declarar uma variável para armazenar a razão da P.A., que também pode assumir qualquer valor real:

Para calcular a soma, primeiro teremos que calcular a quantidade de elementos da progressão. A quantidade de termos sempre será um valor do tipo inteiro! Então vamos declarar uma variável do tipo i n t

E por fim, vamos precisar de uma variável pra armazenar o resultado da soma. Esse valor pode ser qualquer valor real, então vamos declarar mais uma variável do tipo f l o a t

Passo 3

Show! Com as variáveis declaradas já podemos receber os valores do usuário. Vamos usar o c o u t e o c i n para receber os valores de a 0 , a n e r

Com o c o u t solicitamos um valor do usuário, e logo em seguida usamos o c i n para armazenar na variável adequada. Isso é feito três vezes, para receber as três variáveis:

Passo 4

Agora é hora da MATEMÁGICA!

Primeiro vamos precisar calcular a quantidade de elementos da P.A. usando a seguinte equação:

n = a n - a 0 r + 1

Para colocar isso no C++ vamos precisar usar uma expressão. Vamos colocar a subtração entre parêntesis para garantir que ela seja a primeira coisa a acontecer! Depois vamos efetuar a divisão e a soma:

n = ( a n - a 0 ) / r + 1

Devido as regras de precedência, o parêntese será executado primeiro, seguido da divisão e por fim da soma. No código fica:

O próxima passo é calcular a soma da P.A usando a equação

S o m a P A = n ⋅ a 0 + a n 2

Convertendo isso pra C++, fica assim:

n * ( a 0 + a n ) / 2

Novamente usamos os parêntesis para garantir que a soma seja a primeira coisa a ocorrer. A multiplicação e a divisão têm a mesma precedência, mas pela regra de associatividade a multiplicação vai acontecer primeiro e por ultimo ocorre a divisão. No código fica:

Passo 5

Prontinho. Com tudo calculado só falta a gente imprimir os resultados. A questão pede pra gente imprimir só a soma da P.A., mas é uma boa ideia imprimir também a quantidade de termos da P.A., pra ter certeza que tudo ocorreu certinho!

Usando o c o u t a gente primeiro imprime a quantidade de termos presentes na variável n , e em seguida imprimimos o resultado da variável s o m a :

Passo 6

Por último, mas não menos importante, vamos testar o programa.

Vamos calcular a soma da P.A que começa em a 0 = 2 até a n = 100 com razão r = 2

Eu sei que essa P.A têm 100 termos e o resultado da soma é 10100. Se o programa estiver certinho vamos ter que ver esses dois resultados:

E aí está! A resposta do programa está correta, e o exercício está concluído!

Resposta