Vous êtes sur la page 1sur 52

Informatique Chapitre 1

Rappels sur le language C et


Préparation de l’épreuve du 1er TP

1
Plan du chapitre 1
1) Etat des lieux sur les connaissances en C
2) Présentation d’un exemple « complet » d’énoncé
Sur base des attentes des étudiants:
3) Analyse du code correspondant à l’énoncé
4) Rappels sur les concepts et la syntaxe du C
5) Analyse d’exercices de rappels
6) Présentation d’un exemple « réaliste » d’énoncé

2
Enoncé complet partie 1
Il vous est demandé d’écrire un algorithme devant manipuler les données
suivantes :
• Un angle en degré stocké dans un nombre entier.
• Un angle en radian stocké dans un nombre réel à précision étendue.
• Un tableau statique de nombre entier dont la taille maximale est égale à
20.
• Un vecteur à 3 dimensions qui sera manipulé comme une entité unique
grâce à une structure.

3
Enoncé complet partie 2
Après avoir réalisé l’acquisition de toutes ces données dans des fonctions
séparées, il sera demandé de réaliser les traitements suivants :

int addConstantValue360(int value,int constantValue);


Une fonction permettant l'ajout d'une valeur angulaire et renvoyant un
résultat compris entre 0 et 360 degrés non inclus.

void computeSquaredSine(double *b);


Une fonction de calcul du sin² d'une valeur en radian

double computeAverage(int *c,int arraySize);


Une fonction permettant le calcul de la valeur moyenne d’un tableau.

void computeOpposite(Vector3D * v3D);


Une fonction permettant de calculer l’inverse d’un vecteur.

Une fois tous les traitements effectués, votre programme affichera les
résultats à l’utilisateur.
4
Un ordinateur c’est…
• Des processeurs (CPU,GPU,…)
• De la mémoire (ram,Cache,…)
• Des périphériques d’entrées/sorties (Disque dur, clavier,
écran,…)
• Un système d’exploitation bienveillant

Et des programmes qui exploitent toutes ces ressources!

5
Hello World en C

6
Exercice 1: Evaluation d’un fonction mathématique

• Fonction à analyser:𝑌 = 3𝑥 + 5
• x entré par l’utilisateur.
• Résultat affiché dans la console.

7
Planification séquentielle du programme

8
Déclaration des variables

9
Acquisition de x

10
Utilisation des opérateurs arithmétiques

11
Affichage du résultat

12
Exercice 1: Résumé + mise en forme du programme

13
Exercice 2: Evaluation d’une autre fonction
mathématique

• Cahier des charges identiques à l’exercice 1


• Fonction à analyser:𝑌 = −53 𝑥 + 3𝑥 2 + 7𝑥 − 4

14
Ecriture optimisée de la fonction

15
Exercice 3: Analyse avancée d’une fonction
mathématique

• Cahier des charges identiques à l’exercice 1 et 2


• Fonction à analyser:𝑌 = 3𝑥 + 6
• En plus de l’affichage du résultat, il faudra afficher à
l’utilisateur si le résultat est plus grand égal ou plus petit que
0.
• Enfin, une information supplémentaire sera ajoutée si le
résultat est compris entre ]-5,-2]

16
le nouveau code doit être introduit au
bon endroit.

17
Utilisation de l’instruction de sélection if

18
Placement du code adéquat à
l’intérieur du if

19
Utilisation de l’instruction else pour traiter les
différentes éventualités

20
else Vs else if

21
If imbriqués pour la condition
supplémentaire

22
Résumé Exercice 3

23
Exercice 4: Encapsulation dans une fonction

• Au vu de la complexité ajoutée au code, il sera demandé


d’inclure le code d’affichage sélectif dans une fonction.
• La fonction s ’appelera specialPrint et permettra un bon
découplage du problème.

24
Etape 1: Exemple d’appel de fonction

25
Etape 2: Déclaration de la fonction

26
Etape 3: definition de la fonction

27
Exercice 4: résumé

28
Exercice 5: Affichage du nom des saisons

• Idée: développer un code permettant de déterminer la saison


sur base de l’entrée d’un nombre entier.
• L’utilisateur entre un nombre
• Le programme affiche la saison

29
Planification du programme

30
Déclaration variables

31
Appel de function qui convient au
problème

32
Déclaration des fonctions

33
Définition des fonctions

34
L’acquisition du nombre et les
pointeurs…

35
L’instruction de selection switch

36
Default à l’intérieur du switch

37
Case à l’intérieur du switch

38
Intérêt du break

39
Le code complet pour la fonction

40
Exercice 6: Affichage des x premiers nombres premiers

• Idée: tout est dans le titre!


• L’utilisateur entre le nombre de nombre premier qu’il
souhaite afficher.
• Le programme renvoie les informations!

41
Planification du programme

42
Ecriture du code du main

43
Déclaration des fonctions

44
Acquisition d’un nombre seconde
alternative

45
La boucle do while pour se protéger

46
Détermination du nombre premier à
l’aide d’une boucle for

47
Condition à respecter pour être
nombre premier

48
Condition permettant de trouver un
nombre qui n’est pas premier

49
Parcours des nombres entiers à l’aide d’un while

50
Exercice 6 résumé

51
Enoncé réaliste
Il vous est demandé d’écrire un algorithme devant manipuler les
données suivantes :
• Un angle en degré stocké dans un nombre entier.
L’acquisition des données sera effectué dans une fonction séparée :
void getNewInt(double *A) ;

Il sera demandé de réaliser le traitement suivant :


int addConstantValue360(int value,int constantValue);
Une fonction permettant l'ajout d'une valeur angulaire et renvoyant un
résultat compris entre 0 et 360 degrés non inclus.

Une fois tous les traitements effectués, votre programme affichera les
résultats à l’utilisateur.

52