Crie um algoritmo que verifique se existe alguma raiz na equação
Cx+D no intervalor [-1.000, 1.000]. Seu algoritmo deve ler os coeficientes A, B, C e D. Dica: incremente o valor de x de uma unidade a cada interação e verifique se houve uma mudança de sinal no resultado da equação, se o sinal mudou, existe a ocorrência de uma raiz (não é necessário calcular a raiz).
Passo 1
Beleza, vamos começar entendendo o que a questão está pedindo. Temos uma equação do terceiro grau da forma
e precisamos verificar se existe alguma raiz dela no intervalo entre -1000 e 1000. Para isso, vamos precisar entender um pouco sobre funções contínuas e como elas se comportam em intervalos.
Passo 2
Primeiro, vamos lembrar que uma raiz de uma equação é o valor de
que faz a equação igual a zero, ou seja,
. Nosso objetivo é descobrir se existe pelo menos um valor de
no intervalo [-1000, 1000] que satisfaz essa condição.
Passo 3
A dica do exercício sugere que a gente incremente o valor de
de uma unidade a cada passo e verifique se houve uma mudança de sinal no resultado da equação. Mas o que isso significa?
Se a função muda de sinal entre dois valores de
, isso indica que passou pelo zero em algum ponto entre esses dois valores, ou seja, existe uma raiz aí. Por exemplo, se
e
, como o resultado mudou de positivo para negativo, tem uma raiz entre 2 e 3.
Passo 4
Então, vamos pensar no algoritmo que vai fazer isso. Precisamos:
- Ler os coeficientes
, , e . - Percorrer o intervalo de -1000 a 1000, incrementando
de 1 em 1. - Calcular o valor da função para cada
. - Verificar se houve mudança de sinal entre o valor atual e o anterior.
- Concluir se existe ou não uma raiz com base nessa verificação.
Passo 5
Vamos detalhar cada etapa do algoritmo:
-
Leitura dos coeficientes:
- Pedimos ao usuário para inserir os valores de
, , e .
- Pedimos ao usuário para inserir os valores de
-
Inicialização:
- Começamos com
. - Calculamos
e armazenamos esse valor como o anterior.
- Começamos com
-
Iteração:
- Incrementamos
em 1. - Calculamos o novo
. - Verificamos se o produto entre o valor atual e o anterior é negativo:
- Se for verdadeiro, significa que houve mudança de sinal, então existe uma raiz entre
e .
- Se for verdadeiro, significa que houve mudança de sinal, então existe uma raiz entre
- Atualizamos o valor anterior para o próximo ciclo.
- Incrementamos
-
Finalização:
- Se percorrer todo o intervalo sem encontrar mudança de sinal, concluímos que não há raízes nesse intervalo.
Passo 6
Aqui está um exemplo de como esse algoritmo poderia ser implementado em pseudocódigo:
Leia A, B, C, D
x_anterior = -1000
f_anterior = A*(x_anterior)^3 + B*(x_anterior)^2 + C*(x_anterior) + D
existe_raiz = FALSO
Para x de -999 até 1000 com passo 1:
f_atual = A*(x)^3 + B*(x)^2 + C*(x) + D
Se f_anterior * f_atual < 0 então
existe_raiz = VERDADEIRO
Pare o laço
Fim Se
x_anterior = x
f_anterior = f_atual
Fim Para
Se existe_raiz então
Imprima "Existe pelo menos uma raiz no intervalo [-1000, 1000]."
Senão
Imprima "Não existe raiz no intervalo [-1000, 1000]."
Fim Se
Resposta
Seguindo esse algoritmo, você pode verificar se a equação
possui pelo menos uma raiz no intervalo [-1000, 1000]. Se o algoritmo encontrar uma mudança de sinal durante as iterações, ele confirma a existência de uma raiz nesse intervalo.
Exercícios relacionados
Crie um algoritmo que leia um número N e calcule:
Uma certa firma fez uma pesquisa para saber se as pessoas gostaram ou não de um novo produto lançado no mercado. Para isso, forneceu o sexo do entrevistado e sua resposta (sim ou não). Sabendo-se que foram entrevistadas 2.000 pessoas, crie um algoritmo que calcule e escreva:
a) o número de pessoas que responderam sim;
b) o número de pessoas que responderam não;a porcentagem de pessoas do sexo masculino que responderam não.
a) o número de pessoas que responderam sim;
b) o número de pessoas que responderam não;a porcentagem de pessoas do sexo masculino que responderam não.
Leia um número A real positivo. Calcule sua raiz real utilizando o método babilônico indo até a
interação (
). Considere, por hipótese,
.
Implemente a função Cramer(matriz, vetor) que calcule as raízes de um sistema de 3 equações e 3 incógnitas pela Regra de Cramer e retorna a solução na forma de um vetor. Se não houver solução para o sistema, deve imprimir uma mensagem de erro e retornar um vetor vazio ([]). Sua função pode (e deve) chamar a função det(matriz) que retorna o valor do determinante da matriz. Exemplo