VILLAGE - ROSACES - STARS
Une version du village, plus "paysagé" se trouvent dans
LOGO-LEGO ; je n'y reviens donc pas ici.
JEUX SUR DES CARRES :
POUR CARREM :T
REPETE 4 [AV :T TD 90]
FIN
POUR CARREPG :T ;;des carrés de + en + grands, incrémenter
SI SUP? :T 200 [STOP] ;;les résolutions d'écran
ont changées, on peut mettre > 200
CARREM :T
CARREPG :T + 10
FIN
POUR CARREPP :T ;;des carrés de + en + petits, décrémenter
SI INF? :T 10 [STOP]
CARREM :T - 10
FIN
LES ROSACES ET, EN PRIME, DEUX ETOILES :
POUR POLYGONES :NC :T ;;nombre de côtés et taille
REPETE :NC [AV :T TD 360 / :NC] ;;la règle des 360°
expliquée ailleurs
FIN
POUR ROSACES :X :NC :T ;;toujours la même règle...
Idem pour les étoiles...
REPETE :X [POLYGONES :NC :T TD 360 / :X]
FIN
POUR ETOILE5 ;;à 5 branches
REPETE 5 [AV 88 TD 144] ;;où 720 = 360 * 2 et 144
= 72 * 2
FIN
POUR ETOILE8 ;;à 8 branches
REPETE 8 [AV 66 TD 135] ;;où 1080 = 135 * 8, soit 360
* 3 et 135 = 45 * 3
FIN
Les commentaires sont peut-être dans un ordre plus lisible
in the Turkish version !
Une étoile à 12 branches, suivant le même ordre de calcul
respectant la règle des 360°, est possible. Vous la trouvez ?!...
POUR AGAIN ;;un exemple "pour comprendre"
AV 50 TD 90
SI EGAL? CAP 0 [EC "TOTO STOP]
AGAIN
AV 50 TG 90
EC "ENCORE
FIN ;;si vous lancez AGAIN, que se passe-t-il ? Le mieux est de
faire tourner le programme...
POUR EPELLE :MOT ;;exemple classique
SI VIDE? :MOT [STOP]
ECRIS PREMIER :MOT
EPELLE SP :MOT ;;Primitive SaufPremier
FIN
POUR EPELER :MOT ;;n'est-ce pas plus élégant
ainsi ?
SI VIDE? :MOT [STOP] [EC PREM :MOT EPELER SP :MOT]
FIN
POUR ARBRE :T ;;le célèbre arbre récursif.
T pour taille
SI :T < 5 [STOP]
EC :T ;;ligne utile lors d'une démonstration pédagogique
AV :T ;;utiliser un ATTENDS ici pour la même démo
TD 45 ARBRE :T / 2 ;;idem
TG 90 ARBRE :T / 2 ;;idem
TD 45 RE :T
FIN ;;lancer ARBRE 60, et alors : (oui = passe, non = ne passe pas
par)
'DESS' (un programme "chouette" pour les plus petits) se trouve déjà en ces pages à Outils. Je n'ai peut-être pas signalé, par contre, que ce 'classique' est réalisé d'après le programme imaginé par Andy diSessa et Dan Watt ; une version se trouve dans le LOGO APPLE (pages 148 à 154 et 186 à 192) ; ouvrage mentionné en Bibliographie. Un bon programmeur ayant à sa disposition une bonne version de Logo pourra "compliquer" le tout et prévoir de sauvegarder le dessin de l'enfant. Cet outil devient, alors, un véritable petit logiciel pour les tout petits. Enfin, dans Images et Dessins, vous trouverez des réalisations d'enfants faites avec ce produit.
LA TORTUE AUTOMATE :
Ce programme est "tout bête", mais plusieurs notions y sont cachées : abscisses, ordonnées, hasard, limites, automatisme et j'en passe. Voir aussi : la "Tortue-Lemming" !... [Attention : faire alors Précédent pour revenir en haut de cette page].
POUR REBOND
SI EGAL? POS [0 70] [T TD 90] ;;est-ce à changer selon l'écran
?...
SI EGAL? POS [145 70] [T TD 90]
SI EGAL? POS [145 -60] [T TD 90]
SI EGAL? POS [-150 -60] [T TD 90]
SI EGAL? POS [-150 70] [T ORIGINE EC [OUF, TERMINE !] STOP BC]
;;on peut imaginer un meilleure final...
AV 1
REBOND
FIN
POUR T
EC [HO HO !!] EC CAR 7 ;;plus loin, en ces pages, vous trouverez
une autre proposition pour :
;;désirais-je un espace ou un saut de ligne ? Votre Logo ne connait
pas EC LISCAR ?...
FIN
POUR GO
FCFG 0 FCC 15 LC REBOND ;;couleurs du Logo pour Thomson, ne me souviens
plus, ad libitum...
FIN
Pour les 'matheux' :
dans certains Logo, certaines de ces procédures sont déjà des Primitives. Nous construisons, là, des Fonctions ; elles seront donc toujours à lancer avec un ECRIS (EC).
POUR CARRE :N ;;le carré d'un nombre
RETOURNE :N * :N
FIN ;;ECRIS CARRE 100 retourne 10000
POUR MOYENNE :X :Y
RETOURNE (:X + :Y) / 2 ;;on peut aller au-delà de ce principe
de base, cf. Calculer
FIN ;;EC MOYENNE 1 2 retourne 1.5
POUR ABSOLU :N
SI :N < 0 [RETOURNE -1 * :N] [RETOURNE :N]
FIN
POUR FACT ;;la factorielle d'un nombre
SI < :N 0 [RENDS [PAS DE NOMBRE NEGATIF...]]
SI EGAL? :N 0 [RENDS 1] [RENDS :N FACT :N - 1]
FIN ;;ECRIS FACT 5 retourne 120
Enseigner à Logo à multiplier se trouve à Calculer (lien ci-dessus) ; je n'y reviens donc pas sauf à insister sur les possibles tests à ajouter afin de s'assurer que :N est bien un nombre, qu'il soit supérieur à 0 et inférieur à (ad libitum : "c'est vous qui voyez"), que la seconde réponse soit bien MEMBRE de O (oui) N (non) et changer le message d'adieux.
Et une calculette, une ! En profiter pour parler de "l'ancêtre"
de l'ordinateur ; Logo mène à tout !
You know , the famous : "I comput so I'm" :-)
POUR CALCULETTE
EC (EXECUTE LL) ;;LisListe - les () sont-elles indispensables ?...
EC " ;;ECRIS rien, sauter une ligne, créer une
ligne blanche (ou noir selon écran et Logo) 'faut tout dire'...
;-)
EC [UNE AUTRE OPERATION, CHEF ? (O/N)]
DONNE "E PREMIER LL
SI EGAL? :E "N [EC "CIAO STOP] [VT CALCULETTE]
FIN ;;et voici un exemple :
?CALCULETTE
3 + 5
8
UNE AUTRE OPERATION, CHEF ?
N
CIAO
?
POUR DIAG :DIM ;;DIMension
REPETE 4 [AV :DIM TD 90]
TD 45
AV :DIM * 1.41 ;;règle mathématique vraie pour le
rectangle
TG 45 RE :DIM TG 45
AV :DIM * 1.41
FIN
POUR ARCD :DIM :DEG ;;DEGrés
REPETE (QUOTIENT :DEG 10) [AV :DIM * 10 TD 10]
CORRIGARC :DIM (RESTE :DEG 10)
FIN
POUR CORRIGARC :DIM :QUANT
AV :DIM * :QUANT
TD :QUANT
FIN
POUR ARCDROIT :RAYON :DEG
TD 5
ARCD :RAYON * 0.0174 :DEG ;;règle mathématique
TG 5
FIN ;;'idem' pour ARCGAUCHE (1, 2 ou 3 procédures ?)
Une jolie application :
POUR RAYON :DIM
ARCGAUCHE :DIM 90
ARCDROIT :DIM 90
ARCGAUCHE :DIM 90
ARCDROIT :DIM 90
FIN
POUR BOSOL ;;beau soleil
REPETE 9 [RAYON :DIM TD 160]
FIN ;;tenter un BOSOL 50
Suite des exemples de programmes plus liés aux mathématiques
; la démarche pédagogique est à définir par
l'enseignant, tout en sachant que les commentaires ne sont pas toujours
anodins.
POUR GAM ;;Jeux. Celui qui fait tout
BD CP
EC PH PH PH PH [QUEL EST LE RESULTAT DE LA MULTIPLICATION !
SUIVANTE :N "* :M "? ;;parler de la 'règle' des
intervalles
DONNE "R PREMIER LL ;;lisliste
SI NON NOMBRE? :R [STUP STOP]
SI NON EGAL? :R :P [EC PH [NON? LE RESULTAT EST:] :P] !
[EC [BRAVO !] SCORE]
EC [ENCORE ? (O/N)]
DONNE "E PREMIER LL
SI NON MEMBRE? :E [O N] [STUP STOP]
SI EGAL? :E "N [END STOP] [GAM]
FIN
POUR END ;;le final
EC "
EC PH PH PH [TON SCORE EST DE:] :S "SUR :C
EC " EC "CIAO
FIN
POUR CPT ;;un compteur
DONNE "C :C + 1
FIN
POUR SCORE ;;autre compteur
DONNE "S :S + 1
FIN
POUR BD ;;la base de données
DONNE "N HASARD 100
DONNE "M HASARD 10
DONNE "P PRODUIT :N :M
FIN
POUR STUP ;;montrer que l'on peut enseigner à Logo
à
;;"ne pas se faire avoir"...
EC [STUPID KID !]
FIN
POUR PLAY ;;la procédure à lancer
VT
EC [VOICI UN JEU GRACIEUSEMENT OFFERT PAR LE PROFESSEUR NIMBUS !]
;;alias Papy Logo ;-)
EC "
DONNE "C 0 DONNE "S 0 ;;il faut bien mettre les compteurs
à zéro...
GAM
FIN
Et alors, en guise de récréation et afin de revenir à notre chère Tortue :
Mais où est la PHARMACIE ?!...
POUR CROIX ;;avec un FCC rouge ou vert. C'est vous qui voyez
!
REPETE 4 [AV 20 TD 90 AV 20 TD 90 AV 20 TG 90]
FIN
![]() |
![]() |
![]() |
![]() |