3.Premiers pas en programmation

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Architecture de machines Codage des informations
Introduction au Langage C,C++
1.Introduction à la programmation
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
Rappels C.
Calculs de complexité d'algorithmes
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
GEF 243B Programmation informatique appliquée Expressions et opérateurs.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
C.
Le codage de l ’information
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
5. Les structures répétitives
4. Les structures de tests
6. Les sous-programmes P. Costamagna – ISEN N1.
8. Les tableaux P. Costamagna – ISEN N1.
2.Les bases de lalgorithmique P. Costamagna – ISEN N1.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Le codage des nombres en informatique
Les bases de l’Algorithmique
Points importants de la semaine Les types arithmétiques. Les opérateurs.
Initiation à la programmation et algorithmique
Partie 1 Etude de l'existant
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
Partie Informatique Algorithmique Introduction A. LOTFI
Démarche de résolution de problèmes
Algorithmique et Programmation
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Nature, numération, code
Le codage des nombres en informatique
Algorithmique et Programmation
Base de programmation Script unity en c#.
CHAINE DE CARACTERES : Définition :
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
LANGAGE C LP A2I IUT St DIE
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
L’essentiel du langage C
Animateur : Med HAIJOUBI
Algorithmique Les structures Rappel L'enchaînement séquentiel
Ecrire des expressions arithmétiques et logiques
ALGORITHMIQUE ET PROGRAMMATION C
Un survol du language C.
Codage des nombres en informatique : le système binaire.
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Introduction au langage C Les entrées-sorties
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Programmation en C.
Module algorithmique et programmation
Codage de l’information
Cours d’initiation en Informatique
PRO-1027 Programmation Scientifique en C
Chapitre 4 La représentation des nombres.
Chapitre 4b La représentation des nombres.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
A la découverte d’Excel Certificat Informatique et Internet.
Introduction au langage C
Algorithmique et programmation
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Transcription de la présentation:

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

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

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

A. Caractéristiques d’un algorithme (suite2) Algorithme nom Début Suite d’instructions … Suite d’inst. Fin Bloc Sous bloc Imbrication Indentation P. Costamagna

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

C. Qu’est ce qu’une variable ? Casier P. Costamagna

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

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

D. Unité de mesure Bit Octet 1 kilooctet (Ko) = 210 octets = 1 024 octets. 1 mégaoctet (Mo) = 220 octets = 1 024 ko = 1 048 576 octets. 1 gigaoctet (Go) = 230 octets = 1 024 Mo 1 téraoctet (To) = 240 octets = 1 024 Go 1 pétaoctet (Po) = 250 octets = 1 024 To P. Costamagna

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

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  2N possibilités  0 à 2N - 1 Entiers courts (short int), codés sur 1 octet,  compris entre -128 et 127 Entiers longs (long int) codés sur 4 octets P. Costamagna

E. Différents types de données (suite2) Bit de poids fort / faible Bit poids Fort Bit poids faible  27 + 25 + 24 + 22 + 20 = 28 + 32 + 16 + 4 + 1 = 181 P. Costamagna

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

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 525.5  en base 2 = 1000001101,1 Si on veut l’écrire sous la forme 1.0000011011 x 29 Bit de signe = 1 Exposant 9 = 1001 Mantisse = 10000011011  en binaire on obtient 10000100100000000000010000011011 P. Costamagna

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 Affichage standard réel  2.350000 pour X et 3.123457 pour Y (arrondi à la 6ème décimale) Affichage avec 10 décimales  2.3499999046 pour X et 3.1234567890 pour Y X réel = 2.35 et Y double = 3.12345678901234567890 P. Costamagna

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 = 26 + 20 = 64 + 1 P. Costamagna

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

F. Déclaration d’une variable Toute variable utilisée, doit avoir fait l’objet d’une 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 P. Costamagna

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

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

G. L’affectation Consiste à déposer une information dans un «casier». Langage intermédiaire Place information dans casier Langage C casier = information ; P. Costamagna

G. L’affectation (suite1)  Préciser le casier en citant son nom  L’information sera précisée - a) en donnant une valeur Exemple Place 15 dans (casier) Nombre Nombre = 15 ; Total = Somme ; - b) en indiquant un autre casier Exemple Place (casier) Somme dans (casier )Total Total = Somme ; P. Costamagna

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

G. L’affectation (suite3) L’ordre dans lequel les instructions sont écrites va jouer un rôle essentiel dans le résultat final. Exemple 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 Total = Somme ; A = 2 B = 5 A = 2 + 5 = 7 A = 7 x 2 = 14 P. Costamagna

H. La lecture Commande à l’exécutant de placer dans une variable une information transmise par l’utilisateur par le clavier. Nous n’utiliserons pas directement les instructions classiques d’entré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. Langage intermédiaire Lis et Place dans casier Langage C casier = lisEntier ( ) ; casier = lisFlottant ( ) ; casier = lisCaractere ( ) ; P. Costamagna

H. L’affichage Commande à l’exé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] ) ; P. Costamagna

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

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

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

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

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

J. Conversion de types Langage C fortement typé int operande1 = 3; 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 P. Costamagna

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) P. Costamagna

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 P. Costamagna

J. Conversion de types (suite3) Possibilité d’effectuer des conversions explicites Exemple  resultat1 = 1 Calcul en flottant puis conversion en entier et resultat2 = 1.0 Calcul en entier puis conversion en flottant 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); P. Costamagna

K. Qu’est ce qu’une constante ? Casier dont le contenu est fixé définitivement pour tout le programme. Toute constante utilisée, doit avoir fait l’objet d’une déclaration préalable. Langage intermédiaire Liste des constantes id1 = valeur (explication si nécessaire) id2 = valeur (explication si nécessaire) etc … P. Costamagna

L. Déclaration d’une 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 s’agit pas d’une déclaration  pas de ; à la fin. P. Costamagna

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

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

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

O. Un premier programme … #include <ESLib.h> 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); } P. Costamagna