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

Quand tout semble être contre vous, souvenez-vous que l'avion décolle face au vent, et non avec lui.

Henry Ford

Voir toutes les citations.


Algorithme au cycle 4 - Séquence 4

Un code bien commenté

En programmation, les commentaires sont des portions du code source ignorées par le compilateur ou l’interpréteur, car ils ne sont pas nécessaires à l’exécution du programme.

Pourquoi commenter ?

On commente un code source en Python pour en simplifier sa lisibilité, et gagner du temps dans la ré-utilisation de parties de code sur lesquelles on a déjà travaillé.

Comment commenter ?

En Python le caractère # débute un commentaire.

Première mission

Le code suivant est bien documenté. Essayez-le, analysez-le. Ensuite créez un fichier damier.py avec 100 cases bleues et jaunes de 45 pixels de largeur.

Code Python traduit en HTML:
#L'échiquier version 1.0.0
#par wouf 11/2018
from turtle import *


# Les variables globales :________________________________________________________________

nombre_colonnes=8 
nombre_lignes=8
cote_en_pixels=40 


# Les fonctions : _______________________________________________________________________
def dessin_carre(x,couleur="aucune" ): #cette fonction est documenté en dessous entre les triples cotes:
    """ x est le coté du carré en pixel
Option : la couleur de remplissage est facultative...""" 
    
    les_couleurs=("blue" ,"red" ,"green" ,"yellow" ,"brown" ,"black" ,"white" ,"pink" ,"orange" ,"purple" ,"grey" )
    #cette liste est une variable locale, non connue à l'exterieur de la fonction dessin_carre()
    
    if couleur not in les_couleurs: #si la couleur est "aucune"  ou une couleur non existante...
        couleur="white" 
    fillcolor(couleur)
    begin_fill()    
    for c in range(4):
        forward(x)
        right(90)
    end_fill()
    
# Les paramètres pour turtle : __________________________________________________________
    
speed("fastest" )#vitesse maximum
shape("blank" ) #pour ne pas voir le curseur
title("Echiquier de Wouf" )  #Titre de la fenêtre

# Dessin de l echiquier ________________________________________________________________
for i in range(nombre_colonnes): 
    for j in range(nombre_lignes): #avez vous remarqué les 2 boucles imbriquées ?
        #positionnement :
        up()
        goto(i*cote_en_pixels-320,j*cote_en_pixels-220) #où placer la tortue avant de faire la case (i,j) ?
        down()
        
        if (i+j)%2==0:
            #Si la case est paire
            #(X%Y est le reste de la division
            #euclidienne de X par Y)
            #On apllique la couleur foncée (remplissage)
            
            dessin_carre(cote_en_pixels,"brown" )
            
        else: #Sinon on a une case paire de couleur claire
            dessin_carre(cote_en_pixels,"grey" )



echiquier.py

Interagir avec l'utilisateur...

Pour vous donner un exemple simple, je vous propose le code qui suit.

Un feu tricolore s'offre à vous et la possibilités d'utiliser 3 touches du clavier :

  • Le r pour Rouge
  • Le o pour Orange
  • Le v pour vert
Code Python traduit en HTML:
#Le feu tricolore version 1.0.0
#par wouf 11/2018
#Utilisez les touches r(rouge) o(orange) et v(vert) pour changer la couleur du feu
from turtle import *

# Les paramètres pour turtle : __________________________________________________________
    
speed("fastest" )#vitesse maximum
shape("blank" ) #pour ne pas voir le curseur
title("Feu tricolore de Wouf" )  #Titre de la fenêtre

def rouge(): #Le feu est rouge
    up()
    goto(50,-50)
    down()
    color("red" )
    dot(80)
    up()
    goto(50,-150)
    down()
    color("black" )
    dot(80)
    up()
    goto(50,-250)
    down()
    dot(80)

def orange(): #Le feu est orange
    up()
    goto(50,-50)
    down()
    color("black" )
    dot(80)
    up()
    goto(50,-150)
    down()
    color("orange" )
    dot(80)
    up()
    goto(50,-250)
    down()
    color("black" )
    dot(80)
 
def vert(): #Le feu est vert
    up()
    goto(50,-50)
    down()
    color("black" )
    dot(80)
    up()
    goto(50,-150)
    down()
    color("black" )
    dot(80)
    up()
    goto(50,-250)
    down()
    color("green" )
    dot(80)

    
#Dessin du feu : _______________________________________________________________

fillcolor("brown" )
begin_fill()
forward(100)
right(90)
forward(400)
right(90)
forward(100)
right(90)
forward(400)
right(90)
end_fill()
up()
goto(50,-50)
down()
dot(80)
up()
goto(50,-150)
down()
dot(80)
up()
goto(50,-250)
down()
dot(80)

# la tortue écoute les entrées au clavier (listen) et associe :
#à la touche r la fonction rouge()
#à la touche o la fonction orange()
#à la touche v la fonction vert()

if __name__ == "__main__" :
    listen()
    onkeypress(rouge,"r" )
    onkeypress(orange,"o" )
    onkeypress(vert,"v" )
    
    mainloop()

feu_tricolore

Mission

Quand le feu est rouge il serait bien qu'un appui sur la touche r éteigne l'ampoule (idem pour orange et vert)

Pouvez vous faire ça ?

Pour les plus rapides :

Mission : Un jeu de puissance 4

Votre mission est de créer (après certaines recherches) le visuel d'un jeu de puissance 4.

Pourquoi ne pas travailler en équipe ?

Les plus rapide peuvent réfléchir à l'interaction avec l'utilisateur...

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
  • Wikibooks : Le module Turtle
  • A la découverte de Turtle sur zestedesavoir.com
  • snakify : La boucle for
  • Les archives des années précédentes
  • La séquence 1 : Qu'est-ce qu'un algorithme ? Découverte de l'IDLE de Python 3
  • La séquence 2 : Premiers programmes : bonjour monde, le module turtle
  • La séquence 3 : Premières boucles
  • La séquence 4 : Un code bien commenté, première fonction
  • La séquence 5 : les chaines de caractères et un calcul de moyenne.
  • Conclusion, correction et bilan 2018-2019.

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

Le point sur la notation ensembliste

En mathématiques, décrire un ensemble consiste à indiquer quels objets en font partie. Il existe plusieurs manières d'écrire un ensemble, chacune ayant ses avantages. Voici un tour d'horizon des notations les plus utilisées, du collège au lycée.


1. La notation par énumération

La forme la plus classique consiste à lister tous les éléments, entre accolades et séparés par des points-virgules :

Exemple :
{2 ; 4 ; 6 ; 8 ; 10}
désigne l’ensemble des cinq premiers nombres pairs strictement positifs inférieurs ou égaux à 10.


2. La notation imagée (avec des points de suspension)

Lorsque l’ensemble contient trop d’éléments, ou est infini, on peut utiliser des points de suspension pour faire comprendre le schéma :

Exemple :
{2 ; 4 ; 6 ; 8 ; 10 ; …}
désigne l’ensemble des nombres pairs strictement positifs.


3. La notation abrégée avec points de suspension encadrés

Quand on connaît le premier et le dernier terme, et qu’aucune ambiguïté n’est possible sur la régularité, on peut écrire :

{2 ; 4 ; 6 ; … ; 28 ; 30}
Cela signifie qu’on prend tous les nombres pairs de 2 à 30, inclus.


4. La notation en compréhension

On peut aussi définir un ensemble par une propriété caractéristique que doivent vérifier ses éléments.
Cette notation utilise souvent le symbole ∈ (appartient à), accompagné d’une barre verticale ( ∣ ) signifiant "tel que" :

{n ∈ ℕ ∣ n est pair}
se lit : "ensemble des entiers naturels n tels que n est pair".


5. Une autre écriture par image directe

On peut aussi définir un ensemble en décrivant une formule qui donne tous ses éléments :

{2m ∣ m ∈ ℕ}
Ici, on explique que tout nombre de l’ensemble est obtenu en multipliant un entier naturel par 2.

Ces deux notations décrivent le même ensemble, mais selon deux points de vue différents :
– l’un par propriété (pair),
– l’autre par expression explicite (2m).


6. À ne pas oublier : l’ensemble vide et le singleton

  • L’ensemble vide, noté ∅ sans accolade! ou parfois {}, ne contient aucun élément.
    Exemple : {x ∈ ℕ ∣ x² = –1} = ∅
  • Un singleton est un ensemble qui ne contient qu'un seul élément.
    Exemple : {42}

Quelques exemples en Python

Voici comment traduire certaines notations ensemblistes en langage Python, ce qui peut être utile en algorithmique ou pour manipuler des ensembles en programmation.

Créer un ensemble fini par énumération

A = {2, 4, 6, 8, 10}
print(A)  # Affiche : {2, 4, 6, 8, 10}

Créer un ensemble infini tronqué (via une boucle)

# Ensemble des 10 premiers nombres pairs
B = {2 * i for i in range(10)}
print(B)  # Affiche : {0, 2, 4, 6, 8, 10, 12, 14, 16, 18}

Définir un ensemble par compréhension (avec condition)

# Nombres pairs inférieurs à 30
C = {n for n in range(1, 31) if n % 2 == 0}
print(C)  # Affiche : {2, 4, ..., 30}

Écrire un ensemble par image directe

# 2m pour m de 0 à 20
D = {2 * m for m in range(21)}
print(D)  # Affiche : {0, 2, ..., 40}

Pour aller plus loin

  • (#128279#) Bac à sable Python
  • (#128279#) Article Wikipédia sur la notation ensembliste
  • (#128279#) Références officielles du programme de mathématiques au collège (éduscol)

lien vers l'article sur wouf blog
 

TIPS

Dingue de télé?

Demandez le programme, dans le menu "liens"...

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)