fiche initiation à PB, votre avis?!
Publié : sam. 30/sept./2006 15:52
(post utilisant la v3.94 pour la v4 voir plus bas...)
Hello, ev'rybady
Etant débutant, je ne peux pas me permettre de proposer des cours d'infos à mes élèves!!!
.
Il y a suffisamment de documents crées par des gens compétents sur le net!
Par contre je compte faire une série de fiches d'initiation.
Chaque fiche permettrait d'assimiler une notion ou un groupe de notions.
Aucune connaissance particulière n'est requise(à part l'addition et la multiplication!)
J'ai testé cette fiche l'année dernière avec des élèves de seconde, ça m'a donné un petit aperçu:
Certains groupes, en quelques minutes avaient fait quasiment toute la fiche + de nouveaux programmes en modifiant les anciens.
Par contre certains restaient bloqués au premier programme sur des fautes de frappe
Les fiches se présentent sous forme de feuille A4 recto verso(j'ai pas réussi à poster le fichier *.doc
).
La fiche n°2(en cours) doit porter sur le mode console.
Cette première fiche permet de faire des dessins dès la première séance.
En effet, quand on est jeune est impatient
on aime bien voir le résultat tout de suite!
Si je commence par des listes de chiffres ça peut en refroidir certains!
J'utilise des delay() sur la fiche n°1 car la notion de boucle du programme principal n'a pas été abordée (fiche 2 mode console, intoduction de quelques mots clés de base )
Voilà la soluce pour ceux qui n'arriveraient pas à faire la fiche
Voilà le copier-coller de la fiche( la présentation papier est différente)
Si vous avez des idées de fiches...
Je posterai les fiches sur le forum à chaque fois qu'elles seront prêtes!
PS: je me suis attaqué au programme "moulinette" (c'est plutôt lui qui m'a attaqué
), je rame ENORMEMENT, mais pour l'instant j'embête personne car je veux voir comment je peux me débrouiller seul avec l'aide 
Hello, ev'rybady
Etant débutant, je ne peux pas me permettre de proposer des cours d'infos à mes élèves!!!

Il y a suffisamment de documents crées par des gens compétents sur le net!

Par contre je compte faire une série de fiches d'initiation.
Chaque fiche permettrait d'assimiler une notion ou un groupe de notions.
Aucune connaissance particulière n'est requise(à part l'addition et la multiplication!)
J'ai testé cette fiche l'année dernière avec des élèves de seconde, ça m'a donné un petit aperçu:
Certains groupes, en quelques minutes avaient fait quasiment toute la fiche + de nouveaux programmes en modifiant les anciens.
Par contre certains restaient bloqués au premier programme sur des fautes de frappe

Les fiches se présentent sous forme de feuille A4 recto verso(j'ai pas réussi à poster le fichier *.doc

La fiche n°2(en cours) doit porter sur le mode console.
Cette première fiche permet de faire des dessins dès la première séance.
En effet, quand on est jeune est impatient

Si je commence par des listes de chiffres ça peut en refroidir certains!
J'utilise des delay() sur la fiche n°1 car la notion de boucle du programme principal n'a pas été abordée (fiche 2 mode console, intoduction de quelques mots clés de base )
Voilà la soluce pour ceux qui n'arriveraient pas à faire la fiche

Code : Tout sélectionner
;Exercice n°1
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
Circle(200,200,100,RGB(255,0,0))
StopDrawing()
Delay(1000)
;Exercice n°2
OpenWindow(2,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
DrawingMode(4)
Circle(200,200,100,RGB(255,0,0))
StopDrawing()
Delay(1000)
;Exercice n°3
OpenWindow(3,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 1 To 4
Circle(100+50*i,200,25,RGB(255,0,0))
Next i
StopDrawing()
Delay(1000)
;Exercice n°4
OpenWindow(4,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
DrawingMode(4)
For i = 1 To 4
Circle(200,200,25+i*25,RGB(255,0,0))
Next i
StopDrawing()
Delay(1000)
;Exercice n°5
OpenWindow(5,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 1 To 4
For j=1 To 3
Circle(100+50*i,100+50*j,25,RGB(255,i*50,j*50))
Next j
Next i
StopDrawing()
Delay(1000)
;Exercice n°6
OpenWindow(6,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 19
Circle(10+i*20,180,10,RGB(255,0,0))
Next i
For i = 0 To 19 Step 2
Circle(10+i*20,200,10,RGB(255,0,0))
Next i
StopDrawing()
Delay(1000)
;Exercice n°7
OpenWindow(7,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 400 Step 10
LineXY(0,i,400,i,RGB(0,0,255))
LineXY(i,0,i,400,RGB(0,0,255))
Next i
StopDrawing()
Delay(1000)
;Exercice n°8
OpenWindow(8,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i=0 To 100 Step 2
Circle(200,200,100-i,RGB(55+2*i,55+2*i,55+2*i))
Next i
StopDrawing()
Delay(1000)
;damier
OpenWindow(8,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1")
StartDrawing(WindowOutput())
For i = 0 To 320 Step 80
For j=0 To 320 Step 80
Box(i,j,40,40,RGB(255,255,255))
Box(i+40,j,40,40,RGB(0,0,0))
Box(i+40,j+40,40,40,RGB(255,255,255))
Box(i,j+40,40,40,RGB(0,0,0))
Next j
Next i
StopDrawing()
Delay(1000)
; IDE Options = PureBasic v3.94 (Windows - x86)
; CursorPosition = 16
; Folding = -
Voilà le copier-coller de la fiche( la présentation papier est différente)
Toutes les idées d'amélioration sont les bienvenues
Enoncé
Ouvrez le logiciel Purebasic puis tapez les exercices suivant en respectant les consignes.
( vous pourrez utiliser la fonction copier-coller pour ne pas retaper ceraines parties du programme !)
IMPORTANT : IL N’EST PAS NECESSAIRE DE RECOPIER LES COMMENTAIRES PLACES APRES LE POINT VIRGULE
Exercice n°1A quoi sert la fonction “ OpenWindow(.........)” ?Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()); commence à dessiner dans la fenêtre ! Circle(200,200,100,RGB(255,0,0)); dessine un disque rouge StopDrawing(); arrête de dessiner! Delay(1000); affiche la fenêtre pendant 1000 ms c’est à dire 1 s !
Comment modifier la couleur du disque ?
Exercice n°2Comparez les exercices n°1 et n°2, quelle est la ligne responsable du changement ?Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()) DrawingMode(4) Circle(200,200,100,RGB(255,0,0)) StopDrawing() Delay(1000)
Exercice n°3Complétez: « i » est une ................ car sa valeur peut changer.Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()) For i = 1 To 4 ; pour i=1 à 4 dessine un disque en changeant sa position Circle(100+50*i,200,25,RGB(255,0,0)) Next i ; tant que i n’est pas égal à 4, on recommence ! StopDrawing() Delay(1000)
Comment modifier le tracé des disques pour qu’ils s’alignent verticalement ?
Le « couple » For...... Next est appelé une ............. .
Exercice n°4Quelle caractéristique du cercle est modifiée ici ?Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()) DrawingMode(4) For i = 1 To 4 Circle(200,200,25+i*25,RGB(255,0,0)) Next i StopDrawing() Delay(1000)
Exercice n°5Quelles précautions doit-on prendre lorsqu’on utilise des boucles imbriquées (boucles avec les variables i et j)?Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()) For i = 1 To 4 For j=1 To 3 Circle(100+50*i,100+50*j,25,RGB(255,i*50,j*50)) Next j Next i StopDrawing() Delay(1000)
Exercice n°6Est-ce que cela pose un problème que la variable i soit utilisée dans plusieurs boucles ?Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()) For i = 0 To 19 Circle(10+i*20,180,10,RGB(255,0,0)) ;dessine une première série de disques Next i For i = 0 To 19 Step 2 Circle(10+i*20,200,10,RGB(255,0,0)); dessine une deuxième série de disques Next i StopDrawing() Delay(1000)
A quoi sert l’instruction « Step 2 » ?
Exercice n°7Combien de droites contient une série ?Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()) For i = 0 To 400 Step 10 LineXY(0,i,400,i,RGB(0,0,255)) ; trace une série de droites parallèles horizontales LineXY(i,0,i,400,RGB(0,0,255)); trace une série de droites parallèles verticales Next i StopDrawing() Delay(1000)
Exercice n°8Que représentent les valeurs présentes dans la fonction « RGB(..,..,...) » ?Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Initiation_1") StartDrawing(WindowOutput()) For i=0 To 100 Step 2 Circle(200,200,100-i,RGB(55+2*i,55+2*i,55+2*i)) Next i StopDrawing() Delay(1000)
Dans quel intervalle se trouvent-elles ?
Un peu de réflexion...On veut dessiner un damier (10 cases*10 cases).Code : Tout sélectionner
OpenWindow(1,0,0,400,400,#PB_Window_WindowCentered,"Le damier") StartDrawing(WindowOutput()) For i = .... To ...... Step ....... For j=..... To.......... Step......... Box(........,.......,40,40,RGB(255,255,255)) Box(........,.......,40,40,RGB(0,0,0)) Box(........,.......,40,40,RGB(255,255,255)) Box(........,.......,40,40,RGB(0,0,0)) Next j Next i StopDrawing() Delay(1000)
Chaque case fait 40 unités de largeur et 40 unités de hauteur.
Chercher dans l’aide des informations sur la fonction « Box(.....) » puis compléter le programme ci-dessus !
Si vous avez des idées de fiches...
Je posterai les fiches sur le forum à chaque fois qu'elles seront prêtes!
PS: je me suis attaqué au programme "moulinette" (c'est plutôt lui qui m'a attaqué

