0% ont trouvé ce document utile (0 vote)
7 vues15 pages

Algorithmes de tracé pour traceurs

Modification compétence processeur

Transféré par

Arkh
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues15 pages

Algorithmes de tracé pour traceurs

Modification compétence processeur

Transféré par

Arkh
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Concepts fondamentaux

Modi cation des compétences du processeur

1
fi
Premier exemple : suite 1

• On augmente les compétences du traceur : on suppose à présent qu'il sait


dessiner un carré de côté x (x étant un nombre de pas)

Comment faire le même tracé que précédemment ?

• L’algorithme est le même (c'est le même problème à résoudre). Mais il faut


modi er son niveau de détail pour s'adapter aux compétences du processeur
qui sont plus avancées que précédemment.

2
fi
l'algorithme de la séance 1 :

Premier exemple : suite 1 stocker 5 dans nbPas


choisir la couleur violet
baisser le stylet
stocker 1 dans cpteurCotes
TQ cpteurCotes <= 4 FAIRE
avancer de nbPas
changer de direction vers la droite
stocker cpteurCotes +1 dans cpteurCotes
FTQ
lever le stylet.
• Exercice :

• Récrire l'algorithme (dans le bon niveau de détails)

• Si, dans le langage du traceur, cette compétence s'écrit DrawSquare(x),


récrire le programme.

3
l'algorithme de la séance 1 :

Premier exemple : suite 1 (correction) stocker 5 dans nbPas


choisir la couleur violet
baisser le stylet
• L'algorithme : stocker 1 dans cpteurCotes
TQ cpteurCotes <= 4 FAIRE
avancer de nbPas
1. stocker 5 dans nbPas changer de direction vers la droite
2. Choisir couleur violet stocker cpteurCotes +1 dans cpteurCotes
FTQ
3. Baisser le stylet lever le stylet.
4. Dessiner un carré de nbPas de côté
5. Lever le stylet. Le programme :

const nbPas = 5
(On suppose que le traceur dispose de
Color(“purple“)
la fonction DrawSquare...)
DrawSquare(nbPas)
4
Premier exemple : suite 2

• On modi e à nouveau les compétences du traceur : on suppose à présent


qu'il ne sait avancer que d’un seul pas à la fois. Comment faire le même tracé
que précédemment ?

L’algorithme est le même (c'est le même problème à résoudre). Mais il faut


modi er son niveau de détail pour s'adapter aux compétences du processeur
qui sont plus réduites que précédemment.

5
fi
fi
Premier exemple : suite 2
• Par rapport à l'algorithme de la séance 1,
le traceur ne sait plus "avancer de nbPas", l'algorithme de la séance 1 :
mais uniquement d'un seul pas avec
stocker 5 dans nbPas
l'opération Step() choisir la couleur violet
baisser le stylet
• Comment tracer un carré de nbPas par stocker 1 dans cpteurCotes
nbPas sachant que le traceur ne sait TQ cpteurCotes <= 4 FAIRE
avancer de nbPas
avancer que d’un pas à la fois ? changer de direction vers la droite
stocker cpteurCotes +1 dans cpteurCotes
• En mettant un pied devant l’autre ! C'est-à- FTQ
lever le stylet.
dire en répétant l'opération Step(). Le
traceur a donc perdu en compétence, mais
on va voir que ce n'est pas un problème.
6
Premier exemple : suite 2

• Par rapport à l’algorithme précédent, il suf t de détailler l’instruction "avancer


de nbPas pas" : il faut maintenant "avancer nbPas fois d’un pas"…

• On utilisera donc un compteur de pas (comme on a utilisé un compteur de


côtés précédemment).

stocker 1 dans cpteurPas


TQ cpteurPas <= nbPas FAIRE
avancer d'un pas
augmenter cpteurPas de 1
FTQ

7
fi
on trace 4 côtés
Premier exemple : suite 2

func main() {
stocker 5 dans nbPas const nbPas = 5
var cpteurCotes, cpteurPas int
choisir la couleur violet
baisser le stylet
Color("purple")
stocker 1 dans cpteurCotes Down()
TQ cpteurCotes <= 4 FAIRE cpteurCotes = 1
stocker 1 dans cpteurPas for cpteurCotes <= 4 {
TQ cpteurPas <= nbPas faire cpteurPas = 1
avancer d'un pas for cpteurPas <= nbPas {
augmenter cpteurPas de 1 Step()
FTQ cpteurPas++
changer de direction vers la droite }
Right()
augmenter cpteurCotes de 1
cpteurCotes++
FTQ
}
lever le stylet. Up()
}
on avance de nbPas
8
Concepts fondamentaux

Mise en pratique

9
Au travail…
• Vous en savez assez pour écrire maintenant vos propres programmes de
tracés et pour les exécuter.

• Tenez toujours compte de deux paramètres :

• Ce que vous devez obtenir (le sujet de l'exercice).

• Les moyens (compétences) qui sont à votre disposition.

• Il ne vous reste plus qu'à écrire l'algorithme, le traduire dans le langage du


traceur et exécuter le tracé…

10
Mon premier carré : mise en pratique
• Tapez le programme du carré sur [Link] (sauvegardez ce lien une
bonne fois pour toute) et exécutez-le en cliquant sur Run. S'il fonctionne,
cliquez sur le bouton Share et mettez le lien en favori (et sauvez-le dans un
chier). Format permet de mettre en forme votre code.
func main() {
const nbPas = 5
var cpteurCotes int

Color("purple")
Down()
cpteurCotes = 1
for cpteurCotes <= 4 {
Forward(nbPas)
Right()
cpteurCotes = cpteurCotes + 1
}
Up()
11
}
fi
La pyramide…
• Écrivez l'algorithme, puis le programme pour obtenir ce tracé (carré initial de
côté 2 pas, augmentation de 1 pas de tout côté à chaque carré, 5 carrés
imbriqués)

12
Le serpent…

• Écrivez l'algorithme, puis le programme pour obtenir ce tracé :

13
De toutes les couleurs

• Écrivez l'algorithme, puis le programme pour obtenir ce tracé :

14
O Tannenbaum !

• Il est temps de lever un secret : le traceur dispose


également des fonctionnalités North(), South(),
West() et East(), qui permettent de modi er
directement l'orientation du stylet....

• Écrivez l'algorithme, puis le programme pour


obtenir ce tracé :

15
fi

Vous aimerez peut-être aussi