Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Modérateur : Michel Quercia

Répondre
Aubyn Kensington
Messages : 9
Enregistré le : mar. sept. 25, 2018 3:07 pm
Classe : MP

Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par Aubyn Kensington » jeu. nov. 01, 2018 11:40 pm

Bonjour,
J'avais fais un peu de programmation en Python avant la prépa, et notre professeur nous a averti, les élèves qui ont déjà fait du Python avant la prépa, que les fonctions qui ont des propriétés « performantes » comme le tri ou le miroir dans une liste par exemple ne sont pas autorisés au concours, et il faut, si on en a besoin, les reécrire.

J'ai donc une question sur les propriétés du langage qui ne sont pas « performantes » mais qui ne sont pas enseignés en prépa non plus. Par exemple a-t-on le droit d'utiliser assert booléan, "message erreur" ou le fait que les listes peuvent être utilisés comme des booléens ?

Par exemple pour la question 8 de IPT X ENS PSI 2015 :https://info-llg.fr/commun-mp/prive/pdf ... enonce.pdf
On nous demande d'imprimer une liste d'autoroute du genre : 
Ce plan contient 4 route(s) : (1−2) (2−4) (2−5) (4−5)
Dans une correction que j'ai trouvé sur Internet, on a créé une chaîne de caractère vide et on a concaténé des parenthèses et des chiffres dans cette chaîne, et enfin on l'a mis en argument dans print.
Est-ce que par exemple, au concours, on ne peut pas écrire print("(",chiffre1,"-",chiffre2,")",end=" "), ce qui serait plus élégant ?

Les syntaxes de ce genre qui ne sont pas au programme risqueraient-ils d'énerver le correcteur ? Merci beaucoup.

Avatar du membre
Hibiscus
Messages : 1369
Enregistré le : ven. oct. 27, 2017 10:55 am
Classe : Bac a fleurs

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par Hibiscus » ven. nov. 02, 2018 2:29 am

Il est demandé aux élèves d'utiliser le socle de base du programme, et les questions sont toujours solvables en utilisant ce socle.
Le correcteur (même s'il n'est pas au singulier..) est de très loin plus "savant" que l'ensemble des candidats réunis, et connaît bien évidemment ces propriétés. Le but n'est pas de montrer que tu as dépassé le chouilla du programme, mais de montrer que tu sais raisonner avec les outils qui te sont donnés.
Cf, les rapports de concours.

En l'occurence, pour l'exemple que tu as donné, je doute qu'on puisse te le reprocher, c'est pas méchant. Mais typiquement, si une question te demande d'écrire un type de tri, et que tu réponds en une ligne "on utilise le tri machin, qui il se trouve existe déjà sous Python", bah c'est pas l'objectif.
Lycée Masséna (Pcsi-PC*)
École polytechnique (X2015)
Université de Tokyo/Tohoku - Thèse (Astrophysique)

YS1
Messages : 52
Enregistré le : dim. févr. 06, 2005 12:50 pm
Classe : MPSI, PCSI, MP*, PC*

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par YS1 » ven. nov. 02, 2018 2:47 pm

Comme indiqué ci-dessus, il ne faut pas "trivialiser les questions" et s'adapter à leur niveau (comme en math, du reste).

Concernant la maitrise des éléments avancés de Python par les correcteurs, je pense que c'est assez variable d'un correcteur et d'un concours à l'autre. Quand on lit l'annexe Python des sujets de modélisation du CCP PC, on se rend compte que la personne qui l'a rédigée n'est pas un utilisateur régulier de ce langage. Le sujet des Mines de 2015 a été pensé en C++ et mal recraché en Python.
Aubyn Kensington a écrit :
jeu. nov. 01, 2018 11:40 pm
J'ai donc une question sur les propriétés du langage qui ne sont pas « performantes » mais qui ne sont pas enseignés en prépa non plus. Par exemple a-t-on le droit d'utiliser assert booléan, "message erreur"
On ne pratique pas vraiment la programmation défensive, donc je ne vois pas dans quelle circonstance il est judicieux de faire cela (peut-être dans des questions qui manipulent des données brutes comme en modélisation ?).
ou le fait que les listes peuvent être utilisés comme des booléens ?
Ça, c'est juste crade.
Est-ce que par exemple, au concours, on ne peut pas écrire print("(",chiffre1,"-",chiffre2,")",end=" "), ce qui serait plus élégant ?
Oui.

BAupetit
Messages : 19
Enregistré le : dim. mai 13, 2018 3:17 pm
Classe : PTSI
Localisation : Paris

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par BAupetit » ven. nov. 02, 2018 8:47 pm

Chaque concours semble avoir sa politique.

Pour la banque PT, il a été annoncé lors de la dernière réunion bilan (sur la session 2018) que tout était accepté, du moment que ça marchait : si le correcteur à un doute, il lui suffit de tester.

D'autres concours peuvent être plus rigides sur ce sujet.
Professeur de SII & d'informatique, PTSI Jean-Baptiste Say

Aubyn Kensington
Messages : 9
Enregistré le : mar. sept. 25, 2018 3:07 pm
Classe : MP

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par Aubyn Kensington » sam. nov. 03, 2018 12:14 am

Hibiscus a écrit :
ven. nov. 02, 2018 2:29 am
Le correcteur (même s'il n'est pas au singulier..) est de très loin plus "savant" que l'ensemble des candidats réunis, et connaît bien évidemment ces propriétés.
Je sais bien que c'est le cas en maths, en physique, en Philo et en Langues vivantes. Je pose cette question pour Python parce que souvent ce sont les professeurs de Physique ou de Maths, qui ont fait l'agreg de Physique ou de Maths mais fléché en info pour l'enseignement qui enseignent l'IPT. (et même en Ocaml) :wink:

Avatar du membre
Hibiscus
Messages : 1369
Enregistré le : ven. oct. 27, 2017 10:55 am
Classe : Bac a fleurs

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par Hibiscus » sam. nov. 03, 2018 3:24 am

Pas sur le type de sujet que tu as cité ; les correcteurs 2016, par exemple étaient affiliés au LiX. (plus un physicien, qui fait des simulations python à grande échelle.)
Si on peut te laisser utiliser des trucs légèrement hors programme à l'IPT X-ENS, ça passera moins sur l'épreuve de CCP, pour laquelle, oui, les correcteurs sont peut-être plus tels que tu les décrits.
Lycée Masséna (Pcsi-PC*)
École polytechnique (X2015)
Université de Tokyo/Tohoku - Thèse (Astrophysique)

BAupetit
Messages : 19
Enregistré le : dim. mai 13, 2018 3:17 pm
Classe : PTSI
Localisation : Paris

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par BAupetit » sam. nov. 03, 2018 9:15 pm

Aubyn Kensington a écrit :
sam. nov. 03, 2018 12:14 am
Hibiscus a écrit :
ven. nov. 02, 2018 2:29 am
Le correcteur (même s'il n'est pas au singulier..) est de très loin plus "savant" que l'ensemble des candidats réunis, et connaît bien évidemment ces propriétés.
Je sais bien que c'est le cas en maths, en physique, en Philo et en Langues vivantes. Je pose cette question pour Python parce que souvent ce sont les professeurs de Physique ou de Maths, qui ont fait l'agreg de Physique ou de Maths mais fléché en info pour l'enseignement qui enseignent l'IPT. (et même en Ocaml) :wink:
N'oublions pas les collègues de SII, qui sont nombreux à enseigner l'IPT, et sont aussi présents dans les jurys d'épreuves d'informatique.
Professeur de SII & d'informatique, PTSI Jean-Baptiste Say

Avatar du membre
fakbill
Messages : 11162
Enregistré le : mer. juil. 30, 2008 4:59 pm
Classe : Dr.-Ing

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par fakbill » jeu. nov. 08, 2018 3:58 pm

Oui voila il faut s'adapter à l'exo.
Si on vous demander de coder un tri, .sort() n'est pas une réponse ;)

assert booléan, "message erreur" : aucun intéret de mettre des asserts dans un problème de concours. De plus, en python, le style est plutôt de laisser faire et de gérer l'exception si le code en lève une. bref, assert...on s'en tape (et les exceptions également au concours).

Pour ce qui est du formatage du print, on s'en fout totalement je pense. ce qui compte c'est l'algo pour caluler les données à afficher.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Avatar du membre
Puffin
Messages : 18
Enregistré le : mar. juil. 18, 2017 4:50 pm

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par Puffin » jeu. nov. 08, 2018 11:20 pm

BAupetit a écrit :
ven. nov. 02, 2018 8:47 pm
Pour la banque PT, il a été annoncé lors de la dernière réunion bilan (sur la session 2018) que tout était accepté, du moment que ça marchait : si le correcteur à un doute, il lui suffit de tester.
Étant enseignant en programmation en école d'ingé, cette approche me semble être la seule valide quand on parle d'un langage donné.
Soit une fonctionnalité est dans le langage soit elle ne l'est pas.
En Python, la fonction sort() existe dans le langage y compris avec un critère arbitraire passé sous forme de lambda fonction. Ça n'a pas de sens de l'ignorer.
En C++, ça existe seulement dans la librairie standard et dans ce cas on pourrait l'ignorer en se limitant arbitrairement au langage de base (ce qui n'a aucun intérêt mais passons :mrgreen: )

Par ailleurs c'est un bon moyen de garder les correcteurs à niveau, perso j'apprends des trucs de temps en temps en lisant les codes que les étudiants soumettent et je ne me vois pas leur dire qu'ils n'ont droit d'utiliser que ce que moi je connais.

Avatar du membre
fakbill
Messages : 11162
Enregistré le : mer. juil. 30, 2008 4:59 pm
Classe : Dr.-Ing

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par fakbill » ven. nov. 09, 2018 11:15 am

C'est tout le débat de "quel est le but du cours d'info en prépa".
Pour moi, il est double :
* donner les moyens aux taupins de traiter des données. Ca veut dire leur montrer un langage et leur inculquer une culture "traitement de données" : savoir se débrouiller pour lire un fichier, faire un plot, un tri, un traitement de base, savoir ce qu'est un *gros* problème et ce qui est un tout petit calcul, meme sur un laptop standard. L'inverse d'une matrice 10x10, c'est tout petit. Je ne suis pas sûr que tous les taupins en soit conscients. Bref, les choses qu'un ingé en contact avec des données fait au jour le jour.

* le second objectif est de savoir un peu ce qu'il y a sous le capot. La complexité. savoir un peu comment ça scale. Typiquement, comprendre pourquoi on peut avoir envie de lire cette page https://wiki.python.org/moin/TimeComplexity et la comprendre. Pour cela, il est utile de coder à la main des choses qui existent. Par exemple un tri simple. **cependant**, il faut absolument le faire en ayant conscience que c'est pour apprendre et que, dans la vraie vie, le plus souvent on ferait sort() sans réfléchir car les données ne seront pas bien grosses. C'est ce point qui pose problème. Certains on du mal à faire la part des choses. Oui on peut apprendre le C++ en recodant + et * sur un type matrice fait maison...mais il faut **aussi** connaitre les libs qui font ça bcp mieux :)
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

YS1
Messages : 52
Enregistré le : dim. févr. 06, 2005 12:50 pm
Classe : MPSI, PCSI, MP*, PC*

Re: Le correcteur au concours connaît-t-il les propriétés usuelles de Python ?

Message par YS1 » sam. nov. 10, 2018 11:38 am

Puffin a écrit :
jeu. nov. 08, 2018 11:20 pm
En Python, la fonction sort() existe dans le langage y compris avec un critère arbitraire passé sous forme de lambda fonction. Ça n'a pas de sens de l'ignorer.
La vraie question n'est pas de l'ignorer ou pas mais de l'accepter ou pas. Si en réponse à une question « Écrivez une fonction Python qui trie une liste. », on se contente d'un sort, on a autant répondu à la question que si à « Montrez que Z/5Z est commutatif. » on répond « C'est un corps fini donc il est commutatif par le théorème de Wedderburn. ».

L'utilisation d'une telle fonction peut être admise si, au cours de la résolution d'une question plus compliquée, on a besoin, en passant, de trier des données. Mais vu comment les sujets de concours sont construits, il est probable qu'une telle question serait précédée d'une question demandant d'écrire un algo de tri.

La seule exception à ça étant le TP d'algo de l'ENS Info.

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité