40
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux CYCLE 6 : Fonctions 1

RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

Embed Size (px)

Citation preview

Page 1: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES Module II1 SOMMAIRE

CYCLE 1 : Saisir – Afficher – Données

CYCLE 2 : Calculs Arithmétiques

CYCLE 3 : Alternatives

CYCLE 4 : Boucles

CYCLE 5 : Tableaux

CYCLE 6 : Fonctions

1

Page 2: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

CYCLE 1 : Saisir – Afficher – Données

1- En quoi consiste la programmation ?

2- Afficher du texte sur l’écran

3- Variables numériques

4- Déclarer des variables

5- Saisir des valeurs de variables au clavier

6- Afficher texte et valeurs de variables sur l’écran

7- Initialiser des variables par affectation

8- Déclarer des constantes

2

Page 3: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES CYCLE 1: Saisir – Afficher – Données

1- En quoi consiste la Programmation ?

La Programmation permet d’obtenir une solution informatique à partir d’un cahier des charges.

Le programmeur doit concevoir son programme, le coder dans un langage évolué (fichier source sur le disque dur), puis le tester.

Des données sont saisies (lues) au clavier, le programme effectue des traitements et les résultats sont affichés (écrits) sur l’écran.

Comme une recette de cuisine, un programme est constitué de données (ingrédients) et d’une suite d’instructions (opérations).

3

Page 4: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 1... 2- Afficher du texte sur l’écran

Dans un programme en C, on communique avec l’utilisateur avec des fonctions de la bibliothèque stdio.h :

Affichage de texte sur l’écran :

printf("\tTexte\n");

Le CPU écrit le texte sur l’écran à l’endroit où se trouve le curseur ; \n le fait passer à la ligne et \t le fait tabuler sur la droite.

Page 5: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 1...3- Variables numériques

Une variable permet de sauver des valeurs dans un programme. C’est une donnée dont la valeur peut varier au cours d’une exécution du programme.

Les valeurs sont stockées dans la RAM pendant l’exécution. Une variable est identifiable par un nom et une adresse mémoire.

Le Type numérique d’une variable définit la nature de ses valeurs : entier (nombre sans décimale signé ou non signé), réel (nombre avec décimales). Le type limite également l’ensemble des valeurs que peut prendre la donnée : un codage sur 1, 2, 4 ou 8 octets conduit à des valeurs min et max possibles différentes.

Les principaux types numériques du C sont : short, unsigned short, int, unsigned int, float, double...

Page 6: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 1...4- Déclarer des variables

Dans un programme en C, la déclaration de variable sert à indiquer les données qui seront utilisées.

Déclaration de variable :

TYPE nomVariable;

Règle de qualité : nom explicite, pas trop long, commençant par une minuscule

Le CPU réserve un espace mémoire vide dans la RAM. Cet espace a pour nom nomVariable et pour adresse &nomVariable. Sa taille est définie par le type de la variable.

Page 7: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 1... 5- Saisir des valeurs de variables au clavier

Dans un programme en C, on communique avec l’utilisateur avec des fonctions de la bibliothèque stdio.h :

Saisie de valeurs au clavier :

scanf("%format",&nomVariable);

Après détection de la touche RC, le CPU lit la valeur tapée sur le clavier, la convertit dans le type donné par le format, puis l’affecte à la variable nomVariable (stockée dans la RAM à l’adresse &nomVariable).

Page 8: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 1... 6- Afficher texte et valeurs de variables sur l’écran

Dans un programme en C, on communique avec l’utilisateur avec des fonctions de la bibliothèque stdio.h :

Affichage de valeurs de variables sur l’écran :

printf("\tTexte : %format\n",nomVariable);

Le CPU écrit le texte sur l’écran à l’endroit du curseur ; \n le fait passer à la ligne et \t le fait tabuler sur la droite. %format indique l’endroit, dans le texte, où s’affiche la valeur de la variable nomVariable (la valeur est dans le format indiqué après le %).

Page 9: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 1...7- Initialiser des variables par affectation

Dans un programme en C, l’affectation permet d’attribuer une valeur à une variable (de l’initialiser).

Affectation :

nomVariable= valeur;

(dans partie données ou instructions)

Le CPU stocke la valeur de droite dans l’espace mémoire RAM de la variable nomVariable, qui est à gauche du signe d’affectation.

Page 10: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 1...8- Déclarer des constantes

Dans un programme en C, la déclaration de constantes sert à indiquer les données fixes qui seront utilisées (valeur non modifiable lors d’une exécution du programme).

Les constantes rendent le code plus lisible et la maintenance du programme plus facile.

Déclaration de constante :

const TYPE NOMCONSTANTE= valeur;

Règle de qualité : nom explicite, pas trop long, tout en MAJUSCULES

Le CPU réserve un espace mémoire dans la RAM et y stocke la valeur donnée à droite du signe d’affectation. Cet espace a pour nom NOMCONSTANTE. Sa taille dépend du type choisi.

Page 11: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

CYCLE 2 : Calculs Arithmétiques

1- Ecrire une Instruction de Calcul

2- Exécuter une Instruction de Calcul

3- Comment faire une division entière ou réelle ?

11

Page 12: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES CYCLE 2: Calcul Arithmétiques1- Ecrire une Instruction de Calcul en C

Dans un programme en C, on écrit l’instruction de Calcul :

nomVariableResultat= Formule de Calcul;

La formule de calcul peut-être composée de fonctions standards (ex. fonctions sqrt() ou cos() de la bibliothèque math.h) ou/et d’expressions de calcul Arithmétique.

Les expressions Arithmétiques sont composées d’entiers ou de réels et des opérateurs : + (addition), - (soustraction), x (multiplication), / (division), % (modulo).

La partie suivante explique comment le CPU effectue les calculs…

Page 13: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 2…2- Exécuter une Instruction de Calcul en C

Instruction de Calcul : nomVariableResultat= Formule de Calcul;

Le CPU exécute l’instruction de Calcul en 2 étapes : Évaluation du résultat du calcul, Affectation du résultat à la variable résultat de gauche.

En ce qui concerne l’évaluation du calcul, les règles sont : priorité aux parenthèse, Respect de l’ordre de priorité des opérateurs, Calcul de gauche à droite, en partant du =.

Il ne faut pas confondre les opérateurs d’affectation = et de comparaison ==. Le premier écrit, le second lit dans la RAM.

Page 14: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 2…3- Comment faire une division entière ou réelle ?

Pour éviter certaines erreurs de calculs arithmétiques dans un programme, il est recommandé d’utiliser, au maximum, les mêmes types de données dans une formule de calcul.

En effet la division a/b donne des résultats différents suivants les types des opérandes :

division entière : si a ET b sont entiers, le résultat du calcul est entier. D’autre part, avec 2 entiers, % donne le reste de la division.

division réelle : si a OU b est réel, le résultat du calcul est réel.

Dans tous les cas, si la variable résultat est un entier, le résultat sera tronqué en entier.

Page 15: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

CYCLE 3 : Alternatives

1- Les opérateurs logiques

2- Comment écrire l’instruction alternative SI-(SINON) ?

3- Comment marche l’instruction alternative SI-(SINON) ?

4- Comment écrire le SI - SINON SI - (SINON) ?

5- Comment marche le SI- SINON SI - (SINON) ?

15

Page 16: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES CYCLE 3: Instructions Alternatives1- Les opérateurs logiques

Les opérateurs logiques de comparaison permettent de comparer des valeurs (égalité, relation d’ordre).

Les opérateurs logiques booléens (ET, OU, NON) ont des tables de vérité équivalentes à celles des opérateurs binaires.

Les expressions Logiques, qui ont pour valeur true (VRAI) ou false (FAUX), servent essentiellement dans les conditions logiques.

Ces conditions logiques permettent, par exemple, d’écrire les instructions ALTERNATIVES…

Page 17: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 3...2- Ecrire l’instruction alternative SI-(SINON) ?

Pour faire un aiguillage à 2 chemins exclusifs dans un programme en C, on écrit l’instruction alternative SI – SINON :

if (condition) (sans ;)

{ instructions 1; (avec indentations)

}

else (sans ;)

{ instructions 2; (avec indentations)

}

Si le else n’est pas utilisé, cette structure devient un filtre, une protection : les instructions du if ne sont exécutées que si la condition est remplie.

Maintenant, voyons comment le CPU exécute cette instruction…

Page 18: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 3...3- Comment marche le SI-(SINON) ?

Le if(condition) {} else{} est un aiguillage simple à 2 voies et le chemin d’exécution emprunté par le CPU dépend de la valeur de la condition logique : VRAI exécution des instructions dans les accolades du if FAUX exécution des instructions dans les accolades du else.

Le if(condition) {}, version simplifiée est une protection contre certaines erreurs prévisibles, un filtre : le CPU n’exécute le contenu du if que si la condition logique est VRAIE. Sinon, le SI est ignoré.

Maintenant, voyons une Instruction Alternative conditionnelle qui peut avoir plus de 2 voies…

Page 19: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 3...4- Ecrire le SI-SINON SI-(SINON) ?

Pour faire un aiguillage à plusieurs chemins exclusifs dans un programme en C, on a l’instruction alternative SI - SINON SI - SINON :

if (condition 1) (sans ;)

{ instructions 1; (avec indentations)

}

else if (condition 2) (sans ;)

{ instructions 2; (avec indentations)

} ...

else (sans ;)

{ instructions 3; (avec indentations)

}

Sans else, le chemin d’exécution peut ne pas passer dans ce SI.

Page 20: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 3...5- Comment marche le SI-SINON SI-(SINON) ?

Le if(condition 1) {} else if(condition 2){} else{} est un aiguillage à plusieurs voies.

Le chemin d’exécution du CPU dépend des valeurs des conditions logiques successives : dès qu’une condition est VRAIE, les instructions associées à ce if sont exécutées :

condition 1 VRAI exécution du if

condition 1 FAUX et condition 2 VRAI exécution du 1° else if

...

toutes les conditions à FAUX exécution du else.

Page 21: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

CYCLE 4 : Boucles

1- Comment écrire l’instruction itérative POUR ?

2- Comment marche la boucle POUR ?

3- Comment créer une boucle POUR ?

4- Des applications de la boucle POUR

5- Comment écrire une boucle TANT QUE ?

6- Comment marche les boucles TANT QUE ?

7- Comment créer une boucle TANT QUE ?

8- Des applications de la boucle TANT QUE

21

Page 22: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES CYCLE 4: Instructions Itératives1- Ecrire une boucle POUR ?

Pour répéter des instructions un nombre connu de fois, on a l’instruction itérative POUR (boucle POUR avec comptage croissant ici) :

for (i=valInit ; i<=valFin ; i=i+pas) (sans ;)

{ instructions; (avec indentations)

}

i=valInit est l’INITIALISATION

i<=valFin est la CONDITION de POURSUITE de boucle (cas croissant). Son inverse (i>valFin) est la condition de fin de boucle.

i=i+pas est l ’INCREMENTATION

i est une variable compteur (obligatoirement de type entier), qui croît, ici, de valInit à valFin en augmentant de pas à chaque reprise de boucle.

Page 23: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 4...2- Comment marche la boucle POUR ?

L’instruction itérative for{ ; ; } est une boucle.

Le CPU recommence l’exécution des instructions de la boucle tant que la variable compteur i ne dépasse pas valFin :

le compteur i démarre, la 1° fois, à valInit évaluation condition de poursuite (i<=valFin pour un comptage croissant)

si condition VRAIE exécution boucle, puis retour au FOR

lorsque le CPU revient au FOR, i augmente de pas évaluation condition de poursuite

quand condition FAUSSE sortie du FOR

Un passage dans la boucle est une itération.

Page 24: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 4...3- Comment créer une boucle POUR ?

Etapes pour créer une boucle POUR :

écrire des exemples numériques sur papier détecter les instructions qui se répètent : CONTENU boucle

à partir des exemples, identifier les valeurs de début et de fin du comptage INITIALISATION et CONDITION de POURSUITE

identifier le PAS du compteur entre 2 exécutions de la boucle

écrire la boucle et la vérifier avec les valeurs limites de comptage

Page 25: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 4...4- Des applications de la boucle POUR

Le CALCUL CUMULATIF : le cumul consiste à rajouter des quantités dans une même variable : sa valeur est changée à chaque itération :

cumul= 0;for (i=valInit ; i<=valFin ; i=i+pas){ cumul= cumul + quantité;

}

DECOMPTEUR : pour compter en décroissant, la condition de poursuite (on arrive à la valeur finale par en haut) et le pas (négatif)sont inversés :

for (i=valInit ; i>=valFin ; i=i-pas){ instructions;}

Page 26: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES CYCLE 4: Instructions Itératives5- Ecrire une boucle TANT QUE ?

Pour répéter des instructions à une certaine condition, on a les instructions itératives TANT QUE (boucles conditionnelles) :

FAIRE TANT QUE do (sans ;)

{ instructions; (avec indentations)

} while (condition); (AVEC ;)

TANT QUE while(condition) (SANS ;)

{ instructions; (avec indentations)

} (sans ;)

Le TANT QUE est exécuté tant que la condition est VRAIE.

Page 27: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 4...6- Comment marche les boucles TANT QUE ?

Les instructions itératives while et do while sont des boucles.

Le CPU recommence l’exécution des instructions de la boucle tant que la condition de poursuite est vraie (évaluation sur le while) et dès que cette condition devient fausse, le CPU sort de la boucle.

dans le cas de la FAIRE TANT QUE : le CPU passe toujours le do pour exécuter la boucle ; donc cette boucle s’exécute toujours au moins une fois.

dans le cas de la TANT QUE : le CPU commence par le while, donc par l’évaluation de la condition ; donc cette boucle peut s’exécuter 0 fois.

Page 28: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 4...7- Comment créer une boucle TANT QUE ?

Etapes pour créer une boucle TANT QUE :

écrire des exemples numériques sur papier détecter les instructions qui se répètent : CONTENU boucle

à partir des exemples, identifier la CONDITION de POURSUITE de boucle ; si c’est la condition de fin qui vient, il suffit de l’inverser

fixer, si besoin, valeurs de début, de fin et d’incrémentation d’un compteur

écrire la boucle et la vérifier avec les conditions limites de boucle.

Page 29: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 4...8- Des applications de la boucle TANT QUE

Une POUR peut toujours être transformée en TANT QUE :

i= valInit; (INITIALISATION)do { instructions; i=i+pas; (INCREMENTATION)} while (i<=valFin); (CONDITION POURSUITE)

La POUR est plus simple quand on sait combien de fois la boucle tourne.

Une boucle de reprise permet d’éviter à devoir relancer un programme : c’est une DO WHILE englobant toutes les instructions du programme.

Une saisie validée permet de recommencer un scanf() tant que la valeur saisie n’appartient pas au bon intervalle. Le programmeur doit vérifier toutes les saisies et informer l’utilisateur d’erreurs éventuelles.

Page 30: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

CYCLE 5 : Tableaux

1- Que sont les Tableaux ?

2- Comment déclarer et initialiser un Tableau ?

3- Comment utiliser un Tableau ?

30

Page 31: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES CYCLE 5: Tableaux1- Que sont les tableaux ?

Un Tableau est une suite de cases mémoires permettant de stocker des données de même type simple.

31

0 1 2

Indices relatifs des cases du tableauNom du tableau

2 5 4tab[0] tab[1] tab[2]

Nom des cases du tableau

tab

Donnée de type simple

2tab[0]

&tab[0]

Adresses des cases du tableau

Page 32: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 5...2- Comment déclarer et initialiser un tableau ?

Pour déclarer un tableau à une dimension :

TYPECASE nomTableau[NBCASES] (nom explicite)

CPU : réservation mémoire de longueur NBCASES x longueur TYPECASE

Pour initialiser un tableau à sa déclaration (dans la partie données) :

TYPECASE nomTableau[NBCASES]= {val1,val2,...,valn};

Pour initialiser un tableau par affectations(dans la partie instructions) :

for (i=0; i<NBCASES ; i++) { nomTableau[i]= 0; }

Pour initialiser un tableau par saisies clavier (partie instructions) :for (i=0; i<NBCASES ; i++)

{ printf ("\nElément d’indice %d : ",i);

scanf("%d",&nomTableau[i]); }

Page 33: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 5...3- Comment utiliser un tableau ?

Pour afficher un tableau :for (i=0 ; i<NBCASES ; i++)

{ printf ("\nElément d’indice %d : %d",i,nomTableau[i]);

}

Pour additionner les cases d’un tableau :sommeCumul= 0;for (i=0; i<NBCASES ; i++) { sommeCumul= sommeCumul + nomTableau[i];}

Pour multiplier les cases d’un tableau :produitCumul= 1;for (i=0; i<NBCASES ; i++) { produitCumul= produitCumul * nomTableau[i];}

Page 34: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

CYCLE 6 : Fonctions

1- Qu’est-ce qu’une Fonction ?

2- Fonction sans donnée échangée

3- Fonction avec Paramètre en E

4- Fonction avec résultat en Sortie

5- Type Pointeur

6- Fonction avec Paramètre en E/S

34

Page 35: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUMES CYCLE 6: Fonctions1- Qu’est une fonction ?

Utilité des fonctions :

Chaque fonction réalise une tâche simple et possède ses données privées (non accessibles aux autres fonctions). Une fonction s’exécute si elle est appelée, puis retour à la fonction appelante.

éviter les répétitions et structurer le code : source plus court et plus lisible facilite maintenance et tests du programme.

Création d’une fonction :

Déclaration en haut du source : PROTOTYPE.

APPEL à l’endroit où ses instructions doivent être exécutées.

DEFINITION du corps de la fonction avec ses données et ses instructions.

Page 36: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 6...2- Fonctions sans échange de données

Fonction sans donnée échangée : effectue un simple traitement

// PROTOTYPE

void NomFonction(void);

//APPEL

NomFonction();

//DEFINITION

void NomFonction(void)

{ }

Page 37: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 6...3- Fonctions avec paramètre en E

Fonction avec paramètre d’Entrée : valeur transmise à l’appel : x=n

// PROTOTYPE

void NomFonction(int );

//APPEL (n de type int) ; la valeur de n est transmise à la fonction

NomFonction(n);

//DEFINITION . x est un paramètre en Entrée, non modifable par la fonction

void NomFonction(int x)

{ }

Page 38: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 6...4- Fonctions avec S

Fonction avec Sortie : 1 seule valeur retransmise après l’appel : div=d

// PROTOTYPE

float NomFonction(void);

//APPEL (div de type float) ; la valeur de d est récupérée dans div

div= NomFonction();

//DEFINITION (d : float). Valeur de d transmise en Sortie de la fonction

float NomFonction(void)

{ ... return(d); }

38

Page 39: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 6...5- Type Pointeur

Type POINTEUR : adresse d’une variable de type simple

int a, *pta; // pta : pointeur sur un int

pta= &a; // initialisation : pta pointe sur a

*pta= 3; // une valeur est rangée dans a

39

*pta= apta

&a 3

Page 40: RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux

RESUME CYCLE 6...6- Fonctions avec paramètres en E/S

Fonction avec paramètre en E/S : adresse passée à l’appel : pta=&a

void NomFonction(int *pta); // PROTOTYPE avec pointeur

NomFonction(&a); //APPEL avec adresse (a de type int)

void NomFonction(int *pta) { } //DEFINITION (*pta = a)

Fonction avec paramètre tableau : adresse passée à l’appel : tabp=tab

void NomFonction(float tabp[]); // PROTOTYPE

NomFonction(tab); //APPEL (tab de type tableau de 3 float)

void NomFonction(float tabp[3]) { } //DEFINITION

Via le pointeur, la donnée passée par adresse (a ou tab) est directement modifiée par la fonction.