• Home
    • Home
    • Wouf's Blog
    • Bibliowouf
    • Boutique TShirt
    • Sponsoring
    • Politique de confidentialié
  • Math
    • Math au collège
    • Applis et boutiques
    • Cours particuliers
  • Jeux
    • Echecs
    • Poker
    • Des chiffres et des lettres
    • Dogs and cats (mastermind)
    • boggle - version Anglaise
    • boggle - version Française
  • Info
    • Console Python
    • SVG EDIT
    • fond d'écran
    • Prénom en chinois
    • Boite à outils
    • Mes Logiciels
    • DIVERS
    • Webmaster?
    • Liens

Laurent Petitprez

Tweet

Les conseils de Wouf

Beaucoup d’élèves entrant au lycée ont en effet des difficultés à manipuler les fractions, les racines carrées, les puissances, à factoriser des expressions… Ces notions, apprises au collège, sont mal assimilées, et le programme des classes de lycée ne prévoit pas de les retravailler en profondeur.

Cet ouvrage propose une remédiation pas à pas. Un code simple et mnémotechnique est associé à chacune des règles et rappelé dans toutes les corrections d’exercices. Il permet de se repérer et de comprendre ses erreurs.

Les imbéciles pensent que tous les noirs se ressemblent. Je connais un noir qui trouve, lui, que tous les imbéciles se ressemblent.

Philippe Geluck (Nouveau design!)

Voir toutes les citations.


Algorithme au cycle 4 -Séquence 9 - Python, Cesar (3) - Notion de portée de variable

La séquence 8 vous a semblé difficile, en effet même si des résultats furent atteints, la fonction demandée ne fut jamais exemptes de bugs

Il s'agissait de construire une fonction qui calcule, en fonction de l'indice d'une lettre et de la clef CESAR, le nouvel indice.

Code Python traduit en HTML:
def indice (n,clef):
    """ la fonction calcule le nouvel indice en connaissant la clef""" 
    return n + clef

La fonction donnée au départ ne fonctionnait pas dès que la somme de l'indice et de la clef dépassait le nombre de lettres dans l'alphabet!

La meilleure solution obtenue en séquence 8 fût :

Code Python traduit en HTML:
def indice (n,clef):
    nouveau=n+clef
    if nouveau>26:
        nouveau=nouveau-26
    return nouveau

Pourtant cette fonction n'est pas si satisfaisante!

En effet elle pose problème dès que l'on décode (clef négative) ou si on a une clef supérieure à 26!

J'avais tenté de vous orienter sur la division euclidienne : Pourquoi ? simplement parce que le reste de la division euclidienne réponds parfaitement au problème !

Les restes de la division euclidienne par 26 sont les entiers naturels de 0 à 25

On pourrait ajouter 1 pour avaoir le rang de la lettre dans l'alphabet mais après tout pour monsieur Python, l'indice d'un premier élément est le 0 !

Code Python traduit en HTML:
def indice (n,clef):
    return (n+clef)%26 #reste de la division euclidienne de n+clef par 26

Voici quelques fonctions en cadeau :

Code Python traduit en HTML:
alphabet="abcdefghijklmnopqrstuvwxyz" 

def nouvel_indice(n,clef):
    """ n est l'indice de départ et clef la clef du code cesar
La fonction renvoie le nouvel indice (calculé)""" 
    n=int(n)
    clef=int(clef)
    return (n+clef)%26 #reste de la division euclidienne par 26

def indice_lettre(x):
    """x est une lettre la fonction renvoie son indice""" 
    return alphabet.index(x)
  
def lettre_indice(x):
    """x est un indice la fonction renvoie la lettre associée""" 
    return alphabet[x]

def code_lettre(x,clef):
    """x est une lettre, clef la clef du code cesar
La fonction renvoie la nouvelle lettre codée""" 
    return "C'est à vous de jouer !" 

cesar.2.0.3

Une remarque importante sur la portée des variables

La variable alphabet est définie en dehors des fonctions, c'est une variable globale, elle est accessible partout dans le code.

Si elle avait été définie dans indice_lettre(), la fonction lettre_indice n'y aurait pas accès, on parlerait alors de variable locale !

Commentaires et mission :

J'ai rebaptisé la fonction indice() en nouvel_indice() au nom plus parlant.

La deuxième fonction donne l'indice d'une lettre. (En minuscule... Pour l'instant!)

La troisième donne la lettre (en minuscule!) connaissant l'indice

La dernière, est en cours de développement et votre mission est de la terminer !

Elle devrait une fois terminée, donner la lettre codée avec la clef spécifiée :

Par exemple, code_lettre("a",2) devrait renvoyé "c"

Quelques exemple qui vont bien :

D'autres plus ...problématiques

Remarque finale

Les plus rapides d'entre vous s'efforceront de régler les soucis liés :

  • Aux majuscules
  • Aux caractères qui ne doivent pas être codés comme la ponctuation, les nombres etc...

Officiel

Au cycle 4, les élèves s'initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d'un langage ou d'un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s'entraînent au raisonnement.

Attendus de fin de cycle

  • Écrire, mettre au point et exécuter un programme simple

Connaissances et compétences associées

Décomposer un problème en sous-problèmes afin de structurer un programme ; reconnaître des schémas. Écrire, mettre au point (tester, corriger) et exécuter un programme en réponse à un problème donné. Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs. Programmer des scripts se déroulant en parallèle. - Notions d'algorithme et de programme. - Notion de variable informatique. - Déclenchement d'une action par un événement, séquences d'instructions, boucles, instructions conditionnelles.

Exemples de situations, d'activités et de ressources pour l'élève

Jeux dans un labyrinthe, jeu de Pong, bataille navale, jeu de nim, tic tac toe. Réalisation de figure à l'aide d'un logiciel de programmation pour consolider les notions de longueur et d'angle. Initiation au chiffrement (Morse, chiffre de César, code ASCII...). Construction de tables de conjugaison, de pluriels, jeu du cadavre exquis... Calculs simples de calendrier. Calculs de répertoire (recherche, recherche inversée...). Calculs de fréquences d'apparition de chaque lettre dans un texte pour distinguer sa langue d'origine : français, anglais, italien, etc.

Repères de progressivité:

En 5e, les élèves s'initient à la programmation événementielle. Progressivement, ils développent de nouvelles compétences, en programmant des actions en parallèle, en utilisant la notion de variable informatique, en découvrant les boucles et les instructions conditionnelles qui complètent les structures de contrôle liées aux événements.

Liens
  • python.org Le site officiel, pour télécharger Python !
  • Apprenez à programmer en Python avec Openclassrooms
  • Un programme Python pour publier du code Python sur une page web
  • Algorithme au cycle 4
  • La séquence 1 : Qu'est-ce qu'un algorithme ? Où on joue avec les indices...
  • La séquence 2 : Premier programme et premières boucles
  • La séquence 3 : Premiers tests...
  • La séquence 4 : Tests imbriqués.
  • La séquence 5 : Premières fonctions.
  • La séquence 6 : Bilan et commentaires
  • La séquence 7 : Python et Cesar(1)
  • La séquence 8 : Python et Cesar(2) : Un exemple de fonction récursive
  • La séquence 9 : Python et Cesar(3) : Notion de portée de variable
  • La séquence 10 : Python et Cesar(4) :boucle FOR et accès aux fichiers
  • La Séquence 11 - Python, longueur et angle, le module turtle(1)
  • Python sur le Blog
  • Un exemple d'application utilisant tkinter : Juniper_U
  • Scratch - site officiel
Téléchargemments
  • Le memo des séquences 1 et 2 en PDF
  • Les sources :
    • Bonjour monde !
    • conjugueur.py version 0.0.0
    • conjugueur.py version 0.0.1 (correction fin de séquence 2)
    • conjugueur.py version 0.1.0 (fin de séquence 3)
    • conjugueur.py version 0.2.0 (départ séquence 5)
    • L'exemple de la séquence 3
    • L'exemple de la séquence 3 (version corrigée)
    • Les fonctions -projet cesar- de la séquence 9
 


Tweets by wouf

Comment ???

NEWS

  • Page : https://site2wouf.fr/algorithme_s9.php
  • Catégorie : Informatique

Zotero : un petit outil… mais un vrai gain de productivité

Zotero : un petit outil… mais un vrai gain de productivité

Je suis tombé un peu par hasard sur Zotero.
Au départ, je pensais à un truc un peu “universitaire”, pas forcément pour moi.

En fait, j’étais complètement à côté.

Zotero, c’est simplement un outil qui permet de garder des traces de ce qu’on lit.
Mais surtout, de ne plus rien perdre.

Et ça, ça change beaucoup de choses.


Le problème qu’on a tous

On lit plein de choses :

  • un article intéressant
  • une idée qui passe
  • un exemple qu’on se dit qu’on réutilisera

Et puis… on oublie.

Avant, j’avais une “méthode” : je sauvegardé l'onglet dans un dossier "temp" en me disant “je le garde pour plus tard”.
Résultat, j’avais un groupe d’onglets “temporaires”… qui ne l’étaient pas du tout.

zotero remplace mon dossier temporaire

À l’heure actuelle, temp contient 54 liens.
Et honnêtement, je ne sais plus vraiment à quoi ils correspondent.

Certains sont sûrement intéressants.
D’autres plus du tout.
Mais le simple fait de devoir trier me décourage… donc je ne fais rien.


Le déclic

Avec Zotero, j’ai commencé à faire un truc très simple :

? je clique → je garde la page
? j’ajoute une petite note

Rien de compliqué. Pas de système lourd.

Juste :

“Idée d’article”
“À exploiter avec les élèves”
“Lien avec tel exercice”

Et petit à petit… ça s’accumule.


Et là, ça devient intéressant

Au moment d’écrire un article, je ne pars plus de zéro.

J’ouvre Zotero, je tombe sur :

  • une idée déjà posée
  • un angle
  • parfois même un début de plan

Et ça change tout.

Moins de page blanche.
Moins de perte de temps.
Plus de fluidité.


Ce que j’y gagne vraiment

Ce n’est pas un outil magique.

Mais il enlève des frictions :

  • je perds moins d’idées
  • je retrouve plus vite mes sources
  • j’écris plus facilement

Et au final, je produis plus.


Un outil discret, mais efficace

Zotero ne fait pas de bruit.
Pas d’effet “waouh” au départ.

Mais après quelques jours d’utilisation, on se rend compte qu’on travaille différemment.

  • Plus organisé.
  • Plus serein.
  • Plus efficace.

? Clairement, si vous lisez beaucoup, écrivez un peu… ou préparez des contenus :
ça vaut le coup d’essayer.

Et pour ceux qui travaillent avec LibreOffice

Petit point important : Zotero s’intègre directement avec LibreOffice (et OpenOffice).
Concrètement, on peut insérer des références ou générer une bibliographie en quelques clics.

Alors oui, je ne m’en sers pas tous les jours dans cet usage-là, mais pour des documents plus “propres” ou un peu plus formels, c’est clairement un plus.

Et surtout, ça fonctionne très bien sous Linux, sans bidouille particulière une fois que tout est en place.

lien vers l'article sur wouf blog
 

TIPS

Apprenez à gagner avec les meilleures stratégies de poker et réclamez votre argent de poker gratuit chez PokerStrategy.com, sans dépôt requis !

Voir tous les conseils.

Dernière mise à jour:

Juillet-aôut 2023

Nouvelle Page !

  • Exercices du jour : Les 16 immeubles !

Pages modifiées (ou corrigées) !

  • Exercices du jour : L'enclos
  • Exercices du jour : Les carrelages de couleur /a>

Voir toutes les mises à jour.

 

Trois liens disponibles !

Votre propre message ici, c'est possible! Plus d'informations



Sauf mention contraire, le site est placé sous double licence Creative Commons et GNU Free Documentation License, par contre les grandes images décoratives appartiennent à Corbis et sont licenciées par microsoft

Contact: w0uf@free.fr (avec un zéro à la place du O)