AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Google Pixel 7 5G – Smartphone 6,3″ OLED ...
Voir le deal
316 €

 

 Initiation à la programmation et au langage C.

Aller en bas 
4 participants
AuteurMessage
Rem_101
*Excellent utilisateur*
Rem_101


Messages : 4356
Localisation : chez votre marchand de journaux

Initiation à la programmation et au langage C.  Empty
MessageSujet: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptyJeu 25 Oct 2012 - 19:02

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 C

Si 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 Variables

Les 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élections

La 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étitions

La 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.



Dernière édition par Rem_101 le Jeu 25 Oct 2012 - 23:00, édité 7 fois
Revenir en haut Aller en bas
Rem_101
*Excellent utilisateur*
Rem_101


Messages : 4356
Localisation : chez votre marchand de journaux

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptyJeu 25 Oct 2012 - 22:49

évidemment c'est pas fini, c'est encore en cour de rédaction, je passe pas mal de temps sur les trucs basiques mais bon... j’essaie d'être compréhensible.
en tous cas je réserve se post. et toc
Edit: Puisque j'écris ce truc pendant mon temps libre ca peut prendre le temps que cela prendra pour le compléter. Mais bon...
Revenir en haut Aller en bas
Aero20
Débutant



Messages : 21

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptySam 29 Déc 2012 - 19:17

Bonjour,

Je sais plutôt bien programmé en C, si tu veux je peux t'aider, tu pourrais aussi apprendre à faire des dll pour game maker, ce serait intéressant.
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptySam 29 Déc 2012 - 19:30

Tu nous montre un de tes projets ? Wink
Revenir en haut Aller en bas
Aero20
Débutant



Messages : 21

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptySam 29 Déc 2012 - 20:13

Oui sans problème mais là je suis pas sur mon ordinateur, si tu veux je peux t'en envoyer des screenshoots demain ou alors je te donne une bibliothèque faisant des widgets plus ou moins jolies
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptySam 29 Déc 2012 - 22:59

Ok pour les screen, et ia déjà un tuto sur comment faire des dll pour gm en C sur le site du cbna si mes souvenirs sont bons....
Revenir en haut Aller en bas
daminetreg
Administrateur
daminetreg


Messages : 16998
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptyMer 2 Jan 2013 - 19:06

En effet pour le tuto pour les dlls : http://www.lecbna.org/pages/tuto/Dll/ , je regrette de n'avoir pas abordé le transfert de tableaux etc...

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
Initiation à la programmation et au langage C.  U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
Rem_101
*Excellent utilisateur*
Rem_101


Messages : 4356
Localisation : chez votre marchand de journaux

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptyLun 7 Jan 2013 - 1:11

Bon j'avais prévenu que j'allais mettre pas mal de temps à completer ce tuto, j'avais un chapitre en plus mais j'ai perdu le fichier ( de toute façon il ne convenait pas), je sais pas si ca peut aider. D'autres tutos sont évidemment plus complet, mieux rédigé et structuré mais un de plus ne pourra pas faire de mal. Smile


Aero20 si tu veux participer je vois aucun soucis, tu peux m'envoyer un message privé ou même rédiger ton texte ici. ( Bon ca fait un moment alors je sais pas trop si ca t'interresses encore).

Bref, ca sera terminé quand ca sera terminé. Je suis un peu éparpillé sur pleins de truc, et puis cette saloperie de Street Figther qui me vole mon temps. :'(

Sur ce, je vais finir mon twix, aller me coucher et esperer me lever à l'heure pour demain. :3
Revenir en haut Aller en bas
Aero20
Débutant



Messages : 21

Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  EmptyLun 7 Jan 2013 - 10:01

Ok, je t'enverrai par mp un peu de texte, libre à toi, après, de le mettre
Revenir en haut Aller en bas
Contenu sponsorisé





Initiation à la programmation et au langage C.  Empty
MessageSujet: Re: Initiation à la programmation et au langage C.    Initiation à la programmation et au langage C.  Empty

Revenir en haut Aller en bas
 
Initiation à la programmation et au langage C.
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: