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

Dans les larmes d'une femme, le sage ne voit que de l'eau.

Proverbe Russe

Voir toutes les citations.


Algorithme au cycle 4 - Séquence 4

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/algorithme2019-2020_s4.php
  • Catégorie : Informatique

Grep : L’outil qui va vous faire regretter de ne pas être sur Linux | Initiation

La recherche Windows vous ment (et vous fait perdre du temps)

Nous avons tous vécu ce moment : vous cherchez une ligne de code précise, un mot-clé dans un rapport, ou une erreur dans un fichier de log. Vous ouvrez l’explorateur de fichiers, vous tapez votre mot-clé dans la barre de recherche et... vous attendez. La petite barre verte progresse avec la lenteur d'un escargot fatigué, pour finalement vous répondre : "Aucun élément ne correspond à votre recherche".

C’est frustrant, n’est-ce pas ? C’est parce que vous utilisez des outils conçus pour la bureautique "grand public", pas pour la performance. Sur Linux, il existe une arme de destruction massive contre l’oubli et le désordre : grep.


1. Le choc culturel : La vitesse brute contre l'interface graphique

Passer à grep, c’est comme quitter un vélo d’appartement pour une Formule 1. Là où une interface graphique (Windows) doit charger des icônes, des aperçus et gérer chaque clic de souris, grep (pour Global Regular Expression Print) va directement à l'essentiel : le texte brut.

Sous Linux, le système ne se pose pas de questions existentielles. Vous lui demandez de trouver une aiguille dans une botte de foin de 5 Go ? Il le fait en quelques millisecondes. Pourquoi ? Parce qu’en ligne de commande, il n’y a pas de "gras". C’est une communication directe avec le processeur. Maîtriser grep, c’est réaliser que la souris est souvent le frein principal de votre productivité.


2. Initiation : La syntaxe qui change la vie

Pas besoin d'un doctorat en informatique pour utiliser grep. La syntaxe de base est d'une simplicité désarmante :

grep "ce_que_je_cherche" nom_du_fichier

Les options indispensables pour débuter :

  • -i : Ignore la casse (il trouvera "ERREUR", "Erreur" ou "erreur").
  • -r : Recherche récursive (il fouille dans tous les dossiers et sous-dossiers).
  • -n : Affiche le numéro de la ligne (pour savoir exactement où aller dans votre éditeur).
  • -v : Inverser la recherche (affiche tout, sauf ce que vous cherchez).

Exemple concret : grep -rn "API_KEY" . Traduction : "Cherche-moi le texte 'API_KEY' dans tout le projet actuel et dis-moi précisément à quelles lignes il se trouve."


3. La magie du "Pipe" (|) et de la redirection (>)

C’est ici que Linux devient véritablement addictif. Sous Windows, chaque logiciel travaille dans son coin. Sous Linux, on fait travailler les outils ensemble grâce au "Pipe" (le symbole |, obtenu avec Alt Gr + 6 sur un clavier AZERTY).

Imaginez le "Pipe" comme un tunnel. Vous envoyez le résultat d'une première commande dans le tunnel, et grep l'attend à la sortie pour le filtrer.

Exemple : Dompter une liste de fichiers

Pour lister vos fichiers en ligne de commande, on utilise ls. Si vous avez 2000 fichiers dans un dossier, la liste va défiler trop vite pour vos yeux. Mais si vous tapez : ls | grep "facture"

Le système liste tout, l'envoie dans le "tunnel", et grep ne vous affiche à l'écran que les lignes qui contiennent le mot "facture". C'est instantané.

Sauvegarder vos trouvailles (>)

Et si vous voulez enregistrer ce résultat ? Pas besoin de copier-coller dans un Bloc-notes. Utilisez la flèche de redirection > : ls | grep "2023" > fichiers_archives.txt

En une fraction de seconde, vous venez de créer un fichier texte contenant la liste exacte de vos documents de 2023. Essayez de faire ça aussi vite avec un clic droit.

Lorsqu’on commence à manipuler de gros volumes de données, rechercher un mot unique atteint vite ses limites.
grep permet d’aller plus loin en utilisant un fichier de motifs, ce qui transforme une simple recherche en un véritable outil de filtrage automatisé.

Le principe est simple : placer tous les mots ou expressions à rechercher dans un fichier texte, un motif par ligne, puis demander à grep de s’appuyer sur cette liste.

Préparer la liste de recherche

Créons un fichier motifs.txt :

error
warning
critical

Chaque ligne représente un critère de recherche indépendant.

Filtrer un fichier à partir de cette liste

Pour extraire depuis un fichier de log uniquement les lignes correspondant à ces critères :

grep -f motifs.txt journal.log > extraction.log
  • -f indique à grep d’utiliser un fichier comme source de motifs
  • journal.log est le fichier analysé
  • > redirige le résultat vers un nouveau fichier

Le fichier extraction.log ne contiendra que les lignes pertinentes, prêtes à être relues, archivées ou analysées.

Adapter le comportement de la recherche

Ignorer la casse :

grep -i -f motifs.txt journal.log > extraction.log

Ajouter les résultats à un fichier existant :

grep -f motifs.txt journal.log >> extraction.log

Ces options permettent d’ajuster la commande sans en modifier la logique.

Pourquoi cette méthode est puissante

Cette approche est particulièrement utile pour :

  • analyser rapidement des journaux système,
  • filtrer des données applicatives,
  • automatiser des recherches répétitives,
  • intégrer grep dans des scripts Bash ou des pipelines.

En combinant listes de motifs, redirections et options, grep cesse d’être un simple outil de recherche pour devenir un véritable moteur de tri en ligne de commande.


4. Et sur Windows ou Mac ?

Si vous êtes sur macOS, félicitations : ouvrez votre Terminal, grep est déjà là.

Si vous êtes sur Windows, vous avez plusieurs options pour goûter à cette puissance :

  1. Git Bash : Installé automatiquement avec Git (très courant chez les développeurs).
  2. WSL (Windows Subsystem for Linux) : Pour installer une vraie console Ubuntu dans votre Windows.
  3. PowerShell : Il possède ses propres outils, mais soyons honnêtes : ce n'est qu'une pâle copie de l'original.

C'est là le piège : une fois que vous aurez goûté à grep, vous réaliserez que ce n'est qu'un échantillon gratuit. Le vrai plaisir, c'est d'avoir tout l'écosystème Linux qui va avec.


5. Conclusion : Arrêtez de chercher, commencez à trouver

grep n’est pas qu’une simple commande de recherche. C’est une philosophie. C’est l’idée que l’ordinateur est là pour exécuter des ordres précis et instantanés, pas pour vous faire deviner où il a rangé vos données.

Apprendre à utiliser grep, c’est faire le premier pas vers l’automatisation. Le risque ? C'est qu'après une semaine d'utilisation, vous ne supportiez plus d'attendre la petite loupe de Windows et que vous finissiez par installer Linux pour de bon. Vous êtes prévenus.

Ressources pour aller plus loin

Vous souhaitez franchir le pas ou approfondir votre maîtrise de la ligne de commande ? Voici quelques pistes essentielles :

  • Découvrir l'univers Linux : Le site officiel d'Ubuntu, la distribution la plus accessible pour remplacer (ou compléter) votre système Windows.
  • Guide complet sur Grep : Pour une approche technique et détaillée de l'administration serveur, consultez l'excellent cours de Stéphane Robert.
  • La documentation officielle : Pour les plus courageux, le manuel GNU Grep détaille chaque option de l'outil.
  • S'entraîner aux Regex : Utilisez Regex101 pour tester vos motifs de recherche en temps réel avant de les lancer dans votre terminal.
  • Apprendre le Terminal : Le site Explainshell vous permet de copier-coller une commande complexe pour comprendre exactement ce que chaque argument signifie.

lien vers l'article sur wouf blog
 

TIPS

Sur le site de Wouf, dans le menu "lien", en survolant "wikipedia", apparaît l'item: "Une page au hasard".

Par un simple clique, on accède à une page de Wikipedia... au hasard!

Un moyen original de se cultiver...

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)