GELE5343 Chapitre 2 : Révision de la programmation en C

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "GELE5343 Chapitre 2 : Révision de la programmation en C"

Transcription

1 GELE5343 Chapitre 2 : Révision de la programmation en C Gabriel Cormier, Ph.D., ing. Université de Moncton Hiver 2013 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

2 Introduction Contenu 1 Introduction 2 Flot de programmation 3 Variables et évaluations 4 Boucles 5 Optimisation 6 Compteur 7 Interruptions 8 Ports Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

3 Introduction Rappel : C On s intéresse seulement aux commandes communes de programmation pour des microcontrôleurs. Ressources web : C: Wikipedia The C book Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

4 Flot de programmation Flot de programmation Déclarations Initialisation des fonctions Commandes de préprocesseur Programme principal main() Fonctions Définitions Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

5 Flot de programmation Déclarations Commandes avec # sont pour le préprocesseur Préprocesseur : passe à travers le document 1 fois avant de compiler #include <stdio.h> : Va chercher le contenu du fichier stdio.h pour le placer dans le fichier actuel #define foo bar : cherche pour foo dans le fichier et le remplace par bar. Utile pour des constantes. #pragma : Commandes propres à l implémentation : dépend du compilateur. Si ces commandes ne sont pas comprises par le compilateur, elles sont ignorées. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

6 Variables et évaluations Types de variables Entiers : int : entier, à 32 bits. Utilisera 4B en mémoire. De 2 31 à short : entier à 16 bits (2B en mémoire). De 2 15 à long long : entier à 64 bits (8B en mémoire). De 2 63 à unsigned : permet d avoir des entiers positifs seulement. Ex : unsigned short, de 0 à char : pour des caractères ; 8 bits. Utile pour des compteurs de 128 à 127 (ou 0 à 255). Ex : int i = 22 ou int i = 0x0016 (en hexadécimal) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

7 Variables et évaluations Types de variables Autres : float : chiffre à virgule flottante, 32 bits long double : chiffre à virgule flottante à 64 bits Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

8 Variables et évaluations Quel type utiliser? Multiplication Bits Cycles Performance relative Int Float char short int long long float long double Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

9 Variables et évaluations Vecteurs et matrices On ajoute des parenthèses carrées lors de la déclaration. char c[10] : matrice de 10 entiers de 8 bits Le premier élément est l élément 0 : Selon l exemple, on a c[0] à c[9]. Il faut initialiser le vecteur au complet avant de l utiliser ; on ne peut pas avoir de matrice de dimension inconnue. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

10 Variables et évaluations Évaluation de variables Évaluations logiques Faux est représenté par 0 Vrai est représenté par n importe quel entier sauf 0 : opérateur OU (OR) && : opérateur ET (AND)! : opérateur NON (NOT) Ex : Si a = 17 et b = 1, a b est VRAI a && b est VRAI!a est FAUX Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

11 Variables et évaluations Comparaison de variables == est égal à!= n est pas égal à > plus grand que >= plus grand ou égal à < plus petit que <= plus petit ou égal à Exemple : si a = 10, a>1 est VRAI -a >= 0 est FAUX a == 17 est FAUX a!= 3 est VRAI Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

12 Variables et évaluations Incrémentation Deux autres opérateurs : ++ : i++ équivalent à i = i+1 -- i-- équivalent à i = i-1 Peut être appliqué avant ou après une assignation. Ex : soit a = 0 et b = 1 : a = b++ donne a = 1, b = 2 a = ++b donne a = 2, b = 2 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

13 Boucles Boucles Trois types principaux de boucles : Boucle for Boucle while Boucle do - while Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

14 Boucles Boucle for char i ; f o r ( i =0; i <5; i ++) { // f a i r e q uelque chose // s e r a e x é c u t é pour i = 0, 1, 2, 3 e t 4 } Les trois arguments : i=0 : initialise le compteur i<5 : vérifie s il faut s arrêter avec une expression logique i++ : incrémente le compteur Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

15 Boucles Boucle while while ( x ) { // f a i r e q uelque chose } x : n importe quelle expression logique Le code dans la boucle sera exécuté aussi longtemps que x est vrai. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

16 Boucles Boucle do do { // f a i r e q ue l q u e chose } while ( x ) x : n importe quelle expression logique Le code dans la boucle sera exécuté 1 fois, puis ensuite aussi longtemps que x est vrai. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

17 Optimisation Optimisation du programme Espace mémoire limité sur un microcontrôleur Espace RAM limité Il faut faire plus attention à la programmation Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

18 Optimisation Mémoire Éviter les grosses librairies (ex : printf) Éviter l allocation dynamique de mémoire Éviter les structures complexes Attention aux déclarations de variables (ne pas utiliser int si char est suffisant) Les calculs en virgule flottante sont beaucoup plus longs Il peut être plus efficace d utiliser des tables pour les fonctions complexes (sin, cos, etc.) que de faire le calcul directement. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

19 Compteur Compteurs Le PIC32 a 6 compteurs, mais seulement 5 devraient être utilisés. Le compteur de coeur du CPU ne devrait pas être utilisé (il est cependant accessible). Les compteurs utilisent l horloge de périphérique (qui est plus petite ou égale à l horloge CPU). Contrôlés par 3 SFR (Special Function Register), ex pour Timer1 : TMR1 : contient la valeur (16 bit) du compteur T1CON : contrôle l activation et le mode d opération PR1 : Période du compteur (16 bit : valeur max ) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

20 Compteur Compteurs Timer1 est 16 bits, Timer2 à Timer5 peuvent être combinés pour 32 bits (mais 16 bits par défaut) Les compteurs utilisent l horloge de périphérique PBCLK Il faut régler le diviseur d horloge FBDIV correctement (valeur par défaut = 8 ; PBCLK = CLK/8) ; Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

21 Compteur Compteurs Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

22 Compteur Compteurs T1CON : Bit 15/7 Bit 14/6 Bit 13/5 Bit 12/4 Bit 11/3 Bit 10/2 Bit 9/1 Bit 8/0 15 : 8 TON FRZ SIDL TMWDIS TMWIP 7 : 0 TGATE TCKPS < 1 : 0 > TSYNC TCS Les bits 16 à 31 ne sont pas utilisés Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

23 Compteur Compteur T1 TON : Active le compteur TCS : Horloge du compteur : 0 = horloge interne TCKPS : Multiplicateur ; 00 = 1, 01 = 8, 10 = 64, 11 = 256 SIDL : comportement en mode inactif du CPU (0 si pas important) TSYNC : Synchronisation avec une horloge externe = 1 (0 sinon) TGATE : Pour horloge externe FRZ : Pour le débogage (0 par défaut) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

24 Compteur Exemple Supposons qu on veut un compteur de période 0.2s, avec une horloge de 36MHz interne. T = 1 f pb M P S P Rx où f pb est la fréquence de l horloge de périphérique, M P S est le multiplicateur du compteur, et PRx est le nombre de cycles nécessaire pour avoir le délai voulu. donc PRx = = 1 (256)(P Rx) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

25 Compteur Exemple (suite) Avec Timer1 : TON = 1 : Activer le Timer TCS = 0 : On utilise l horloge interne TCKPS = 11 : Multiplicateur = 256 TGATE = 0, TSYNC = 0 : On utilise l horloge interne SIDL = 0 : Mode veille pas important Bit 15/7 Bit 14/6 Bit 13/5 Bit 12/4 Bit 11/3 Bit 10/2 Bit 9/1 Bit 8/0 15 : 8 TON FRZ SIDL TMWDIS TMWIP 7 : 0 TGATE TCKPS < 1 : 0 > TSYNC TCS T1CON = T1CON = 0x8030 PR1 = Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

26 Compteur Compteurs T2CON : Bit 15/7 Bit 14/6 Bit 13/5 Bit 12/4 Bit 11/3 Bit 10/2 Bit 9/1 Bit 8/0 15 : 8 TON SIDL 7 : 0 TGATE TCKPS < 2 : 0 > T32 TCS Les bits 16 à 31 ne sont pas utilisés. TCKPS est 3 bits pour Timer2-5 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

27 Compteur Compteur T2 TON : Active le compteur TCS : Horloge du compteur : 0 = horloge interne TCKPS : Multiplicateur ; (valeur à 3 bits) 000 = 1, 001 = 2, 010 = 4, 011 = = 16, 101 = 32, 110 = 64, 111 = 256 SIDL : comportement en mode inactif du CPU (0 si pas important) T32 : 0 = mode 16 bit, 1 = mode 32 bit Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

28 Interruptions Interruptions Interruption : événement interne ou externe qui demande rapidement l attention du CPU PIC32 : 64 sources d interruption L action à effectuer : ISR (Interrupt Service Routine) Généralement asynchrone 3 4 cycles entre l interruption et l action correspondante Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

29 Interruptions Exception Exception : perturbe le fonctionnement normal du programme Exception Interruption Reset Erreur mémoire Division par 0 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

30 Interruptions Quelques règles... Le compilateur s occupe des procédures complexes d interruption, si : Le ISR ne retourne pas de valeur (type void) : asynchrone Aucun paramètre est retourné au ISR (paramètre void) N est pas appelé par d autres fonctions Idéalement, ne devrait pas appeler d autres fonctions : rendement Le langage C n a pas été conçu pour utiliser des interruptions... Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

31 Interruptions Sources d interruption Sources externes : 5 pins externes avec détection du niveau 22 pins externes branchées au module de notification de changement 5 entrées Input Capture 5 sorties Output Compare 2 interfaces port série (UART) 4 interfaces séries synchrone (SPI et I 2 C) 1 port parallèle Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

32 Interruptions Sources d interruption Sources internes : 1 compteur interne 32 bit 5 compteurs internes 16 bit 1 convertisseur analogique-numérique 1 module comparateur analogique 1 horloge et calendrier 1 contrôleur Flash 1 moniteur d horloge 2 interruptions logiciel 4 canaux DMA Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

33 Interruptions Priorités Chaque source d interruption a 7 bits de contrôle : Interrupt Enable : -IE ; un seul bit : 0, l événement ne génère pas d interruption ; 1, l interruption peut être évaluée. La valeur par défaut est 0 pour toutes les interruptions. Interrupt Flag : -IF ; un seul bit, est activé (valeur 1) chaque fois que l événement a lieu, indépendamment de IE. If faut le remettre à 0 manuellement à la fin de la routine d interruption, sinon l interruption est ré-activée immédiatement. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

34 Interruptions Priorités Group Priority Level : -IP ; il y a 7 niveaux de priorité, de ipl1 à ipl7. Si deux interruptions ont lieu en même temps, celle avec la priorité la plus élevée est effectuée en premier. Nécessite 3 bits. Par défaut, toutes les interruptions sont à ipl0. Subpriority Level : 4 niveaux de priorité dans le même groupe En cas d équivalence, le tableau 5.2 pp donne les priorités. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

35 Interruptions Déclarations ou void a t t r i b u t e ( ( i n t e r r u p t ( i p l X ), v e c t o r ( 0 ) ) ) I n t e r r u p t H a n d l e r ( void ) { // code i c i } #pragma i n t e r r u p t I n t e r r u p t H a n d l e r i p l X v e c t o r 0 void I n t e r r u p t H a n d l e r ( void ) { // code i c i } InterruptHandler est le nom de l interruption Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

36 Interruptions Déclarations : macros PIC32 void I S R ( 0, i p l X ) I n t e r r u p t H a n d l e r ( void ) { // code i c i } Définit dans sys/attribs.h Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

37 Interruptions Librairie Librairie int.h : #include <int.h> Plusieurs macros pour simplifier l implantation Compris dans #include <plib.h> Macros commencent par m : INTEnableSystemSingleVectoredInt() : fonction pour initialiser correctement le module de contrôle des interruptions. À utiliser!!! mxxsetintpriority( x) : Assigne le niveau de priorité de l interruption XX. Les abréviations sont données dans le tableau 5.2 pp du manuel. mxxclearintflag() : permet de remettre à 0 le IF d une interruption. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

38 Interruptions Interruption : Exemple #i n c l u d e <p32xxxx. h> #i n c l u d e <p l i b. h> // i n c l u s macros pour i n t e r r u p t i o n s i n t count ; #pragma i n t e r r u p t I n t e r r u p t H a n d l e r i p l 1 v e c t o r 0 void I n t e r r u p t H a n d l e r ( void ) { count++; mt2clearintflag ( ) ; // IF = 0 } main ( ) { PR2 = 1 5 ; // P é r i o d e du compteur T2CON = 0 x8030 ; // C o n t r ô l e du compteur m T 2 S e t I n t P r i o r i t y ( 1 ) ; // P r i o r i t é 1 à cause de i p l 1 I N T E n a b l e S y s t e m S i n g l e V e c t o r e d I n t ( ) ; mt2intenable ( 1 ) ; } w h i l e ( 1 ) ; Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

39 Interruptions Interruptions multiples Priorité résout seulement une partie du problème Décide seulement laquelle est exécutée si 2 sont déclenchées en même temps Si une interruption est déjà active, qu arrive-t il si une 2e est déclenchée? Par défaut, il faut attendre la fin de l interruption avant de déclencher la 2e. Parfois une interruption de plus haute priorité doit interrompre une de moindre priorité Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

40 Interruptions Interruptions multiples On doit manuellement réétablir les interruptions aussitôt dans le ISR Nécessite une instruction assembleur MIPS asm("ei") : réactiver les interruptions (enable interrupt) Vérifier par code la source de l interruption : ex, mt3getintflag() pour vérifier si l interruption liée à Timer3 a été déclenchée Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

41 Interruptions Interruptions multiples : Exemple v o i d I S R ( 0, i p l 1 ) I n t e r r u p t H a n d l e r ( v o i d ) { asm ( e i ) ; i f ( mt3getintflag ( ) ) { // code m T 3 C l e a r I n t F l a g ( ) ; } e l s e i f ( mt2getintflag ( ) ) { // code m T 2 C l e a r I n t F l a g ( ) ; } } main ( ) { PR3 = 2 0 ; // P é r i o d e du compteur 3 ; exemple PR2 = 1 5 ; // P é r i o d e du compteur 2 ; exemple T3CON = 0 x8030 ; // C o n t r ô l e du compteur T2CON = 0 x8030 ; // C o n t r ô l e du compteur m T 3 S e t I n t P r i o r i t y ( 3 ) ; // P l u s haute p r i o r i t é m T 2 S e t I n t P r i o r i t y ( 1 ) ; I N T E n a b l e S y s t e m S i n g l e V e c t o r e d I n t ( ) ; mt3intenable ( 1 ) ; mt2intenable ( 1 ) ; w h i l e ( 1 ) ; } Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

42 Interruptions Interruptions multiples Les versions plus récentes du PIC ont les interruptions imbriquées par défaut L exemple précédent n est plus recommandé La commande asm("ei") est activée par défaut à l appel de la routine On modifie l appel à la routine : void ISR Single( 0, ipl1) InterruptHandler( void) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

43 Interruptions Interruptions multiples : approche multi-vecteurs Le PIC32 offre une approche alternative pour gérer des interruptions multiples Vecteurs multiples et registres multiples Tableau 5.3 pp montre les différents vecteurs du PIC32 64 vecteurs pour 96 interruptions (limites dues au MIPS) Ex : Timer1 : le vecteur est TIMER 1 VECTOR, vecteur no 4 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

44 Interruptions Interruptions multiples : approche multi-vecteurs L utilisation de vecteurs différents accélère l application des interruptions Pour vitesse max, utiliser ipl7 : registres spéciaux L approche imbriquée est quand même valide Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

45 Interruptions Interruptions multiples : approche multi-vecteurs : Exemple v o i d I S R ( TIMER 3 VECTOR, i p l 7 ) T 3 I n t e r r u p t H a n d l e r ( v o i d ) { // code m T 3 C l e a r I n t F l a g ( ) ; } v o i d I S R ( TIMER 2 VECTOR, i p l 1 ) T 2 I n t e r r u p t H a n d l e r ( v o i d ) { asm ( e i ) ; // code m T 2 C l e a r I n t F l a g ( ) ; } } main ( ) { PR3 = 2 0 ; // P é r i o d e du compteur 3 ; exemple PR2 = 1 5 ; // P é r i o d e du compteur 2 ; exemple T3CON = 0 x8030 ; // C o n t r ô l e du compteur T2CON = 0 x8030 ; // C o n t r ô l e du compteur m T 3 S e t I n t P r i o r i t y ( 7 ) ; // P l u s haute p r i o r i t é m T 2 S e t I n t P r i o r i t y ( 1 ) ; I N T E n a b l e S y s t e m S i n g l e V e c t o r e d I n t ( ) ; mt3intenable ( 1 ) ; mt2intenable ( 1 ) ; w h i l e ( 1 ) ; } Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

46 Ports Ports entrée-sortie (I/O) Ports A à G sont programmables I/O TRISx : direction, 1 = Input, 0 = Output. Ex : TRISA = 1 veut dire que le port A est en mode entrée. PORTx : lecture / écriture au port. Ex : PORTD = 0x0020 veut dire que le bit 5 du port D est haut. En mode lecture, acceptent jusqu à 5 V en entrée. En mode sortie, la tension est 3.3 V Par défaut, les ports sont en mode lecture (Input) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

47 Ports Librairies La librairie plib.h donne accès à plusieurs macros Ex : mportasetbits( BIT 8 BIT 10) Ex : PORTSetBits( IOPORT A, BIT 8 BIT 10) Pour régler les ports comme entrée ou sortie : PORTSetPinsDigitalIn(IOPORT x, BIT y) PORTSetPinsDigitalOut(IOPORT x, BIT y) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

48 Ports Lecture Fonctions et macros de lecture : mportxread() mportxreadbits() PORTRead(IO PORT ID) : lecture de tous les bits PORTReadBits(IO PORT ID, bits) : lecture des bits spécifiés Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

49 Ports Écriture Fonctions et macros d écriture : mportxwrite(bits) mportxsetbits(bits) mportxclearbits(bits) mportxtogglebits(bits) PORTWrite(IO PORT ID) : écriture de tous les bits PORTSetBits(IO PORT ID, bits) : écriture des bits spécifiés (à 1) PORTClearBits(IO PORT ID, bits) : écriture de 0 aux bits spécifiés PORTToggleBits(IO PORT ID, bits) : inverse la valeur des bits spécifiés Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

Fascicule de Génie Electrique (Terminale S option SI)

Fascicule de Génie Electrique (Terminale S option SI) Le langage C Ressource Centre d intérêt CI10 : Traitement de Thématique I11 - Les systèmes numériques : Mise en œuvre d un microcontrôleur avec des composants logiciels réutilisables. 1 Les constantes

Plus en détail

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

EME 31 : Mécatronique : énergie et motricité

EME 31 : Mécatronique : énergie et motricité university-logo Mécatronique : énergie et motricité 3. Microcontrôleur ENSTA Plan du cours university-logo 1 Classification et utilisation des processeurs Qu est-ce qu un microcontrôleur? 2 Comment programmer

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Système et Programmation (en C)

Système et Programmation (en C) Système et Programmation (en C) ENSTA - TC 1ère année François Pessaux U2IS 2015-2016 francois.pessaux @ ensta-paristech.fr Introduction François Pessaux IN102 Système et Programmation (en C) 2/31 But

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

Plus en détail

Ch1 : Eléments de base du langage C

Ch1 : Eléments de base du langage C Ch1 : Eléments de base du langage C Fathi Mguis Atelier de programmation 1 LFSI1/LARI1 A.U : 2014-2015 Plan 1 Généralités 2 Avantages 3 Structure d un programme en C 4 Les diverse phases d un programme

Plus en détail

GPA777 Introduction au génie logiciel

GPA777 Introduction au génie logiciel Université du Québec École de technologie supérieure Département de génie de la production automatisée GPA777 Introduction au génie logiciel Chapitre 6 Validation des logiciels Copyright, 2000 Tony Wong,

Plus en détail

Programmation Répartie - Langage C

Programmation Répartie - Langage C frederic.guinand@univ-lehavre.fr IUT Le Havre Plan les bases quelques rappels de langage C les structures de contrôle conditionnelles les structures de contrôle itératives les tableaux les pointeurs les

Plus en détail

I. Introduction à MATLAB

I. Introduction à MATLAB 1. Introduction Le nom MATLAB est la contraction du terme anglais matrix laboratory [1]. Ce logiciel est spécialement conçu pour le calcul scientifique et la manipulation de vecteurs et de matrices. Le

Plus en détail

Algorithmique et programmation : les bases (C) Corrigé

Algorithmique et programmation : les bases (C) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours C, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage C des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Travaux Dirigés Microprocesseur et Microcontrôleur

Travaux Dirigés Microprocesseur et Microcontrôleur Université de Savoie Travaux Dirigés Microprocesseur et Microcontrôleur Sylvain MONTAGNY sylvain.montagny@univ-savoie.fr Bâtiment chablais, bureau 13 04 79 75 86 86 TD1 : Rappels et jeu d instruction TD2

Plus en détail

Liaison série NOM: PRENOM: Grpe:

Liaison série NOM: PRENOM: Grpe: Cours de PIC Liaison série NOM: PRENOM: Grpe: Principe de fonctionnement Définition A la différence des liaisons parallèles la transmission série consiste à transmettre des informations binaires bit par

Plus en détail

TP Programmation avec Contiki

TP Programmation avec Contiki TP Programmation avec Contiki Important : Un rapport doit être rendu au plus tard 10 jours après le TP. Le compte rendu doit contenir : un rapport avec des captures d écrans bien expliquées. L objet de

Plus en détail

COMPILATEUR C CC5X POUR PIC UTILISÉ AVEC MPLAB

COMPILATEUR C CC5X POUR PIC UTILISÉ AVEC MPLAB COMPILATEUR C CC5X POUR PIC UTILISÉ AVEC MPLAB Adresse Internet du site de l éditeur : http://www.bknd.com/cc5x/index.shtml 1) GÉNÉRALITÉS Ce document se réfère à la version 3.2. Il est basé sur un autre

Plus en détail

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation. CTD : Variables et types de données

USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation. CTD : Variables et types de données USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation 1 Motivation 1.1 Un problème CTD : Variables et types de données État initial : Tas 1 un nombre quelconque de cartes, les autres tas

Plus en détail

Didacticiel Flowcode pour PIC

Didacticiel Flowcode pour PIC Nîmes NÎMES Didacticiel Flowcode pour PIC 16 septembre 2010 V1.2 Frédéric GIAMARCHI frederic.giamarchi@iut-nimes.fr Département G.E.I.I. I.U.T. de Nîmes Université Montpellier II Sommaire Présentation

Plus en détail

TP N 7 : Programmation en C

TP N 7 : Programmation en C TP N 7 : Programmation en C A. Introduction : Nous allons utiliser l environnement de développement MPLAB de chez Microchip B. MPLAB : Lancer le programme MPLAB : Faire Project -> Project Wizard : JFA

Plus en détail

Fiche de révisions - Algorithmique

Fiche de révisions - Algorithmique Fiche de révisions - Algorithmique Rédigé par : Jimmy Paquereau 1. Généralités Algorithme : un algorithme est la description d une procédure à suivre afin de résoudre un problème donné. Il n est pas nécessairement

Plus en détail

Introduction à Matlab

Introduction à Matlab Introduction à Matlab Nicolas Kielbasiewicz 30 juillet 2007 Matlab est un logiciel payant développé par MathWorks sous Windows, Linux et Mac, et dédié au calcul numérique, ainsi qu au problèmes de commande.

Plus en détail

BAT 4 Polytech Nice. Le langage C#: Concepts fondamentaux. BAT 4 Introduction programmation C# page 1

BAT 4 Polytech Nice. Le langage C#: Concepts fondamentaux. BAT 4 Introduction programmation C# page 1 BAT 4 Polytech Nice Le langage C#: Concepts fondamentaux BAT 4 Introduction programmation C# page 1 Le langage C#: Plan Plan de séance Comprendre les éléments fondamentaux Types primitifs Variables Constantes

Plus en détail

Circuits séquentiels. Chapitre 6. 6.1 Circuits séquentiels

Circuits séquentiels. Chapitre 6. 6.1 Circuits séquentiels Chapitre 6 Circuits séquentiels Plusieurs circuits utilisés dans la vie courante ont besoin de mémoire. Ce chapitre présente les méthodes de base de stockage d information. Les circuits combinatoires présentés

Plus en détail

TP Qt : Prise en main

TP Qt : Prise en main Université de Strasbourg UFR de Mathématiques et d Informatique Département d Informatique Licence 3 d Informatique IHM Année 2009/2010 TP Qt : Prise en main Objectif Le but de ce tp est une prise en main

Plus en détail

Systèmes à processeurs

Systèmes à processeurs Systèmes à processeurs II2 - Cours : Systèmes à processeurs J. Villemejane - julien.villemejane@u-pec.fr IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2012-2013 1/31

Plus en détail

Langage C. E. Boucharé

Langage C. E. Boucharé Langage C E. Boucharé Table des Matières Introduction.............................................................................. 1 Chapitre 1. Les types de données de C....................................................

Plus en détail

Cours d informatique. 1 ère année 2014 2015

Cours d informatique. 1 ère année 2014 2015 Cours d informatique en Langage C è 1 ère année 2014 2015 L informatique à l IOGS 1A : Langage C : apprentissage d un langage de programmation structuré 3 séances Matlab : analyse numérique 2A : Langage

Plus en détail

Examen 2. Q1 (3 points) : Quel mot ou concept relié aux ordinateurs correspond à la définition suivante :

Examen 2. Q1 (3 points) : Quel mot ou concept relié aux ordinateurs correspond à la définition suivante : GI-1001, 24 avril 2012 Nom/Matricule : Examen 2 Cet examen vaut 40% de la note totale du cours. Les questions seront corrigées sur un total de 40 points. La valeur de chaque question est indiquée avec

Plus en détail

6. Lecture/écriture formatées et Fichiers. printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture

6. Lecture/écriture formatées et Fichiers. printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture 1 6. Lecture/écriture formatées et Fichiers printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture 2 Références Site du zèro : Programmer en C http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html

Plus en détail

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre.

Cours C++ Lorsque je lance Dev C++, il apparaître l'écran ci-contre. Cours C++ Définition : Le langage C est un langage de programmation inventé par MM. Kernighan et Ritchie au début des années 70. Au début des années 90, Bjarne Stroustrup fait évoluer le langage vers le

Plus en détail

Liaison I2C Exemple de programme en C Pour µc de type PIC Frédéric GIAMARCHI IUT de Nîmes Université Montpellier II

Liaison I2C Exemple de programme en C Pour µc de type PIC Frédéric GIAMARCHI IUT de Nîmes Université Montpellier II Exemple de programme en C Pour µc de type PIC Frédéric GIAMARCHI IUT de Nîmes Université Montpellier II Sommaire Liaison I2C... 3 Généralités... 3 Composants I2C... 3 Remarques : Un PIC en esclave... 3

Plus en détail

Carrefour N 3 Carrefour N 2 Carrefour N 1. détection captage. communication

Carrefour N 3 Carrefour N 2 Carrefour N 1. détection captage. communication Voie 1 R1 O1 V1 Voie 2 R2 O2 V2 Gestion microprogrammée Manip micro N 2 d'un carrefour I) Présentation : Actuellement, la densité de la circulation dans toutes les grandes villes nécessite de plus en plus

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

if (condition) et ==,!=, <, > (opérateurs logiques de comparaison)

if (condition) et ==,!=, <, > (opérateurs logiques de comparaison) if (condition) et ==,!=, (opérateurs logiques de comparaison) L'instruction if ("si" en français), utilisée avec un opérateur logique de comparaison, permet de tester si une condition est vraie, par

Plus en détail

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

Plus en détail

Algorithmique - Programmation 1. Cours 1

Algorithmique - Programmation 1. Cours 1 Algorithmique - Programmation 1 Cours 1 Université Henri Poincaré CESS Epinal Automne 2008 1/ 24 Plan Introduction Introduction A propos d AP1 Quelques concepts de base Premiers pas avec Caml Le branchement

Plus en détail

liblapin Documentation

liblapin Documentation liblapin Documentation Version 1.5 The liblapin Hackers 27 November 2015 Table des matières 1 Introduction 1 1.1 Exemples................................................. 1 2 Installation 3 2.1 Téléchargement.............................................

Plus en détail

Exercice 1 : (3 points)

Exercice 1 : (3 points) Institut National d Informatique 15/12/2002 Durée : 2 heures Documents non autorisés EMD1 de Structure Machine Exercice 1 : (3 points) On dispose d une machine où les nombres sont représentés sur 16 bits

Plus en détail

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

Plus en détail

C.P.G.E - Meknès Langage Python 3 Haouati Abdelali

C.P.G.E - Meknès Langage Python 3 Haouati Abdelali 3. Langage Python 3 2 a. Introduction Présentation du langage Python : Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans l imposer) une approche modulaire et orientée objet

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Pointeurs et tableaux

Pointeurs et tableaux Pointeurs et tableaux Pointeur Tout mot (octet) de la mémoire est identifié par un numéro unique : son adresse mémoire On peut donc identifier toute zone mémoire servant au stockage d une variable par

Plus en détail

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Tableaux et manipulation d images «bitmap»

Tableaux et manipulation d images «bitmap» T.P. numéro VII Tableaux et manipulation d images «bitmap» Ce T.P. va faire intervenir les notions suivantes : lecture/écriture de fichiers binaires ; images bitmap ; tableaux de données. 1 Fichiers binaires

Plus en détail

Analyse de la complexité algorithmique (1)

Analyse de la complexité algorithmique (1) Analyse de la complexité algorithmique (1) L analyse de la complexité telle que nous l avons vue jusqu à présent nous a essentiellement servi à déterminer si un problème est ou non facile (i.e. soluble

Plus en détail

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

I. Introduction. II. But de l'exercice

I. Introduction. II. But de l'exercice Projet M2 LSE SEE : Communication espace noyau / espace utilisateur Table des matières I.Introduction...1 II.But de l'exercice...2 III.Écriture du module...3 A.Squelette du module...3 B.Gestion de l'entrée

Plus en détail

Entrée et sortie standards (stdin,stdout et cin,cout)

Entrée et sortie standards (stdin,stdout et cin,cout) Chapitre 4 Entrée et sortie standards (stdin,stdout et cin,cout) Pour réaliser les opérations élémentaires d écriture sur l écran ou de lecture des informations du clavier, le C utilise un ensemble de

Plus en détail

LES PERIPHERIQUES MICROCONTRÔLEUR SIEMENS C167

LES PERIPHERIQUES MICROCONTRÔLEUR SIEMENS C167 LES PERIPHERIQUES DU MICROCONTRÔLEUR SIEMENS C167 Les périphériques du microcontrôleur C167 1 M. DALMAU IUT de Bayonne Notation : Dans tout ce qui suit sont notés en gras les registres qui sont en zone

Plus en détail

renforcer le contrôle de type :

renforcer le contrôle de type : renforcer le contrôle de type : définitions, prototypes de fonctions surcharge références conversions de void * préférer le compilateur au préprocesseur considérer les entrées/sorties opérations abstraites

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

Implanter un algorigramme avec le logiciel EditAlgo

Implanter un algorigramme avec le logiciel EditAlgo Implanter un algorigramme avec le logiciel EditAlgo 1. Définir la fonction de l algorithme. Exemple a : On souhaite faire clignoter une diode à la période 2s. Exemple b : On souhaite compter les impulsions

Plus en détail

Normes de programmation en langage C++

Normes de programmation en langage C++ Normes de programmation en langage C++ Bakhtouchi Abdelghani EMP, Bordj El Bahri bakhtouchi@yahoo.fr ANNEE: 2009/2010 Sommaire 1. Introduction.. 1 2. Présentation.. 1 2.1. Format des fichiers source. 1

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

L1 Informatique Université Paris 8-2010-2011 Programmation Impérative I Rim Chaabane rchaabane@ai.univ-paris8.fr - Cours 6 - Les pointeurs

L1 Informatique Université Paris 8-2010-2011 Programmation Impérative I Rim Chaabane rchaabane@ai.univ-paris8.fr - Cours 6 - Les pointeurs Les pointeurs Le langage C permet de manipuler des adresses d objets ou de fonctions par le biais de pointeurs. Pour ce faire on peut désigner des variables dites de type pointeur, destinées à contenir

Plus en détail

Programmation en Langage C/C++ par Sylvain Ferey. pour le Forum des Programmeurs Francophones

Programmation en Langage C/C++ par Sylvain Ferey. pour le Forum des Programmeurs Francophones Programmation en Langage C/C++ par Sylvain Ferey pour le Tables des matières Introduction... 5 Réalisation de notre premier programme C... 6 Les types du C / C++... 9 Le type caractère...9 Un signe de

Plus en détail

Tableaux. Tableaux en Java (introduction)

Tableaux. Tableaux en Java (introduction) en Java (introduction) Avertissement : ce cours ne présente qu une version «édulcorée» des tableaux. Ne sont abordés que les tableaux de types primitifs et tous les aspects «objets» sont masqués. Philippe

Plus en détail

3ETI, Entrainement Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Entrainement Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (entrainement) durée 1h20 Tous documents et calculatrices autorisés. Le sujet comporte 5 pages Le temps approximatif ainsi que le barème

Plus en détail

PIC18 : Les Timers TIMER 0. Schéma bloc du Timer 0 en mode 8 bits. Lycée Grandmont STS Systèmes Electroniques Fiche PIC18

PIC18 : Les Timers TIMER 0. Schéma bloc du Timer 0 en mode 8 bits. Lycée Grandmont STS Systèmes Electroniques Fiche PIC18 PIC18 : Les Timers Pour les PIC18Fxx2 et/ou PIC18Fxx20 TIMER 0 Le timer 0 est implémenté identiquement sur les 2 familles 18Fxx2 et 18Fxx20. Il présente les caractéristiques suivantes : Timer 8 ou 16 bits.

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 5 de cours/td Université Paris-Diderot Objectifs: Boucles while. Variables booléennes. 1 La boucle while Boucle non bornée [Cours] La boucle non bornée permet de

Plus en détail

Cours Systemes d exploitation

Cours Systemes d exploitation Université de Kairouan Institut Supérieur des Siences Appliquées et de Technologie Cours Conçu Spécialement Aux Etudiants: De Master Pilotage et Réseaux Industriels Cours Systemes d exploitation Noureddine

Plus en détail

Logiciel de Base : examen de première session

Logiciel de Base : examen de première session Logiciel de Base : examen de première session ENSIMAG 1A Année scolaire 2008 2009 Consignes générales : Durée : 2h. Tous documents et calculatrices autorisés. Le barème est donné à titre indicatif. Les

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Entrées analogiques, USB Utilisation Wizard et PROTEUS Simulation Validation

Entrées analogiques, USB Utilisation Wizard et PROTEUS Simulation Validation François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE Développement de microcontrôleurs Microchip avec PICC validation fonctionnelle PROTEUS Entrées analogiques, USB Utilisation Wizard et PROTEUS Simulation

Plus en détail

Les tableaux (ou vecteurs) (1/3) Cours numéro 3: Programmation impérative LI213 Types et Structures de données. Les tableaux (3/3) Les tableaux (2/3)

Les tableaux (ou vecteurs) (1/3) Cours numéro 3: Programmation impérative LI213 Types et Structures de données. Les tableaux (3/3) Les tableaux (2/3) Les tableaux (ou vecteurs) (1/3) Le type tableau est une des réponses à la question : LI213 Types et Structures de données Licence d Informatique Université Paris 6 comment agréger un très grand nombre

Plus en détail

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 56 CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 6.1 INTRODUCTION : Afin de fournir un accès efficace et pratique au disque, le SE impose un système de gestion de fichiers (SGF) pour permettre de stocker,

Plus en détail

Miramond Benoît - UCP. II) Le processus dans la machine

Miramond Benoît - UCP. II) Le processus dans la machine II) Le processus dans la machine 1 Plan de la partie VII 1. Rappel modèle d exécution d un processeur 2. Les fonctions d un OS embarqué 3. Au démarrage était le bootstrap 4. Comment faire du multi-tâches?

Plus en détail

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2010-2011 S. Kramm (IUT Rouen) MCII1 - Cours 3 2010-2011 1 / 47 Sommaire 1 Rappels de C et définitions

Plus en détail

Introduction au Logiciel GAMS (General Algebraic Modeling System)

Introduction au Logiciel GAMS (General Algebraic Modeling System) Introduction au Logiciel GAMS (General Algebraic Modeling System) J.-M. Reneaume SOMMAIRE A. INTRODUCTION... 1 B. DESCRIPTION DU MODELE... 3 1. Structure générale du modèle... 3 a) Structure du fichier

Plus en détail

Microcontrôleurs. Les PIC

Microcontrôleurs. Les PIC Les PIC I INTRODUCTION Dans la chaîne de traitement de l information, le programme informatique (firmware ou microcode) réalise une fonction importante et est toujours associée à un composant programmable

Plus en détail

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 Ce qu il faut rendre : A la fin du TP il faudra archiver et compresser l ensemble de votre travail (y compris le rapport avec vos noms) avec la commande

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Tableaux et boucle For

Tableaux et boucle For Tableaux et boucle For Pierre-Alain FOUQUE Département d Informatique École normale supérieure Plan 1 -Tableaux 2 -Boucles for 3 -Paramètres sur la ligne de commande 2 Limite des types de base Définir

Plus en détail

Cours 1 : Un micro-noyau en OCaml 21 février 2015. 1 Interface et structures de données pour les appels système

Cours 1 : Un micro-noyau en OCaml 21 février 2015. 1 Interface et structures de données pour les appels système Systèmes et Réseaux ENS L3 Info. Année 2014-2015 Cours 1 : Un micro-noyau en OCaml 21 février 2015 L objectif est de programmer un micro-noyau simplifié d un système d exploitation. 1 Son rôle est d ordonnancer

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Présentation du programme d informatique

Présentation du programme d informatique Présentation du programme d informatique UPS 31 mai 2015 Table des matières 1 Introduction 2 1.1 Présentation.................................. 2 1.2 Représentation des nombres.........................

Plus en détail

Cours #2 Synchronisation dans un OS multitâches

Cours #2 Synchronisation dans un OS multitâches ELE- Ordinateurs et programmation système Cours #2 Synchronisation dans un OS multitâches Bruno De Kelper Site internet : http://www.ele.etsmtl.ca/academique/ele/ Cours # 2 ELE - Ordinateurs et programmation

Plus en détail

1. Eléments de base du langage C

1. Eléments de base du langage C 1 1. Eléments de base du langage C Généralités Programme et sous-programme Fonction C Structure d un programme C Vocabulaire de base et syntaxe Exemples 2 Généralités Crée en 1972 par D. Ritchie pour écrire

Plus en détail

Procédure. Introduction au langage C. Cours 3. Procédures. Retour au PGCD PGCD / 2. Version 2. Comment calculer le PGCD de trois nombres?

Procédure. Introduction au langage C. Cours 3. Procédures. Retour au PGCD PGCD / 2. Version 2. Comment calculer le PGCD de trois nombres? Cours C-3 1 Cours C-3 2 Procédure Introduction au langage C Cours 3 Procédures Jean-Jacques Girardot / Marc Roelens Septembre 2007 Construction du langage qui permet de désigner par un nom une portion

Plus en détail

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 2 : Communication Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork()

Plus en détail

Initiation à Matlab. Nadia Ben Abdallah 1. 24 Février 2014. Université de Technologie de Compiègne nadia.ben-abdallah@hds.utc.fr

Initiation à Matlab. Nadia Ben Abdallah 1. 24 Février 2014. Université de Technologie de Compiègne nadia.ben-abdallah@hds.utc.fr Initiation à Matlab Nadia Ben Abdallah 1 1 Avenues-GSU, Université de Technologie de Compiègne nadia.ben-abdallah@hds.utc.fr 24 Février 2014 1 / 62 A propos de Matlab Un environnement pour le calcul numérique

Plus en détail

MICROPROCESSEUR. Nous prendrons comme exemple les processeurs Intel (qui sont le plus souvent utilisés dans les machines actuelles).

MICROPROCESSEUR. Nous prendrons comme exemple les processeurs Intel (qui sont le plus souvent utilisés dans les machines actuelles). MICROPROCESSEUR Le cerveau d un ordinateur est le microprocesseur, parfois appelé CPU ou tout simplement processeur. Le processeur effectue les calculs nécessaires au fonctionnement de l ordinateur et

Plus en détail

Code_Aster. Procédure DEFI_FICHIER. 1 But

Code_Aster. Procédure DEFI_FICHIER. 1 But Titre : Procédure DEFI_FICHIER Date : 30/09/2013 Page : 1/5 Procédure DEFI_FICHIER 1 But Ouvrir ou fermer un fichier associé à un numéro d unité logique. Ce numéro peut être indiqué dans la procédure ou

Plus en détail

1. Base de connaissance du langage C# 2. Initiation de l environnement de développement 3. Exercices

1. Base de connaissance du langage C# 2. Initiation de l environnement de développement 3. Exercices Sihao DENG sihao.deng@utbm.fr http://deng.sihao.perso.sfr.fr/mn41 1. Base de connaissance du langage C# 2. Initiation de l environnement de développement 3. Exercices Langage C Références: http://deng.sihao.perso.sfr.fr/mn41/lo11.pdf

Plus en détail

Lycée Eugène IONESCO STI2D - SIN. EasyPIC V7. Outil de développement de projet

Lycée Eugène IONESCO STI2D - SIN. EasyPIC V7. Outil de développement de projet EasyPIC V7 Outil de développement de projet Page n 1/14 1 PRESENTATION La carte de développement EasyPIC v7 de la société Mikroelektronica permet de développer des projets utilisant les microcontrôleurs

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2013-2014 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 12 pages

Plus en détail

PROB Introduction au langage JAVA

PROB Introduction au langage JAVA PROB Introduction au langage JAVA EPFC ULB 1 BACHELIER en INFORMATIQUE de Gestion PRMT(1) 120p. LAPR(2) 120p. PR(1) PROB(10) 120p. PR(1) PRDV(4) 40p. PR(2 ou 9) COFI(20) 60p. GBDR(5) 120p. LAOG(9) 120p.

Plus en détail

Carte d acquisition TRIDENT MANUEL UTILISATEUR

Carte d acquisition TRIDENT MANUEL UTILISATEUR Laboratoire d électronique et de technologie de l information Département Conception et Intégration dans les Systèmes Carte d acquisition TRIDENT MANUEL UTILISATEUR MyHeart 15/12/04 L.Jouanet 1.01 1/8

Plus en détail

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CONSERVATOIRE NATIONAL DES ARTS ET METIERS Durée : 2 heures METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CORRECTION DE L'EXAMEN DE RATTRAPAGE de SEPTEMBRE 2012 Année 2011 2012, deuxième semestre

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

1 Création de processus : primitive fork()

1 Création de processus : primitive fork() O r s a y Travaux Pratiques n o 2 : Synchronisation DUT Informatique 2010 / 2011 Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork() et synchronisation de

Plus en détail