(3) Faça um programa que contém uma função que recebe como parâmetro um valor inteiro e positivo N , indicando a quantidade de parcelas de uma soma S . O valor de S deve ser calculado pela fórmula:
A leitura de N e a impressão de S devem ser feitas na função main.
Exemplo de entrada:
Digite o número de parcelas da soma: 3
Exemplo de saída:
A soma das parcelas: 3.7
Passo 1
Beleza, a questão pede um programinha em C que calcule a soma
recebendo um inteiro positivo N (quantas parcelas) e devolvendo S.
Conteúdo: funções em C, laço de repetição (for), operações de ponto flutuante e leitura/saída com scanf/printf.
Conteúdo: funções em C, laço de repetição (for), operações de ponto flutuante e leitura/saída com scanf/printf.
Passo 2
Vamos entender a teoria por trás: cada termo da soma é
e queremos
Para somar N termos, usamos um laço for de 1 até N. A cada iteração, calculamos
e adicionamos numa variável acumuladora (inicializada em zero).
Passo 3
Agora criamos uma função em C que recebe um int N e retorna um double com o valor de S.
Dentro dela:
Dentro dela:
- declaramos
double soma = 0.0;
- fazemos
for(int i = 1; i <= N; i++)
- em cada volta, calculamos
double termo = (double)(i*(i+1)) / (i+3);
- somamos:
soma += termo;
- ao fim, retornamos
soma
.
Passo 4
Na função
main
, só precisamos:- ler N com
scanf("%d", &N);
- chamar
double resultado = calculaSoma(N);
- imprimir com
printf("A soma das parcelas: %.1f\n", resultado);
Resposta
#include <stdio.h>
// Função que recebe N e calcula S = sum_{n=1}^N [n(n+1)/(n+3)]
double calculaSoma(int N) {
double soma = 0.0;
for (int i = 1; i <= N; i++) {
double termo = (double)(i * (i + 1)) / (i + 3);
soma += termo;
}
return soma;
}
int main() {
int N;
printf("Digite o número de parcelas da soma: ");
scanf("%d", &N);
double resultado = calculaSoma(N);
printf("A soma das parcelas: %.1f\n", resultado);
return 0;
}