C'est quoi, programmer ?
Avant de toucher au clavier, comprenons ce qu'on va faire.
Après cette fiche, vous saurez :
- dire ce qu'est un programme
- reconnaître les 3 moments d'un programme
- comprendre que l'ordinateur suit un chemin, un ordre à la fois
- savoir ce que sont C# et .NET
- savoir qu'il existe d'autres langages, et ce qui compte d'abord
1Un programme, c'est une liste d'ordres
Imaginez que vous donnez une recette à quelqu'un qui ne connaît rien à la cuisine. Vous devez tout écrire, dans l'ordre, sans rien oublier.
Un programme, c'est pareil. Vous écrivez une liste d'ordres. L'ordinateur en exécute un seul à la fois, et il fait exactement ce qui est écrit.
Par où commence-t-il ? Par le haut. Puis il descend, ligne après ligne.
Mais il ne descend pas toujours tout droit
Reprenons la recette de cuisine. Elle peut dire :
- « Répétez l'opération trois fois. » → on remonte en arrière.
- « Si vous n'avez pas de beurre, passez au point 5. » → on saute des étapes.
- « Pour la sauce, voir page 12. » → on va ailleurs, puis on revient.
Un programme fait exactement la même chose. Plus tard dans l'année, vous apprendrez à lui faire répéter des lignes, à lui en faire sauter certaines, ou à l'envoyer chercher un morceau écrit plus loin.
À retenir
L'ordinateur suit un chemin, un ordre à la fois. Ce chemin n'est pas forcément l'ordre dans lequel vous avez écrit les lignes.
Tant que vous ne lui demandez rien de particulier, ce chemin va simplement du haut vers le bas. C'est le cas de tous vos programmes pendant les premières semaines.
À retenir
L'ordinateur n'est pas intelligent. Il ne devine rien. Il fait ce que vous dites, même si c'est une bêtise.
Quand un programme ne marche pas, ce n'est jamais l'ordinateur qui s'est trompé. C'est nous. Et c'est normal : ça arrive à tout le monde, tous les jours.
2Les 3 moments d'un programme
Presque tous les programmes font la même chose, dans le même ordre.
| 1. On donne | 2. Il travaille | 3. Il répond |
|---|---|---|
| Vous tapez quelque chose au clavier. | L'ordinateur calcule. | Il affiche le résultat à l'écran. |
Un exemple que vous écrirez dans deux semaines :
- On donne : vous tapez votre âge.
- Il travaille : il ajoute 10.
- Il répond : il affiche l'âge que vous aurez dans 10 ans.
Ces 3 moments existent partout. Au distributeur de billets : vous tapez votre code (on donne), la banque vérifie (il travaille), les billets sortent (il répond).
À retenir
Devant un exercice, posez-vous toujours ces 3 questions :
- Qu'est-ce que l'utilisateur va taper ?
- Qu'est-ce que je dois calculer ?
- Qu'est-ce que je dois afficher ?
Répondez-y sur papier avant de toucher au clavier. Vous gagnerez du temps.
3C# et .NET
Deux mots que vous allez entendre tout le temps. Voici la différence, simplement.
| C'est quoi ? | Comparaison | |
|---|---|---|
| C# | La langue dans laquelle on écrit. | Le français : les mots et la grammaire. |
| .NET | La boîte à outils déjà fournie. | Une caisse à outils : vous ne fabriquez pas le marteau, vous l'utilisez. |
Concrètement : vous n'aurez jamais à écrire le code qui affiche du texte à l'écran. Quelqu'un l'a déjà fait pour vous. Vous vous contentez de l'appeler.
C'est comme allumer la lumière : vous appuyez sur l'interrupteur, vous n'installez pas l'électricité.
Attention
« C# » se prononce « C sharp ». Le petit dièse vient de la musique.
4Il existe beaucoup d'autres langages
Le C# n'est pas le seul langage de programmation. Il en existe des centaines. Voici les plus courants, et ce à quoi ils servent surtout.
| Langage | On l'utilise surtout pour |
|---|---|
| C# | Applications de bureau, jeux vidéo, sites web, applications mobiles |
| Python | Analyse de données, intelligence artificielle, automatisation |
| JavaScript | Les sites web, dans le navigateur |
| C et C++ | Programmes très rapides, appareils électroniques |
| SQL | Poser des questions à une base de données |
C'est comme les langues qu'on parle. Le français, le néerlandais et l'anglais servent tous à communiquer. On choisit selon la personne en face et la situation.
Mais l'idée derrière est la même
Regardez comment on demande d'afficher le mot « Bonjour » dans trois langages différents.
| Langage | Ce qu'on écrit |
|---|---|
| C# | Console.WriteLine("Bonjour"); |
| Python | print("Bonjour") |
| JavaScript | console.log("Bonjour"); |
Trois écritures différentes. Mais une seule idée : afficher un texte à l'écran.
C'est vrai pour tout le reste. Poser une question, retenir une valeur, faire un calcul, répéter une action : ces idées existent dans tous les langages. Seule la façon de les écrire change.
À retenir
Cette année, vous n'apprenez pas vraiment « le C# ». Vous apprenez à programmer. Le C# n'est que le moyen de transport.
Ce qui compte, c'est le raisonnement : découper un problème en petites étapes, les mettre dans le bon ordre, et vérifier que ça marche. C'est cela le vrai travail, et c'est cela qui vous servira partout.
Concrètement : quelqu'un qui sait programmer en C# apprend le Python ou le Java en quelques semaines. Il connaît déjà les idées, il n'a plus qu'à apprendre l'écriture.
C'est aussi pour cela qu'on ne vous demandera pas de retenir le code par cœur. La documentation existe, on la consulte tous les jours dans le métier. Ce qui ne se consulte pas, c'est le raisonnement.
Attention
Une question qui revient souvent : « est-ce que j'apprends le bon langage ? »
Oui. Le C# est très demandé en Belgique, et les idées que vous allez apprendre sont valables partout ailleurs. Vous ne perdez pas votre temps, quoi qu'il arrive ensuite.
→Exercices
Aucun ordinateur nécessaire pour cette fiche. Prenez une feuille.
Pour chaque situation, écrivez ce qu'on donne, ce que la machine calcule, et ce qu'elle répond.
- Une caisse de supermarché.
- Un four à micro-ondes.
Solution
1. La caisse de supermarché
- On donne : les articles passés au scanner.
- Elle calcule : elle additionne les prix.
- Elle répond : elle affiche le total et imprime le ticket.
2. Le micro-ondes
- On donne : le temps de cuisson que vous tapez.
- Il calcule : il compte les secondes qui passent.
- Il répond : il chauffe, puis il sonne.
Vous voyez que « répondre » ne veut pas toujours dire « afficher du texte ». Cela peut être un ticket, un son, une lumière.
- L'ordinateur corrige mes erreurs tout seul.
- C# et .NET, c'est la même chose.
- L'ordinateur exécute plusieurs ordres en même temps.
- Un programme commence toujours par la première ligne.
- Un programme exécute forcément toutes les lignes qu'on a écrites.
Solution
- Faux. Il fait exactement ce qu'on lui dit, même quand c'est faux.
- Faux. C# est la langue. .NET est la boîte à outils.
- Faux. Un seul ordre à la fois. Il va très vite, ce qui donne l'impression du contraire, mais il les traite l'un après l'autre.
- Vrai. Le départ est toujours en haut. C'est la suite qui peut varier.
- Faux, et c'est le point le plus important des cinq.
Explication de la dernière. Aujourd'hui, vos programmes descendront tout droit : toutes les lignes seront exécutées, une fois chacune, de haut en bas.
Mais ce n'est qu'une situation parmi d'autres. Plus tard, vous écrirez des ordres qui modifient le chemin :
- une ligne peut être exécutée plusieurs fois : c'est une boucle ;
- une ligne peut être sautée si une condition n'est pas remplie ;
- le programme peut aller lire un morceau écrit plus loin, puis revenir à son point de départ.
Donc : l'ordinateur suit toujours un chemin, un ordre à la fois. Mais ce chemin n'est pas obligatoirement l'ordre dans lequel les lignes sont écrites.
Choisissez un appareil que vous utilisez tous les jours : un GSM, une machine à laver, un GPS.
Écrivez ses 3 moments : ce qu'on donne, ce qu'il calcule, ce qu'il répond.
Solution
Il n'y a pas une seule bonne réponse. Voici un exemple avec un GPS.
- On donne : l'adresse de destination.
- Il calcule : il cherche le chemin le plus rapide.
- Il répond : il affiche la route et annonce les virages.
Si vous avez réussi à découper votre exemple en 3, l'exercice est réussi. C'est ce découpage qui compte, pas l'appareil choisi.
Je sais faire
- Je peux expliquer ce qu'est un programme avec mes mots.
- Je sais retrouver l'entrée, le calcul et la sortie dans un exemple.
- Je sais que l'ordinateur exécute un seul ordre à la fois.
- Je sais que C# est la langue et .NET la boîte à outils.
- Je sais que l'important est le raisonnement, pas le langage.
Une case qui coince ? Relisez la partie concernée avant de passer à la fiche suivante.