Ajuda em Projecto para Programação I [Linguagem C]

JP^^

Power Member
Viva !

Estou a tirar o curso de Tecnologias de Informação e Comunicação na Faculdade de Ciências da Universidade de Lisboa e vinha aqui pedir ajuda aos mais entendidos em programação. É um projecto para a cadeira de Programação I, cadeira esta que ando a ter algumas dificuldades, daí vir aqui pedir ajuda.

Basicamente o projecto é sobre polinómios. Muito resumidamente tenho de fazer 9 funções + uma função main em que "chamo" as outras nove funções. Vou colocar aqui o enunciado para vocês perceberem o que é que cada função tem que fazer.

Objectivo
Pretende-se desenvolver um programa em C que execute a seguinte sequência de acções, pela ordem indicada:
1 – Introdução de polinómio1: Peça ao utilizador que introduza o grau e os coeficientes que definem um primeiro
polinómio, polinómio1, e leia e guarde os correspondentes valores; O grau do polinómio deve ser inferior a uma
constante simbólica DIM definida no programa. Considere DIM igual a 10.


2 – Avaliação do polinómio1 numa sequência de pontos: Peça ao utilizador que introduza um número de pontos (n) em
que pretende avaliar o polinómio1, n valores reais para x para os quais pretende avaliar o polinómio1 e imprima uma
tabela apresentando os pontos dados e os valores respectivos do polinómio1 (os valores devem ser apresentados com 2
casas decimais e cada uma das colunas da tabela deve ocupar 14 espaços); O número de pontos indicados pelo utilizador
deve ser inferior a uma constante simbólica DIMX definida no programa. Considere DIMX igual a 20.

3 – Introdução de polinómio2: Peça ao utilizador que introduza o grau e os coeficientes que definem um segundo
polinómio, polinómio2, leia e guarde os correspondentes valores.


4 – Avaliação do polinómio2 numa sequência de pontos: Peça ao utilizador que introduza o número de pontos (m) em
que pretende avaliar o polinómio2 e os m valores reais para x para os quais pretende avaliar o polinómio2 e imprima uma
tabela apresentando os pontos dados e os valores respectivos do polinómio2.


5 – Adição de polinómio1 e polinómio2: Calcule o polinómio resultante de polinómio1 + polinómio2, imprima seu grau
do polinómio e a fórmula que o representa.


6 – Combinação linear de polinómio1 e polinómio2: Peça ao utilizador o valor de uma constante real c e leia e guarde o
seu valor; Calcule o polinómio resultante de (polinómio1 – c * polinómio2), imprima o grau do polinómio resultante e a
fórmula que o representa. Pág. 2 de 5


7 – Produto: Calcule o polinómio resultante de (polinómio1 * polinómio2), e imprima o grau do polinómio resultante e a
fórmula que o representa.


8 – Tabela do polinómio2: Avalie o polinómio2 nos pontos inteiros entre 1 e 20, inclusive, guarde os valores obtidos e
imprima uma tabela apresentando todos os pontos desse intervalo e os valores respectivos do polinómio2.


9 – Gráfico do polinómio2 no intervalo [1,20]: Imprima um gráfico simplificado do polinómio2 no intervalo [1, 20], com
base nos valores anteriormente calculados. Esse gráfico simplificado indica, no eixo vertical, apenas se os valores do
polinómio são positivos, nulos ou negativos. Um valor é considerado nulo se diferir de zero (em valor absoluto) por um
valor suficientemente pequeno inferior a uma constante simbólica DELTA. Considere DELTA igual a 0.000001. (O
gráfico deve seguir o formato dos gráficos apresentados nos exemplos de execução).


Basicamente cada Ponto acima é uma função e como disse depois tenho que fazer uma função main para chamar essas funções. Vou deixar aqui também alguns aspectos que se deve ter em atenção (dados pela professora).

Como devem conceber o programa
É aconselhado que o desenvolvimento seja feito de forma incremental, isto é, devem começar por desenvolver a estrutura
geral da função main, de modo a executar (parte de) o pretendido, invocando as funções auxiliares que considerem ser
úteis.


Devem organizar o código recorrendo a funções. Como tal, para situações em que é necessário repetir um processo
devem utilizar invocação de funções com os argumentos adequados e não repetir código semelhante onde apenas alteram
variáveis ou constantes.


Definam os protótipos dessas funções auxiliares e desenvolvam e testem cada uma delas separadamente, procurando
assegurar-se de que funcionam correctamente.

Só quando uma função auxiliar estiver a funcionar correctamente devem passar à concretização da seguinte.


Não se esqueça que todas as comparações entre valores reais devem ser feitas tendo em conta a precisão pretendida. No
caso deste programa, a precisão deve ser indicada pela constante simbólica DELTA. Lembre-se que tanto os coeficientes
dos polinómios como os valores desses polinómios são valores reais.

O programa deve incluir, entre outras, as funções auxiliares que se descrevem em seguida:
int comparaZero( double x );
Compara o real x com zero, tendo em conta a precisão indicada pela constante simbólica DELTA, e devolve:
0 se são considerados iguais, isto é se –DELTA < x < DELTA
-1 se x é considerado menor que zero, isto é, se x <= - DELTA
+1 se x é considerado maior que zero, isto é, se x >= DELTA
int somaPolinomios ( double v1[], double v2[], double v3[], int n );
Obtém em v3 os coeficientes do polinómio correspondente à soma dos polinómios representados em v1 e v2.
Os 3 vectores têm dimensão n. Retorna o grau do polinómio representado em v3.


E pronto é isto. Eu como estou um bocadinho ah nora nesta cadeira, gostava que os programadores aqui da zwame, me ajudassem a fazer as funções. A main eu tenho uma ideia como se faz, agora as funções é que acho mais complicado, nomeadamente as funções 2, 4, 5 e 6.

Obrigado e desculpem o comprimento do tópico, mas acho que se lê bem.

JP
 
Aqui ninguém te vai fazer o trabalho. Tens de ser tu a resolver. Nós tiramos dúvidas. Começa por mostrar o que tens feito que vamos dando dicas sobre o que estás a fazer
 
Aqui ninguém te vai fazer o trabalho. Tens de ser tu a resolver. Nós tiramos dúvidas. Começa por mostrar o que tens feito que vamos dando dicas sobre o que estás a fazer

Sim eu sei, também não pedi isso.

Nas funções 2 e 4, são iguais certo ? Só mudam as variáveis porque uma vai avaliar o polinómio1 e outra o 2, correcto? Tais como as funções 1 e 3 ?
 
Boa tarde,

tambem tenho este trabalho para fazer e ja tenho bastante adiantado..so estou encalhada na funcao:
int somaPolinomios ( double v1[], double v2[], double v3[], int n)
nao sei mesmo como fazer isto, alguem pode dar uma ajuda?

 
Back
Topo