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

3.Premiers pas en programmation P. Costamagna – ISEN N1.

Présentations similaires


Présentation au sujet: "3.Premiers pas en programmation P. Costamagna – ISEN N1."— Transcription de la présentation:

1 3.Premiers pas en programmation P. Costamagna – ISEN N1

2 P. Costamagna2 A. Caractéristiques dun algorithme Doit être fini Chaque instruction doit être définie sans ambiguïté Doit sappliquer à des données qui peuvent varier nature à préciser Fournit au moins un résultat Déroulement manuel

3 P. Costamagna3 A. Caractéristiques dun algorithme (suite1) Langage intermédiaire Algorithme nom Début Suite dinstructions Fin Langage C Un problème posé ne conduit pas forcément à un algorithme unique. void main ( ) { Suite dinstructions }

4 P. Costamagna4 A. Caractéristiques dun algorithme (suite2) Bloc Algorithme nom Début Suite dinstructions … Début Suite dinst. … Fin Sous bloc Indentation Imbrication

5 P. Costamagna5 B. Données et instructions Un marteau enfonce le clou sur lequel il frappe. La scie façonne le morceau de bois quelle tronçonne. Le potier modèle la glaise quil fait tourner. Différence entre la matière qui est manipulée, et la manipulation quon lui fait subir. En informatique on distingue les données et les instructions.

6 P. Costamagna6 C. Quest ce quune variable ? Casier

7 P. Costamagna7 C. Nom ou identificateur Règles Exemples NOM_DU_CLIENT, AX212 ok 12Z, Différence, Nom-Client incorrect Choix judicieux

8 P. Costamagna8 C. Remarques sur les variables Trompeuse similitude de vocabulaire entre les mathématiques et linformatique. variable inconnue y=3x +2 nombre infini de variables x et y Une fois un nom choisi pour représenter une variable, il ne pourra plus être modifié. MathématiquesInformatique une valeur et une seule

9 P. Costamagna9 D. Unité de mesure Bit Octet 1 kilooctet (Ko) = 2 10 octets = octets. 1 mégaoctet (Mo) = 2 20 octets = ko = octets. 1 gigaoctet (Go) = 2 30 octets = Mo 1 téraoctet (To) = 2 40 octets = Go 1 pétaoctet (Po) = 2 50 octets = To

10 P. Costamagna10 E. Différents types de données 1) Les entiers 2 octets = 16 bits Nbres positifs et négatifs 1 bit signe Le type de la variable détermine ce quelle peut contenir (valeurs maximale et minimale) et les opérations qui peuvent être appliquées. Ensemble fini à

11 P. Costamagna11 E. Différents types de données (suite1) 1 bit 2 possibilités 0 et 1 2 bits 4 possibilités 00 (=0), 01 (=1), 10 (=2), 11 (=3) N bits 2 N possibilités 0 à 2 N - 1 Entiers courts (short int), codés sur 1 octet, compris entre -128 et 127 Entiers longs (long int) codés sur 4 octets

12 P. Costamagna12 E. Différents types de données (suite2) = = 181 Bit de poids fort / faible Bit poids Fort Bit poids faible

13 P. Costamagna13 E. Différents types de données (suite3) 2) Les réels ou flottants Différentes représentations : - un entier décimal : un nombre comportant un séparateur décimal : une fraction : 27 / 11 - un nombre exponentiel: mantisse et exposant puissance de E -2 mantisse = 2.75 et exposant = -2

14 P. Costamagna14 E. Différents types de données (suite4) 32 bits : 1 bit signe, 8 bits exposant et 23 bits restants mantisse, Nbre restreint de valeurs en virgule flottante ( 2 milliards) Réels longs (double), codés sur 64 bits Exemple Codage de la valeur en base 2 = ,1 Si on veut lécrire sous la forme x 2 9 Bit de signe = 1 Exposant 9 = 1001 Mantisse = en binaire on obtient

15 P. Costamagna15 E. Différents types de données (suite5) Représentation approchée : Comme par exemple avec la valeur pi … - pour un réel: 6 chiffres après la virgule - pour un double: 15 chiffres après la virgule Exemples X réel = 2.35 et Y double = Affichage standard réel pour X et pour Y (arrondi à la 6 ème décimale) Affichage avec 10 décimales pour X et pour Y

16 P. Costamagna16 E. Différents types de données (suite6) 3) Les caractères Code ASCII Equivalent numérique de 0 à 255 Exemple Caractère A - Code ASCII = 65 = =

17 P. Costamagna17 E. Différents types de données (suite7) 4) Les booléens 2 valeurs : Vrai (1) et Faux (0) 1 bit de représentation

18 P. Costamagna18 F. Déclaration dune variable Toute variable utilisée, doit avoir fait lobjet dune déclaration préalable. Langage intermédiaire Liste des variables id1 de type nature qui contiendra explication id2 de type nature qui contiendra explication etc … Exemple Liste des variables Nombre de type réel qui contiendra chaque donnée lue Compteur de type entier qui permettra de les compter

19 P. Costamagna19 F. Déclaration dune variable (suite1) Type peut prendre les valeurs: - int (pour les entiers) - float (pour les réels) - char (pour les caractères) - bool (pour les booléens) Langage C type id1 ; /* explication */ type id2 ; /* explication */ etc … ; obligatoire. indique au compilateur la fin de linstruction /* */ Commentaire (facultatif) Exemple float Nombre; /* contient chaque donnée lue */ int Compteur; /* permet de compter les données lues */

20 P. Costamagna20 F. Déclaration dune variable (suite2) Exemple float Truc, Machin, Bidule; Il est possible de déclarer plusieurs variables dans une même instruction, à condition quelles soient de même type. Il est possible dinitialiser une variable au moment de sa déclaration. Exemple int Chose = 12 ;

21 P. Costamagna21 G. Laffectation Consiste à déposer une information dans un «casier». Langage intermédiaire Place information dans casier Langage C casier = information ;

22 P. Costamagna22 G. Laffectation (suite1) Exemple - b) en indiquant un autre casier Place 15 dans (casier) NombreNombre = 15 ; Préciser le casier en citant son nom Linformation sera précisée - a) en donnant une valeur Exemple Place (casier) Somme dans (casier )Total Total = Somme ;

23 P. Costamagna23 G. Laffectation (suite2) Un casier ne contient jamais plus dune information à la fois. Chaque nouvelle information que nous demandons dy placer remplace la précédente qui est perdue. Exemple - c) par une expression Place 12+A dans (casier) Prix Prix = 12+A ; (*) Total = Somme ; (*) le contenu de la variable A doit être déterminé au moment de linstruction.

24 P. Costamagna24 G. Laffectation (suite3) Exemple Lordre dans lequel les instructions sont écrites va jouer un rôle essentiel dans le résultat final. Liste des variables A de type Entier qui contiendra une 1 ère donnée B de type Entier qui contiendra une 2 ème donnée Début Place 2 dans A Place 5 dans B Place A+B dans A Place A x 2 dans A Fin A = 2 B = 5 A = = 7 A = 7 x 2 = 14 Total = Somme ;

25 P. Costamagna25 H. La lecture Commande à lexécutant de placer dans une variable une information transmise par lutilisateur par le clavier. Langage intermédiaire Lis et Place dans casier Langage C casier = lisEntier ( ) ; casier = lisFlottant ( ) ; casier = lisCaractere ( ) ; Nous nutiliserons pas directement les instructions classiques dentrée/ sortie du langage C qui font appel à quelques notions un peu complexe, non abordée en 1 ère année. Nous ferons appel à une bibliothèque spécifique, ESLib.

26 P. Costamagna26 H. Laffichage Commande à lexécutant de restituer une information vers lécran. Langage intermédiaire Affiche information Langage C ecrisEntier ( information [de type entier] ) ; ecrisFlottant ( information [de type réel] ) ; ecrisCaractère ( information [de type car] ) ; ecrisChaine ( information [de type Ch de car] ) ;

27 P. Costamagna27 H. Laffichage (suite1) Exemple - b) une valeur Affiche « Donnez votre nom » ecrisChaine (« Donnez votre nom » ); Linformation affichée pourra être - a) un message Exemple Affiche ecrisFlottant ( ) ; Total = Somme ; - c) une variable: cest son contenu qui est affiché. Exemple Affiche casier ecris….. (casier) ; Instruction à déterminer en fonction de la nature de la variable

28 P. Costamagna28 H. Laffichage (suite2) Exemple - e) un mélange de toutes les possibilités Affiche 4 x Somme ecris ….. (4 x Somme); - d) une expression : cest le résultat qui est affiché. Exemple Affiche « Résultats: », S1, S2 ecrisChaine (« R ésultats» ); ecris ….. (S1); ecris ….. (S2); - le contenu de la variable Somme doit être déterminé au moment de linstruction. - Instruction à déterminer en fonction de la nature du résultat de lexpression

29 P. Costamagna29 I. Les opérateurs Unaire / binaire 1) opérateurs arithmétiques

30 P. Costamagna30 I. Les opérateurs (suite1) 2) opérateurs relationnels 3) opérateurs logiques

31 P. Costamagna31 I. Les opérateurs (suite2) Tables de vérité Priorité

32 P. Costamagna32 J. Conversion de types Langage C fortement typé Exemple int operande1 = 3; int operande2 = 2; float operande3 = 3.0; float operande4 = 2.0; int resultat1; float resultat2; resultat1 = operande1 / operande2; resultat2 = operande3 / operande4; resultat1 = 1 et resultat2 = 1.5

33 P. Costamagna33 J. Conversion de types (suite1) Exemple int operande1 = 3; int operande2 = 2; float operande3 = 3.0; float operande4 = 2.0; int resultat1; float resultat2; resultat1 = operande3 / operande4; resultat2 = operande1 / operande2; resultat1 = 1 (arrondi) et resultat2 = 1.0 (entier converti en flottant)

34 P. Costamagna34 J. Conversion de types (suite2) Exemple int operande1 = 3; int operande2 = 2; float operande3 = 3.0; float operande4 = 2.0; int resultat1; float resultat2; resultat1 = operande1 / operande4; resultat2 = operande1 / operande4; resultat1 = 1 (arrondi) et resultat2 = 1.5

35 P. Costamagna35 J. Conversion de types (suite3) Possibilité deffectuer des conversions explicites Exemple int operande1 = 3; int operande2 = 2; float operande3 = 3.0; float operande4 = 2.0; int resultat1; float resultat2; resultat1 = (int)(operande3 / operande4); resultat2 = (float)(operande1 / operande2); resultat1 = 1 Calcul en flottant puis conversion en entier et resultat2 = 1.0 Calcul en entier puis conversion en flottant

36 P. Costamagna36 K. Quest ce quune constante ? Casier dont le contenu est fixé définitivement pour tout le programme. Toute constante utilisée, doit avoir fait lobjet dune déclaration préalable. Langage intermédiaire Liste des constantes id1 = valeur (explication si nécessaire) id2 = valeur (explication si nécessaire) etc …

37 P. Costamagna37 L. Déclaration dune constante Exemple Liste des constantes Pi = 3.14 E = 3 correspondant à un facteur multiplicatif 2 méthodes de déclaration en langage C: Langage C – 1 ère méthode #define id1 valeur /* explication */ #define = Commande du préprocesseur = macro de remplacement de toutes les occurrences du mot qui le suit par la valeur immédiatement derrière elle. Constantes non typées. Il ne sagit pas dune déclaration pas de ; à la fin.

38 P. Costamagna38 L. Déclaration dune constante (suite1) Langage C – 2 ème méthode const type id1 = valeur ; /* explication */ ; obligatoire. indique au compilateur la fin de linstruction Type peut prendre les valeurs: - int (pour les entiers) - float (pour les réels) - char (pour les caractères) Mot clef const, permet de déclarer des constantes typées. Correspond à une variable en lecture seule.

39 P. Costamagna39 M. Structure dun programme instructions Insertion de fichiers entête (header) #include #include etc... #define #define etc... void main() { Autre technique de déclaration de constantes Programme principal const ; Déclaration de constantes float ; int ; etc Déclaration de variables } Liste des actions Fin du programme principal

40 P. Costamagna40 N. Instructions complémentaires void fixePrecision (int n); /* Fixe le nombre de chiffres (n) à afficher après la virgule pour un flottant */ Ces instructions appartiennent à la librairie ESLib.h et non à la bibliothèque standard du langage C. void tabulation (); /* Insère une tabulation */ void sautDeLigne (); /* Passe à la ligne suivante */ void effaceEcran (); /* Efface lécran */

41 P. Costamagna41 O. Un premier programme … #include void main() { const int Fact = 4; float A1 = 3.0; int B2, resultat; effaceECran (); B2 = lisEntier (); A1 = A1 x Fact; resultat = B2 + 3; ecrisChaine « Voici les résultats:»; sautDeLigne (); ecrisEntier (B2); tabulation (); ecrisFlottant (A1); }


Télécharger ppt "3.Premiers pas en programmation P. Costamagna – ISEN N1."

Présentations similaires


Annonces Google