Initiation à la programmation - SI²...2 Non ce n'est pas de la magie. 2.1 Les objectifs. À...

Preview:

Citation preview

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 1

Initiationàlaprogrammation

Nom:Prénom:Classe:

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 2

Illustrations par Simon Stoppele : https://www.facebook.com/lacorbeilledelacorneille/ Une partie de ces notes sont inspirées de plusieurs resources libres : http://visatice.ulg.ac.be, https://pixees.fr/classcode-v2/, https://code.org, https://docs.cs50.net/, http://csunplugged.org/ Retrouvez toutes les informations sur https://sicarre.be/ ou contactez info@sicarre.be

Ce document est mise à disposition selon les termes de la Licence Creative Commons Attribution -

Partage dans les Mêmes Conditions 4.0 International.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 3

1 Un ordinateur, cette machine stupide ........................................................................................... 4

1.1 Lesobjectifs ......................................................................................................................... 4

1.2 Activité1:Lescomposantsdel'ordinateur ..................................................................... 5 1.3 Activité2:Leslimitesdel'ordinateur. .............................................................................. 9

1.4 Structuration ..................................................................................................................... 11

1.5 Retouràtesrepresentations ........................................................................................... 13

2 Non ce n'est pas de la magie. ..................................................................................................... 14 2.1 Lesobjectifs. ...................................................................................................................... 14

2.2 Activité:Untourdemagie. .............................................................................................. 15 3 L'algorithme de la tartine. .......................................................................................................... 17

3.1 Lesobjectifs. ...................................................................................................................... 17

3.2 Activité:Algodelatartine. .............................................................................................. 18 4 Cherchons le trésor. .................................................................................................................... 21

4.1 Lesobjectifs. ...................................................................................................................... 21

4.2 Activité:Chercherletrésor ............................................................................................. 22

5 Programmationparblocs ........................................................................................................ 28 5.1 Lesobjectifs. ...................................................................................................................... 28

5.2 Déroulementdelaséquence: ......................................................................................... 29

5.3 Planning ............................................................................................................................. 29 5.4 Synthèse:Programmationparblocs .............................................................................. 30

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 4

1 Un ordinateur, cette machine stupide

1.1 LesobjectifsÀlafindelaséance,tuserascapablede:Comprendrelerôledesdifférentscomposantsd'unordinateurdansl'exécutiond'unprogramme

• Listerlescomposantsdebased’unordinateur

• Expliquerlafonctiondechaquecomposantdebased’unordinateur

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 5

1.2 Activité1:Lescomposantsdel'ordinateur A. Mesreprésentations:Pourmoi,qu'est-cequ'unordinateur?

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 6

B. Est-cequececiestunordinateur?Entourelesimagesquicorrespondentàdesordinateurs.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 7

• Dequoicesobjetssont-ilsconstitués?

• Quelssontlespointscommuns?

• Quelcritèredeclassificationas-tuutilisé?

• Quellessontlespartiesessentiellesetcellesdontonpeutsepasser?

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 8

C. Observationd'unemachine.Objectifs:

• Découvrirlescomposantsd’unordinateur

• Expliquerlafonctiondechaquecomposantdebased’unordinateur

Essayonsdeclasserlesdifférentscomposantsdel'ordinateurdansceschéma:

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 9

1.3 Activité2:Leslimitesdel'ordinateur.Voiciuntexteécritenpolonais. Komputery, a inne maszyny liczące Komputer od tradycyjnego kalkulatora odróżnia zdolność wykonywania wielokrotnie, automatycznie powtarzanych obliczeń, wg algorytmicznego wzorca zwanego programem, gdy tymczasem kalkulator może zwykle wykonywać tylko pojedyncze działania. Granica jest tu umowna, ponieważ taką definicję komputera spełniają też kalkulatory programowalne (naukowe, inżynierskie), jednak kalkulatory służą tylko do obliczeń matematycznych, podczas gdy nazwa komputer najczęściej dotyczy urządzeń wielofunkcyjnych. Jakkolwiek istnieją mechaniczne urządzenia liczące, które potrafią realizować całkiem złożone programy, zazwyczaj nie zalicza się ich do komputerów. Warto jednak pamiętać, że prawzorem komputera była maszyna Turinga, którą można by wykonać w całości z części mechanicznych, a pierwsze urządzenia ułatwiające obliczenia były znane w starożytności, np. abakus z 440 p.n.e..

Àmoinsquevousneconnaissiezcettelangue,vousêtesincapablesdeluiattribuerlemoindresens.

Vousêtesdonccommeunordinateurfaceàdel'informationnumérisée.Cependant,celanesignifiepasquevousêtesincapablesd'effectuercertainstraitementssurcetexte.Parmilesépreuvesquisuivent:

• quellessontcellesquevousallezréussirsansaucunproblème?(A)• quellessontcellesquevousêtesincapablesderéussirouseulementdifficilement?(B)

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 10

A B

1. Direcombienilcomptedelettres

2. Écriretoutletexteenlettrescapitales

3. Ytrouverlemot"maszyna"

4. Direcombienilcomptedenomscommuns

5. Surlignerledeuxièmeparagraphe

6. Direcombienlapremièrephrasedeceparagraphecomptedemots

7. Synthétiserletexteendeuxlignesmaximum

8. Soulignerlesmotsquidésignentdesoiseaux

9. Direquelleestlalettrelaplusfréquente

10. Direcombiendefoislachaîne(suite)decaractères«części»apparaîtdansletexte

11. Mettreletexteaufutursimple

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 11

1.4 StructurationLorsdecesdeuxactivités,nousavonsmisenplaceunvocabulaireprécis.Essaied'associerlesdéfinitionssuivantesauxnotionsétudiées.Définitions:1

La mémoire vive est généralement appelée RAM pour Random Access Memory ce qui signifie mémoire à accès aléatoire, entendez "accès direct". La mémoire vive ou RAM accueille, de manière temporaire toutes les informations (données et programmes) qui viennent progressivement enrichir les capacités du système.

2 Le processeur ou CPU pour "Central Processing Unit" a essentiellement pour tâche de :

1. lire des données en mémoire ou dans les I/O (Entrées/Sorties en anglais) 2. traiter les données 3. écrire des données en mémoire ou dans les entrées/sorties

Les performances des CPU évoluent très rapidement et dépendent du nombre d'instructions qu'il peut exécuter par cycle d'horloge et du nombre de bits qu'il peut traiter en parallèle.

3 On y enregistre les données et les programmes que l'ordinateur est susceptible de traiter.

4 Un dispositif connecté à un système de traitement de l'information central (ordinateur, console de jeux, etc.1) et qui ajoute à ce dernier des fonctionnalités.

5 Servent à fournir des informations (ou données) au système informatique tel que clavier (frappe de texte), souris (pointage), scanner (numérisation de documents papier), micro, webcam, etc.

6 Servent à faire sortir des informations du système informatique tel que écran, imprimante, haut-parleur, etc

7 Une méthode, décrite de manière assez claire et rigoureuse pour qu’elle puisse être appliquée sans ambiguïté par un humain, ou par une machine, ou même par un extra-terrestre (s’il peut lire le Français… et encore… on n’a pas besoin de tout le dictionnaire, mais juste de quelques mots).

8 Algorithme qui a été traduit en instructions compréhensibles par la machine, pour que la machine puisse l’exécuter.

9 Traitements que nous pouvons appliquer à une information dépourvue de sens.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 12

Notions:A PériphériqueB PériphériquedesortieC ProcesseurD RAME AlgorithmeF TraitementformelG Périphériqued'entréeH DisquedurI Programme

1 2 3 4 5 6 7 8 9

Donnonsmaintenantunedéfinitiond’ordinateur:Unordinateur,c’est…..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 13

1.5 RetouràtesrepresentationsRetourneàtesrepresentationsetàteschoixdeclassificationpourlesimagesdel’exercice1.2.Surbasedecequetuasapprisetdeladéfinitionsurlaquellelaclasses’estaccordée,est-cequetuchangeraisdesimagesdeclassification?Est-cequetonidéedecequ’estunordinateurestmaintenantplusprécise?

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 14

2 Non ce n'est pas de la magie. 2.1 Lesobjectifs.Àlafindelaséance,l'apprenantseracapablede:Lireetcomprendreunalgorithmesimplepermettantderésoudreunproblèmedonné.

• Expliquerunalgorithmesimple• Simulerl’exécutiond’unalgorithmesimple

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 15

2.2 Activité:Untourdemagie.A. Consignesdutourdemagie.

• L'activitésedéroulepargroupede3élèves.• Chaquegroupereçoitunjeudecartes(21cartes)• Legrouperéaliseletourdemagiedelafaçonsuivante:

o Un élève joue la “mémoire” et lit les instructions ci-dessous une par une en s’adressant au processeur.

o Unélèvejouele“processeur”etexécutelesinstructionsdonnéesparlamémoire.

o Un élève est l’ « utilisateur » et interragit avec le processeur.

Instructions: Mélanger 21 cartes à jouer Donner les cartes à l’utilisateur Dire à l’utilisateur : "Retiens une carte au hasard dans ta tête." Fermer les yeux Dire à l’utilisateur : "Montre la carte à la mémoire." Ouvrir les yeux Reprendre les cartes à l’utilisateur Dire à l’utilisateur : "Regarde les cartes quand je les distribuerai." Distribuer trois cartes côte à côte, face visible Empiler les cartes restantes de la même façon sur les tas déjà existant Demander à l’utilisateur : "Dans quel tas se trouve ta carte ?" Empiler les trois tas en mettant le tas indiqué au milieu Distribuer trois cartes côte à côte, face visible Empiler les cartes restantes de la même façon sur les tas déjà existant Demander à l’utilisateur : "Dans quel tas se trouve ta carte ?" Empiler les trois tas en mettant le tas indiqué au milieu Distribuer trois cartes côte à côte, face visible Empiler les cartes restantes de la même façon sur les tas déjà existant Demander à l’utilisateur : "Dans quel tas se trouve ta carte ?" Récupérer la carte au milieu de ce tas Dire à l’utilisateur : "Tadaa : C'est cette carte-là."

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 16

B. Miseencommunetstructuration.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 17

3 L'algorithme de la tartine. 3.1 Lesobjectifs.Àlafindelaséance,l'apprenantseracapablede:Concevoirunalgorithmesimplepermettantderésoudreunproblèmedonné

• Écrireunalgorithmecommeunesuited’instructions

• Identifierlesinstructionsdebaseàdisposition

• Définirdesinstructionsnonambiguës

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 18

3.2 Activité:Algodelatartine.A. Consignes

L'activitésedérouledemanièreindividuelle.Votreprofesseursetransformepouruneduréedéterminéeenrobot.Ilvadevoirréaliserlatâchesuivante:"Faireunetartinebeurréeàlaconfiture".Pourcela,ildisposedumatérielsuivant:

• unetartine• beurre• confitureenpot• uncouteau• uneassiette

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 19

Quellessontlesinstructionsquetudoisluidonnerafinqu'ilpuisseréalisercettetâchesansdifficulté?Notecesinstructionssurtafeuille.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 20

B. Miseencommunetstructuration.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 21

4 Cherchons le trésor. 4.1 Lesobjectifs.Àlafindelaséance,l'apprenantseracapablede:Lireetcomprendreunalgorithmesimplepermettantderésoudreunproblèmedonné

• Expliquerunalgorithmesimple• Simulerl’exécutiond’unalgorithmesimple• Adapterunalgorithmesimpleexistant

Concevoirunalgorithmesimplepermettantderésoudreunproblèmedonné • Écrireunalgorithmecommeunesuited’instructions• Identifierlesinstructionsdebaseàdisposition• Définirdesinstructionsnonambiguës• Utiliserdesstructuresdecontrôles(instructionsconditionnellesouboucles)demanièreappropriéedansunalgorithme

• Combinerdesinstructions,desstructuresdecontrôlepourécrireunalgorithme

Utiliserunalgorithmesimplepourrésoudreunproblèmedonné • Identifierunesuited’instructionsquiconstituentuntoutréutilisable

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 22

4.2 Activité:ChercherletrésorA. Consignes

L'activitésedérouledemanièreindividuelle.Pourchacunedesgrillessuivantes,rédigedesinstructionsclairesautraversd'unalogrithmepourquebeetlebotlerobotatteignelediamant.

=beetlebot =lediamant

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 23

Grillen°1(5X6)

Mets-toi d’accord avec ton voisin sur les instructions de base que vous allez utiliser Instructions: Miseencommun:

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 24

Grillen°2(5X?)

Instructions: Miseencommun:

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 25

Grillen°4(5X8)

Instructions:Miseencommun:

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 26

Grillen°5(5X8)

=Unobstacleinfranchissable!

Instructions:

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 27

B. Miseencommunetstructuration.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 28

5 Programmationparblocs5.1 Lesobjectifs. Àlafindelaséance,l'apprenantseracapablede:Lireetcomprendreunalgorithmesimplepermettantderésoudreunproblèmedonné

• Expliquerunalgorithmesimple• Simulerl’exécutiond’unalgorithmesimple• Adapterunalgorithmesimpleexistant

Concevoirunalgorithmesimplepermettantderésoudreunproblèmedonné

• Écrireunalgorithmecommeunesuited’instructions• Identifierlesinstructionsdebaseàdisposition• Définirdesinstructionsnonambiguës• Définiretutiliserdesexpressionsdemanièreappropriéedansunalgorithme• Définiretutiliserdesvariablesdemanièreappropriéedansunalgorithme• Utiliserdesstructuresdecontrôles(instructionsconditionnellesouboucles)demanièreappropriéedansunalgorithme

• Combinerdesinstructions,desstructuresdecontrôle,desvariablespourécrireunalgorithme

Utiliserunalgorithmesimplepourrésoudreunproblèmedonné

• Identifierlesentrées/sortiesd'unalgorithmesimple• Discuterdesconditionsd’utilisationd’unalgorithmesimple• Comparerl’efficacitédedeuxalgorithmes

• Identifierunesuited’instructionsquiconstituentuntoutréutilisable

• Réutiliserunesuited’instructionsendéfinissantunefonction

Comprendrequ'unlangagedeprogrammationestunefaçondedécrireunalgorithmedesortequ'ilsoitcompréhensibleparunemachine

• Identifierlacorrespondanceentrelesinstructionsdebased’unalgorithmeetcellesdulangagedeprogrammationàutiliser

• Identifieretutiliserlestypesdedonnéesadéquats

• Traduireunalgorithmesimpledansunlangagedeprogrammation

• Rédigerunprogrammesimpledansunlangagedeprogrammationvisuel

• Exécutersurmachineunprogrammesimple

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 29

5.2 Déroulementdelaséquence:

1. Créeruncompteetseconnecteraveclecodedonnéparl'enseignant2. Explicationdel'interface:

• oùestl'énoncé(attention,ilfautlelireàchaquefois),

• commentlesblocss'emboitent,

• lasignificationlogiquedescouleurs(seconstruiraaufuretàmesure),

• lascèneàgaucheetleboutondémarrer/réinitialiser,

• leboutonétape,

• Commentpasseràl'exercicesuivant,àlaleçonsuivante.

3. Travaillerpardeux.Chacunsontourfaitunexercice.

5.3 PlanningCours 3 (https://studio.code.org/s/course3)

Leçons 2, 3, 5, 6, 8, 11, 13, 15

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 30

5.4 Synthèse:ProgrammationparblocsLeçon2:LabyrinthezombieInstructionsdebasesetutilisationdeboucles.

Leçon3:ArtisteInstructionsdebasesgéométrie(angles,périmètres,...)Instructionsavecparamètre,boucle(répéterXfois),bouclesimbriquées

Certainesinstructionss’exécutentàlasuitelesunesdesautres:onparledeprogrammationséquentielle.

L'exécutiond'unprogrammeestreproductible(silesinstructionsnechangentpas,nilesdonnéesàmanipuler,leprogrammedonnetoujourslemêmerésultat)

L’ordinateurnefaitqu’exécuterlesinstructionsqu’onluidonne:niplus,nimoins.

Unebouclepermetderépéterplusieursfoislamêmeaction

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 31

Leçon6:AbeilleFonctions(utilisationetéditionetrédaction)

Unefonctionsertàétendrelelangageencréantdenouveauxblocs,denouvellesinstructions.Celaéviteégalementdedupliquerducode.Ainsi,siuneerreurseglissedansunefonctionousionveutlamodifier,ilnefautmodifierqu'àunendroit.

Leçon8 : LabyrinthezombieConditions

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 32

Leçon11:ArtisteBouclesimbriquéesBouclerenréutilisantducodedonnéetlebonangle

Ontravailleicilalecturedecode.Ilfautcomprendrelecodedonnéavantdel'utiliser.Ilestaussiimportantdebienserendrecomptedanslesbouclesimbriquées,àquellepartieducode(dansquelleboucle)correspondquelmouvementdel'artiste.

Leçon13:AbeilleBouclesimbriquées,tantque

Certainesboucles,dites«conditionnelles»,sontrépétéesjusqu'àcequ'uneconditionsoitremplie.

Cours de sciences-technologie D.Boels - H. de Groote - D.Lemoine - O.Goletti 33

Leçon15:Cassebrique CetteleçonestimportanteàfairepourfaciliterlatransitionversScratchquiestunmélangeséquentiel/évènementiel.

Programmationévènementielle

Certainesinstructionsnes’exécutentqu’audéclenchementd’unévènement:onparledeprogrammationévènementielle.