Capes oral I informatique

2

Réponses

  • C'est fait ! on peut s'inscrire pour visiter les oraux.



    Visiteurs session 2018

    Les épreuves orales se dérouleront les 9 et 10 juin (troisième concours) et du 16 juin au 3 juillet (concours externe) au lycée Loritz de Nancy.
    Si vous souhaitez assister à des interrogations orales, vous êtes prié de vous inscrire à l'adresse suivante :

    Inscriptions_visiteurs

    Il vous sera demandé d'imprimer la convocation qui sera éditée après votre inscription et de la présenter ainsi qu'une pièce d'identité à l'accueil du lycée Loritz.
    Attention, pour des raisons de sécurité, le nombre de places est limitée.
    Les interrogations en option informatique ont lieu l'après-midi uniquement, les jours suivants :
    du 18 au 22 juin (4 commissions sur 32) et du 26 au 2 juillet (4 commissions sur 32).
    En raison du faible nombre d'inscrits à cette option, nous ne pouvons garantir l'accès de tous aux commissions interrogeant en informatique.


    Moralités :
    1/ Si vous voulez voir des oraux, va falloir vous secouer le panier. Si de plus, c'est des oraux d'informatique, faudra arriver en avance au moment de la répartition des visiteurs dans les différents jurys par les appariteurs - que je salue, kiss kiss, love love, merci de me garder une place près des ventilateurs.

    2/ La proportion des oraux d'info me semble moindre que l'an dernier (4 jurys au lieu de 5) mais il faudrait vérifier sur la longueur. Ce ne serait pas un bon signe pour la survie de l'option à moyen terme.


    Bon courage à tous : candidats, visiteurs, jury, appariteurs. Peu ont été épargnés par la chaleur l'an dernier.

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • En qualité de candidat on peut refuser d'avoir du public ? Etant déjà stressée de nature ...
  • Bonjour,

    Et quand tu seras en cours, tu refuseras d'avoir des élèves ?

    Cordialement,

    Rescassol
  • @ Virginie.

    Les oraux sont publics, tu n'as pas le droit de refuser les visiteurs.

    Il y a trois (peut-être quatre) places pour les visiteurs.
    Ils sont dispersés dans la salle, de façon à ne pas croiser le regard de la candidate.
    Si tu es un tant soit peu concentrée sur ce que tu fais, tu les oublieras très rapidement.

    Perso, c'est rester enfermé sans témoin avec trois inspecteurs qui me filerait le tracsir.

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Il me semble que tu peux (heureusement), mais effectivement, ce n'est pas bien vu...
    Peut-être que ceux qui ont assisté à des oraux l'an dernier peuvent nous dire la configuration de la salle, et où se trouvaient les "visiteurs"?
  • Vous passez quand tous?
    Je passe le 30 après-midi et le lendemain matin.
    Je me suis inscrite pour assister aux oraux de vendredi 29. (Qui vais-je y voir??)
  • @ H2O

    Je répète (nos messages se sont croisés) Tu ne peux pas refuser les visiteurs. Le jury non plus. Enfin en théorie, car je n'ai pas été autorisé à assister à un des oraux l'an dernier.

    Les visiteurs sont en général postés sur les bords de la salle. Tout dépend de la configuration. Il y a des petites salles mais aussi de très petites...

    La seule consigne sur laquelle les appariteurs insistent est d'avoir un téléphone portable muet. Sinon un membre du jury le règle en mode avion avec atterrissage boulevard Lobau.

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Ah bon d'accord.
    :-)
  • Rescassol écrivait : http://www.les-mathematiques.net/phorum/read.php?6,1481522,1659714#msg-1659714
    [Inutile de recopier un message présent sur le forum. Un lien suffit. AD]

    C'est vrai que il n'y aucunes différences entre le passage d'un oral de concours et de faire cours :-)
    Je suis toujours affligée de voir la "méchanceté" des gens sur les forums ...
  • @ Virginie,

    ce n'est absolument pas une remarque méchante de Rescassol, mais sincèrement si avoir quelques spectateurs te stresse ce n'est pas anodin.

    Que feras-tu face à une classe qui fait de l'obstruction régulière, face à des élèves qui te provoquent ? Je pense que c'est ce que Rescassol voulait dire...

    Enseigner ne se résume pas à faire des maths aujourd'hui, la gestion de la classe passe par une vraie maîtrise de son stress, sinon très vite l'enseignant est dépassé... avec des conséquences parfois importantes pour lui comme pour les élèves en face de lui.

    Je suis certain que tu as réfléchi à tout cela !

    De toute façon lors de l'oral, tu auras déjà le jury sur lequel tu seras largement concentrée, et tu ne te rendras même pas compte de la présence du public !

    Jean-éric.
  • H2O écrivait : http://www.les-mathematiques.net/phorum/read.php?6,1481522,1659720#msg-1659720
    [Inutile de recopier un message présent sur le forum. Un lien suffit. AD]
    Bonjour,
    j'ai eu l'honneur et le privilège d'essuyer les plâtres l'an dernier avec ce capes option info, et j'ai eu la chance de l'avoir :-)
    En ce qui concerne les visiteurs, je ne saurais même plus vous dire combien j'en avais, si c'était des hommes, des femmes, ... Bref, tout ça pour vous dire que comme l'a dit ev une fois dans l'oral on ne fait plus attention à ce qui se passe autour. Je ne me rappelle même plus s'il y avait du public à mon oral 2 !!
    Cela dit je me rappelle dans un gros moment de doute avoir croisé le regard d'une personne (si maintenant je me souviens c'était une fille) qui m'a souri avec bienveillance. Même si le jury a été très bien avec moi, ça a fait quand même du bien.
    Après j'étais bien content d'assister à des oraux la veille, je me serais mal vu de refuser du public.
    Sinon mon oral d'info était sur la recherche dans une liste ou un tableau. J'ai mis en place une progression pour des terminales option ISN. J'ai codé une recherche en python que j'ai montré sur la console (en plus mon programme ne marchait pas !!) et j'ai écrit 3 algorithmes dans mon diaporama. Plus que de la technique, j'ai surtout expliqué comment j'abordais cette thématique avec mes élèves, comment je vulgarisais, et comment je différenciais. Pour les questions ils sont surtout revenus sur la correction des algorithmes, sur les contenus des listes, la différence entre une liste et un tableau, ...
    J'avoue que le thème était vraiment facile, mais ça fait aussi partie du jeu ! ;-)
    Bonne chance à tous.
    Gilles
    J'édite pour donner la configuration de la salle :
    3 personnes du jury en face (au milieu de la salle et 3 (ou 4 ?) visiteurs les uns derrière les autres sur la rangée côté porte d'entrée.
  • Bonjour,

    Je n'ai effectivement rien dit de méchant, à moins que tu n'appelles "méchanceté" le simple rappel de ce qui t'attend dans la dure réalité, comme l'a très bien expliqué Jean-Éric.

    Cordialement,

    Rescassol
  • Je suis passé l'an dernier et de même je ne me souviens pas du tout des visiteurs (il y en avait un à chaque fois, je crois). Le jury a accaparé toute mon attention.
  • @ Rescassol,

    Tu connais beaucoup d'entretiens d'embauche qui ont lieu en public ?

    Pas méchamment,

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Bonjour,

    Je n'ai jamais assisté à un entretien d'embauche, en qualité de quoi que ce soit, mais je ne me souviens pas qu'il y en ait pour être prof.

    Cordialement,

    Rescasool
  • Excusez-moi en effet il semble au vu des derniers messages que ce n'est pas de la méchanceté (du "troll" je pensais), il s agit au mieux d'un manque d'empathie ou au pire de la stupidité hélas...

    J'arrête ce "débat" en ligne pour ma part, si besoin on se téléphone pour se comprendre (par message privé).
    Merci à ceux qui postent des choses qui m aident bien.
    Amicalement
  • Bonsoir ev.

    Je vais assister pour la première fois aux oraux du CAPES.

    Je me suis inscrit sur le site du jury et il est stipulé sur le convocation que je peux venir le matin (ou l'après midi selon la tranche de la journée demandée).

    De ce fait, comment se passe l'accueil?
    Y a t il une heure précise pour se présenter?
    Y a t il assez de places pour tous les inscrits?

    Merci beaucoup! :-)
  • Bonsoir Dzeta,

    Les oraux d'informatique ont lieu l'après-midi, aux dates signalées par le site d'inscription.

    Tu passes l'entrée du 29 rue des jardiniers avec ta convoque, ta pièce d'identité.
    Tu es dirigé sur le foyer où les charmants appariteurs vont faire de leur mieux pour te satisfaire.
    Sache toutefois que tu verras quatre jurys différents dans la même demi-journée.
    Il n'y a que quatre jurys d'info, donc il vaut mieux arriver de bonne heure. Premier parti premier servi. Il y avait environ trois places par jury l'an dernier. Donc aucune garantie puisque les réservations sont globales, tous jurys confondus.
    J'ai indiqué 13h45 sur la page précédente pour assister aux oraux de l'après-midi. J'espère que c'est toujours le cas.

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Bonjour ev

    Merci beaucoup pour ta réponse.

    Cela veut dire que si je ne viens pas dans les premiers, malgré la convocation, je ne pourrai pas assister aux oraux?
  • Tu pourras assister aux oraux (tu as réservé) mais pas forcément aux oraux d'info.
    Si douze goinfres sont passés avant toi et fait main basse sur les douze places disponibles en info, tu ne pourras que soigner ta déprime devant les oraux de maths (ou aller au ciné)
    Premier parti premier servi.

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • D'accord!

    Merci beaucoup pour ta réponse.
  • Les oraux d'info ont repris cette année.

    Venir à 13h45 pour y assister.
    Je posterai demain les comptes-rendus des oraux auxquels j'ai assisté.

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Bonjour,

    Tout d'abord merci à tous pour avoir nourri cette section du forum qui m'aura été d'une grande aide.
    Cela aura malheureusement été insuffisant pour vaincre le stress qui m'a paralysé une fois l'exposé terminé.
    A mon tour, je vous partage le peu de questions que j'ai eu. (le jury ayant tenté de me laisser beaucoup de temps pour que j'y réponde)

    Les sujets tirés (en gras celui choisi) :

    25. Modélisation et utilisation de l’informatique en physique ou en chimie.
    29. Exemples d’algorithmes de chiffrement et de déchiffrement.

    Questions du jury
    (suite à une grossière erreur de ma part) pouvez-vous nous rappeler ce que signifie a CONGRU b [n] ? Corrigez votre erreur....
    (concernant le cryptage RSA) pourquoi est-ce compliqué de trouver une factorisation en 2 nombres premiers ?
    Comment peut-on utiliser le RSA pour garantir la signature ?
    Pouvez-vous nous dire comment certifier que le message n'est pas altéré ? (le jury a évoqué une notion dont je ne m'en souviens plus)
    Pouvez-vous nous préciser un peu plus "mathématiquement" pourquoi le RSA fonctionne ? (ici le jury a laissé beaucoup de temps)
    (concernant le chiffrement de Vigenère) Pour une clé de longueur L, combien de cryptage différents peut-on dénombrer ?
    Et pour un chiffrement mono-alphabétique ? Combien de fonctions de cryptage ? Quelles sont les propriétés d'une telle fonction ?

    Soyons clairs, je n'ai su répondre à rien ou presque.
    Dernière question sur mon introduction, j'ai mis un citation de Camus en disant que je comptais régulièrement écrire une citation d'auteur en début de cours.
    Quel intérêt pédagogique pouvez-vous donner à cette pratique?

    Bon courage à tous les futurs candidats.

    Jerem'
  • Bonsoir Jerem'

    J'ai assisté à ton oral. J'y reviendrai demain. J'ai été surpris par ta citation.
    Le jury t'a demandé de la justifier du point de vue pédagogique. Je trouve que ta réponse a été habile.
    Je ne peux pas t'assurer que le jury ait été convaincu.

    Ton futur proche est le deuxième oral pour lequel je te souhaite bonne chance.
    Sache qu'il n'existe pas au capes de note à un oral qui empêche d'être admis grâce à l'autre.
    De plus ni toi ni même moi ne sommes capables de donner un encadrement utile de ta note de cette après-midi.

    amicalement,

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Couplage
    10 - Exemples illustrant l'utilisation de différentes méthodes de résolution de problèmes algorithmiques.
    26 - Problèmes de mathématiques du cycle 4 pouvant être résolus de manière algorithmique.

    Plan :
    I. Introduction
    définition d'un problème algorithmique: C'est un problème dont on ne connait pas la solution. On développe des méthodes pour résoudre de façon approchée.

    pourquoi différentes méthodes.
    Parce qu'il y a des méthodes plus ou moins performantes.
    On garde les "vieux" algorithmes pour avoir une référence.

    II. Calcul d'intégrales.
    L'intégrale se définit comme l'aire \( \mathcal A \) contenue entre une courbe et l'axe des abscisses.
    1/Méthode des rectangles.
    On discrétise
    On évalue l'aire soit avec les rectangles "hauts" soit avec les rectangles "bas".
    Pour diminuer l'erreur, on diminue la discrétisation.

    2/ Méthode de Monte-Carlo.
    On a besoin de connaître le maximum de la fonction \( f \) continue sur \( [a,b] \).
    On tire aléatoirement à l'aide d'une fonction d'une bibliothèque des points \( (x,y) \), \( a \leqslant x \leqslant b \) et \( 0 \leqslant y \leqslant \max f(x) \).
    On cherche si le point est sous la courbe. Enfin on compte les points sous la courbe.

    exemples : création des algorithmes.
    Ils seront codés en Python. En effet le pseudo-code est moins utile qu'un code pour les élèves.
    [ chaque fois que le jury demandera un code au candidat, il répondra par du code python mélangé à du pseudo-code... (N.d.e.v.) ]
    On discutera de la convergence et on calcule le résultat de l'intégrale.

    Monte-Carlo converge moins vite que les rectangles.

    Intérêt de la méthode de Monte-Carlo : pour les calculs d'intégrales multiples...

    III. Recherche de zéros.
    1/ Dichotomie.
    On a besoin de certaines hypothèses sur \( f \) : qu'elle soit monotone sur l'intervalle de recherche.
    [ Ce point ne sera pas relevé par le jury. (N.d.e.v.) ]
    On est sûr d'avoir un zéro dans l'intervalle \( [a,b] \) lorsque \( f(a).f(b) < 0 \).
    Je choisis pour le prochain point : \( \dfrac{b-a}{2} \), et pour le suivant \( \dfrac{\dfrac{b-a}{2}}{2} \).
    Cette méthode est extrêmement robuste: on est sûr de trouver le zéro.
    2/ Méthode de Newton. \( x_{n+1} = x_n - \dfrac{f(x_n)}{f'(x_n)} \).
    \( f \) : monotone sur l'intervalle \( [a,b] \).

    Elle converge beaucoup plus vite.
    Gros problème si la pente est trop grande (sic) au départ, je ne suis pas capable de calculer le deuxième terme.

    On peut mixer les deux méthodes : Quelques itérations par dichotomie puis méthode de Newton.


    Développement :
    Énoncer clairement l'algorithme de dichotomie (entrée, processus, sortie) tel que vous le présenteriez devant une classe.

    "Quand vous dites que vous actualisez b [ \( b = \dfrac{b-a}{2} \) ] est-ce que ça ne pose pas un petit problème ?"
    "Est-ce que vous pouvez rectifier légèrement ?"
    "Est-ce que vous pouvez démontrer la convergence ?"
    "On n'attend pas des réponses instantanées. Vous pouvez réfléchir."
    "Comment savez-vous que \( b>a \) ?"
    "\( b \) évolue au cours de l'algorithme. Comment être sûr que \( b > a \) ?"
    "Quel est l'invariant de boucle ?"
    "\( b>a \) est-il assuré par l'utilisateur ou par le programme ?"
    "Est-ce que vous connaissez la complexité de cet algorithme ?"

    Retour sur le plan :
    "Vous n'avez présenté que des méthodes numériques. Est-ce qu'il existe des algorithmes exacts ?"
    - Calcul matriciel.
    - Traitement d'image.
    "...et accessible à un élève de collège ou lycée ?"
    - calcul du \( n \)-ième terme d'une suite.
    "Pour la méthode des rectangles, quelle condition impose-t-on sur \( f \) ?"
    - \( f \) continue.
    "Peut-on imaginer cette méthode pour des fonctions non continues ?
    "Est-ce qu'il existe des fonctions pour lesquelles la valeur de la méthode des rectangles est exacte ?"

    "Pour la méthode de Monte-Carlo, pourquoi est-elle meilleure à partir d'un certain nombre de variables ?"
    "Quelle est la vitesse de convergence ?, en \( n \), en \( n^2 \) en \( \dfrac{1}{2^n} \) ?"
    "Vous dites, on va remplir la surface avec des points aléatoires. Quand est-ce qu'on peut dire qu'elle est remplie ?"
    "Est-ce que vous pouvez être plus précis que remplir ou un peu partout ?"
    "Donc c'est quand il y en a plein... Vous dites on choisit aléatoirement. De quel aléa parlez-vous ?"
    [ Olivier, tu es connu du jury, dis-donc ! (N.d.e.v.) ]
    "Y a-t-il plusieurs aléas ?"
    "Vous dites que \( \tt random \) suit une loi binomiale qui ne prend qu'un nombre fini de valeurs. Est-ce bien approprié pour remplir la surface ?"

    (À suivre...)

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • @ev,

    tu passes le capes ? C'est ta leçon ????
    Karl Tremblay 1976-2023, je t'appréciais tellement.
  • Merci pour ton retour !

    Juste avant l'épreuve, je me suis demandé si e.v. ne serait pas dans ma salle par hasard.
    Touché !
    J'ai perdu complètement mes moyens, c'est la première fois que je vis ça.
    Impossible de formuler un raisonnement, alors même que j'avais refait la veille la démonstration du RSA.
    Et puis les balbutiements sur -21 congru à 5 [26] ... Une partie de moi se disait "c'est pas vrai !! tu n'es pas en train de sécher sur ça !!!"

    C'est une leçon de vie pour ma part. Je me suis lancé en candidat libre dans ce concours avec la conviction chevillée au corps que ma place était devant une classe plutôt que dans une banque. Malgré la secousse, elle ne me quitte pas.

    Merci aussi pour le morceau d'espoir, demain il s'agit de faire une autre performance.

    Jerem'
  • @ kaizorro,

    Quand on stresse, on régresse.
    Je pense que c'est équivalent.
    De ce fait, on change de perception du temps. Des fractions de secondes semblent durer des siècles et de bonnes grosses minutes ont l'air d'être purement et simplement abolies. On touche alors à ce qu'on appelle l'éternité. Un mélange de stress, de concentration et d'ahurissement cosmique un rien déstabilisant.

    @ zeitnot

    Bien sûr que si, c'était ma leçon. Elle a été interprétée pour moi par le candidat et le jury. (Nicolas et Sylvain - que je salue - étaient au deuxième rang)

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • kaizorro, comme tu t'en doutes il y a très peu en commun entre un oral de concours et faire cours à une classe. Donc aucune raison de gamberger. Et souviens-toi que même en ayant été admissible ric-rac, des notes moyennes à l'oral suffisent pour réussir le concours.
  • 26 - Problèmes de mathématiques du cycle 4 pouvant être résolus de manière algorithmique.

    Plan :
    1. Nombres premiers.
    2. pgcd
    3. Dichotomie. (à partir de la 3ème)

    1. Nombres premiers.
    Définition.
    Crible d'Eratosthène. Cette méthode a ses limites. Elle est inconcevable pour \( n > 10^6 \).
    Il existe des méthodes probabilistes (à partir de la 4ème)
    Algorithme naïf en python puis scratch en suivant l'ex 47 p. 27 du manuel Indigo.

    2. pgcd
    Le pgcd d'un nombre premier et de n'importe quel autre nombre est toujours égal à 1.
    [ Ce point ne sera pas relevé par le jury. (N.d.e.v.) ]


    3. Dichotomie. Recherche d'un nombre dans un tableau trié (rajouté par le candidat)
    On place un marqueur sur la première case, un marqueur sur la dernière case. On coupe le tableau en deux selon si l'élément est plus grand ou plus petit que le nombre cherché.
    Quand les deux marqueurs pointent sur la même case,
    si le nombre de cette case n'est pas celui recherché, ce nombre n'est pas dans le tableau.

    Exemple : Jeu du juste prix sous forme d'exercice guidé.

    Développement :
    "Pouvez vous expliquer la recherche dichotomique comme devant une classe de cycle 4 ?"
    "On se donne une fonction \( f \) monotone. On cherche une valeur approchée de \( f(x) = y \). Pouvez-vous écrie un algorithme qui fasse ça, dans le langage de votre choix ?"
    def dicho(y):
        x1=0
        x2=10
        x3=(x1+x2)/2
        trouve=False
        while not trouve:
            if f(x3)==y:
                return x3
            else if f(x) > y:
                x1=x3
            else x2=x3
    

    "La valeur retournée par dicho, on peut en dire quoi ?"
    "Avec quelle précision ?"
    "Prenez le temps de réfléchir"
    Après ajout d'un compteur d'opérations:
    "Si \( n \) (le compteur) était égal à zéro, on aurait quelle précision ?"
    "Combien d'itérations faudrait-il pour avoir une précision de \( \varepsilon \) ?"
    "Reprenons l'exemple du tableau, \( n \) correspond à quoi ?"
    "Expliquez-nous comment vous calculez la complexité de la recherche dichotomique dans un tableau ?"
    "Comment l'expliqueriez-vous à une classe de terminale ?"

    Retour sur le plan :
    pgcd avec un compteur. "Justification mathématique pour des élèves de cycle 4. Pourquoi ça marche ?"
    def pgcd(n,m):
        compteur= 0
        for i in range(1,min(n,m)+1):
            if n%i==0 and m%i==0:
                compteur= i
        return compteur
    
    "Qu'appelez-vous l'algorithme récursif ? est-il connu ? a-t-il un nom ?"

    "Vous avez proposé des algorithmes de type arithmétique. Existe-t-il d'autres champs possibles ?"
    "Monte-Carlo pour approximer une aire ?
    "\( \pi \) est une approximation de quoi ?
    "Et en probabilités ?"
    Générateur aléatoire de nombres entre 1 et 6.
    "Et à part les probas ? En géométrie ?"
    "Quel outil utiliseriez-vous (pour le flocon de Von Koch) ?"

    "Pouvez-vous nous expliquer une méthode probabiliste pour déterminer des nombres premiers ?"

    "Que pouvez-vous dire du crible d'Eratosthène (dans le langage de votre choix) ?"
    "Donner une idée du nombre de tests exécutés dans un appel à cette fonction."

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 10. Exemples illustrant l'utilisation de différentes méthodes de résolution de problèmes algorithmiques.

    Plan :
    I. Calcul de somielle.
    1/ Définition \( \sum_{k=0}^n k \)
    2/ Itération
    3/ Récursivité
    4/ Formule mathématique
    5/ Tableur.

    II. Algorithmes de tri. On s'intéresse à la comparaison de l'efficacité et de la complexité, c'est-à-dire le coût en temps et en mémoire.
    1/ Tri à bulle
    2/ Tri par insertion
    3/ Tri rapide.

    III. Géométrie.
    Tracé de spirale (tortue, scratch...)

    Développement :
    Implémentation en \( \tt Python \) du tri à bulle.

    "Dans un tri à bulle, la liste est triée par portion. À cette deuxième étape, quelle portion de la liste est-elle triée ?"

    Retour sur le plan :
    "Quelle est la complexité des trois algorithmes de tri donnés. Comment note-t-on habituellement cette complexité ?"
    "Complexité linéaire, quadratique, qu'est-ce que ça veut dire ?"
    "Sauriez-vous dire à des élèves ce que signifie \( O(n) \) ?"
    "Comment ça peut-être utile en maths de trier un certain nombre de données ?"
    "À quelle occasion ?"
    "Sur des bases de données, c'est possible. Est-ce qu'il n'y aurait pas un point de rencontre entre les mathématiques et les bases de données ?"
    "En statistiques alors ? Quelle utilité peut-on avoir à ranger les données ?"
    "Quels paramètres que l'on peut calculer nécessite de trier par ordre croissant ?"

    "Que pourriez-vous donner comme algorithme pour rechercher un élément dans une liste ?"
    "Quelle est pour vous la définition mathématique d'un intervalle ?"
    "Pourriez-vous nous l'écrire avec des notations mathématiques adéquates ?"


    "Et si on a une liste qui n'est pas triée, auriez-vous un autre algorithme ?"
    "En quoi consiste la force brute ?"
    "Est-ce que vous pourriez nous la coder sous la forme d'une fonction qui à partir d'une liste et d'un élément retourne l'index de cet élément ?"
    "Est-ce qu'on peut réécrire ce programme sans avoir à casser la boucle par \( tt return \)"?

    Retour sur le programme de somielle.
    "Est-ce que vous connaissez des limitation du récursif ?"
    "Combien de valeurs sont stockées en mémoire ?"
    "Au niveau mathématique, comment prouver \( \sum_{k=0}^n k = \dfrac{n(n+1)}{2} \) ?"
    "Traiter le cas pair et le cas impair, comment appelle-t-on cela en mathématiques ?"
    "Est-ce que vous connaissez un autre procédé pour démontrer cela ?"
    "Pourriez-vous nous donner les grandes étapes du raisonnement par récurrence ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 7. Exemples d'algorithmes opérant sur un arbre. Applications.

    Plan :
    I. Définition des arbres.
    II. Tri par tas.
    III. Arbre des suffixes.
    IV. Arbre couvrant minimal.


    I. Définition des arbres.
    Un arbre est un graphe (i.e. un ensemble de sommets et d'arêtes) particulier:
    - connexe
    - sans cycle.

    Un graphe \( A \) est un arbre ssi \( \vert V(A)\vert = \vert E(A) \vert +1 \).
    Il est planaire à une seule face.

    Structure machine :
    On choisit une feuille comme racine.
    Ses fils sont soit l'arbre vide soit une liste d'arbres.

    Remarque: ces arbres sont enracinés.

    On peut considérer des arbres binaires.
    Il est plus intéressant de considérer des arbres étiquetés.

    II. Tri par tas.

    On considère un tableau d'entiers \( t \).
    Quel est le tableau trié contenant les éléments de \( t \) ?

    Un tas est un arbre enraciné, binaire et équilibré (tous les étages sont remplis)
    Algo tri(t)
       A = vide
       pour i de 0 à |t|
           ajouter t[i] à A
       pour i de 0 à |t|
           t[i]=e(A)
           supprimer la racine de A
       renvoyer t
    


    exemple |0|7|1|4|3|6|5|2| On échange les sommets qui avec leurs fils qui sont plus petits qu'eux.

    \( \xymatrix{&&&&0 \ar@{-}[drr] \ar@{-}[dll]&&&\\
    &&7\ar@{-}[dr] \ar@{-}[dl] \ar@/_/[dl]&&&&1\ar@{-}[dr] \ar@{-}[dl]&\\
    &4\ar@{-}[dl]&&3&&6&&5\\
    2&&&&&&&
    } \) \( \xymatrix{&&&&0 \ar@{-}[drr] \ar@{-}[dll]&&&\\
    &&4\ar@{-}[dr] \ar@{-}[dl] &&&&1\ar@{-}[dr] \ar@{-}[dl]&\\
    &7\ar@{-}[dl] \ar@/_/[dl]&&3&&6&&5\\
    2&&&&&&&
    } \)

    \( \xymatrix{&&&&0 \ar@{-}[drr] \ar@{-}[dll]&&&\\
    &&4\ar@{-}[dr] \ar@{-}[dl] \ar@/_/[dl]&&&&1\ar@{-}[dr] \ar@{-}[dl]&\\
    &2\ar@{-}[dl]&&3&&6&&5\\
    7&&&&&&&
    } \) \( \xymatrix{&&&&0 \ar@{-}[drr] \ar@{-}[dll]&&&\\
    &&2\ar@{-}[dr] \ar@{-}[dl] &&&&1\ar@{-}[dr] \ar@{-}[dl]&\\
    &4\ar@{-}[dl] &&3&&6&&5\\
    7&&&&&&&
    } \)

    fin de la première étape.

    Ensuite on vide l'arbre. On prend la racine (0) et on la remplace par la feuille.


    \( \xymatrix{&&&&0 \ar@{-}[drr] \ar@{-}[dll]&&&\\
    &&2\ar@{-}[dr] \ar@{-}[dl] &&&&1\ar@{-}[dr] \ar@{-}[dl]&\\
    &4\ar@{-}[dl] &&3&&6&&5\\
    7 \ar@/__/[uuurrrr] &&&&&&&
    } \)
    On échange 7 avec le plus petit de ses fils (1) et on recommence
    \( \xymatrix{&&&7 \ar@{-}[drr] \ar@{-}[dll] \ar@/_/[drr]&&&\\
    &2\ar@{-}[dr] \ar@{-}[dl] &&&&1\ar@{-}[dr] \ar@{-}[dl]&\\
    4 &&3&&6&&5
    } \)

    Un tas de \( n \) éléments a une hauteur de \( \lfloor \log_2(n) \rfloor \). La complexité est en \n \log_2(n) \). On a une complexité optimale.

    Complexité en mémoire.
    - représentation des arbres.
    - preuve par induction (généralisation de la preuve par récurrence)

    III. Arbre des suffixes.

    Recherche d'un motif \( m \) dans un texte \( t \).
    Un suffixe est un sous-mot \( s \) qui termine le texte : \( \exists u \) t.q. \( t = u\cdot s \).

    Exemple du texte "banana". Les suffixes sont "anana", "nana", "ana", "na", "a", \( \varepsilon = \varnothing \).
    On construit un arbre, dont les chemins ont des arêtes qui sont des lettres du mot.

    \( \xymatrix{ \cdot \ar@{-}[d]^b \ar@{-}[dr]^a&&&&&&\\
    \cdot \ar@{-}[d]^a&\cdot \ar@{-}[dr]^n&&&&&\\
    \cdot \ar@{-}[d]^n&&\cdot \ar@{-}[dr]^a \ar@{-}[dl]^{\$}&&&&\\
    \cdot \ar@{-}[d]^a&4&&\cdot \ar@{-}[dr]^n &&&\\
    \cdot \ar@{-}[d]^n&&&&\cdot \ar@{-}[dr]^a &&\\
    \cdot \ar@{-}[d]^a&&&&&\cdot \ar@{-}[dr]^{\$} &\\
    0 &&&&&&1
    } \)

    On a une construction en \( t^2 \). La recherche est linéaire.
    L'arbre une fois construit peut resservir.
    Notion de précalcul : différence entre complexité et efficacité.

    La programmation fait appel aux notions de chaines de caractères et d'accès fichier.

    IV. Arbre couvrant minimal.

    Graphe pondéré.
    Quel est le poids minimal d'un arbre couvrant.
    Un arbre couvrant \( G \) a les mêmes arêtes que \( A \).

    Complexité en \( O(n^3) \)
    problèmes d'optimisation
    graphe
    opérations élémentaires.
    On appelle profondeur(e) la longueur d'un chemin qui relie la racine à e.

    Développement : tri par tas.
    On appelle hauteur la longueur maximale d'un chemin de la racine à une feuille.
    "Comment trouve-t-on la hauteur ?"
    "Est-ce que vous pouvez définir un chemin hamiltonien ?"
    "Est-ce que vous pouvez définir un chemin ?"
    tous les sommets sont distincts.
    une marche (les arêtes sont distinctes) un parcours (les arêtes et les noeuds peuvent être identiques)

    "Comment implémenter le tri par tas ? Quel type va représenter un arbre ?"
    "Comment parcourir l'arbre pour trouver une feuille ?"

    "Pouvez-vous donner un algorithme assez naïf pour chercher un motif dans une phrase ?"
    "Avez-vous une idée de la complexité de cet algorithme ?"
    "Pouvez-vous corriger ce programme pour supprimer des opérations inutiles ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 14. Représentation binaire des nombres : formats, exemples d'applications.
    (couplé avec 21. Exemples d'activités relevant du traitement automatique des textes.)

    Plan :
    A) Introduction
    Nombres au quotidien. (sons, images, textes, ascii, etc.)
    Dans les appareils comment les nombres sont-ils représentés ?
    Analogique: nombre associé à une grandeur physique.
    Le problème est l'aléa physique du transport. La perte de décimales peut être critique lorsqu'il s'agit de sommes d'argent.

    B) Décompositions d'entiers.
    Base 10, base 2. Unicité de la décomposition.
    Intérêt de la base 2: facile à représenter physiquement (par un voltage à 0 ou 5V)

    Addition, multiplication, division (à la main)
    En \( \tt Python \) on utilise le préfixe Ob
    Exemple 0b101010 == 42 # (true)
    [ c'est pas moi qui ait inventé cet exemple... (N.d.e.v.) ]

    Fonctions de conversion d'une base à l'autre.
    Base 10 vers base 2.
    Par quelle valeur commencer: \( \log_2 \) a la capacité de donner le nombre de chiffres binaires.

    Hexadécimaux. écriture compacte des nombres binaires. un chiffre en hexa code quatre chiffres binaires.

    exemple: codage numérique des couleurs.
    F00 : Rouge
    0F0 : Vert
    00F : Bleu

    Pour aller plus loin :
    représenter les nombres positifs, les nombres négatifs.
    les nombres à virgule, les nombres flottants.

    en guise de conclusion.
    Qu'est-ce que la base 1 ?
    Comment compter sur ses dix doigts jusqu'à 1024 ?

    Développement Exposer comme devant une classe le format des entiers signés. Que faire comme leçon en ICN ?

    Dans une architecture 32 bits, on peut représenter les entiers non signés de \( 0 \) à \( 2^{32} - 1 \).
    Pour prendre en compte les nombres négatifs, une case (la première) est désignée pour le signe.
    On peut alors représenter les entiers signés de \( -2^{31} + 1 \) à \( 2^{31} - 1 \).
    Que se passe-t-il lorsqu'on dépasse la capacité ?
    On travaille dans \( \Z/2^{32}\Z \) pour les entiers non signés.
    On travaille dans \( \Z/2^{32}\Z \) pour les entiers signés.

    Il est facile d'expérimenter avec un programme C. Dans certains systèmes, on peut choisir la taille.

    [ L'exposé n'a pas été interrompu jusque là par le jury (N.d.e.v.) ]
    "Est-ce que int est un format de représentation des nombres ?"
    "Est-ce que vous pourriez représenter \( 17 \) avec des classes mémoires ?"
    "Est-ce que vous pourriez représenter \( -1 \) avec des classes mémoires ?"
    "Comment additionner \( 1 \) et \( -1 \) avec cette convention ?"
    "Quel est l'algorithme d'addition ?"
    "Qu'est-ce qui vous incite à croire qu'il y a une erreur ?"
    "Est-ce que vous pouvez dire/expliquer ce que vous avez en tête ?"
    "Quelle écriture de \( -1 \) pour qu'elle soit plus compatible avec l'addition ?"

    Retour sur le plan :
    "Quand vous écrivez dans votre programme de conversion
    \( \tt binary = str(binary) \)
    quel est le format des objets qui interviennent ?"
    "Est-ce qu'il existe un ou plusieurs formats d'entiers ? Est-ce un standard informatique ou particulier à \( \tt Python \) ?"
    "Combien de formats se cachent dans votre programme ?"
    "Que signifie \( \tt ** \) en \( \tt Python \) ?"
    "Un flottant, c'est quel type de nombre ?"
    "Comment définissez-vous un flottant à des élèves ?"
    "Est-ce que les élèves ont déjà rencontré des flottants dans leur scolarité ?"
    "Écrivez un flottant d'une calculatrice."
    "Si le nombre est plus grand ?"
    "Quels éléments sont associés à un flottant ?"
    "Quel est le coût de votre algorithme ?"

    "Un bruit peut modifier un signal analogique. Est-ce le cas pour un signal numérique ?"
    "Est-ce que [les codes correcteurs] pourraient avoir un lien avec le tire de la leçon ?"

    "Que signifie \( \tt true \) ?"
    "Est-ce qu'on peut utiliser des nombres pour représenter des booléens ?"
    "Pouvez-vous donner un exemple d'application des formats de nombres à la confection d'une table de vérité ?"
    "Comment effectuer des calculs avec des nombres pour confectionner une table de vérité ?"

    "Est-ce qu'on est obligé de passer par le logarithme pour convertir de la base 10 vers la base 2 ?"
    "Le \( \log_2 \) est-il coûteux ?"
    "Pouvez-vous écrire \( 15_{10} \) en base 2 ?"
    "Vous expérimentez des choses parce que vous êtes un être humain."


    "Faites-moi la division euclidienne de \( 17 \) par \( 2 \)."
    Le candidat écrit une suite de divisions euclidiennes.
    "En terme d'algorithmes, quand est-ce qu'on l'arrête ?"
    "Le bit de poids fort, il est où ?"
    "Est-ce que vous avez une idée de la complexité ?"
    "Une division par \( 2 \), ça se fait comment ? Pour le reste ? pour le quotient ?"

    "Qu'est-ce que vous diriez à des élèves à propos des couleurs ?"
    "Vous avez une palette de combien de couleurs ?"
    "Vous dites que l'hexa est plus compact, c'est-à-dire ?"
    "Pourquoi ça prend le même espace mémoire ?"

    "Est-ce qu'on pourrait jouer avec les couleurs ? Par exemple la synthèse additive des couleurs ?"
    "Comment expliquer à un élève d'où vient le F0F violet ?"

    "Violet est-il issu d'un calcul ou est-ce une représentation humaine ?"
    "Rouge, bleu sont des choix. Est-ce qu'on violet est le résultat d'un calcul ?"
    "Le blanc, vous le coderiez comment ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 29. Exemples d'algorithmes de chiffrement et de déchiffrement.

    Tout commence par la conscience
    et rien ne vaut que par elle.
    Albert Camus
    Le mythe de Sisyphe


    Plan :
    Comment s'assurer de la confidentialité d'une information et garantir l'identité de l'émetteur.

    I. Chiffrement de César.
    Fonction de codage et de décodage (collège)
    - pas de signature: tout détenteur de la clé peut se faire passer pour l'émetteur.
    - ne résiste pas à une analyse de fréquences.
    - Le mécanisme est simple et ne résiste pas à une attaque par force brute.

    II. Chiffrement affine. \( a \) et \( b \in [\![0,25]\!] \).
    \( y \equiv ax+b \bmod{26} \).

    On a deux clés au lieu d'une. Quelle est la fonction de déchiffrage ?
    Exemple : \( y \equiv 3x+11 \bmod{26} \).
    On cherche l'inverse de \( 3 \) modulo \( 26 \) :
    \( 3\times9 \equiv 1 \bmod{26} \),
    donc \( 9y \equiv 27x+99 \bmod{26} \)
    soit \( 9y \equiv x+21 \bmod{26} \)
    soit \( x \equiv 9y-21 \bmod{26} \)
    soit \( x \equiv 9y+5 \bmod{26} \).
    Il est important de travailler par implications. Attention avec les divisions dans les congruences. Une alarme doit se déclencher.

    Le chiffrement affine est sensible à l'analyse de fréquences.

    III. Chiffrement de Vigenère.
    Exemple texte NANCY. Clé: CITE
    On écrit le texte et la clé et on additionne modulo 26 :
    N A N C Y
    C I T E C
    ---------
    P I G G A
    



    L'analyse de fréquence ne marche plus. Elle reste possible si on connait la longueur de la clé.

    IV. Masque jetable.
    1. la clé a même longueur que le message.
    2. elle est générée de façon aléatoire.
    3. elle est à usage unique.

    V. RSA: clé publique clé privée.

    Bob code avec une clé publique fournie par Alice.
    Alice peut décoder à l'aide de sa clé privée.

    Développement
    "Je veux décrypter le message de Bob. Pourquoi est-ce difficile ?"
    Principe. on prend \( n = ab \) où \( a \) et \( b \) sont de grands nombres premiers.
    La clé publique est un entier \( c \), la clé privée est un entier \( d \) tels que
    \( x^{cd} \equiv x \bmod n \).

    "Est-ce qu'il existe des façons plus astucieuses de trouver ce \( c \) ?"

    Retour sur le plan :

    Chiffrement affine.
    "Que signifie \( a \equiv b \bmod{26} \) ?"
    "On remarque que \( 3\times9 \equiv 1 \bmod{26} \). Est-ce une remarque incidente ou est-ce qu'il y a un moyen de trouver ce \( 9 \) par un algorithme ?"
    "Peut-on déterminer l'inverse de \( 5 \) modulo \( 26 \) ?"
    "Est-ce que vous savez à quelle condition un entier relatif a un inverse modulo \( 26 \) ?"
    "Est-ce que vous connaissez une propriété arithmétique qui permette de savoir si un entier relatif a un inverse modulo \( 26 \) ?"

    Chiffrement de Vigenère.
    "Combien y a-t-il de clés différentes de longueur 4 ?"
    "Pour un chiffrement mono-alphabétique, combien y a-t-il de clés possibles ?"
    "Qu'est-ce qu'il y a comme clés acceptables ?"
    "Quelles sont les conditions que l'on doit imposer et combien y en a-t-il ?"
    "Quel terme mathématique décrit cette situation ?"
    "Quelle propriété la fonction de codage doit-elle vérifier ?"
    "Combien y a-t-il de fonctions injectives des caractères de l'alphabet dans lui-même ?"

    RSA.
    "Pourquoi crypter dans cet ordre garantit l'identité de l'émetteur ?"
    "Pouvez-vous l'expliquer avec votre petite formule ( à savoir \( cd \equiv 1 \bmod{(p-1)(q-1)} \) )?"
    "Pas forcément une démonstration, mais comment fait-on pour chiffrer, pour déchiffrer ?"

    "Une autre fonctionnalité de la cryptographie : l'intégrité. Comment savoir si un message a été ou non modifié ? Est-ce que vous savez comment on fait ?"

    "RSA est basé sur la difficulté de factoriser. Pour que ce mécanisme soit intéressant, on a besoin de grands nombres premiers. Comment fait-on pour en trouver ?"


    "Quel intérêt pédagogique des citations avez-vous en tête ?"
    "Pensez-vous que la conscience à laquelle fait référence Camus est la même que celle qui intervient dans la cryptographie ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Les 2 derniers exemples semblent d'assez haut niveau (en partant sur la base que les candidats ont su répondre aux questions ou au moins répondre quelque chose de pertinent, ce qui paraît être le cas vu l'enchaînement des questions).
  • 7. Exemples d'algorithmes opérant sur un arbre. Applications.

    Plan :
    Définition.
    Un arbre est un graphe connexe sans cycle.
    Les sommets qui n'ont qu'une seule arête sont des feuilles. Les autres sont des noeuds.

    Pour tout couple de noeuds, il existe un unique chemin entre les deux.

    Représentation informatique:
    matrice d'adjacence:
    0 si les deux sommets ne sont pas liés.
    1 si les deux sommets sont liés.

    Le graphe n'est pas orienté : la matrice est symétrique.

    Sinon, on utilise plutôt des listes. L'arbre
    \(
    \xymatrix{
    &A \ar@{-}[d]&&\\
    &B \ar@{-}[dr] \ar@{-}[dl]&&\\
    F \ar@{-}[d]&&C \ar@{-}[d] \ar@{-}[dr]&\\
    G&&D&E
    } \)
    est codé par \( [A,[B,[C,[D],[E]],[F,[G]]]] \).
    \( A \) est la racine de l'arbre : on a un graphe orienté.

    Algorithmes :
    1/ Déterminer le nombre de sommets d'un arbre.
    2/ Calculer la profondeur (chemin le plus long entre la racine et une feuille).
    def nbsA(aArbre):
    	vnb = 1
    	for i in range(len(aArbre)-1):
    		vnb = vnb+nbsA(aArbre[i+1])
    	return vnb
    

    C'est un parcours en profondeur : on va le plus loin possible avant de faire un traitement.
    Par exemple: liste des sommets de l'arbre.

    Il existe aussi une exploration en largeur, c'est-à-dire niveau par niveau.

    3/ renversement d'arbre et changement de racine

    \(
    \xymatrix{&B \ar@{-}[dr] \ar@{-}[dl] \ar@{-}[d]&\\
    A&C \ar@{-}[dl] \ar@{-}[d]&F \ar@{-}[d]\\
    D&E&G
    } \)
    4/ transformation de liste en matrice d'adjacence et inversement.

    Exemples d'arbres :
    Les données de type XML/HTML
    Arborescence des fichiers : Les répertoires sont les noeuds et les fichiers sont les feuilles.
    Document texte : structuré en chapitre, section, sous-section, etc.
    Parenthésage des expressions.
    \( 2 + 3\times5 \) : \(
    \xymatrix{&+\ar@{-}[dr] \ar@{-}[dl] &&\\
    2&&\times \ar@{-}[dr] \ar@{-}[dl] &\\
    &3&&5 } \) et \( (2 + 3)\times5 \) : \(
    \xymatrix{&&\times \ar@{-}[dr] \ar@{-}[dl]&\\
    &+ \ar@{-}[dr] \ar@{-}[dl]&&5\\
    2&&3&} \)

    Arbre des possibilités dans un jeu.

    Retour sur le plan :
    "On se fixe un graphe. Donner la définition d'un chemin."
    "Est-ce que vous pourriez donner mathématiquement la définition d'un graphe ?"
    "Qu'est-ce qui constitue un graphe ?"
    "On parle d'un graphe non orienté. Avec la définition que vous avez donnée [\( G \) un graphe, \( S \) ensemble des sommets, \( A = \{ (x,y), \; x,y\in S \} \) ] qu'est-ce que le graphe \( G \) ?"
    "On prend \( S \) avec deux sommets, qu'est-ce que ça donne ?"
    "Avec trois sommets ? pour un graphe général ?"
    "Pourriez-vous corriger votre définition ?"
    "Vous définissez un graphe comment ?"
    "Et vous voudriez un graphe comment ?"
    "Et vous le notez comment ?"
    "C'est une appartenance ?"
    "Définition d'un chemin ?"
    "Définition mathématique ?"

    "Vous avez dit : c'est LE chemin entre \( A \) et \( E \). Il n'y en a pas d'autre ?"
    "Avec votre définition, je pense qu'il y en a d'autres."
    "Les définitions sont changées pour les arbres ?"
    "Définition d'un chemin simple et d'un chemin élémentaire ?"
    "Pouvez-vous redéfinir la notion de profondeur ?"
    "Il peut y en avoir plusieurs de \( A \) à \( E \) ?"

    "La notion d'algorithme en profondeur et en largeur, est-ce qu'on peut le définir dans le cas d'un graphe qui n'est pas un arbre ?"
    "C'est associé à quel type de structure ?"
    "La détection d'un cycle c'est un problème ?"

    "Minimiser un trajet sur un graphe, on utilise quel algorithme en terminale ?"
    "Au delà de la terminale, il y en a d'autres que vous connaissez ?"
    "Proches de Dijkstra, vous en connaissez ?"

    "On va regarder vos algorithmes en largeur"
    "Quel est le type de ce que vous affichez ,"
    "Si je considère qu'il y a \( N \) sommets, quelle est la complexité de votre fonction ?"
    "Est-ce que vous pouvez justifier ?"
    "Si vous deviez écrire une démonstration que vous présenteriez à des élèves \ldots ?"

    "Quelle utilité d'utiliser les arbres pour les problèmes de parenthésages ?"
    Exemple du candidat : \( (2+x)(x+7)+1 \)
    "Est-ce qu'on peut gagner quelque chose ?"
    \( + \times + 2 x x 7 1 \) (préfixé)
    \( 2 x + x 7 + \times 1 + \) (postfixé)

    "Pouvez-vous développer les arbres de possibilités pour les jeux"
    (Tic-tac-toe)

    "Techniques de calcul de \( 9! \) ?"
    "Est-ce que vous pouvez ouvrir Pyzo et écrire un programme qui calcule \( n! \) ?"
    "Une seconde version itérative ?"
    "Donnez à la craie la complexité des algorithmes ?"
    "Est-ce que vous pouvez définir \( O(u_n) \) où \( (u_n) \) est une suite à termes positifs ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 20. Exemples d'activités relevant de l'optimisation combinatoire.

    Plan :
    Le domaine est très vaste.

    Recherche d'un extremum. Exercice classique du volume maximum d'une boîte à partir d'une feuille de papier.

    Dès que l'on a une certaine quantité de paramètres, on a des résolutions complexes:
    - algorithmes compliqués à implémenter
    - il y a un grand nombre de combinaisons possibles à explorer.
    - la recherche de la meilleure solution est délicate.

    1/ problème du sac à dos.
    On dispose d'un certain poids ou volume. Quels objets prendre dans un sac à dos pour maximiser l'utilité. Exemple pour un sac de 10 kg
    Poids			1		2	3		4
    Utilité			0,5		4	5		15
    Utilité/Poids	        0,5		2	1,67	        3,75
    

    Pour trouver toutes les combinaisons, on construit un arbre.
    4 possibilités à partir de la racine.
    4 possibilités à partir de chaque noeud. donc \( 4^2 \) noeuds
    ...
    au maximum 10 niveaux et au maximum \( 4^{10} \) feuilles.
    Quelles sont les feuilles qui ont la plus grande utilité ?

    Je propose un algorithme glouton.
    Je prends l'objet qui a le meilleur rapport Utilité/Poids jusqu'à ce qu'on ne puisse plus.
    Puis l'objet qui a le second meilleur rapport Utilité/Poids jusqu'à ce qu'on ne puisse plus.
    etc.

    2/ Je pars de Montpellier.
    Quel est le chemin le plus court pour passer l'oral à Nancy.
    Algorithme de Dijkstra.
    - Ne fonctionne pas avec des pondérations négatives

    \( \xymatrix{ &N \ar@{-}[dl]^{80} \ar@{-}[r]^{150}&V\ar@{-}[dr]^{90} &&P\ar@{-}[dl]^{300} \ar@{-}[r]^{200}& S\ar@{-}[dd]^{50} \\
    M \ar@{-}[dr]_{200}&&&L \ar@{-}[dr]_{200}&&\\
    &CF \ar@{-}[urr]_{50}&&&D \ar@{-}[r]_{400}& Na
    } \)
    Structures de donnée : les graphes.
    [ Vu de Montpellier, il est plus court de passer par Strasbourg pour aller de Paris à Nancy... (N.d.e.v.) ]

    3/ Problème des huit reines.
    - résolution par récurrence.
    Je pose une reine. Je bloque toutes les cases en prise.
    Je pose la reine suivante sur les cases non bloquées.
    etc.
    - résolution par réduction des conflits.
    Je pose une reine par ligne.
    Pour chaque reine je compte combien de fois elle est en prise.
    Je repositionne la reine la plus en prise sur la case de la ligne où elle est la moins en prise.
    etc.

    Développement Dijkstra
    "Si on connait le chemin le plus court de M à V, est-ce qu'on connait le chemin le plus court de M à S ?"
    "Est-ce que vous connaissez le nom de ce principe ?"
    "À quelle grande famille de programmation Dijkstra appartient-il ?"
    "Est-ce que vous pourriez relier le fonctionnement du tableau au code de l'algorithme ?"
    "Vous avez choisi une implémentation par dictionnaire plutôt que par matrice. Quel est l'intérêt du dictionnaire ?"

    Retour sur le plan :
    "Pour le problème du sac à dos, on parle de problème NP-difficile. Est-ce que ça vous dit quelque chose ?"
    "Dans l'arbre des combinaisons, est-ce que ça montre le caractère polynomial ?"
    "En théorie des graphes, est-ce que vous connaissez un algorithme glouton pour colorer un graphe ?"
    "Quel est le vocabulaire associé à ce graphe ?"
    "Est-ce que l'algorithme trouve le meilleur nombre de couleurs ?"
    "Pouvez-vous trouver un graphe très simple qui montre les limites de l' algorithme glouton ?"
    "Est-ce que vous connaissez des problèmes pour lesquels l'algorithme glouton est optimal ?"
    "Est-ce que vous connaissez un en théorie des graphes ?"
    "ça veut dire quoi très très compliqué [ Pour le problème du voyageur de commerce (N.d.e.v.) ] ?"
    "Un exemple plus simple : problème des arbres courts dans un graphe."
    "Est-ce que vous pourriez définir un arbre ?"
    "Définition formelle d'un arbre ?"

    "Pourquoi l'algorithme de Dijkstra ne fonctionne pas avec des pondérations négatives ?"
    "En règle générale, dans un graphe où il y a des pondérations négatives, est-on assuré de l'existence d'un plus court chemin ?"
    "Essayez d'appliquer l'algorithme de Dijkstra à \( \xymatrix{ &A \ar@{-}[dr]^{-30}&\\
    B \ar@{-}[ur]^{-20} &&C \ar@{-}[ll]^{-40} } \)"
    "Est-ce que vous connaissez un algorithme qui fonctionne avec des pondérations négatives ?"
    "Est-ce que vous pouvez définir un arrangement ?"
    "Qu'est-ce qu'on fait lorsqu'on compte des arrangements ?"
    "Est-ce que vous pouvez compter le nombre de façons des placer 8 éléments parmi 64 cases sans tenir compte de l'ordre ?"
    "Faites attention à ne pas compter plusieurs fois la même configuration."
    "Pour 8 cases et 2 reines, combien y a-t-il d'arrangements ?"
    "Est-ce que vous avez une écriture pour \( \dfrac{8!}{6!2!} \) ?"

    "Pour le problème du sac à dos, est-ce que les algorithmes naïfs et gloutons donnent des résultats optimaux ?"
    "Est-ce que le problème reste compliqué si on se limite à un seul objet de chaque sorte ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 10. Exemples illustrant l'utilisation de différentes méthodes de résolution de problèmes algorithmiques.
    (couplé avec 28. Exemples d'algorithmes agissant sur des matrices.)

    Plan :
    Définition d'un algorithme.
    Exemple factorielle.

    Utilisation d'une structure linéaire: Pile, file, liste.
    Exemple d'une pile pour le classement de notes.

    Arbre binaire
    recherche d'un fichier dans une arborescence.

    "Pour chacun des algorithmes présentés, pouvez-vous dire quel problème est résolu ?"
    "Pouvez-vous modifier le programme factorielle [ récursif (N.d.e.v.) ] en écrivant une boucle tant que ?"
    "Écrire de façon formelle le problème résolu par cette fonction. Entrée, Sortie."
    "Quel problème résout le deuxième algorithme ?"
    "J'ai du mal voir l'analogie avec les fichiers. Il semblerait qu'il n'y ait que deux fichiers par niveau, c'est ça ?"
    "À quel niveau introduiriez-vous ces notions ?"
    "Vous utilisez des tableaux et des listes. Pouvez-vous expliquer quelles sont les différentes fonctions dont vous disposez pour chacune de ces structures ?"
    "Vous dites qu'une liste n'a que des avantages par rapport à un tableau. Pourquoi utilise-t-on un tableau ?"
    "Quel est l'intérêt d'avoir ces deux structures différentes ?"
    "Quand vous parlez de gestion de mémoire, c'est la mémoire de quoi ?"
    "Est-ce qu'un tas est une pile ?"
    "Si on a un arbre et \( N \) cases. Combien d'appels récursifs sont nécessaires pour trouver un fichier dans cet arbre ?
    "Est-ce que vous pouvez décrire le nombre de feuilles d'un arbre binaire ayant \( N \) noeuds ?"
    "Qu'est-ce qu'une feuille ?"
    "Est-ce qu'une feuille est un noeud ?"
    "Et la profondeur de cet arbre, que pouvez-vous en dire ?"
    "Est-ce que vous pouvez démontrer que cette profondeur est supérieure ou égale à \( \log_2(N) \) ?"
    "On admet que la hauteur est minimale si l'arbre est équilibré. Faites une représentation, comptez les objets, faites intervenir la profondeur, les feuilles."
    "Est-ce que vous pouvez justifier que \( f = 2^p \) ?"
    "Par exemple [ par récurrence sur \( p \) ]."
    "Quand vous écrivez : On suppose \( f = 2^p, \; \forall p \in \N \), à quoi ça sert de l'encadrer plus bas ?"
    "C'est curieux, ça, de supposer ce qu'on veut démontrer. Si c'est comme ça, je vais tout démontrer par récurrence."
    "On l'a démontré pour \( 0 \), on l'a démontré pour un \( p \). Et entre \( 0 \) et \( p \) on ne sait pas ce qui se passe. Est-ce que c'est grave ?"
    "Vous pourriez l'écrire mathématiquement, cette phrase ?"
    "C'est quoi le résultat ?"
    "La relation entre la profondeur \( p \) et le nombre de feuilles \( f \), écrivez là."
    "Exprimez \( p \) en fonction de \( N \)."
    "Trouvez un encadrement."
    "C'est forcément un entier \( \log_2(N+1) \) ?"
    "Dans quel cas \( \log_2(N+1) \notin \N \) ?"
    "Que faire dans ce cas-là ?"
    "Donnez-moi un exemple pour lequel \( \log_2(N+1) \notin \N \)."
    "Prenons un cas où \( N+1 = 10 \), que vaut \( \log_2(N+1) \) ?"
    "Est-ce que \( \log_2(N+1) \in \N \) ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Quelques remarques plus subjectives :

    J'ai vu des orthographes exotiques qui m'ont un peu piqué les yeux.
    Dont un "algorythme" de très mauvais aloi.

    Un candidat a utilisé l'expression "copié-merdé" que je trouve efficace et garde pour moi-même.
    Pour autant je doute que le jury ait apprécié ce trait à sa juste valeur.

    Un candidat qui avait évacué son plan en dix minutes a suggéré au jury d'arrêter au bout de vingt minutes.
    Réponse d'un membre du jury : "On comprend parfaitement qu'avec le stress on mélange tout. L'essentiel c'est qu'on se comprenne." (Le candidat est resté jusqu'au bout de l'interrogation. )

    Dans la même veine, quelques candidats ont cru bons de se justifier pour ne pas avoir fait telle ou telle chose annoncée dans le plan ou pour ne pas avoir de réponse à une question posée. Justification qui pouvait prendre la forme "je suis en reconversion". "Je n'ai jamais programmé avec \( \tt Python \)", etc. Je doute que cette attitude de victime produise un bon effet sur le jury propulsé ipso facto dans le rôle du bourreau.

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 2. Boucles : principes et exemples.

    Plan :
    Au cycle 4 :
    On a souvent besoin de répéter une ou plusieurs actions.
    En mathématiques pour le tracé de figures.

    Boucles scratch
    - répéter \( n \) fois.
    - répéter jusqu'à
    - répéter infiniment

    \( \tt Python \)
    - For compteur in liste :
         instructions
    - While condition :
         instructions
    

    exemples scratch
    - compter de \( 0 \) à \( N \).
    - avancer de pas.
    - avancer jusqu'à toucher le bord.
    - avancer sans jamais s'arrêter.
    - tracer un triangle isocèle.
    - tracer un carré.

    \( \tt Python \)
    - compter de \( 0 \) à \( N \).
    - afficher les éléments d'une liste.
    - chercher un élément dans une liste.

    Développement programme scratch avancer jusqu'à toucher le bord.
    "Pouvez-vous modifier le programme pour déplacer le lutin en ordonnée de \( \pm10 \) avec arrêt dès qu'on touche le bord ?"

    "Pouvez-vous expliquer le problème qui s'est présenté ?"
    "Expliquez ce que vous semblez avoir compris ?"
    "On va essayer de simplifier le modèle. On peut se servir du repère. En \( x \) on va avancer de \( 10 \). En \( y \) on va avancer ou reculer de \( 10 \). Est-ce que vous pouvez dessiner l'écran, un point qui représente votre sprite. On va estimer que le chat démarre sur l'origine. Tous les \( 10 \) pas il monte ou il descend de \( 10 \) de façon aléatoire. Est-ce que vous pouvez l'écrire de façon formelle ?"
    "Formalisez \( y_1 = y_0 \pm 10 \)."
    "En mathématiques, comment ça marche l'aléatoire ?" [ Si quelqu'un a une réponse à celle-là, je prends ! (N.d.e.v.) ]
    "En mathématiques, comment appelle-t-on une quantité qui varie de façon aléatoire ?"
    "Pourriez-vous préciser la loi de \( y \) ?"
    "Est-ce que vous connaissez des lois usuelles enseignées au lycée ?"
    "Est-ce qu'il y en a d'autres [ que la loi binomiale ] ?"
    "On va utiliser votre technique avec un aléa entre \( 1 \) et \( 10 \)."
    "On va faire un petit test."
    "Quel est le rôle de ce second bloc ?"
    "J'ai l'impression que le lutin descend plus souvent qu'il ne monte. Est-ce que vous pouvez expliquer pourquoi ?"
    "Que pensez-vous de mon impression ?"
    "Est-ce que vous pensez que mon impression est justifiée ?"
    "Il faudrait qu'on exécute le programme combien de fois pour convaincre mon collègue ?"
    "Comment savoir avec un compteur s'il a plus tendance à descendre que de monter ?"
    "Les nombres aléatoires entre \( 0 \) et \( 10 \), vous les avez choisis comment ?"
    "Et si ça avait été des nombres réels, qu'est-ce que ça aurait changé ?"
    "À la fin, lorsqu'il a touché le bord, il a une position. Est-ce qu'on peut récupérer la position en ordonnée ?"
    "Est-ce que vous pouvez définir clairement la loi binomiale comme devant des élèves ?"
    "Que savez-vous de la loi binomiale ?"
    "Quels sont les paramètres de cette loi ?"

    "Malheureusement le temps tourne, nous allons passer à tout autre chose. Est-ce que vous pouvez exposer à une classe de seconde la résolution de \( x^2 = 3 \) par dichotomie sur \( [0,10] \)."
    "Si vous pensez qu'il y a des explications utiles à vos élèves, vous pouvez nous les donner."
    "Est-ce que vous pensez que vous allez y arriver exactement ?"
    "Quand est-ce que vous allez vous arrêter ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 3. Récursivité : principes et exemples.

    Plan :
    Niveau: BTS SIO
    - récurrence terminale.
    - Conversion en un algorithme non récursif.

    1/ principe
    Écriture d'un programme non récursif pour calculer la suite de Fibonacci.
    [ Au tableau, le candidat reproduit un superbe triangle de Pascal... (N.d.e.v.) ]

    Une fonction récursive est une fonction qui s'appelle elle-même.
    Bien faire attention aux valeurs de base.

    2/ Fiche savoir faire.

    3/ Exemples
    Somme des \( n \) premiers nombres.
    pgcd de deux nombres.
    Conversion de décimal à binaire.

    *** Arrêt au bout de dix minutes. ***

    Développement Retour sur le premier algorithme de Fibonacci.
    "L'avez-vous fait fonctionner dans un environnement \( \tt Python \) ?"
    "Essayez avec pyzo."
    "Qu'est-ce que vous manipulez comme langage ?"
    "Comment vous expliquez le calcul de \( \tt fibo(5) \) à vos élèves ?"
    \( \tt fibo(4) + fibo(3) \)
    "Est-ce terminé ? Qu'est-ce qui se passe ?"
    "Est-ce que vous pouvez expliquer le programme ?"
    "Qu'est-ce qu'il faudrait faire pour le terminer ?"
    "À quel endroit le programme s'appelle-t-il lui-même ?"
    "Expliquer comment fonctionne le programme, afin de comparer les résultats."
    "Le \( 8 \), il est où dans le tableau [ le triangle de Pascal... (N.d.e.v.) ] ?"

    Retour sur le plan :
    Dans votre introduction, vous avez évoqué des systèmes à états et transitions. Comment peut-on utiliser un système à états et transitions de façon linéaire ou récursive ?"
    "Peut-être une définition d'un système à états et transitions ?"
    "On considère trois pays avec des échanges de populations."
    \( \xymatrix{ &A \ar@<2pt>[dr] \ar@<2pt>[dl]&\\
    B \ar@<2pt>[ur] \ar@<2pt>[rr] &&C \ar@<2pt>[ll] \ar@<2pt>[ul] } \)
    "Oui, les trois en même temps..."
    "Faites les choix d'hypothèses que vous voulez."

    "Pouvez-vous calculer le pgcd pour 6 et 12 ?"
    "Elle est où cette condition \( a > b \) dans votre programme ?"
    "Que se passe-t-il lorsqu'on poursuit le programme ?"
    "Que voulez-vous dire par retourner les variables ?"
    "Est-ce que vous pourriez démontrer cette égalité [ pgcd(a,b) = pgcd(b,a-bq) (N.d.e.v.) ]?"
    "Votre algorithme s'appuie sur quelle égalité en fait ?"

    "Est-ce que vous pourriez coder la conversion de décimal à binaire ?"
    "Si je vous donne \( 17_{10} \) à écrire en binaire ?"
    "Quelle est la réponse ?" [ \( 17_{10} = 1000_2 \) dans un premier temps (N.d.e.v.) ]
    "Est-ce que vous pourriez le vérifier mathématiquement ?"
    "Alors quel est le résultat ?"
    "Alors quel est le résultat ?"
    "Est-ce que vous pourriez le vérifier mathématiquement ?"
    "Quand est-ce que votre algorithme s'arrête ?"
    "Comment est-ce qu'on justifie cet algorithme ?"
    "Pouvez-vous donner la définition du développement dyadique d'un entier naturel ?"
    "Pouvez-vous formaliser un petit peu ?"
    "Comment quantifiez-vous ?"
    "Pour tous \( a_i \), pour quelques-uns ?"
    "Votre décomposition elle est unique ?"
    "Votre décomposition elle est unique ?"
    "Comment, à partir de cette égalité peut-on retrouver votre résultat ?"
    "Si j'ai bien compris, vous cherchez les \( a_i \) ? Vous venez de trouver \( a_0 \), et les suivants ?"

    "Est-ce que vous pouvez définir la factorielle d'un entier naturel, comme devant les élèves ?"
    "Pourriez-vous proposer un algorithme/programme qui calcule la factorielle d'un entier naturel ?"
    "Est-ce que vous pourriez vous passer du symbole \( \displaystyle\prod_{k=1}^n \) qui n'existe pas en langage \( \tt Python \) ?"
    "Cette fonction est-elle récursive ?"
    "Est-ce que vous pouvez expliquer ce que fait cette ligne [ \( \tt fact(n) = fact(n-1)*n \) (N.d.e.v.) ] ?"
    "C'est récursif ou itératif ?"
    "Pourriez-vous proposer une version non récursive ?"

    "Y a-t-il une différence entre \( \tt n=0 \) et \( \tt n==0 \) ?"
    "Quelle est la différence ?"
    "Juste pour clarifier, laquelle est l'affectation ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 12. Exemples de détermination de la complexité (en temps et dans le pire des cas) d'un algorithme.

    Plan :
    Niveau: Term ISN
    Prérequis: notion d'algorithme et de tri.

    1/ Coût d'un algorithme
    2/ Comparaison d'algorithmes
    3/ Complexité d'un algorithme récursif.
    4/ Différentes nuances de complexité.

    1/ Coût d'un algorithme
    On compte le nombre d'opérations, de comparaisons, d'affectations
    On calcule l'occupation en mémoire.

    Exemples:
    - calcul de la moyenne de deux nombres. 2 opérations, deux variables:
    Algorithme à coût constant.
    - Calcul de \( x^n \). \( n \) opérations, une variable
    Algorithme à coût variable.

    2/ Comparaison d'algorithmes
    Deux algorithmes pour trouver le max dans un tableau.
    def maxi(t):
    	max=t[0]
    	for i in range(len(t)):
    		if t[i]>max:
    			max=t[i]
    	return max
    	
    def tri_insertion(t):
    	for ind,val in enumerate(t):
    		j=ind
    		while j>0 and val<t[j-1]:
    			j=j-1
    			t[j]=val
    	return t[len(t)-1]
    

    On peut mettre un compteur dans chacun des algorithmes.
    Il y a plus d'opérations dans le deuxième algorithme.
    Les données d'entrée ont une influence sur la complexité.
    Les différentes opérations ne demandent pas toutes le même temps de calcul.

    Complexité linéaire pour le premier algorithme.
    Complexité quadratique pour le deuxième algorithme.

    3/ Complexité d'un algorithme récursif. \( u_0 = 2, \; u_n = \dfrac12\left( u_{n-1} + \dfrac{3}{u_{n-1}} \right) \).
    Nombre \( c(n) \) d'opérations arithmétiques:
    - si on ne fait qu'un seul appel à \( u_n \), \( c(n) = c(n-1) + 3 \): complexité linéaire.
    - si on fait deux appels à \( u_n \), \( c(n) = 2c(n-1) + 3 \): complexité exponentielle.

    4/ Différentes nuances de complexité.
    Test naïf des nombres premiers.
    - si \( n \) est pair : 2
    - si \( n \) est premier \( \sqrt n \).

    Dans le tri insertion
    Le meilleur cas : tableau déjà trié par ordre croissant;
    Le pire cas : tableau déjà trié par ordre décroissant.

    Développement \( u_n = \dfrac12\left( u_{n-1} + \dfrac{3}{u_{n-1}} \right) \).
    Démontrer les deux complexités comme devant des élèves.

    "La complexité mesure le temps d'exécution ou le temps d'exécution dépend d'autre chose ?"
    "La complexité mesure exactement quoi ?"
    "C'est vraiment un ordre de grandeur indépendant de la machine ?"
    "Prenez un peu de temps pour répondre."
    "À quelle ligne de code le programme va-t-il commencer à calculer \( u_3 \) ?"
    "Le nombre d'opérations arithmétiques, est-ce un choix général/pertinent pour le calcul ? Le coût de la comparaison est-ce le même qu'une opération arithmétique ?"
    "+,*,/ même coût, est-ce un choix raisonnable ?"

    Retour sur le plan :
    "Lorsqu'on multiplie la taille du tableau, est-ce qu'avec ce jeu de données, ça peut donner empiriquement la complexité ?"
    "Vous trouvez \( c(0)=0 \) avec \( c(n) = 3(2^n+1) \) c'est embêtant ? ça vous dérange ?"
    "Si on représente \( c(n) \) à chaque valeur de \( n \), comment on peut le faire voir à des élèves ?"
    "Un outil bien plus visuel qu'un tableur ?"

    "Quel est le coût caché de l'algorithme récursif ?"
    "Comment va tourner \( u_3 \) ?"
    "Est-ce que ça a un coût cette remontée de la pile ?"
    "Est-ce que vous pouvez l'estimer ce coût ?"
    "Ce sera un grand Oh de quoi ?"
    "Vous faites combien d'appels ?"
    "Est-ce qu'il existe un algorithme de sorte qu'il n'y ait plus la pile ?"
    "Comment s'appelle un tel algorithme récursif avec accumulateur ?"

    "Avez-vous une idée de la complexité de la puissance ?"
    "Je n'attends pas une réponse instantanée."
    "Est-ce qu'on peut faire mieux ?"
    "Avez-vous une idée de comment on programme une exponentiation rapide ?
    En ce que vous voulez, langage ou pseudo-langage."
    "ça fait penser à quelle notion de la leçon ?"
    "N'essayez pas d'inventer des choses que vous avez sous les yeux. Il n'y a aucun piège."
    "Vous avez une idée de la complexité pour \( n \) très gentil ?

    Deux algorithmes pour trouver le max dans un tableau.
    "Est-ce qu'on pouvait avoir une idée de la complexité avant ? Qu'est-ce qui vous le fait penser ?
    "Quel est cet objet \( \tt enumerate \) ?"
    "ça a un coût gratuit ?"
    "Vous avez combien de boucles dans le deuxième algorithme ? Raisonnez en parcours."

    Fonction \( \tt est\_premier \)
    "Pourquoi la complexité est en \( \sqrt n \) ?"
    "Est-ce qu'il est envisageable d'avoir la complexité de cet algorithme ?"
    "Est-ce que le modulo et le test ont le même coût ?"
    "Qu'est-ce qui n'est pas constant dans le modulo ?"
    "Sans machine..."
    "Est-ce que la division euclidienne a un coût ?"
    "À quel moment cette complexité va-t-elle devenir très grande ?"
    "Pouvez-vous donner la complexité de la division euclidienne d'un nombre de \( p \) chiffres par un nombre de \( q \) chiffres ?"

    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 23. Modélisation et utilisation de l'informatique en sciences humaines, économiques et sociales.

    Plan :
    Cycle 4. Chapitre statistiques, interpréter, représenter.
    Représenter le caractère d'une population.
    Dans un tableur, fonction de tri du tableur.
    Exemple: notes des élèves d'une classe.

    Comparaison de deux classes.
    Exercice 38. Nombre de buts par journée
    (sesamaths cycle 4)

    "En étant plus avancé au lycée, est-ce que vous voyez autre chose que le tableur ?"

    Développement trier des données.
    façons de trier en informatique sans utiliser le tri du tableur.

    "Est-ce que vous pourriez nous écrire un tel algorithme [par gestion de pile ou tri fusion (N.d.e.v.) ] ?"
    "Expliquez-nous la stratégie."
    "Vous avez besoin de quoi dans votre algorithme ?"
    "Vous allez essayer de nous écrire une boucle ?"
    "Votre structure de données, c'est une liste ?"
    "La syntaxe d'une boucle tant que, c'est quoi ?"
    (...)
    (...)

    "On revient sur le coeur de la leçon. Qu'est-ce qu'on peut modéliser dans ce domaine ?"
    "Représenter n'est pas modéliser. En quoi l'informatique peut-elle être un outil efficace dans ce domaine ?"
    "Vous pourriez nous expliquer un peu comment on peut modéliser une telle évolution à partir d'une liste de données ?"
    "Comment ferait-on pour trouver une fonction affine qui représenterait [ un nuage de points (N.d.e.v.) ] ?"
    "ça s'appelle comment ?"
    (...)
    "On pense à la régression des moindres carrés. Comment fait-on ?"
    "Sur un nuage \( (x_i,y_i)_i \) ça donnerait quoi le coefficient directeur ? Est-ce que vous pouvez nous donner des formules ?"
    "En SES, à quelles applications vous pensez ?"
    "Les données d'entrée vous allez les trouver où ?"
    "À quel niveau allez-vous placer la recherche dans des bases de données ?"
    "Des collégiens, accéder à une base de donnée avec des requêtes SQL ?"


    (À suivre...) e.v.
    Personne n'a raison contre un enfant qui pleure.


  • 2. Boucles : principes et exemples.

    Plan :
    1/ Introduction
    2/ Boucle \( \tt for \)
    3/ Boucle \( \tt while \)
    4/ Conclusion.

    Exemples:
    - Tracer un carré en scratch.
    - Tri sélection
    - Factorielle
    - Boucle infinie en scratch
    - Division euclidienne de \( a \) par \( b \).
    - Exercice : une balle rebondissante est lâchée d'une hauteur de 10m.
    À chaque rebond, la hauteur diminue d'un tiers.
    Combien de fois va-t-elle passer à la la hauteur 1,50m
    - Instruction \( \tt break \) en \( \tt Python \) pour sortir d'une boucle.

    Développement Comme devant une classe, corriger l'exercice du choix de la boucle la mieux adaptée.
    1. Calcul du total pour une caisse enregistreuse.
    \( \tt while \) car on ne connait pas le nombre d'articles encaissés.
    "Est-ce que vous pourriez, sur chaque exemple, préciser le type de structure de donnée que vous utilisez, ainsi que la condition de sortie ?"
    "Si on a une pile ou une liste, est-ce que ça influence le choix de la boucle ?"
    [ Je ne suis pas très au fait des programmes d'info du cycle 4, niveau où cet exercice se plaçait explicitement, mais causer liste, pile, dictionnaire ou tableau devant une classe de collège me parait hautement acrobatique. Le jury aurait-il mangé sa propre consigne "Comme devant une classe" ? (N.d.e.v.) ]
    2. Recherche du jour le plus pluvieux d'une année.
    On connait le nombre de jours. Tableau et boucle \( \tt for \) 360 (sic) jours.
    3. Périmètre d'un polygone.
    Tableau si on connait le nombre de sommets et boucle \( \tt for \).
    Liste sinon.
    En \( \tt Python \) un tableau est une liste puisqu'il est redimensionnable.
    4. Calcul de la durée d'une émission de radio.
    Pas de boucle !

    "On a un polygone, donné par une liste ordonnée de coordonnées. Écrire un programme qui résout le problème 3."
    "La formule que vous avez écrite est-elle valable dans tout repère ?"
    "Est-ce que vous sauriez donner le code qui permet de représenter ce polygone ?"
    "Pourquoi le choix du tant que dans la factorielle ?"
    "Une autre façon de programmer la factorielle ?"
    "Est-ce que \( 0! \) a un sens ?"
    "Est-ce que, entre la boucle tant que et une boucle for, le comportement de la machine est le même ?"
    "Est-ce qu'il y a un programme plus léger que l'autre ?"

    "Répéter indéfiniment. La programmation événementielle, comment ça se passe en machine ?"
    "Se mettre en attente, se bloquer, ça veut dire quoi ?"
    "Pouvez-vous expliquer la différence entre le \( \tt repeat \) de scratch et le \( \tt while \) de \( \tt Python \) ?"

    "Le programme
    x=10
    while x<x+1:
        x=x*x
    
    s'arrête-t-il ?"

    "Proposer un type de représentation des entiers en 8 bits. Quel est le plus grand entier ? Que se passe-t-il si je lui ajoute 1 ?"
    "Comment fonctionne la représentation de grands nombres ?"
    "Et les entiers négatifs comment sont-ils représentés ?"

    "Pouvez-vous calculer la complexité du tri par sélection ?"
    "Vous sauriez démontrer que \( S_n = \displaystyle \sum_{i=0}^n i = \dfrac{n(n+1)}{2} \) ?"
    "un autre processus plus calibré ?"
    "Pouvez vous rédiger cette récurrence ?"
    "À quelle occasion peut-on avoir besoin de trier des valeurs ?"
    "Connaissez-vous un autre paramètre que la médiane ?"
    "Connaissez-vous un algorithme qui utilise la boucle \( \tt while \) et qui peut être utilisé au collège ?"
    "Quel est son nom ?"

    C'est tout pour cette année.

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Merci pour tous ces témoignages, ev :-)
  • Ceci est une vraie question : y a-t-il un texte qui définit ce qu'un visiteur a le droit de donner comme informations une fois rentré chez lui ?
  • @ jaybe

    À ma connaissance, il n'y a pas de texte opposable spécifique.

    Si la France est un état de droit, je peux rendre public tout ou partie des oraux dans les limites des lois sur la diffamation et l'injure publique.

    De plus, le concours autorise la prise de notes, au contraire de la grègue...

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Justement ev, tu auras compris que j'ai un doute sur ce point. Je suis en mesure de dire à la suite de mes visites qu'à l'heure h dans le jury j, Monsieur ou Madame x a présenté le sujet s etc. et spontanément il m'aurait semblé logique que je n'aie pas le droit de lever certaines indéterminées.
  • Bonjour,
    Dans tous les cas, ces témoignages sont précieux.
    Ce ne sont en aucun cas des réponses toutes faites à un sujet commun. ça donne des indications sur les attendus du jury.
    Personnellement, ça me rassure (ou ça m'inquiète, c'est selon :) )
    Donc, merci ev.
  • @Jaybe : Qu'est-ce qui m'empêche, en temps que candidat, de révéler mon couplage, mon sujet choisi, mon n° de jury, mes dates et heures de passage ?

    De plus, il me semble que ev attend que les candidats aient passé leur 2nd oral ... Donc toutes les informations arrivent bien à posteriori pour tout le monde !

    Corwindworkin
    (qui a vu ev à l’œuvre avec Nicolas)
Connectez-vous ou Inscrivez-vous pour répondre.