Cours d'Informatique "le C"
+13
link224
Falco45
Gwendoline
Valleyman
PhPMan
itachi
KillerMapper
Smbz
jango
Fullmétal
shaka
keke
ShikAmaWu
17 participants
Nintendonline :: Bla-bla :: Hors-sujet
Page 1 sur 3
Page 1 sur 3 • 1, 2, 3
Cours d'Informatique "le C"
Bon, voilà, je ne sais pas si je pouvais faire ca, mais je l'ai fais comme même (quel courage x]). Bon, j'ai pris un cours d'informatique du "Site du Zéro" pour apprendre le langage C. Alors qu'est ce que c'est que cette petit bète là, la voici en... Texte :
___________________________________
Vous aimeriez apprendre à programmer, mais vous ne savez pas par où commencer ?
(autrement dit: vous en avez marre des cours trop compliqués que vous ne comprenez pas ? )
C'est votre jour de chance
Vous venez de tomber sur un cours de programmation pour débutants, vraiment pour débutants.
Il n'y a aucune honte à être débutant, tout le monde est passé par là, moi y compris
Ce qu'il vous faut est pourtant simple. Il faut qu'on vous explique tout, progressivement, depuis le début :
Comment s'y prend-on pour créer des programmes comme des jeux, des fenêtres ?
De quels logiciels a-t-on besoin pour programmer ?
Dans quel langage commencer à programmer ? D'ailleurs, c'est quoi un langage ?
Ce tutoriel est constitué de 2 parties théoriques sur le langage C (parties I et II) suivies d'une partie pratique (partie III) portant sur la librairie SDL dans laquelle vous réutiliserez tout ce que vous avez appris pour créer des jeux vidéo !
Partie 1 : [Théorie] Les bases du débutant
Programmer, c'est quoi ?
On commence par la question la plus simple qui soit, la plus basique de toutes les questions basiques
Si vous avez l’impression de déjà savoir tout ça, je vous conseille de lire quand même, ça ne peut pas vous faire de mal Je pars de zéro pour ce cours, donc je vais devoir répondre à la question :
Que signifie le mot "programmer" ?
Bon, je vais éviter de vous faire comme mon prof de français : je ne vais pas vous donner l’origine du mot "programmer". Et puis de toute façon si je vous disais que ça vient du latin programmeus je crois que vous auriez un peu de mal à me croire
Simplement, programmer signifie réaliser des "programmes informatiques". Les programmes demandent à l'ordinateur d'effectuer des actions.
Votre ordinateur est rempli de programmes en tous genres :
La calculatrice est un programme
Votre traitement de texte est un programme
Votre logiciel de « Chat » est un programme
Les jeux vidéo sont des programmes
En bref, les programmes sont partout et permettent de faire à priori tout et n’importe quoi sur un ordinateur. Vous pouvez inventer un logiciel de cryptage révolutionnaire si ça vous chante, ou réaliser un jeu de combat en 3D sur Internet, peu importe. Votre ordinateur peut tout faire (sauf le café, mais j'y travaille ).
Le célèbre jeu Half-Life 2, programmé en C++
Attention ! Je n’ai pas dit que réaliser un jeu vidéo se faisait en claquant des doigts. J’ai simplement dit que tout cela était possible, mais soyez sûrs que ça demande beaucoup de travail
Comme vous débutez, nous n’allons pas commencer par voir comment réaliser un jeu 3D. Ce serait du pur suicide
Nous allons devoir passer par des choses très simples. Une des premières choses que nous verrons est comment afficher un message à l’écran. Oui, je sais ça n'a rien de très transcendant, mais rien que ça croyez-moi, c’est pas si facile que ça en a l’air
Bon, c’est vrai que ça impressionne moins les copains, mais on va bien devoir passer par là. Petit à petit, vous apprendrez suffisamment de choses pour commencer à réaliser des programmes de plus en plus complexes. Le but de ce cours est que vous soyez capables de vous débrouiller tous seuls dans n’importe quel programme écrit en C ou C++.
Mais tenez au fait, vous savez ce que c’est vous, cette histoire de "C / C++" ?
--------------------------------------------------------------------------------
Programmer, dans quel langage ?
Votre ordinateur est une machine bizarre, c’est le moins que l’on puisse dire. On ne peut s’adresser à lui qu’en lui envoyant des 0 et des 1. Ainsi, si je traduis "Fais le calcul 3 + 5" en langage informatique, ça pourrait donner quelque chose comme :
0010110110010011010011110
(j’invente hein, je ne connais pas la traduction informatique par cœur :p)
Ce que vous voyez là, c’est le langage informatique de votre ordinateur, appelé langage binaire (retenez bien ce mot !). Votre ordinateur ne connaît que ce langage-là et, comme vous pouvez le constater, c’est absolument incompréhensible, immonde et imbuvable
_____________________________________
Bon, j'espère que vous aimez lire... (vus qu'il n'y à pas trop le droit au double Post, j'attend vos critiques, vos remarques... pour poster la suite)
___________________________________
Vous aimeriez apprendre à programmer, mais vous ne savez pas par où commencer ?
(autrement dit: vous en avez marre des cours trop compliqués que vous ne comprenez pas ? )
C'est votre jour de chance
Vous venez de tomber sur un cours de programmation pour débutants, vraiment pour débutants.
Il n'y a aucune honte à être débutant, tout le monde est passé par là, moi y compris
Ce qu'il vous faut est pourtant simple. Il faut qu'on vous explique tout, progressivement, depuis le début :
Comment s'y prend-on pour créer des programmes comme des jeux, des fenêtres ?
De quels logiciels a-t-on besoin pour programmer ?
Dans quel langage commencer à programmer ? D'ailleurs, c'est quoi un langage ?
Ce tutoriel est constitué de 2 parties théoriques sur le langage C (parties I et II) suivies d'une partie pratique (partie III) portant sur la librairie SDL dans laquelle vous réutiliserez tout ce que vous avez appris pour créer des jeux vidéo !
Partie 1 : [Théorie] Les bases du débutant
Programmer, c'est quoi ?
On commence par la question la plus simple qui soit, la plus basique de toutes les questions basiques
Si vous avez l’impression de déjà savoir tout ça, je vous conseille de lire quand même, ça ne peut pas vous faire de mal Je pars de zéro pour ce cours, donc je vais devoir répondre à la question :
Que signifie le mot "programmer" ?
Bon, je vais éviter de vous faire comme mon prof de français : je ne vais pas vous donner l’origine du mot "programmer". Et puis de toute façon si je vous disais que ça vient du latin programmeus je crois que vous auriez un peu de mal à me croire
Simplement, programmer signifie réaliser des "programmes informatiques". Les programmes demandent à l'ordinateur d'effectuer des actions.
Votre ordinateur est rempli de programmes en tous genres :
La calculatrice est un programme
Votre traitement de texte est un programme
Votre logiciel de « Chat » est un programme
Les jeux vidéo sont des programmes
En bref, les programmes sont partout et permettent de faire à priori tout et n’importe quoi sur un ordinateur. Vous pouvez inventer un logiciel de cryptage révolutionnaire si ça vous chante, ou réaliser un jeu de combat en 3D sur Internet, peu importe. Votre ordinateur peut tout faire (sauf le café, mais j'y travaille ).
Le célèbre jeu Half-Life 2, programmé en C++
Attention ! Je n’ai pas dit que réaliser un jeu vidéo se faisait en claquant des doigts. J’ai simplement dit que tout cela était possible, mais soyez sûrs que ça demande beaucoup de travail
Comme vous débutez, nous n’allons pas commencer par voir comment réaliser un jeu 3D. Ce serait du pur suicide
Nous allons devoir passer par des choses très simples. Une des premières choses que nous verrons est comment afficher un message à l’écran. Oui, je sais ça n'a rien de très transcendant, mais rien que ça croyez-moi, c’est pas si facile que ça en a l’air
Bon, c’est vrai que ça impressionne moins les copains, mais on va bien devoir passer par là. Petit à petit, vous apprendrez suffisamment de choses pour commencer à réaliser des programmes de plus en plus complexes. Le but de ce cours est que vous soyez capables de vous débrouiller tous seuls dans n’importe quel programme écrit en C ou C++.
Mais tenez au fait, vous savez ce que c’est vous, cette histoire de "C / C++" ?
--------------------------------------------------------------------------------
Programmer, dans quel langage ?
Votre ordinateur est une machine bizarre, c’est le moins que l’on puisse dire. On ne peut s’adresser à lui qu’en lui envoyant des 0 et des 1. Ainsi, si je traduis "Fais le calcul 3 + 5" en langage informatique, ça pourrait donner quelque chose comme :
0010110110010011010011110
(j’invente hein, je ne connais pas la traduction informatique par cœur :p)
Ce que vous voyez là, c’est le langage informatique de votre ordinateur, appelé langage binaire (retenez bien ce mot !). Votre ordinateur ne connaît que ce langage-là et, comme vous pouvez le constater, c’est absolument incompréhensible, immonde et imbuvable
_____________________________________
Bon, j'espère que vous aimez lire... (vus qu'il n'y à pas trop le droit au double Post, j'attend vos critiques, vos remarques... pour poster la suite)
ShikAmaWu- Membre actif - lvl 3
- Nombre de messages : 647
Age : 30
Jeux online : SFC, MK DS, MPH, ZPH, MK Wii, SSBB
Date d'inscription : 06/01/2008
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
Sympa l'ane
Mais je crois plutot que tu devras placer ça dans " Pub "
Mais je crois plutot que tu devras placer ça dans " Pub "
keke- Super membre - lvl 2
- Nombre de messages : 1270
Age : 27
Date d'inscription : 24/08/2007
Mes codes amis
Ma team:
Re: Cours d'Informatique "le C"
J'savais que je m'étais tromper de rubrique
ShikAmaWu- Membre actif - lvl 3
- Nombre de messages : 647
Age : 30
Jeux online : SFC, MK DS, MPH, ZPH, MK Wii, SSBB
Date d'inscription : 06/01/2008
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
Non c'est bien cette rubrique
shaka- Administrateur
- Nombre de messages : 7605
Age : 38
Jeux online : MKDS, MPH, DKR, Pokemon Perle, SSBB, MKWii
Date d'inscription : 23/02/2007
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
le langage des PC c'est le binaire
donc (par exemple: 0100101= 35 (en décimal comme vous connaisser ))
en gros pour déchiffrer le binaire c'est facile c'est en fonction des puissance de 2
2^(le nombre de chiffre)*...............*2^8*2^7*2^6*2^5*2^4*2^3*2^2*2^1*2^0
le 0 dit que pour le rang désigner vaut zéro et 1 dit qu'on prend le rang désigner par le 1 (donc 2^(le rang)),pour ceux qui on compris
la date en binaire donnerai : 1010/1/1111011000 (10/01/2008)
voila quelque exo pour voir si vous avez compris :(au faites les nombre binaires se lise de droit a gauche) de plus le premier rang n'est pas 1 mais zéro (i.e: 2^0=1)
100010=??
1111=?
1011=?
1000000011110001110=? ( )
donc (par exemple: 0100101= 35 (en décimal comme vous connaisser ))
en gros pour déchiffrer le binaire c'est facile c'est en fonction des puissance de 2
2^(le nombre de chiffre)*...............*2^8*2^7*2^6*2^5*2^4*2^3*2^2*2^1*2^0
le 0 dit que pour le rang désigner vaut zéro et 1 dit qu'on prend le rang désigner par le 1 (donc 2^(le rang)),pour ceux qui on compris
la date en binaire donnerai : 1010/1/1111011000 (10/01/2008)
voila quelque exo pour voir si vous avez compris :(au faites les nombre binaires se lise de droit a gauche) de plus le premier rang n'est pas 1 mais zéro (i.e: 2^0=1)
100010=??
1111=?
1011=?
1000000011110001110=? ( )
Fullmétal- Modérateur
- Nombre de messages : 2316
Age : 35
Jeux online : MKDS,FF3,MKWII
Date d'inscription : 29/05/2007
Mes codes amis
Ma team: PG1[MKDS]
Re: Cours d'Informatique "le C"
J'ai à peu près compris ton explication (mais pas complètement ), mais nous allons aborder les puissances, donc je ne peux pas répondre à l'exo maintenant
ShikAmaWu- Membre actif - lvl 3
- Nombre de messages : 647
Age : 30
Jeux online : SFC, MK DS, MPH, ZPH, MK Wii, SSBB
Date d'inscription : 06/01/2008
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
les puissance c'est simples 2^2=2*2=4
ou alors 2^6=2*2*2*2*2*2=64 etc en gros 2^n=2*2*...*2*2 (avec n fois le nombre 2)
ou alors 2^6=2*2*2*2*2*2=64 etc en gros 2^n=2*2*...*2*2 (avec n fois le nombre 2)
Fullmétal- Modérateur
- Nombre de messages : 2316
Age : 35
Jeux online : MKDS,FF3,MKWII
Date d'inscription : 29/05/2007
Mes codes amis
Ma team: PG1[MKDS]
Re: Cours d'Informatique "le C"
ben étant en term S SI le binaire c'est facilepour moilais je comprends que pour les autres c pas facil...
sinon ya aussil'hexa
sinon ya aussil'hexa
jango- Membre actif - lvl 1
- Nombre de messages : 252
Jeux online : mkds, mph, zph,pkmn perle, acww, tetris ds
Date d'inscription : 27/10/2007
Mes codes amis
Ma team: PG1 ( pokemon perle)
Re: Cours d'Informatique "le C"
Oula pour moi c'est du japponais je suis que en seconde
Smbz- Modérateur
- Nombre de messages : 2180
Age : 32
Jeux online : MKDS ACWW et POKEMON
Date d'inscription : 06/09/2007
Mes codes amis
Ma team: PG1[MKDS],S'-n-F[SSBB],No team Mkwii
Re: Cours d'Informatique "le C"
Je suis sur le Site Du Zéro (SDZ) depuis que j'ai internet, soit plus de 4-5 ans
Mais pas pour le C++ (à l'époque, il y en avait pas encore sur le site) mais pour le mapping Half-Life 1 ^^
Mais pas pour le C++ (à l'époque, il y en avait pas encore sur le site) mais pour le mapping Half-Life 1 ^^
KillerMapper- Star
- Nombre de messages : 3446
Date d'inscription : 20/07/2006
Mes codes amis
Ma team:
Re: Cours d'Informatique "le C"
je viens de finir les puissances, c'est chiant
itachi- Super membre - lvl 1
- Nombre de messages : 893
Age : 30
Date d'inscription : 25/03/2007
Re: Cours d'Informatique "le C"
Je ne suis pas encore dans les puissances, donc * et ^ met inconnu pour le moment (je suis 4e moi ^^")
ShikAmaWu- Membre actif - lvl 3
- Nombre de messages : 647
Age : 30
Jeux online : SFC, MK DS, MPH, ZPH, MK Wii, SSBB
Date d'inscription : 06/01/2008
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
Ah bah moi je suis sur le sdz depuis le début de la V2 donc ça fait un bout de temps ^^
Sinon jpeux pas taider, le C ça m'a toujours saoulé(Jpréfère le PHP :p)
Et sinon j'ai pas compris le coup du binaire.
Jme retrouve avec 100010 = 64, ou peut être 8
Sinon jpeux pas taider, le C ça m'a toujours saoulé(Jpréfère le PHP :p)
Et sinon j'ai pas compris le coup du binaire.
Jme retrouve avec 100010 = 64, ou peut être 8
PhPMan- Modérateur
- Nombre de messages : 1012
Age : 31
Jeux online : Mkwii, Mscf, Mkds, Counter\', Starcraft
Date d'inscription : 04/12/2007
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
Mdr fox les * sont des fois mais j'arrive po a faire le signe je le ferai avec des x maintenant
Ph man: "Et sinon j'ai pas compris le coup du binaire.
Jme retrouve avec 100010 = 64, ou peut être 8"
(0x(2^1))+(1x(2^1))+(0x(2^2))+(0x(2^3))+(0x(2^4))+(1x(2^5))=2+32=34
Lol c'est justement en seconde que j'ai vue sa ,en MPI (mesure physique et informatique)au tout début de la seconde
Ph man: "Et sinon j'ai pas compris le coup du binaire.
Jme retrouve avec 100010 = 64, ou peut être 8"
(0x(2^1))+(1x(2^1))+(0x(2^2))+(0x(2^3))+(0x(2^4))+(1x(2^5))=2+32=34
Smbz a écrit:Oula pour moi c'est du japponais je suis que en seconde
Lol c'est justement en seconde que j'ai vue sa ,en MPI (mesure physique et informatique)au tout début de la seconde
Fullmétal- Modérateur
- Nombre de messages : 2316
Age : 35
Jeux online : MKDS,FF3,MKWII
Date d'inscription : 29/05/2007
Mes codes amis
Ma team: PG1[MKDS]
Re: Cours d'Informatique "le C"
je suis en SES OUUFFFF
Smbz- Modérateur
- Nombre de messages : 2180
Age : 32
Jeux online : MKDS ACWW et POKEMON
Date d'inscription : 06/09/2007
Mes codes amis
Ma team: PG1[MKDS],S'-n-F[SSBB],No team Mkwii
Re: Cours d'Informatique "le C"
SkyFox a écrit:Je ne suis pas encore dans les puissances, donc * et ^ met inconnu pour le moment (je suis 4e moi ^^")
Moi aussi je suis en 4eme , et pourtant je viens de finir les puissances
itachi- Super membre - lvl 1
- Nombre de messages : 893
Age : 30
Date d'inscription : 25/03/2007
Re: Cours d'Informatique "le C"
itachi > Cela dépent, dans certain collège, j'ai vus que les lecons étaient souvent inversés, bon, j'continue la lecon :
Donc voilà notre premier vrai problème :
Comment parler à l’ordinateur plus simplement qu’en binaire avec des 0 et des 1 ?
Votre ordinateur ne parle pas l’anglais et encore moins le français. Pourtant, il est inconcevable d’écrire un programme en langage binaire. Même les informaticiens les plus fous ne le font pas, c’est vous dire
Eh bien, l’idée que les informaticiens ont eue, c’est d’inventer de nouveaux langages qui seraient ensuite traduits en binaire pour l’ordinateur. Le plus dur à faire, c’est de réaliser le programme qui fait la "traduction". Heureusement, ce programme a déjà été écrit par des informaticiens et nous n’aurons pas à le refaire (ouf ! ). On va au contraire s’en servir pour écrire des phrases comme :
"Fais le calcul 3 + 5"
Qui seront traduites par le programme de "traduction" en quelque chose comme :
"0010110110010011010011110".
Si on fait un schéma de ce que je viens de dire, ça donne quelque chose comme ça :
Schéma ( super-simplifié ) de réalisation d’un programme
Un peu de vocabulaire
Là j’ai parlé avec des mots simples, mais il faut savoir qu’en informatique il existe un mot pour chacune de ces choses-là. Tout au long de ce cours, vous allez d’ailleurs apprendre pas mal de vocabulaire.
Non seulement vous aurez l’air de savoir de quoi vous parlez, mais si un jour (et ça arrivera) vous devez parler à un autre programmeur, vous saurez vous faire comprendre. Certes, les gens autour de vous vous regarderont comme des extra-terrestres, mais ça il faudra pas y faire attention
Reprenons le schéma qu’on vient de voir.
La première case est "Votre programme est écrit dans un langage simplifié". Ce fameux "langage simplifié" est appelé en fait "langage de haut niveau".
Il existe plusieurs "niveaux" de langages. Plus un langage est haut niveau, plus il est proche de votre vraie langue (comme le français). Un langage de haut niveau est donc facile à utiliser (chouette ! ), mais cela a aussi quelques petits défauts comme nous le verrons plus tard.
Il existe de nombreux langages de plus ou moins haut niveau en informatique dans lesquels vous pouvez écrire vos programmes. En voici quelques-uns par exemple :
Le C
Le C++
Java
Visual Basic
Delphi
Etc etc...
Notez que je ne les ai pas classés par "niveau de langage", donc n'allez pas vous imaginer que le premier de la liste est plus facile que le dernier ou l'inverse Ce sont juste quelques exemples en vrac qui me sont passés par la tête.
(et d’avance désolé pour tous les autres langages qui existent, mais faire une liste complète serait vraiment trop long )
Certains de ces langages sont plus haut niveau que d’autres (donc en théorie un peu plus faciles à utiliser), on va voir un peu plus loin notamment ce qui différencie le langage C du langage C++.
Un autre mot de vocabulaire à retenir est : code source. Ce qu'on appelle le code source, c'est tout simplement le code de votre programme écrit dans un langage de haut niveau. C'est donc vous qui écrivez le code source, qui sera ensuite traduit en binaire.
Venons-en justement au « programme de traduction » qui traduit notre langage de haut niveau (comme le C ou le C++) en binaire. Ce programme a un nom : on l’appelle le compilateur. La traduction, elle, s'appelle la compilation.
Très important : il existe un compilateur différent pour chaque langage de haut niveau. C’est d'ailleurs tout à fait logique : les langages étant différents, on ne traduit pas le C++ de la même manière qu’on traduit le Delphi
Vous verrez par la suite que, pour les langages C / C++ par exemple, il existe même plusieurs compilateurs différents ! Il y a le compilateur écrit par Microsoft, le compilateur GNU etc. On verra tout ça dans le chapitre suivant.
Heureusement, ces compilateurs-là sont quasiment identiques (même s’il y a parfois quelques "légères" différences que nous apprendrons à reconnaître).
Enfin, le programme binaire créé par le compilateur est appelé : l’exécutable. C’est d’ailleurs pour cette raison que les programmes (tout du moins sous Windows) ont l’extension ".exe" comme EXEcutable.
Reprenons notre schéma de tout à l’heure, et utilisons cette fois des vrais mots tordus d’informaticien. Ca donne :
Le même schéma, avec le bon vocabulaire
Pourquoi choisir d’apprendre le C / C++ ?
Comme je vous l’ai dit plus haut, il existe de très nombreux langages de haut niveau. Doit-on commencer par l’un d’entre eux en particulier ? Grande question
Pourtant, il faut bien faire un choix, commencer la programmation à un moment ou à un autre. Et là, vous avez en fait le choix entre :
Un langage très haut niveau : c’est facile à utiliser, plutôt "grand public", comme Visual Basic. Cependant, un langage comme celui-ci a plusieurs défauts : tout d’abord il est payant, coûte cher, mais il est aussi assez limité. Par exemple, votre programme ne fonctionnera que sous Windows : n’espérez pas le faire marcher sous Linux ou Macintosh ! Enfin, et surtout, vous ne pourrez pas faire tout ce que vous voulez avec ce type de langage, vous vous rendrez compte que vous êtes en fait assez limité.
Un langage un peu plus bas niveau (mais pas trop quand même !) : c’est peut-être un peu plus difficile que Visual Basic certes, mais avec un langage comme le C (ou le C++) vous allez en apprendre beaucoup plus sur la programmation et sur le fonctionnement de votre ordinateur. Vous serez ensuite largement plus capables d’apprendre un autre langage de programmation si vous le désirez. Vous serez donc plus autonomes.
Par ailleurs, le C et le C++ sont des langages très populaires. Ils sont utilisés pour programmer une grande partie des logiciels que vous connaissez.
Enfin, pour programmer en C ou C++, vous n’êtes pas obligés d’acheter des logiciels hors de prix ! Nous verrons dans le second chapitre que programmer dans ces langages est tout à fait gratuit.
Voilà en gros les raisons qui m’incitent à vous apprendre le langage C plutôt qu’un autre. Je ne dis pas qu’il faut commencer par ça, mais je vous dis plutôt que c’est un bon choix qui va vous donner de solides connaissances.
Je vais supposer tout au long de ce cours que c’est votre premier langage de programmation, que vous n’avez jamais fait de programmation avant. Si, par hasard, vous avez déjà un peu programmé, ça ne vous fera pas de mal de reprendre à zéro
Stop, il y a quelque chose que je ne comprends pas… Je vais apprendre un langage appelé "C / C++" ou je vais apprendre 2 langages : l’un appelé "C" et l’autre appelé "C++" ?
La bonne réponse est que vous allez apprendre en fait 2 langages. Non, ça ne va pas faire 2 fois plus de travail
Je m’explique. Le langage C et le langage C++ sont très similaires. Quand je désigne les 2 à la fois (comme je l’ai fait jusqu’ici), j’écris "C / C++".
Voici ce qu’il faut savoir sur la différence entre les 2 avant de continuer :
Au tout début, à l’époque où les ordinateurs pesaient des tonnes et faisaient la taille de votre maison, on a commencé à inventer un langage de programmation appelé l'Algol.
Ensuite, les choses évoluant, on a créé un nouveau langage appelé le CPL, qui évolua lui-même en BCPL, puis qui pris le nom de langage B (euh si vous retenez pas tout ça c'est pas grave, j'écris juste pour faire semblant d'avoir de la culture là )
Puis, un beau jour, on en est arrivés à créer encore un autre langage qu’on a appelé... le langage C. Ce langage, s'il a subi quelques modifications, reste encore un des langages les plus utilisés aujourd'hui.
Un peu plus tard, on a proposé d’ajouter des choses au langage C. Une sorte d’amélioration si vous voulez. Ce nouveau langage, que l’on a appelé "C++", est entièrement basé sur le C. Le langage C++ n’est en fait rien d’autre que le langage C avec des ajouts (quels ajouts ? On verra ça plus tard dans le cours).
Il y a plusieurs façons d’apprendre la programmation, je vous l’ai dit plus haut.
Certaines personnes pensent qu’il est bien d’enseigner directement le C++. Elles n’ont peut-être pas tort. Après tout, si le C++ c’est du langage C "avec des trucs en +", ça revient un peu au même.
Pourtant, moi (et cet avis n’engage que moi), je pense que ce serait mélanger les choses. Aussi j’ai décidé que j’allais séparer mon cours en 2 grosses parties :
Le langage C
Le langage C++
Vu que vous aurez déjà appris le langage C dans un premier temps, quand on en viendra au langage C++ ça ira bien plus vite. Je n’aurai pas à vous réapprendre toutes les bases du C, j’aurai juste besoin de vous indiquer quels ajouts ont été faits dans le C++ (enfin, y’a de quoi dire quand même )
Qu’il n’y ait pas de malentendus. Le langage C++ n’est pas "meilleur" que le langage C, il permet juste de programmer différemment. Il permet disons aussi au final de programmer un peu plus vite et de mieux organiser le code.
Donc voilà notre premier vrai problème :
Comment parler à l’ordinateur plus simplement qu’en binaire avec des 0 et des 1 ?
Votre ordinateur ne parle pas l’anglais et encore moins le français. Pourtant, il est inconcevable d’écrire un programme en langage binaire. Même les informaticiens les plus fous ne le font pas, c’est vous dire
Eh bien, l’idée que les informaticiens ont eue, c’est d’inventer de nouveaux langages qui seraient ensuite traduits en binaire pour l’ordinateur. Le plus dur à faire, c’est de réaliser le programme qui fait la "traduction". Heureusement, ce programme a déjà été écrit par des informaticiens et nous n’aurons pas à le refaire (ouf ! ). On va au contraire s’en servir pour écrire des phrases comme :
"Fais le calcul 3 + 5"
Qui seront traduites par le programme de "traduction" en quelque chose comme :
"0010110110010011010011110".
Si on fait un schéma de ce que je viens de dire, ça donne quelque chose comme ça :
Schéma ( super-simplifié ) de réalisation d’un programme
Un peu de vocabulaire
Là j’ai parlé avec des mots simples, mais il faut savoir qu’en informatique il existe un mot pour chacune de ces choses-là. Tout au long de ce cours, vous allez d’ailleurs apprendre pas mal de vocabulaire.
Non seulement vous aurez l’air de savoir de quoi vous parlez, mais si un jour (et ça arrivera) vous devez parler à un autre programmeur, vous saurez vous faire comprendre. Certes, les gens autour de vous vous regarderont comme des extra-terrestres, mais ça il faudra pas y faire attention
Reprenons le schéma qu’on vient de voir.
La première case est "Votre programme est écrit dans un langage simplifié". Ce fameux "langage simplifié" est appelé en fait "langage de haut niveau".
Il existe plusieurs "niveaux" de langages. Plus un langage est haut niveau, plus il est proche de votre vraie langue (comme le français). Un langage de haut niveau est donc facile à utiliser (chouette ! ), mais cela a aussi quelques petits défauts comme nous le verrons plus tard.
Il existe de nombreux langages de plus ou moins haut niveau en informatique dans lesquels vous pouvez écrire vos programmes. En voici quelques-uns par exemple :
Le C
Le C++
Java
Visual Basic
Delphi
Etc etc...
Notez que je ne les ai pas classés par "niveau de langage", donc n'allez pas vous imaginer que le premier de la liste est plus facile que le dernier ou l'inverse Ce sont juste quelques exemples en vrac qui me sont passés par la tête.
(et d’avance désolé pour tous les autres langages qui existent, mais faire une liste complète serait vraiment trop long )
Certains de ces langages sont plus haut niveau que d’autres (donc en théorie un peu plus faciles à utiliser), on va voir un peu plus loin notamment ce qui différencie le langage C du langage C++.
Un autre mot de vocabulaire à retenir est : code source. Ce qu'on appelle le code source, c'est tout simplement le code de votre programme écrit dans un langage de haut niveau. C'est donc vous qui écrivez le code source, qui sera ensuite traduit en binaire.
Venons-en justement au « programme de traduction » qui traduit notre langage de haut niveau (comme le C ou le C++) en binaire. Ce programme a un nom : on l’appelle le compilateur. La traduction, elle, s'appelle la compilation.
Très important : il existe un compilateur différent pour chaque langage de haut niveau. C’est d'ailleurs tout à fait logique : les langages étant différents, on ne traduit pas le C++ de la même manière qu’on traduit le Delphi
Vous verrez par la suite que, pour les langages C / C++ par exemple, il existe même plusieurs compilateurs différents ! Il y a le compilateur écrit par Microsoft, le compilateur GNU etc. On verra tout ça dans le chapitre suivant.
Heureusement, ces compilateurs-là sont quasiment identiques (même s’il y a parfois quelques "légères" différences que nous apprendrons à reconnaître).
Enfin, le programme binaire créé par le compilateur est appelé : l’exécutable. C’est d’ailleurs pour cette raison que les programmes (tout du moins sous Windows) ont l’extension ".exe" comme EXEcutable.
Reprenons notre schéma de tout à l’heure, et utilisons cette fois des vrais mots tordus d’informaticien. Ca donne :
Le même schéma, avec le bon vocabulaire
Pourquoi choisir d’apprendre le C / C++ ?
Comme je vous l’ai dit plus haut, il existe de très nombreux langages de haut niveau. Doit-on commencer par l’un d’entre eux en particulier ? Grande question
Pourtant, il faut bien faire un choix, commencer la programmation à un moment ou à un autre. Et là, vous avez en fait le choix entre :
Un langage très haut niveau : c’est facile à utiliser, plutôt "grand public", comme Visual Basic. Cependant, un langage comme celui-ci a plusieurs défauts : tout d’abord il est payant, coûte cher, mais il est aussi assez limité. Par exemple, votre programme ne fonctionnera que sous Windows : n’espérez pas le faire marcher sous Linux ou Macintosh ! Enfin, et surtout, vous ne pourrez pas faire tout ce que vous voulez avec ce type de langage, vous vous rendrez compte que vous êtes en fait assez limité.
Un langage un peu plus bas niveau (mais pas trop quand même !) : c’est peut-être un peu plus difficile que Visual Basic certes, mais avec un langage comme le C (ou le C++) vous allez en apprendre beaucoup plus sur la programmation et sur le fonctionnement de votre ordinateur. Vous serez ensuite largement plus capables d’apprendre un autre langage de programmation si vous le désirez. Vous serez donc plus autonomes.
Par ailleurs, le C et le C++ sont des langages très populaires. Ils sont utilisés pour programmer une grande partie des logiciels que vous connaissez.
Enfin, pour programmer en C ou C++, vous n’êtes pas obligés d’acheter des logiciels hors de prix ! Nous verrons dans le second chapitre que programmer dans ces langages est tout à fait gratuit.
Voilà en gros les raisons qui m’incitent à vous apprendre le langage C plutôt qu’un autre. Je ne dis pas qu’il faut commencer par ça, mais je vous dis plutôt que c’est un bon choix qui va vous donner de solides connaissances.
Je vais supposer tout au long de ce cours que c’est votre premier langage de programmation, que vous n’avez jamais fait de programmation avant. Si, par hasard, vous avez déjà un peu programmé, ça ne vous fera pas de mal de reprendre à zéro
Stop, il y a quelque chose que je ne comprends pas… Je vais apprendre un langage appelé "C / C++" ou je vais apprendre 2 langages : l’un appelé "C" et l’autre appelé "C++" ?
La bonne réponse est que vous allez apprendre en fait 2 langages. Non, ça ne va pas faire 2 fois plus de travail
Je m’explique. Le langage C et le langage C++ sont très similaires. Quand je désigne les 2 à la fois (comme je l’ai fait jusqu’ici), j’écris "C / C++".
Voici ce qu’il faut savoir sur la différence entre les 2 avant de continuer :
Au tout début, à l’époque où les ordinateurs pesaient des tonnes et faisaient la taille de votre maison, on a commencé à inventer un langage de programmation appelé l'Algol.
Ensuite, les choses évoluant, on a créé un nouveau langage appelé le CPL, qui évolua lui-même en BCPL, puis qui pris le nom de langage B (euh si vous retenez pas tout ça c'est pas grave, j'écris juste pour faire semblant d'avoir de la culture là )
Puis, un beau jour, on en est arrivés à créer encore un autre langage qu’on a appelé... le langage C. Ce langage, s'il a subi quelques modifications, reste encore un des langages les plus utilisés aujourd'hui.
Un peu plus tard, on a proposé d’ajouter des choses au langage C. Une sorte d’amélioration si vous voulez. Ce nouveau langage, que l’on a appelé "C++", est entièrement basé sur le C. Le langage C++ n’est en fait rien d’autre que le langage C avec des ajouts (quels ajouts ? On verra ça plus tard dans le cours).
Il y a plusieurs façons d’apprendre la programmation, je vous l’ai dit plus haut.
Certaines personnes pensent qu’il est bien d’enseigner directement le C++. Elles n’ont peut-être pas tort. Après tout, si le C++ c’est du langage C "avec des trucs en +", ça revient un peu au même.
Pourtant, moi (et cet avis n’engage que moi), je pense que ce serait mélanger les choses. Aussi j’ai décidé que j’allais séparer mon cours en 2 grosses parties :
Le langage C
Le langage C++
Vu que vous aurez déjà appris le langage C dans un premier temps, quand on en viendra au langage C++ ça ira bien plus vite. Je n’aurai pas à vous réapprendre toutes les bases du C, j’aurai juste besoin de vous indiquer quels ajouts ont été faits dans le C++ (enfin, y’a de quoi dire quand même )
Qu’il n’y ait pas de malentendus. Le langage C++ n’est pas "meilleur" que le langage C, il permet juste de programmer différemment. Il permet disons aussi au final de programmer un peu plus vite et de mieux organiser le code.
ShikAmaWu- Membre actif - lvl 3
- Nombre de messages : 647
Age : 30
Jeux online : SFC, MK DS, MPH, ZPH, MK Wii, SSBB
Date d'inscription : 06/01/2008
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
Je vu genre uen dizaine de fois les systèmes binaires, je pense encore pouvoir m'en rappeller mais rien m'est revenu avec les explications de Full ( la flemme de lrei ce que SkyFox à écrit )
100010= 34
1111= 30
1011= 26
1000000011110001110= 466.434
100010= 34
1111= 30
1011= 26
1000000011110001110= 466.434
Valleyman- Administrateur
- Nombre de messages : 6009
Jeux online : Mario Kart DS
Date d'inscription : 04/10/2006
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
J'suis en 5eme je vais dégouté le bac et tout moi xD
Gwendoline- Super membre - lvl 1
- Nombre de messages : 841
Jeux online : Mkds > all
Date d'inscription : 11/03/2007
Mes codes amis
Ma team:
Re: Cours d'Informatique "le C"
Tu es pas le seul... (Jeudi 7 Février, devoir commun en Maths [le stress])
ShikAmaWu- Membre actif - lvl 3
- Nombre de messages : 647
Age : 30
Jeux online : SFC, MK DS, MPH, ZPH, MK Wii, SSBB
Date d'inscription : 06/01/2008
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
Valleyman a écrit:Je vu genre uen dizaine de fois les systèmes binaires, je pense encore pouvoir m'en rappeller mais rien m'est revenu avec les explications de Full ( la flemme de lrei ce que SkyFox à écrit )
100010= 34
1111= 30
1011= 26
1000000011110001110= 466.434
Mdr c'est vrai que j'explique mal
et en plus t'a faux
1111=(2^0)+(2^1)+(2^2)+(2^3)=1+2+4+8=15
1011=(2^0)+(2^1)+(2^3)=1+2+8=11
1000000011110001110=(2^1)+(2^2)+(2^3)+(2^7)+(2^8)+(2^9)+(2^10)+(2^18)=2+4+8+128+256+512+1024+(1024x256)=264 078
Fullmétal- Modérateur
- Nombre de messages : 2316
Age : 35
Jeux online : MKDS,FF3,MKWII
Date d'inscription : 29/05/2007
Mes codes amis
Ma team: PG1[MKDS]
Re: Cours d'Informatique "le C"
En fait j'ai fait : 2, 4, 8, 16, 32, 64, 128, ...
Sans prendre en compte le un, donc ça me décalait tout d'un truc et me donnait des trucs plus grand
Sans prendre en compte le un, donc ça me décalait tout d'un truc et me donnait des trucs plus grand
Valleyman- Administrateur
- Nombre de messages : 6009
Jeux online : Mario Kart DS
Date d'inscription : 04/10/2006
Mes codes amis
Ma team: Pigeons Grillés
Fullmétal- Modérateur
- Nombre de messages : 2316
Age : 35
Jeux online : MKDS,FF3,MKWII
Date d'inscription : 29/05/2007
Mes codes amis
Ma team: PG1[MKDS]
Re: Cours d'Informatique "le C"
Pout tes signes multiplier fullmetal, utilise le x .
ShikAmaWu- Membre actif - lvl 3
- Nombre de messages : 647
Age : 30
Jeux online : SFC, MK DS, MPH, ZPH, MK Wii, SSBB
Date d'inscription : 06/01/2008
Mes codes amis
Ma team: Pigeons Grillés
Re: Cours d'Informatique "le C"
vous me faites peur O_o
je quitte se topic avant de devenir fou ya trop de maths je pete un cable
je quitte se topic avant de devenir fou ya trop de maths je pete un cable
Smbz- Modérateur
- Nombre de messages : 2180
Age : 32
Jeux online : MKDS ACWW et POKEMON
Date d'inscription : 06/09/2007
Mes codes amis
Ma team: PG1[MKDS],S'-n-F[SSBB],No team Mkwii
Page 1 sur 3 • 1, 2, 3
Nintendonline :: Bla-bla :: Hors-sujet
Page 1 sur 3
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum