In order to fulfill the basic functions of our service, the user hereby agrees to allow Xiaomi to collect, process and use personal information which shall include but not be limited to written threads, pictures, comments, replies in the Mi Community, and relevant data types listed in Xiaomi's Private Policy. By selecting "Agree", you agree to Xiaomi's Private Policy and Content Policy .
Agree

Jeux/Détente

[Détente] [JeudiProg] [C] Cours 0 : Pré-requis et premier programme

2020-06-04 18:00:00
1037 48
Bonjour à tous,

Suite à un petit questionnaire, il semble que plusieurs d'entre vous soient intéressés pour apprendre ce qu'est la programmation informatique.

Quand ?
On va s'établir un rendez-vous régulier, une fois par semaine pour progresser tous ensemble : Le ''Jeudi Prog''.

Comment ?
Il faut que cela reste un échange donc il y aura un mélange de théorie et d'exercices. Ça fait un peu école ? Oui et non, car si vous voulez un vrai cours théorique vous pouvez vous appuyer sur les nombreux sites internet qui existent déjà sur le sujet. Aussi, je tiens déjà à préciser que je ne suis ni un enseignant, ni un expert en programmation informatique alors si au fur et à mesure du déroulement de cet apprentissage une personne plus compétente souhaite reprendre le projet ou assister en écrivant une partie ou en corrigeant mes éventuelles fautes, n'hésitez pas à me contacter :)

Quoi ?
On aurait pu partir sur de l'algorithmie pure mais impossible de tester directement notre code, alors il fallait faire un choix d'un langage de programmation. Dans un premier temps, j'ai pris le choix du langage C et plus particulièrement le C ANSI. Ce choix a été fait car le langage C est un langage très ''typé'' où les erreurs peuvent facilement être repérés. D'autres langages plus populaires en ce moment nécessitent moins d'attention mais ce manque d'attention est souvent source de bugs ensuite dans les logiciels et pour retrouver l'origine du problème ce n'est pas toujours facile. Je pense donc qu'il est mieux de maîtriser un langage très ''typé'' pour ensuite pouvoir facilement s'adapter aux autres langages alors que l'inverse aurait été plus compliqué.
Bref, on va donc commencer par apprendre le langage C et, en fonction du succès, nous pourrons basculer sur d'autres langages.



LA PREMIÈRE ETAPE
Une étape un peu fastidieuse pour débuter, c'est d'avoir un environnement de programmation sur son ordinateur. Nous allons installer l'éditeur Notepad++ et le compilateur gcc. L'éditeur va nous permettre de coder alors que le compilateur va transformer ce code en exécutable.
Note : pour ceux qui fonctionnent sous Mac ou sous Linux et que vous souhaitez aussi avoir une explication d'installation, dites le en commentaire.

1) Installation de l'éditeur Notepad++
Rendez-vous sur le site https://notepad-plus-plus.org/downloads/ ou ici !
Téléchargez y la dernière version (7.8.6 lors de l'écriture de ce post) et procédez à l'installation comme vous le souhaitez, pour l'éditeur il n'y a pas d'importance s'il est mis dans tel ou tel dossier. L'important est à la fin qu'il puisse se lancer !
Vous avez donc désormais un Bloc-Notes évolué puisqu'il va reconnaître et coloriser automatiquement votre code, ce qui rendra sa lecture et re-lecture bien plus facile.

2) Installation du compilateur gcc
Pour ce compilateur on va se rendre sur le site https://osdn.net/projects/mingw/releases/ ou ici, cliquez alors sur le bouton pour télécharger.



Une fois le téléchargement fini, lancez l'installateur et cliquez sur ''Install''.



Vous pouvez changer le répertoire d'installation mais attention à ne pas avoir d'espace dans le chemin de destination pour éviter tout problème. Pour la suite, il faudra retenir le chemin de destination car je conserverai ''C:\MinGW'', à vous d'adapter selon votre ordinateur. Cliquez alors sur ''Continue''.



Une fois l'installation terminée, cliquez encore sur ''Continue''.



Le logiciel MinGW va alors s'ouvrir et on va pouvoir installer gcc. Faites un clic droit sur ''mingw32-gcc-ada'' et sélectionnez ''Mark for Installation''.



Allez alors dans le menu ''Installation'' et cliquez sur ''Apply Changes''.



Une nouvelle fenêtre s'ouvre, validez une dernière fois en cliquant sur ''Apply''.



3) Indiquer à notre ordinateur où se situe le compilateur
Dans le menu Démarrer, faire un clic droit sur ordinateur et sélectionner ''Propriétés''.
On clique ensuite sur ''Paramètres système avancé'', puis sur le bouton ''Variables d'environnement''.
Dans la section ''Variables système'', cherchez la variable ''PATH''.

  • Si la variable n'existe pas, alors créez en une nouvelle avec le nom de variable ''PATH'' et son contenu ''C:\MinGW\bin''.
  • Si la variable existe déjà, modifiez la en ajoutant à la fin '';C:\MinGW\bin''. Notez bien la présence du point-virgule '';''.


4) Créer un dossier de travail et notre premier fichier C
On pourrait le faire visuellement mais on va utiliser les lignes de commande pour vous donner quelques notions supplémentaires. Pour ouvrir notre invite de commandes, on ouvre le menu Démarrer et on cherche ''cmd.exe'', cliquez dessus pour l'ouvrir.
Afin de ne pas en mettre partout sur votre ordinateur, on va placer nos projets dans le dossier de MinGW, ainsi vous saurez où tout se trouve.
On va dans le dossier MinGW :
  1. cd C:\MinGW
Copy the Code

On crée un dossier ''code'' :
  1. mkdir code
Copy the Code

Ou ouvre ce dossier :
  1. cd code
Copy the Code

On va créer notre premier fichier hello.c :
  1. type nul ˃ hello.c
Copy the Code


5) Utilisons Notepad++ pour tous les fichiers .c
Utilisez maintenant votre explorateur pour accéder au dossier ''code''.
Vous y trouverez alors le fichier hello.c.
Faites un clic droit sur ce fichier et sélectionnez ''Ouvrir avec'', ''Choisir le programme par défaut...''.
Cherchez alors Notepad++, vérifiez que ''Toujours utiliser le programme ...'' est bien coché, puis cliquez sur ''OK''.

6) Notre premier programme C
Ré-écrivez maintenant le code suivant et enregistrez le fichier (Ctrl+S).
  1. #include ˂stdio.h˃
  2. int main(void)
  3. {
  4.   printf(ʺHello World!\nʺ);
  5.   return 0;
  6. }
Copy the Code
Note : quelques limitations de la Communauté font que malheureusement vous ne pouvez pas copier-coller le code pour l'utiliser directement, vous devez donc absolument le ré-écrire.

7) Compilons et exécutons le code
Retour dans l'Invite de commandes, nous allons d'abord compiler le fichier :
  1. gcc -ansi -Wall -pedantic -o hello.exe hello.c
Copy the Code

Pour l'exécuter on entre simplement le nom de l'exécutable :
  1. hello.exe
Copy the Code


Que se passe-t-il alors ?
Partagez la capture d'écran du résultat en commentaires !


Voilà qui termine le premier ''cours'', un peu fastidieux mais qui va nous permettre de pouvoir faire plein de choses plus intéressantes lors des prochains !




Liste des cours

Cours 0 : Pré-requis et premier programmeEn cours
Cours 1 : DialogueConsulter
Cours 2 : Types de données et appels de fonctionsConsulter
Cours 3 : Opérateur ternaire et masquageConsulter
Cours 4 : Switch et premiers tableauxConsulter
Cours 5 : Incrémentation, boucles et tri de tableauConsulter
Cours 6 : Les fichiersConsulter
Cours 7 : Tableaux et matricesConsulter
Cours 8 : Chaînes de caractèresConsulter
Cours 9 : Introduction à la programmation objetConsulter

2020-06-04 18:00:00
Favorites20 RateRate
Top, merci !
2020-06-04 21:16:33

Moderator

GuillaumeMi Author |

#3

BougLo a posté en 2020-06-04 16:16:49
Super !
Je me lance ce soir et ensuite tu peux préparer le programme pour la machine à claques pour les mômes ?

Haha et la sucette en cas de bonne réponse ? ;)

Il faudrait que je m'y remette mais on pourra éventuellement voir le développement sur micro-contrôleurs si ces premiers cours de langages plaisent :)
2020-06-04 22:51:29

Advanced Bunny

Newexae | from app

#5

Tu pourrais essayer avec le python ?
Il est assez simple niveau syntaxe pour ceux qui n'ont jamais codé.
2020-06-05 01:05:05

Moderator

GuillaumeMi Author |

#6


Je pense que tu as du faire un copié/collé de mon code. Il faut vraiment le ré-écrire car les guillemets anglaises ( '' ) ne peuvent pas être affichées ... Il faut bien utiliser celles sous le chiffre 3 du clavier.
2020-06-05 01:26:26

Moderator

GuillaumeMi Author |

#7

Newexae a posté en 2020-06-04 19:05:05
Tu pourrais essayer avec le python ?
Il est assez simple niveau syntaxe pour ceux qui n'ont jamais codé.

Bonne idée pour un prochain cours ... Comme je le disais dans le post j'ai fait le choix d'un langage très typé au départ pour bien comprendre les concepts et pouvoir repérer facilement ses erreurs. Il sera ensuite très facile de passer à d'autres langages car ils simplifient souvent les choses.
2020-06-05 01:31:11

Moderator

GuillaumeMi Author |

#9

BougLo a posté en 2020-06-04 19:35:54
Mais ça a marché, j'ai fait Hello Mitu 😉
et oui, j'ai du recopier pour que ça marche, j'ai tenté de faire le fainéant, cela n'a pas marché

Super ! Pour les prochains, j'ai prévu un fichier ZIP qui contiendra les programmes du cours, tu pourras faire le fainéant ;)
Mais pas trop ... il y aura des exercices pour obtenir une jolie médaille !
2020-06-05 01:39:06
please sign in to reply.
Sign In Sign Up

GuillaumeMi

Moderator

  • Followers

    998

  • Threads

    587

  • Replies

    6851

  • Points

    26618

3 Days Check-In
7 Days Check-In
21 Days Check-In
40 Days Check-In
70 Days Check-In
100 Days Check-In
MiA2
SBM teaser
Mi band 3
25K
X-Men
Photography contest
30K
Tech Talent
MI9T
MIUI Geek
Three's A Party
Happy July
App Maniac
MIUI 9th Birthday
Global Community
Medalla Encuesta Mi Phone
better together slogan
Global Community
2020
Médaille des 50K
100K abo
Mi Community Üçüncü Anket Madalyası
Mi 10th Birthday Medal
Medalla #GradientsInLife
Window View
বাংলা নববর্ষ ১৪২৭
Android One
Answer Mi #3
Ulang Tahun Xiaomi ke-10
3 Tahun Mi Community
Mobile Game
App Star
Redmi 8
Bookworm
23 Nisan Kutlu Olsun!
Sondage gaming
MIUI Fan
Favorite Goalkeeper
Ramadan Kareem
Meetings from Home
Mi2U April
Lefty Star
Favorite Author
redminote8series
Streaming Geek
Favorite Actor
Favourite Football Team
200mila Mi Fans
Osneip
Redmi Note 8
Mail Lover
Radio
Super Thursday
Redmi Note 8 Series
Redmi Note 8 Pro
Coin
Chipset
Corona Awareness
Map
Redmi 8A
MIUI 12
First Smartphone
Phone Finder
2 anni insieme
Eid Mubarak
TV Series Freak
BougLo Challenge I
Mi to You May
MIUI12
Neues Zuhause
MIUI Boot Animation
200 Mil Mi Fans En México
Favorite Singer
Gadget
Favorite YouTube Channel
Art Challenge
Father's Day
Redmi Note 9S
Mother's Day
UK Community 300K Users Medal
Redmi Note 9
Cloud Storage
30 Million Redmi Note 8 Series
Redmi Note 9 Pro Feature
ContributeTogether
10 years
K2K #3
Redmi 9 Colors
200K Registered Users
2nd Anniversary
MFF2020
Nepal "Happy New Year"
Emoji Day
Mi To You July
Redmi Note 9S Feature
Navigation System
Médaille 6
First Anniversary
10th mi fan stories
K2K #4
Favorite Bangladeshi Food
Redmi 9A
Redmi Note 9 Pro Camera
Material Expert
Redmi 9A Feature
MIUI 12 Dark Mode
10 years
Battery Survey

Read moreGet new

Mi Comm APP

Stay updated on Mi Products and MIUI

Copyright©2010-2020 Xiaomi.com, All Rights Reserved
Content Policy
Quick Reply To Top Return to the list