Exercice de piscine en C sur le transfert et la manipulation de données : parsing et traitement de flux d'entrée.
Telecharger & tester
python3 107transfer (script Python, non compilable en WebAssembly avec la toolchain C utilisee ici)
107transfer est un projet Epitech de piscine (B-MAT-200) qui modelise la fonction de transfert de composants electroniques, c'est-a-dire la fonction reliant la frequence en entree et la frequence en sortie d'un composant. Cette fonction est une fraction rationnelle dont le numerateur et le denominateur sont des polynomes.
Chaque polynome est fourni sous forme d'une chaine de coefficients separes par des etoiles, du degre le plus faible au plus eleve (par exemple 1*4*2*6*0*8 represente 8x^5 + 6x^3 + 2x^2 + 4x + 1). Le programme peut chainer plusieurs composants en cascade : la fonction de transfert de l'ensemble est alors le produit des fonctions de transfert individuelles, ce qui revient a multiplier les numerateurs entre eux et les denominateurs entre eux.
Le sujet exige explicitement un algorithme rapide -- un programme lent etant considere comme non fonctionnel -- et attire l'attention sur la precision des calculs en virgule flottante. Le programme doit evaluer la reponse en frequence du systeme pour chaque valeur x comprise entre 0 et 1 avec un pas de 0.001, soit 1001 evaluations successives de la fraction rationnelle.
L'usage est ./107transfer [num den]+, ou chaque paire numerateur/denominateur represente un composant supplementaire place en cascade. La sortie affiche, pour chaque valeur de x, le resultat au format x.xxx -> y.yyyyy.
Projet suivant
