| Les deux révisions précédentes
Révision précédente
Prochaine révision
|
Révision précédente
|
cours:progra2 [2019/03/07 14:08] mrcjl [Exemple 2] |
cours:progra2 [2025/04/03 11:38] (Version actuelle) mrcjl [Le programme] |
| [[cours:start|Cours]] - [[cours:4ème]] - Les programmes | ~~NOTOC~~ |
| | ======Les programmes (B->D) 4ème====== |
| ======Les programmes====== | |
| Une fois que la solution au problème informatique a été trouvée, il va falloir la communiquer à l'ordinateur ou au système embarqué afin qu'il puisse l'utiliser en temps que programme. Ce dernier, beaucoup plus rapide et fiable que l'être humain pourra alors montrer son intérêt en résolvant les problèmes de ses utilisateurs. | Une fois que la solution au problème informatique a été trouvée, il va falloir la communiquer à l'ordinateur ou au système embarqué afin qu'il puisse l'utiliser en temps que programme. Ce dernier, beaucoup plus rapide et fiable que l'être humain pourra alors montrer son intérêt en résolvant les problèmes de ses utilisateurs. |
| | |
| | <WRAP round box> |
| | **Compétences :** |
| | * CT 4.2 – CT 5.5 - IP 2.3 : Écrire un programme dans lequel des actions sont déclenchées par des événements extérieurs. |
| | |
| | **J’ai acquis la compétence si : ** |
| | * Je sais ce qu'est un programme et les types de bloc qu'il utilise. |
| | * Je sais traduire sous forme de programme un algorithme. |
| | </WRAP> |
| |
| =====Les langages de programmation===== | =====Les langages de programmation===== |
| <WRAP tip> | <WRAP round tip> |
| Il existe de nombreux **langages de programmation** (Basic, Java, Python, PHP, C, SCRATCH ...) utilisables par l'être humain et chacun adaptés à un type de problème particuliers. | Il existe de nombreux **langages de programmation** (Basic, Java, Python, PHP, C, SCRATCH ...) utilisables par l'être humain et chacun adaptés à un type de problème particuliers. |
| |
| Tous les langages utilisent des **variables**, des **boucles**, des **conditions**, des **instructions** générales. Un **sous-programme** est une suite d'instruction spécifiées à part et généralement utilisées plusieurs fois dans le programme principal. </WRAP> | Tous les langages utilisent des **variables**, des **boucles**, des **conditions**, des **instructions** générales. Un **sous-programme** est une suite d'instructions spécifiées, écrit à coté du programme principal et généralement utilisé plusieurs fois dans le programme principal. </WRAP> |
| |
| * Le BASIC en 1964 et SCRATCH aujourd'hui ont été inventés pour les débutants | * Le BASIC en 1964 et SCRATCH aujourd'hui ont été inventés pour les débutants |
| |
| =====Le programme===== | =====Le programme===== |
| <WRAP tip> | {{ :cours:etapesprogrammation.png?400 |}} |
| Un programme informatique est un ensemble d'opérations destinées à être exécutées par un ordinateur. C'est la traduction de l'algorithme. | <WRAP round tip> |
| | Un **programme informatique** est un ensemble d'opérations normalisées destinées à être exécutées par un ordinateur. C'est la traduction de l'algorithme. |
| |
| Il n'existe qu'un langage (le code machine) compréhensible par l'ordinateur. Il faut donc un **interpréteur** (traduction ligne par ligne) ou un **compilateur** (traduction en 1 seule fois) pour passer du langage de programmation au code machine. </WRAP> | Il n'existe qu'un langage (le code machine) compréhensible par l'ordinateur. Il faudra donc un **interpréteur** (traduction ligne par ligne) ou un **compilateur** (traduction en 1 seule fois) pour passer du langage de programmation au code machine. </WRAP> |
| |
| Les programmes se composent d'instructions, généralement dérivées de mots anglais, et utilisent une syntaxe qu'il faut respecter pour leur écriture. Certains langages utilisent une programmation par blocs graphiques (SCRATCH, BLOCKLY ...). | Les programmes se composent d'instructions, généralement dérivées de mots anglais, et utilisent une syntaxe qu'il faut respecter pour leur écriture. Certains langages utilisent une programmation par blocs graphiques (SCRATCH, BLOCKLY ...). |
| |
| Ils se composent principalement de : | <WRAP round tip> |
| | Les programmes se composent principalement de : |
| |
| * variables (entité mémoire) destinée à stocker une information modifiable. | * **variables** (entité mémoire) destinée à stocker une information modifiable. |
| * boucles qui répètent (un nombre de fois ou jusqu'à ce qu'une condition soit validée) une série d'instructions, | * **boucles** qui répètent (un nombre de fois ou jusqu'à ce qu'une condition soit validée) une série d'instructions, |
| * conditions (vrai ou faux) qui exécutent ou pas une série d'instruction, | * **conditions** (vrai ou faux) qui exécutent ou pas une série d'instruction, |
| * d'instruction de traitement sur des variables (données ou informations), | * **d'instruction de traitement** sur des variables (données ou informations), |
| * d'instruction d'entrée sortie (lecture ou écriture) d'information vers les périphériques (claviers, écran ...). | * **d'instruction d'entrée sortie** (lecture ou écriture) d'information vers les périphériques informatiques (claviers, écran ...) mais aussi les capteurs (entrée) et actionneurs (sortie) des objets. |
| * sous-programme qui permettent d'écrire une seule fois une partie de code utilisée plusieurs fois dans le programme ou une partie ayant un fonctionnement indépendant. | * **sous-programme** qui permettent d'écrire une seule fois une partie de code utilisée plusieurs fois dans le programme ou une partie ayant un fonctionnement indépendant. |
| | </WRAP> |
| |
| Au collège, nous programmerons avec des langages graphiques par bloc (SCRATCH et mBloc). | Au collège, nous programmerons avec des langages graphiques par bloc (SCRATCH et mBloc). |
| |
| =====Exemple 1===== | =====Exemple 1===== |
| |
| Ce programme SCRATCH est la traduction de l'algorithme convertissant un nombre décimal en nombre binaire. | Ce programme SCRATCH est la traduction de l'algorithme convertissant un nombre décimal en nombre binaire. |
| | {{ :cours:img_prog_scratch.jpg?600 |}} |
| Il nécessite 3 variables (NOMBRE, SEUIL et RÉPONSE) pour manipuler les données utiles : | Il nécessite 3 variables (NOMBRE, SEUIL et RÉPONSE) pour manipuler les données utiles : |
| |
| |
| =====Exemple 2===== | =====Exemple 2===== |
| |
| Ce programme JavaScript est la traduction du même algorithme dans un langage textuel. | Ce programme JavaScript est la traduction du même algorithme dans un langage textuel. |
| | {{ :cours:img_prog_js.jpg?600 |}} |
| Les variables sont définies avec "var". En plus des opérateurs arithmétiques classiques, il existe un opérateur pour incrémenter "++" (+1) et un pour concaténer "." (ajouter à la suite). | Les variables sont définies avec "var". En plus des opérateurs arithmétiques classiques, il existe un opérateur pour incrémenter "++" (+1) et un pour concaténer "." (ajouter à la suite). |
| |
| Enfin, je l'exécute directement avec l'interpréteur pour les langages tels SCRATCH et JavaScript ou je le compile en un programme exécutable (logiciel) pour les langages de haut niveau. | Enfin, je l'exécute directement avec l'interpréteur pour les langages tels SCRATCH et JavaScript ou je le compile en un programme exécutable (logiciel) pour les langages de haut niveau. |
| |
| <WRAP info> | <WRAP round info> |
| * [[wpfr>Liste de langages de programmation]] existant ou obsolète sur Wikipédia | * [[https://scratch.mit.edu|scratch.mit.edu]] Le site se SCRATCH pour s'entrainer à programmer |
| | * [[https://ide.mblock.cc|ide.mblock.cc]] Le site de mBlock pour programmer des objets |
| | * [[https://chrome.google.com/webstore/detail/picaxe-blockly/hhdlapnjifkkcpghcapopejopnbpapnb?hl=fr-FR|L'application PICAXE BLOCKLY]] pour programmer les circuits PICAXE |
| | * [[wpfr>Liste de langages de programmation]] existants ou obsolètes sur Wikipédia |
| </WRAP> | </WRAP> |
| |
| |