Bonjour à tous,
Je me propose de faire une petite introduction pour les personnes souhaitant se lancer dans la programmation. Ce tutorial sera orienté pour les débutants, ou ceux qui cherchent une passerelle entre Game Maker et un langage de programmation plus « pro ».
Pour débuter nous étudierons le langage C, qui me semble être un bon point de départ pour le public visé.
Pourquoi un tel tutoriel ?Clairement les aides, tutoriaux, et initiations à la programmation et au langage C ne manque pas sur le net. Le site du zero propose de très bon guides qui permettent de se lancer dans le monde des codeurs.
Ici, nous apprendrons à analyser un code, à faire de petits programmes simples qui vous permettrons de comprendre les bases, et tous les éléments communs à la grande majorité des langages de programmation.
Pour ce faire je me baserais sur les cours de SDA que je reçois (encore actuellement).
Je ne prétends donc pas être un « grand codeur », ou quoi que ce soit de ce type, je souhaite simplement partager l’enseignement dans lequel je me suis lancé. D’ailleurs , si vous souhaitez intégrer une école d’ingénieur ( même si elle n’est pas orientée uniquement vers l’informatique) ceci peut vous être utile, au moins pour connaître les bases et prendre de l’avance sur les quelques points qui peuvent poser problème et qui sont généralement les facteurs principaux des sales notes qu’on peut se prendre dans les études sup.
Malheureusement je ne peux pas vous proposer directement les cours tel qu’un prof pourrait vous le lâcher, premièrement parce que je n’ai aucun droit dessus et puis aussi parce que cela permettra aux membres du forum qui codent déjà comme des stars (les anciens qu’ on les appelles !) de pouvoir critiquer, proposer des améliorations, corriger les énormités qui pourraient être écrites…
Introduction au langage de programmation CSi vous êtes intéressé par la programmation, vous avez surement déjà entendu parler de ce langage. Je ne compte pas vous faire une description de l’histoire du langage.
Toutefois il me semble intéressant de vous expliquer pourquoi le C sera notre « ami » (quoique parfois…) pendant ce tutorial :
Le C est langage de haut niveau, c’est-à-dire qu’il se rapproche d’une langue parlée (l’Anglais), ce qui facilite grandement son apprentissage.
Néophyte en Programmation ou en Algorithmique ?
La programmation ne revient qu’à traduire un pseudo-code, c’est-à-dire à traduire la résolution d’un problème donné.
Avant de toucher à un code nous aurons besoin de savoir comment « parler » à la machine. Concrètement, comment demander à notre machine de faire une opération, aussi simple soit elle.
Pour cela nous allons introduire des notions simples. Et dans un premier temps, nous allons observer ses structures en pseudo-code. Le pseudo-code n’est pas du C, c’est le langage utilisé en algorithmique.
I. Les VariablesLes variables sont des outils simples qui permettent de stocker une valeur en mémoire dans le but d’une utilisation ultérieure dans votre programme. Comme son nom l’indique, la valeur stockée pourra varier au cour de l’exécution.
L’idée est simple :
Je souhaite faire une addition et pouvoir réutiliser la valeur retournée par mon calcul dans une autre opération. Pour cela je dois définir une variable et son type. Le type est une notion simple, si la valeur qui va être enregistrée dans la variable est un entier, je spécifie simplement « entier » après l’initialisation de ma variable. Ainsi :
Var a, b; entiers
Début
a <= 5 + 3
b <= 8 - a
Fin
Expliquons ce pseudo code simple pour que tout le monde puisse comprendre la structure d’un pseudo-code ( qui sera presque identique à la structure d’un code C ).
Dans un premier temps, les bornes « Début » et « Fin » définissent le code exécuté par l’ordinateur, c’est à l’intérieur de la zone que l’on inscrira les instructions.
Je définis ma variable grâce à cette structure : Var <nom_de_ma_variable> ; <type de la variable>
La ligne de code « a <= 5 + 3 » est traduite par « La valeur retournée par la somme de 5 et de 3 est stockée dans la variable a ». C’est une affectation. Les affectations se font toujours de la gauche vers la droite, de la valeur à stockée vers l’emplacement où elle sera stockée.
Enfin la valeur 0 est stockée dans b, puisque différence entre 8 et a ( avec a = 8 ).
Ce pseudo-code stocke donc 8 dans la variable a. Et la valeur 0 dans b. Si l’on exécute un tel code, rien n’est affiché le programme cesse immédiatement.
II. Les sélectionsLa sélection « Si »Les sélections sont la base de l’informatique, en effet elles permettent d’ajouter des conditions à l’exécution d’un morceau de votre code. La première boucle que nous allons voir est la « Si », un exemple sera plus pertinent pour vous expliquer le réel intérêt de cette sélection.
Imaginons que nous ayons deux variables a et b, toutes deux du type « entier », je souhaite que mon programme exécute la somme de a et de b, mais cela uniquement si leurs valeurs sont égales.
Var a, b, c ; entier
Début
a <= 2
b <= a
Si ( a = b ) faire
c <= a + b
FinSi
Fin
Analysons cette comparaison simple, le programme affecte 2 à a, et a à b. Ensuite, si a = b alors c stocke la valeur retournée par la somme de a et de b. La structure d’un Si est la suivante, le programme rencontre le mot cléf « Si » puis entre parenthèse il vérifie que la condition est vraie, alors il exécute tout le code compris entre les bornes « faire » et « FinSi ».
( Ici, le « Si » ne doit exécuter qu’une seule ligne de code, dans ce cas le Finsi est inutile. Votre compilateur partira du principe que puisque votre « Si » n’est pas borné, seule la prochaine ligne de code est concernée par la sélection. )
Il existe une autre sélection, le « switch », nous en reparlerons dans la partie dédié au C.
III. Les boucles de répétitionsLa boucle « Pour »Cette structure permet la répétition d’un morceau de code un certain nombre de fois, tant qu’une condition est vraie. Un morceau de code pour commencer :
Var a ; entier
Début
Pour a allant de 1 à 10 faire
Ecrire(« Coucou, ceci est la »+a+ « ème fois que la boucle s’est exécutée ! »)
a <= a + 1
FinPour
Fin
Ici le pseudo code rentre dans la boucle « Pour » avec a ayant la valeur 1, le message « Coucou, ceci est la 1 ère fois que la boucle s’est exécutée » est écrit sur le moniteur, a prend alors la valeur a + 1 et le programme recommence la boucle jusqu’à ce que a valle 10.
La boucle « Tant que »Cette boucle exécute un morceau de code tant que la condition retourne « vraie » .
Exemple :
Var a ; entier
Début
a <= 0
Tant que ( a < 10 ) faire
a++
FinTQ
Fin
Ici a est initialisée à 0, tant que a est inférieure à 10 alors on l’incrémente.
La boucle « Faire – Tant que »Très proche de la boucle « Tant que », elle permet d’exécuter au moins une fois le code concerné avant de vérifier si la condition est vraie.
Exemple :
Var a ; entier
Début
Faire
a <= lire()
tant que ( a < 0 )
écrire(a)
Fin
Ici, le programme entre directement dans la boucle et demande à l’utilisateur de rentrer un entier qui sera stocké dans la variable a. Puis il vérifie si a est inférieur à 0, si la condition est vérifiée le programme repart à la borne « Faire », sinon il exécute la suite du code et écrit la valeur de a à l’écran.