セクション: Algorithmie et programmation | Technologie en 3e | PEN

Main course page

Algorithmie et programmation

  • Algorithmie et programmation

    • Découverte du langage Python :
    • Voici quelques ressources :

    • Séances de prise en main du langage avec Vittascience et CodeRunner:
    • Réaliser un premier programme seul :  utiliser Vittascience ou Spyder (ou le site : https://trinket.io/python3), et écrire un programme (à enregistrer sous le nom  premier_programme.py) qui fait ceci :

        • avec deux fonctions input, demander à une personne son nom et ensuite son age dans deux variables,
        • puis afficher un texte qui dit par exemple à Paul qui à 16 ans  : Bonjour Paul , tu as 16 ans.
        • et un second texte qui calcul dans combien d'années il aura 100 ans : Tu seras centenaire dans 84 ans.

      Ensuite essayer votre programme avec plusieurs couples de noms et ages.

    • Réaliser un nouveau programme : écrire un programme "fois_diviser_2.py" et venir en classe avec :

      A vous de jouer : écrire un programme "fois_diviser_2.py" qui demande à l'utilisateur de saisir un nombre, le multiplie par 2, et affiche élégamment le résultat, et de même en le divisant par 2 ! Exemple :

      Quel est votre nombre entier ? 8
      Le double est : 16
      La moitié est : 4.0

      Pour les plus forts, comment multiplier par deux sans utiliser aucun opérateur arithmétique ? (la solution se trouve par ailleurs dans la documentation officielle Python) N'y passez pas trop de temps... Si vous réussissez, rangez le programme dans "fois_diviser_2_decalage.py" ( utiliser éventuellement http://sebastienguillon.com/test/javascript/convertisseur.html )).

    • Tester si un nombre est pair ou impair : nous allons écrire un programme pair_ou_impair.py

        • Recherchez comment :
        • "pair_ou_impair.py" : Maintenant créez un programme "pair_ou_impair.py" qui demande à l'utilisateur de saisir un nombre et indique s'il est pair ou impair. Voyez pour cela la syntaxe de l'instruction de test "if" et placez bien vos indentations !!!
        • Pour les plus forts : sauriez vous écrire ce programme en deux lignes et sans point virgule ? (généralement à éviter pour la lisibilité). Si vous réussissez, rangez le programme dans "Pair_ou_impair_compact.py".

      Ressource officielle pour les types et opérateurs : https://docs.python.org/fr/3.7/library/stdtypes.html

      Attention : interdit de rechercher une solution sur Internet, elle ne sera pas acceptée, vous devez faire seul.

    • Rechercher des nombres premiers : nous allons écrire un programme nombres_premiers.py

      • Le programme doit faire ceci :
        • Demander à l'utilisateur jusqu'à quel nombre N rechercher des nombres premiers,
        • Rechercher pour chaque nombre de 2 à N s'il est premier,
        • Pour chaque nombre premier rencontré, l'afficher.
        •  
        • On commence par faire une fonction qui teste si N est premier : par exemple
          • diviser N par tous les nombres de 2 à N-1,
          • vérifier si le résultat est entier, si oui on répond faux,
          • sinon on répond vrai.
        • Ensuite on utilise cette fonction pour tester tous les nombres de 2 à N : si un nombre est premier, on l'affiche !
      • Note avancée : pour tester un nombre, il faut tenter de le diviser par tous les nombre de 2 à lui-même - 1, mais en fait, on se doute bien qu'il faut s'arrêter à sa moitié arrondie en dessous incluse, et si l'on y réfléchi bien, un nombre qui n'est pas premier est forcément divisible par un nombre entier inférieur ou égal à sa racine. Donc pour limiter des tests et donc procéder plus vite, on peut s'arrêter à sa racine arrondie en dessous (pour cela, il faut importer le module math et utiliser math.sqrt()). Si vous avez du mal, vous pourver vous arrêter à sa moitié.
      •  
      • Lorsque vous avez fini, vous pouvez valider dans le CodeRunner suivant en y plaçant votre programme. Si vous n'y arrivez pas, utilisez le CodeRunner prérempli (mais alors la réussite ne sera que partielle et vous apprendrez moins).

      Attention : interdit de rechercher une solution sur Internet, elle ne sera pas acceptée, vous devez faire seul.