Teste
S EMESTRE : 3°
DESCRIÇÃO DO TRABALHO
Objetivo
Desenvolver uma aplicação em linguagem C para manipular polinômios através de listas encadeadas.
Descrição do Problema
Para a sucessão de termos a0, …, an ∈ ℝ (ou ℂ), com an ≠ 0 e n ∈ ℕ0, um polinômio de grau n é uma função que possui a forma ∀x ∈ ℝ, f(x) = anxn + an-1xn-1 + ··· + a1x + a0. Você deve implementar um programa com um menu que dê acesso a algumas operações com polinômios. Estes devem ser armazenados em uma lista encadeada (simples ou dupla) onde cada nó deve armazenar um termo do polinômio, contendo os dados de coeficiente e expoente do termo. As seguintes operações devem ser suportadas: 1. Definir o polinômio: permite dar entrada nos coeficiente e expoentes do polinômio a ser manipulado, que devem ser armazenados na lista encadeada. A qualquer momento durante a execução do programa, esta operação pode ser chamada novamente para dar entrada a um novo polinômio. 2. Imprimir o polinômio: imprimir na tela o polinômio definido, usando o formato ilustrado no exemplo abaixo: 2x^3 – 5x + 1 3. Simplificar o polinômio: caso o polinômio possua vários termos com o mesmo expoente, estes devem ser simplificados de forma que o polinômio passe a ter somente termos com expoentes distintos. Na implementação desta operação, você deve remover da lista os termos simplificados e inserir os novos termos consolidados. Não deve ser criada uma nova lista. O seguir, um exemplo de simplificação: Antes: 5x3 – 3x3 + x2 – x2 – 5x – 1 + 2 Depois: 2x3 – 5x + 1
4. Avaliar o polinômio: para um dado valor de x, calcular o valor resultante do polinômio. Por exemplo, para o polinômio ilustrado no item 2 e assumindo que x = 1, deve ser impresso o resultado -2.
Avaliação
O trabalho será individual ou em dupla e incluirá: 1. Implementação: Deverá ser enviada via email para endereço