0-TECHNIQUES DE PROGRAMMATION
Alias Programmation en C Loïc Cuvillon
l.cuvillon@unistra.fr
Objectif
• Découvrir l’informatique (la vraie)
• Acquérir un langage de programmation
• Afin de pouvoir développer des applications utiles à l’ingénieur :
• Résolution et Simulation numérique (projets math-info, 1A)
• Acquisition automatique et traitement de données expérimentales
• Interface graphique d’acquisition et de pilotage
• Ecriture de pilotes de périphériques (3A, ISAV)
• Commande de systèmes, de robots, drones
(1A, option mécatronique)
…
Objectifs
• Exemple d’interface graphique d’acquisition en GTK
Objectifs
• Commande de robots : Option Mécatronique, Commande numérique
Plan
• Codage de l’information – numération
• Architecture des ordinateurs et langage de programmation
• Le langage C
• Variables
• Instructions
• Tableaux
• Fonctions
• Fichiers
• Structures avancées en C
Volume horaire et ressources
• 10 cours de 1h45
• 7 TPs de 4h sous environnement Linux (windows négligé)
• Documents et exemples de programme C dans l’Intranet
• Le K&R: le livre de référence (écrit par ritchie et kernigham, ses créateurs)
Pourquoi le langage C
• Un langage puissant:
• lié à la création du système UNIX (donc de Linux, OS X)
• le plus utilisé de tous les temps
• disponible gratuitement sous OS X, Linux, Windows via gcc (gnu C compiler)
• Usage générique: Système d’exploitation, Pilotes, Applications, GUI
• A inspiré des langages de haut niveau (orientés objets) :
• le C++ (2A)
• Objective-C: une surcouche au C, utilisé pour développer les applications OS X et iOS (Appstore)
• le PHP: the facebook technology
Pourquoi le langage C
• Un langage avec ses pièges et complexités:
suppose que le développeur sait ce qu’il fait
et qu’il le fait bien
• mais il ouvre la porte à tous les autres langages
Le language C
• Afficher dans une fenêtre le texte « Hello world »
#include <stdio.h>
main() {
printf("hello, world\n");
}
• Additionne les entiers 2 et 56
#include <stdio.h>
main() {
int a=2, b=56, c;
c=a+b;
}