La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux."— Transcription de la présentation:

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 CYCLE 6 : Fonctions 1

2 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

3 RESUMES CYCLE 1: Saisir – Afficher – Données 1- En quoi consiste la Programmation ? La Programmation permet dobtenir une solution informatique à partir dun 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 dune suite dinstructions (opérations). 3

4 RESUME CYCLE Afficher du texte sur lécran Dans un programme en C, on communique avec lutilisateur 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 à lendroit où se trouve le curseur ; \n le fait passer à la ligne et \t le fait tabuler sur la droite.

5 RESUME CYCLE Variables numériques Une variable permet de sauver des valeurs dans un programme. Cest une donnée dont la valeur peut varier au cours dune exécution du programme. Les valeurs sont stockées dans la RAM pendant lexécution. Une variable est identifiable par un nom et une adresse mémoire. Le Type numérique dune 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 lensemble 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...

6 RESUME CYCLE 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.

7 RESUME CYCLE Saisir des valeurs de variables au clavier Dans un programme en C, on communique avec lutilisateur 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 laffecte à la variable nomVariable (stockée dans la RAM à ladresse &nomVariable).

8 RESUME CYCLE Afficher texte et valeurs de variables sur lécran Dans un programme en C, on communique avec lutilisateur 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 à lendroit du curseur ; \n le fait passer à la ligne et \t le fait tabuler sur la droite. %format indique lendroit, dans le texte, où saffiche la valeur de la variable nomVariable (la valeur est dans le format indiqué après le %).

9 RESUME CYCLE Initialiser des variables par affectation Dans un programme en C, laffectation permet dattribuer une valeur à une variable (de linitialiser). Affectation : nomVariable= valeur; (dans partie données ou instructions) Le CPU stocke la valeur de droite dans lespace mémoire RAM de la variable nomVariable, qui est à gauche du signe daffectation.

10 RESUME CYCLE 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 dune 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 daffectation. Cet espace a pour nom NOMCONSTANTE. Sa taille dépend du type choisi.

11 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

12 RESUMES CYCLE 2: Calcul Arithmétiques 1- Ecrire une Instruction de Calcul en C Dans un programme en C, on écrit linstruction 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 dexpressions de calcul Arithmétique. Les expressions Arithmétiques sont composées dentiers ou de réels et des opérateurs : + (addition), - (soustraction), x (multiplication), / (division), % (modulo). La partie suivante explique comment le CPU effectue les calculs…

13 RESUME CYCLE 2… 2- Exécuter une Instruction de Calcul en C Instruction de Calcul : nomVariableResultat= Formule de Calcul; Le CPU exécute linstruction 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.

14 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é dutiliser, 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.

15 CYCLE 3 : Alternatives 1- Les opérateurs logiques 2- Comment écrire linstruction alternative SI-(SINON) ? 3- Comment marche linstruction alternative SI-(SINON) ? 4- Comment écrire le SI - SINON SI - (SINON) ? 5- Comment marche le SI- SINON SI - (SINON) ? 15

16 RESUMES CYCLE 3: Instructions Alternatives 1- Les opérateurs logiques Les opérateurs logiques de comparaison permettent de comparer des valeurs (égalité, relation dordre). 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…

17 RESUME CYCLE Ecrire linstruction alternative SI-(SINON) ? Pour faire un aiguillage à 2 chemins exclusifs dans un programme en C, on écrit linstruction alternative SI – SINON : if (condition)(sans ;) {instructions 1;(avec indentations) } else(sans ;) {instructions 2;(avec indentations) } Si le else nest 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…

18 RESUME CYCLE Comment marche le SI-(SINON) ? Le if(condition) {} else{} est un aiguillage simple à 2 voies et le chemin dexé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…

19 RESUME CYCLE Ecrire le SI-SINON SI-(SINON) ? Pour faire un aiguillage à plusieurs chemins exclusifs dans un programme en C, on a linstruction 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 dexécution peut ne pas passer dans ce SI.

20 RESUME CYCLE Comment marche le SI-SINON SI-(SINON) ? Le if(condition 1) {} else if(condition 2){} else{} est un aiguillage à plusieurs voies. Le chemin dexécution du CPU dépend des valeurs des conditions logiques successives : dès quune 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.

21 CYCLE 4 : Boucles 1- Comment écrire linstruction 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

22 RESUMES CYCLE 4: Instructions Itératives 1- Ecrire une boucle POUR ? Pour répéter des instructions un nombre connu de fois, on a linstruction itérative POUR (boucle POUR avec comptage croissant ici) : for (i=valInit ; i<=valFin ; i=i+pas)(sans ;) {instructions;(avec indentations) } i=valInit est lINITIALISATION 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.

23 RESUME CYCLE Comment marche la boucle POUR ? Linstruction itérative for{ ; ; } est une boucle. Le CPU recommence lexé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.

24 RESUME CYCLE 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

25 RESUME CYCLE 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; }

26 RESUMES CYCLE 4: Instructions Itératives 5- 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 QUEwhile(condition)(SANS ;) {instructions;(avec indentations) } (sans ;) Le TANT QUE est exécuté tant que la condition est VRAIE.

27 RESUME CYCLE Comment marche les boucles TANT QUE ? Les instructions itératives while et do while sont des boucles. Le CPU recommence lexé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 sexé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 sexécuter 0 fois.

28 RESUME CYCLE 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.

29 RESUME CYCLE 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 : cest une DO WHILE englobant toutes les instructions du programme. Une saisie validée permet de recommencer un scanf() tant que la valeur saisie nappartient pas au bon intervalle. Le programmeur doit vérifier toutes les saisies et informer lutilisateur derreurs éventuelles.

30 CYCLE 5 : Tableaux 1- Que sont les Tableaux ? 2- Comment déclarer et initialiser un Tableau ? 3- Comment utiliser un Tableau ? 30

31 RESUMES CYCLE 5: Tableaux 1- Que sont les tableaux ? Un Tableau est une suite de cases mémoires permettant de stocker des données de même type simple Indices relatifs des cases du tableau Nom du tableau 254 tab[0]tab[1]tab[2] Nom des cases du tableau tab Donnée de type simple 2 tab[0] &tab[0] Adresses des cases du tableau

32 RESUME CYCLE Comment déclarer et initialiser un tableau ? Pour déclarer un tableau à une dimension : TYPECASEnomTableau[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) : TYPECASEnomTableau[NBCASES]= {val1,val2,...,valn}; Pour initialiser un tableau par affectations(dans la partie instructions) : for (i=0; i

33 RESUME CYCLE Comment utiliser un tableau ? Pour afficher un tableau : for (i=0 ; i

34 CYCLE 6 : Fonctions 1- Quest-ce quune 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

35 RESUMES CYCLE 6: Fonctions 1- Quest 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 sexé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.

36 RESUME CYCLE 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) { }

37 RESUME CYCLE Fonctions avec paramètre en E Fonction avec paramètre dEntrée : valeur transmise à lappel : 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) { }

38 RESUME CYCLE Fonctions avec S Fonction avec Sortie : 1 seule valeur retransmise après lappel : 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

39 RESUME CYCLE Type Pointeur Type POINTEUR : adresse dune 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= a pta &a 3

40 RESUME CYCLE Fonctions avec paramètres en E/S Fonction avec paramètre en E/S : adresse passée à lappel : 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 à lappel : 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.


Télécharger ppt "RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données CYCLE 2 : Calculs Arithmétiques CYCLE 3 : Alternatives CYCLE 4 : Boucles CYCLE 5 : Tableaux."

Présentations similaires


Annonces Google