Faça um programa em Python que dado um número N, onde , calcule o valor da série:
OBS: Se for fornecido um valor inválido, deve ser apresentada uma mensagem de erro e solicitado que usuário digite um valor válido.

Passo 1

Então, a gente tem um exercício que pede para fazer um programa em Python. O programa vai receber um número N, que deve estar entre 1 e 15. Com esse número, o programa vai calcular o valor de uma série matemática específica:
Para resolver isso, vamos precisar saber como calcular fatorial, entender como lidar com uma sequência que alterna sinais e segue um padrão específico nos numeradores, além de implementar uma lógica para validar a entrada do usuário.

Passo 2

Primeiro, vamos entender o que é fatorial. O fatorial de um número n (escrito como n!) é o produto de todos os números inteiros positivos de 1 até n. Por exemplo:
Em Python, podemos calcular o fatorial usando uma função. Vamos criar uma função chamada fatorial que recebe um número e retorna seu fatorial.

Passo 3

Agora, vamos analisar a sequência dos numeradores na série:
Observamos que os numeradores seguem a sequência de Fibonacci:
Mas com alternância de sinais. Isso significa que vamos precisar gerar números da sequência de Fibonacci e alternar os sinais conforme a posição na série.

Passo 4

Vamos estruturar o programa:
  1. Solicitar ao usuário que insira um valor N.
  2. Validar se N está entre 1 e 15. Se não estiver, exibir uma mensagem de erro e solicitar novamente.
  3. Gerar os termos da série até o N-ésimo termo.
  4. Calcular o fatorial para os denominadores de cada termo.
  5. Aplicar os sinais corretos aos numeradores.
  6. Somar todos os termos para obter o resultado final.

Passo 5

Para alternar os sinais na série, podemos observar que eles seguem o padrão:
  • Termos nas posições ímpares positivos.
  • Termos nas posições pares negativos.
Isso significa que, para cada termo, se a posição for ímpar, o sinal é positivo; se for par, o sinal é negativo.

Passo 6

Agora, vamos implementar tudo isso em código Python:
def fatorial(n):
    resultado = 1
    for i in range(1, n + 1):
        resultado *= i
    return resultado

def gerar_fibonacci(n):
    fibonacci = [1, 1]
    while len(fibonacci) < n:
        fibonacci.append(fibonacci[-1] + fibonacci[-2])
    return fibonacci[:n]

def calcular_serie(N):
    fibonacci = gerar_fibonacci(N)
    soma = 0
    denominador = 1
    for i in range(N):
        termo = fibonacci[i] / fatorial(denominador)
        if (i + 1) % 2 == 0:
            termo *= -1
        soma += termo
        denominador += 2
    return soma

while True:
    try:
        N = int(input("Digite um número N (1 <= N <= 15): "))
        if 1 <= N <= 15:
            break
        else:
            print("Valor inválido. Por favor, insira um número entre 1 e 15.")
    except ValueError:
        print("Entrada inválida. Por favor, insira um número inteiro.")

resultado = calcular_serie(N)
print(f"O valor da série para N = {N} é: {resultado}")

Resposta

Este programa solicitará que o usuário insira um número N entre 1 e 15, calculará o valor da série especificada e exibirá o resultado final.

Exercícios relacionados

Em um concurso público, a prova é composta por 15 questões de múltipla escolha com 5 opções (A, B, C, D ou E). Faça um programa que auxilie na correção automática das provas dos candidatos, permitindo que cada candidato entre com seu nome e suas respostas. As respostas devem ser fornecidas como uma única sequencia de 15 letras, onde a primeira letra corresponde a opção marcada para a primeira questão, a segunda letra a opção para a segunda questão, e assim por diante. Após a entrada de cada candidato, o programa deve perguntar se serão inseridas os dados de um novo candidato. Em caso positivo, o processo se repete. Em caso negativo, o programa deve perguntar o gabarito como uma sequencia de 15 letras. Por fim, o programa deve indicar quantas respostas certas cada candidato acertou, comparando suas respostas com a do gabarito fornecido, conforme exemplo abaixo:
Nome: Afonso
Respostas: ABCDADEDDEABCDD
Deseja Continuar? S
Nome: Maria
Respostas: CBCDADEDDEABCDC
Deseja Continuar? S
Nome: João
Respostas: DABCEDEBAACDEEA
Deseja Continuar: N
Gabarito: ABCDBDEDDEBBCDD
Afonso - 13 respostas certas
Maria - 11 respostas certas
João - 2 respostas certas
Em uma competição de ginástica, cada atleta recebe votos de sete jurados. A melhor e a pior nota são eliminadas. A sua nota fica sendo a média dos votos restantes. Você deve fazer um programa que receba o nome do ginasta e as notas dos sete jurados alcançadas pelo atleta em sua apresentação e depois informe a sua média, conforme a descrição acima informada (retirar o melhor e o pior salto e depois calcular a média com as notas restantes). As notas não são informados ordenadas. Um exemplo de saída do programa deve ser conforme o exemplo abaixo:
Atleta: Aparecido Parente
Nota: 9.9
Nota: 7.5
Nota: 9.5
Nota: 8.5
Nota: 9.0
Nota: 8.5
Nota: 9.7
Resultado final:
Atleta: Aparecido Parente
Melhor nota: 9.9
Pior nota: 7.5
Média: 9,04
Sugestão: usem o método max, min, pop de vetores para facilitar a resolução da questão
Dados os vetores e , calcular
Ler um vetor de números inteiros com 20 posições. Ler mais um número inteiro . Buscar o número no vetor e imprimir todas as posições em que ele foi encontrado. Caso o número x não seja encontrado, imprimir a mensagem