• 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.

Il faut beaucoup de talent pour faire rire avec des mots. Mais il faut du génie pour amuser avec des points de suspension...

Frédéric Dard

Voir toutes les citations.


Algorithme au cycle 4 - Séquence 2

Mon premier programme : bonjour.py

Ll'IDLE est une interface de communication avec Python, et rien de plus.

L'étape suivante consiste en la création d'un répertoire mesprog (clic droit – Nouveau dossier). Ce répertoire contiendra tous les projets Python que nous développerons cette année. Dans un collège (sous kwartz) pour que ce dossier soit bien sauvegardé, il doit être dans votre H:/travail !
Dans ce dossier il nous faut créer un Nouveau document texte (Clic droit - Nouveau document texte) et l'appeler bonjour.py. Seule l'extension .py est importante. Avant le point on choisit en général un nom qui évoque le programme !
On peut choisir de l'appeler monprog.py, cela fonctionne mais avouez que ce nom n'est pas très parlant !

Sur ce fichier un clic droit nous offre une nouvelle option Edit with Idle

Dans ce fichier on entre :

print(" Bonjour monde !")

Remarque d'élève intéressante : Python ne répond pas les chevrons habituels (>>>)

Dans le menu supérieur RUN ! -Run module (F5)-

C'est dans l'IDLE que Python lance notre petit programme !

Une autre façon de lancer le programme est le double clic sur monprog.py. Une fenêtre noire s'ouvre et se ferme rapidement et certains yeux rapides perçoivent le "Bonjour Monde !".

Mais le programme qui est terminé après la seule instruction d'affichage se ferme vraiment très très vite !

2. Deuxième variante

Code Python traduit en HTML:
print("Bonjour monde"  )
mavariable=input()

bonjour.py

Cette fois ci la fenêtre reste affichée.

La deuxième ligne de notre code attend simplement que l’utilisateur entre quelque chose au clavier que Python rangera dans la variable mavariable…

D’ailleurs, si on appuie sur ENTREE la fenêtre se ferme !

Remarque

Ouvrons à nouveau ce ficher dans l'IDLE, exécutons le (F5) et avant d'appuyer sur ENTREE écrivez simplement coucou :

A l' invite Python >>>, demandez donc à Python d'afficher le contenu de la variable mavariable -print(mavariable)- et sans surprise Python affichera coucou!

Programme : la table de N : Pseudo code

Etudions le logigramme suivant

Et le pseudo code associé:

Debut Table de N
demander nombre N
i=1
tq i inferieur à 10
afficher i x N
i = i+1
fin_tq
Fin Table de N
  • Cet algorithme demande à l'utilisateur d'entrer un nombre au clavier (stocké dans la variable N)
  • Il initialise la variable i avec la valeur 1
  • Tant que la valeur de cette variable est inférieure strictement à 10 :
    • Il affiche la valeur du produit de i et N
    • Il incrémente i (la variable i contient la valeur de i + 1)

Ce petit programme affiche donc les résultats de la table de N

En Python cela donne :

Code Python traduit en HTML:
n =input("Entrer un nombre :" )
i=1
while i<10:
    print(i*int(n))
    i=i+1

Explication du code

En première ligne la fonction input provoque une interruption dans le programme courant. L'utilisateur est invité à entrer des caractères au clavier et à terminer avec . Lorsque cette touche est enfoncée, l'exécution du programme se poursuit, la chaine de caractères est alors assignée à la variable n.

En deuxième ligne la valeur 1 est assignée à la variable i

En troisième ligne : En anglais " while " signifie "Tant que"... Le contenu qui suit, indenté (décallé de 4 caractères) est le contenu de cette boucle.

  • print(i*int(n)) : affiche (i*int(n))
  • La valeur de i+1 est assignée à la variable i

La fonction int()

L'entrée au clavier faite par l'utilisateur est une cahine de caractère : int() permet de la transformer en nombre entier

A l'execution, un essai avec le nombre 5 donne :

Votre mission

1. Dans un fichier table1.py, copiez-collez ce code, essayez le, modifiez le pour être sûrs de l'avoir bien compris.

2. Débrouillez-vous pour que vos modifications permettent d'arriver au résultat suivant :

Indice :

Dans l'idle, aussi appelé interpreteur, essayez print("2","+","5","=",2+5)

Un travail pour les plus rapides

Seul ou à plusieurs, développez un script Python (les_tables.py) qui écrive toutes les tables de multiplications de 1x1=1 à 9x9=81

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
  • logigramme_svg, utilitaire de transcription de pseudo code en logigramme
  • Wikibooks : Le module Turtle
  • A la découverte de Turtle sur zestedesavoir.com
  • snakify : La boucle for
  • ARCHIVES

Travaux d'élèves :

La page dédiée
Téléchargemments

Robot Blue-Bot Robot Blue-Bot

Blue-Bot est un robot autonome spécialement conçu pour une utilisation scolaire. Le robot : 125,00 €Pack 6 robots + station d'accueil : 759,00 €

Autres robots pédagogiques

  • La page officiel pour télécharger la dernière version de Python
 


Tweets by wouf

Comment ???

NEWS

  • Page : https://site2wouf.fr/algorithme2022-2023_s2.php
  • Catégorie : Non définie

FZF : Le bouquet final

Donnez un visage à vos recherches Linux

(Fin de la trilogie)

Vous avez appris à utiliser find pour scanner votre disque comme un détective. C'est puissant, mais avouons-le : taper des commandes de 30 caractères à chaque fois, c'est long. Et si vous pouviez filtrer vos milliers de fichiers en temps réel, à chaque pression de touche, avec une interface interactive ?

Bienvenue dans le monde de FZF "Fuzzy Finding", l'outil qui va rendre votre terminal plus rapide que votre explorateur de fichiers.

FzF : Qu'est-ce que le "Fuzzy Finding" ?

Qu'est-ce que le "Fuzzy Finding" ?

Le Fuzzy Finding (que l’on peut traduire par recherche approximative) désigne une manière intelligente de chercher une information sans exiger une correspondance exacte.

Contrairement à une recherche classique, le fuzzy finding tolère les erreurs, les approximations et les variations d’écriture.


Pourquoi le Fuzzy Finding est-il utile ?

Dans la vraie vie, les utilisateurs :

  • font des fautes d’orthographe
  • oublient une partie d’un mot
  • utilisent des synonymes
  • tapent trop vite sur mobile ?

Le fuzzy finding permet malgré tout de trouver ce qu’ils cherchent.


Exemple simple

Recherche classique ❌

Tu cherches mathématiques
Tu tapes mathematique
→ Aucun résultat

Recherche avec fuzzy finding ✅

mathematique, maths, mathématique
→ Résultats pertinents affichés


Comment ça fonctionne ?

Le fuzzy finding repose sur plusieurs idées simples :

  • comparer la ressemblance entre les mots
  • accepter une distance entre les lettres
  • ignorer certaines différences mineures
  • parfois deviner l’intention plutôt que le mot exact

L’objectif n’est pas la perfection, mais la pertinence.


Où rencontre-t-on le Fuzzy Finding ?

Tu l’utilises déjà tous les jours, souvent sans le savoir :

  • ? moteurs de recherche
  • ? barres de recherche sur les sites
  • ? catalogues, bibliothèques, blogs
  • ? messageries et outils de support
  • ? recherches sur mobile (claviers imprécis)

Fuzzy Finding vs recherche exacte

Recherche exacteFuzzy Finding
Mot strictement identiqueMot ressemblant
Sensible aux fautesTolère les erreurs
Résultats parfois videsRésultats utiles
RigideIntelligent et souple

En résumé

Le Fuzzy Finding permet de :

  • rendre une recherche plus humaine
  • améliorer l’expérience utilisateur
  • éviter les frustrations
  • retrouver une information même imparfaite

? Ce n’est pas chercher juste, c’est chercher malin.

Installation rapide

sudo apt install fzf

Le test du "Wow" : Votre terminal change de dimension

Regardez la fluidité : le filtrage s'adapte à chaque pression de touche. C'est ça, la puissance du Fuzzy Finding.

Vous avez installé FZF ? Oubliez tout ce que vous savez sur la recherche classique. Ne tapez pas de chemin, ne cherchez pas d'options compliquées.

Tapez simplement ces trois lettres dans votre dossier personnel : fzf

L'effet magique

À l'instant où vous appuyez sur Entrée, votre terminal se transforme. Une liste apparaît, et un curseur clignote.

  1. Commencez à taper : Tapez quelques lettres, n'importe lesquelles, même si elles ne se suivent pas (ex: docbre pour chercher Documents/Bretagne).
  2. Observez : La liste diminue en temps réel à chaque pression de touche. C'est fluide, c'est instantané, c'est le "Fuzzy Finding".
  3. Naviguez : Utilisez les flèches haut/bas pour choisir votre fichier.
  4. Validez : Appuyez sur Entrée. FZF se ferme et affiche le chemin complet du fichier sélectionné.

? Pourquoi c'est un "Wow" ? Parce qu'en moins de 2 secondes, vous venez de trouver un fichier caché dans un sous-dossier complexe sans jamais avoir utilisé votre souris, ni même connu l'emplacement exact du document.

⚡ Les Combos : Transformez votre terminal en moteur de recherche

C'est ici que la magie opère. En utilisant le Pipe (|), vous envoyez les résultats de vos outils classiques dans l'entonnoir FZF. Voici les deux duos que vous utiliserez tous les jours :

1. Le duo Chirurgical : Find + FZF

C'est pour qui ? Ceux qui cherchent un fichier précis en éliminant le "bruit" autour.

  • La commande : find . -name "*.jpg" -o -name "*.png" | fzf
  • Pourquoi ça change tout ? Au lieu de chercher une image parmi 3000 fichiers (scripts, textes, dossiers système), Find fait le tri préalable. FZF ne vous affiche alors qu'une liste "propre" d'images.
  • Le bénéfice : Vous ne filtrez que ce qui est pertinent. Gain de temps et de clarté visuelle.

2. Le duo Intelligent : Grep + FZF

C'est pour qui ? Ceux qui cherchent une information à l'intérieur des fichiers (une variable, une fonction, une erreur).

  • La commande : grep -rn "votre_recherche" . | fzf
  • Pourquoi ça change tout ? Normalement, un grep récursif vous inonde de lignes de texte illisibles. En l'envoyant dans FZF, vous transformez ce chaos en une liste interactive.
  • Le bénéfice : Vous pouvez affiner votre recherche Grep en tapant quelques lettres de plus dans FZF pour isoler la ligne exacte. L'option -n vous donne même le numéro de la ligne pour savoir où intervenir.

En résumé : Quel combo choisir ?

Si vous cherchez...Utilisez le combo...Le rôle de FZF ici :
Un contenant (Fichier, Image, PDF)Find + FZFFiltrer parmi des noms de fichiers.
Un contenu (Ligne de code, Texte, Log)Grep + FZFFiltrer parmi des lignes de texte.

La Logique de l'Entonnoir : Comprendre le "Pipe"

Pour maîtriser FZF, il faut comprendre un concept fondamental de Linux : le Pipe (représenté par la barre verticale |).

Imaginez que vos commandes sont des ouvriers spécialisés :

  1. L'ouvrier de gauche (Find ou Grep) extrait une montagne de données brutes.
  2. Le Pipe (|) sert de tuyau pour déverser cette montagne directement dans l'outil suivant.
  3. L'ouvrier de droite (FZF) récupère tout ce qui arrive et fait office d'entonnoir.

FZF ne cherche pas, il trie !

C'est la nuance la plus importante : FZF n'est pas un moteur de recherche qui fouille votre disque dur de lui-même. C'est un filtre interactif.

  • Si vous lui envoyez une liste de 10 000 fichiers via find, il vous aidera à en choisir un.
  • Si vous lui envoyez le texte complet d'un livre via cat, il vous aidera à trouver la bonne phrase.
  • Si vous lui envoyez votre liste de courses, il vous aidera à retrouver "Tomates".

FZF prend une sortie textuelle illisible et la transforme en une interface où vous pouvez taper pour choisir. C'est l'outil qui donne un visage humain à la puissance brute de Linux.

FZF comme "sélecteur" : Ne tapez plus jamais de noms de fichiers

1. Éditer un fichier "au feeling"

Vous voulez modifier un script ou un fichier de configuration, mais vous n'avez pas envie de naviguer dans vos dossiers à la souris ou de taper le chemin complet /home/user/documents/projets/site/index.html ?

Tapez simplement : gnome-text-editor $(fzf)

  • L'action : FZF s'ouvre dans votre terminal. Vous tapez "index", vous validez.
  • Le résultat : L'éditeur de texte d'Ubuntu s'ouvre instantanément avec le bon fichier déjà chargé. C'est le confort du graphique avec la rapidité du terminal.

2. Naviguer dans votre site comme un pro (Sitemap + FZF)

Si vous gérez un site web (comme site2wouf.fr), vous avez forcément un fichier sitemap.xml qui contient la liste de toutes vos pages. Au lieu de chercher une URL dans votre interface d'administration, utilisez FZF !

Tapez cette commande magique : xdg-open $(grep -oP 'https?://[^<]+' sitemap.xml | fzf)

  • L'étape 1 (Grep) : Il extrait proprement toutes les URLs du fichier XML en ignorant les balises <loc>, <url>, etc.
  • L'étape 2 (FZF) : Il vous affiche la liste de toutes les pages de votre site. Tapez "contact" ou "tuto" pour filtrer.
  • L'étape 3 (xdg-open) : Dès que vous validez, votre navigateur (Firefox ou Chrome) ouvre instantanément la page choisie.

? Pourquoi c'est brillant ? Vous venez de transformer un fichier technique illisible en un menu de navigation ultra-rapide pour votre propre site.

"Note : Si votre terminal affiche des messages bizarres (Gtk-Message) au lancement, c'est tout à fait normal. C'est juste Ubuntu qui bavarde.

...

? Pour aller plus loin (Liens utiles)

Si vous voulez approfondir votre maîtrise de FZF et de la ligne de commande, voici les ressources indispensables :

  • Le dépôt officiel de FZF (GitHub) : La bible. Vous y trouverez toutes les options avancées, les scripts officiels et les intégrations pour Vim ou Neovim.
  • Manuel de Grep (GNU) : Pour devenir un maître des expressions régulières (Regex) que nous avons utilisées pour le Sitemap.
  • [Site2Wouf.fr : Maîtriser la commande Find] : Relisez mon article précédent pour bien comprendre comment cibler vos fichiers avant de les envoyer dans FZF.
  • [Site2Wouf.fr : Le guide de survie Grep] : Tout savoir sur la recherche de contenu.

? Prochaine étape : Ne tapez plus jamais ces commandes !

Vous trouvez ces commandes géniales mais un peu longues à mémoriser ? Vous avez raison. Dans le monde Linux, on ne tape jamais deux fois la même chose.

Imaginez qu'au lieu de taper xdg-open $(grep -oP 'https?://[^<]+' sitemap.xml | fzf), vous n'ayez qu'à taper un seul mot : map. Ou juste fe pour ouvrir votre éditeur de texte préféré via FZF.

C'est ce qu'on appelle les Alias.

Dans mon prochain article, je vous montrerai comment personnaliser votre fichier .bashrc pour créer vos propres raccourcis "magiques". Nous transformerons ces combinaisons complexes en commandes ultra-courtes pour faire de vous un véritable sprinter du clavier.

lien vers l'article sur wouf blog
 

TIPS

Un souci d'ortographe?

Sur le site de Wouf, Answers est directement accessible du menu en cliquant sur "liens". (dico)

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)