• Aucun résultat trouvé

Projet de programmation

N/A
N/A
Protected

Academic year: 2022

Partager "Projet de programmation"

Copied!
1
0
0

Texte intégral

(1)

Projet de programmation

Informatique pour tous, première année

Julien Reichert

Ce projet est à faire par groupes de 4 élèves maximum1 et à rendre pour le vendredi premier juin à7h (GMT+2) sous forme d'une archive contenant un ou plusieurs chiers .py et un rapport rédigé avec un vrai traitement de texte (voire mieux) expliquant en moins de quatre pages les grandes lignes du code. Au moins une séance de TP sera consacrée au projet, que ce soit pour le travail ou la soutenance.

Le but de ce projet est d'écrire un programme résolvant un système linéaire gurant dans un chier de texte brut qu'on fera lire à Python. La résolution proprement dite ne posant pas de problème dans la mesure où il s'agit d'une simple récupération de l'algorithme (du programme, même) du cours, la partie importante sera le branchement des diverses opérations à eectuer dans le projet, à savoir :

Choisir les arguments de la fonction principale, qui peuvent ne pas se limiter au chemin vers le chier mais par exemple à des informations sur le système (par exemple la promesse qu'il est déjà triangulaire, ou la demande de donner une solution particulière s'il n'est pas de Cramer) ou des possibilités variées quant à la façon de fournir la solution (renvoyer le tableau contenant l'unique solution, renvoyer le rang si le système n'est pas de Cramer, imprimer du texte détaillant variable par variable les valeurs, etc.).

Gérer la lecture du chier en entrée, les équations n'ayant aucune raison d'être fournies avec leurs variables dans l'ordre (la seule garantie est qu'on aura exactement une équation par ligne).

Parser des chaînes de caractères pour en déduire un système linéaire et la matrice sur laquelle eectuer le pivot.

Eectuer le pivot (évidemment) ou un algorithme alternatif suivant le système et les paramètres additionnels qui auraient été fournis.

Mettre en forme la réponse.

Les hypothèses simplicatrices autorisées sur les systèmes fournis sont les suivantes : Les systèmes ne provoquent pas d'erreur de syntaxe.

Aucune fonction mathématique n'est utilisée (même pas e à une certaine puissance).

Cependant, un coecient peut exister en tant qu'expression obtenue par un calcul nécessitant des parenthèses, et le symbole de multiplication peut être implicite.

Les coecients n'apparaissent qu'avant le nom de la variable en question, donc il n'y aura pas de x / 2 + 3 * y = 1.

Les variables peuvent apparaître à gauche ou à droite du signe d'égalité, voire plusieurs fois (notamment la partie constante).

Modulariser sera une nécessité, et commenter le code (en plus du rapport) aura un impact sur la notation.

1. Le principe du travail en groupe est que les tâches soient certes réparties, mais que chacun puisse expliquer à la n ce que les autres ont fait.

1

Références

Documents relatifs

Les questions qui suivent vous demandent de mettre en œuvre dans des classes Java la partie modélisée dans la figure 1.. La dernière question vous demande de compléter le diagramme

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc.. All

Excel Solver permet deux types de contraintes particulières pour modéliser les variables entières :. bin : pour représenter les

L’implémentation dépend de la communication et des réseaux sociaux dans l’organisation – mais aussi des personnes avec la capacité de mettre les différents groupes en

— Choisir les arguments de la fonction principale, qui peuvent ne pas se limiter au chemin vers le fichier mais par exemple à des informations sur le système (par exemple la

Quelques problèmes avec les tests tels que vous les avez pratiqués : Vous pensez qu’il n’y a pas de problèmes, alors que vous avez simplement oublié de lancer certains tests ;?. =

[r]

Ecrire deux fonctions C, l’une utilisant un algorithme it´eratif, l’autre un algorithme r´ecursif, ´ permettant de calculer, l’entier naturel n ´etant donn´e en entr´ee, la