Algorithmes et programmes

Slides:



Advertisements
Présentations similaires
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Structure de base des programmes en C.
Advertisements

GEF 243B Programmation informatique appliquée
Premier programme en C :
La boucle for : init7.c et init71.c
Introduction au Langage C,C++
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
Programmation Orienté Objet en C++
Rappels C.
Développement logiciel sur micro-contrôleurs PIC en C
Introduction au langage C
Cours n° 1 Présentation du langage C++
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
la programmation en langage C
C.
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Introduction : Compilation et Traduction
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
FLSI602 Génie Informatique et Réseaux
Langage de Programmation: I - Le Langage C -
B.Shishedjiev - Informatique II1 Travaux dirigés 5 Les structures.
B.Shishedjiev - Informatique II
Cours algorithme 2 S. Tabbone.
Introduction à l’algorithmique
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Démarche de résolution de problèmes
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Les fichiers et les chaînes de caractères
Introduction à la programmation (Java)
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.
Structures de données IFT-2000
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
8PRO100 Éléments de programmation Les chaînes de caractères.
COURS DE PROGRAMMATION ORIENTEE OBJET :
C++ : variables Déclaration de variables
LANGAGE C LP A2I IUT St DIE
L’essentiel du langage C
Animateur : Med HAIJOUBI
B.Shishedjiev - Informatique II
Programmer en langage c
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Sous-programmes.
et quelques rappels sur certains éléments du langage C
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
ALGORITHMIQUE ET PROGRAMMATION C
8PRO107 Éléments de programmation Les chaînes de caractères.
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Cours n° 1 Présentation du langage C++
Module I3 algorithmique et programmation
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
ISBN Chapitre 10 L'implémentation des sous- programmes.
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
1 Les caractères En informatique, les caractères sont très importants puisqu’ils sont utilisés pour la communication personne-machine. Puisque les ordinateurs.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Les bases de l’algorithmique
Patricia Renault UPMC 2005/2006
Langage de programmation
PRO-1027 Programmation Scientifique en C
Philippe Gandy - 1 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction au langage C
Informatique 2A Langage C 1 ère séance.
BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau.
Transcription de la présentation:

Algorithmes et programmes Comment on présent les algorithmes B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Algorithmes Définition de l’Association française de normalisation ”Ensembles des règles opératoires et de procédés définis en vue d’obtenir un résultat déterminé au moyen d’un nombre fini d’opérations”. B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Algorithmes Propriétés Fini Lisible Fiable Universel Correct Efficace B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Langages Propriétés des langues pour description d’algorithmes Simplicité Clarté Expressivité Ambiguïté Efficacité Translators Compilateurs Interpréteurs Source compilateur Exécu- table B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Langages graphiques Organigrammes Début Rédiger Nom.c Compiler Nom.OBJ Erreurs? Oui Non Biblio Editeur theque des liens Erreurs? Oui Nom.EXE Non Mettre en jeu Données Erreurs? Oui Résultats Non Encore? Oui Non B.Shishedjiev - Informatique II Fin

B.Shishedjiev - Informatique II Exemple d’algorithme Comment dire au votre robot de bouillir un œuf? prends une casserole va au lavabo ouvre le robinet remplis la casserole à moitié va au frigo s’il y a d’œufs prends un œuf sinon arrête. si l’œuf est bon met le dans la casserole sinon mets le dans la poubelle et va vers 5. Mets la casserole sur la cuisinière Allume la cuisinière Attends que l’eau commence à bouillir si l’œuf doit être à la coque attends 1 minute sinon attends 5 minutes éteins la cuisinière et sers l’œuf arrête B.Shishedjiev - Informatique II

Exemple d’algorithme début prends une casserole va au lavabo ouvre le robinet remplis la casserole à moitié va au frigo Y a-t-il œufs Bon? mets la casserole sur la cuisinière allume la cuisinière attends que l’eau commence à bouillir A la coque? éteins la cuisinière et sers l’œuf oui non début fin Dans la poubelle 5 minutes 1 minute arrête Prends un B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Langages graphiques Arbres algorithmiques Racine Branche Algorithme Nœud Partie 3 Partie 1 Partie 2 Feuille Partie1.1 Partie1.2 Partie2.1 Partie2.2 Partie3.1 Partie3.2 instr1.1.1 instr1.1.2 instr1.1.3 etc B.Shishedjiev - Informatique II

Langages algorithmiques Génération des langues algorithmique Langue-machine (machine language) Assembleurs (Assemblers) Langages universels de programmation Fonctionnels (LISP Scheme) Structurels (Fortran. Pascal C) Objet orientés (SmallTalk C++ Java C#) Langages de quatrième génération (4GPL) B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Le langage C Histoire 1972 - Bell Laboratories –Dennis Ritchie langues A B C pour le développment de l’UNIX 1979 – Kernigan et Ritchie 1983 - ANSI-C Propriétés universel; compact; moderne (structuré); près de la machine; rapide; indépendant de la machine; portable; extensible. B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Le langage C Les caractères utilisés Lettres - ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz _ Chiffres – 0123456789 Caractères spéciaux – .,;:’ ”[ ] { } ( ) - + = * / % < > &  ! ? Des mots réservés Identificateurs (noms) – Chaînes de lettres et chiffres, dont le premier caractère est une lettre. Vrais - interet Compte A25 BASE_3_G un_homme_triste Faux – A.B un homme 3AB B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Objets Chaque instruction influence plusieurs objets. Chaque objet a un ensemble de caractéristiques, qui sont: Un nom (identificateur) Un type (il définit les valeur dont cet objet peut avoir et les opérations lesquelles il peut subir) Une valeur Une adresse dans la mémoire Un genre (constante, variable) B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Le programme Structure générale d’un programme: Déclarations globales et Instructions de préproce-sseur #include #define etc. Fonctions (au moins une fonction nommée “main”). Titre de la fonction Le type et le nom de la fonction et les types et les noms de ses paramètres Type nom (type p1, type p2 , ….) Corps de la fonction représ-entant un block Chaque block peut contenir d'autres blocks { Déclarations des variables locales Instructions exécutives (qui peuvent contenir des autres blocks) } B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Le programme Le programme opère sur deux espaces : la mémoire (où se trouvent les objets avec leurs valeurs) Le point d’exécution du programme lui-même. Il y a deux types d’instructions: Ces qui modifient les valeurs (affectation, lecture) Ces qui gèrent l’exécution (structures de contrôle) B.Shishedjiev - Informatique II

B.Shishedjiev - Informatique II Exemple #include <stdio.h> /* Inclure les déclarations des variables et fonctions d'entrée/sortie */ void main(void) /* le titre de la fonction */ { /* Debut du block */ printf ("Bonjour tout le monde\n"); /*Instruction */ } /*Fin du block*/ B.Shishedjiev - Informatique II

Types d’objets prédéfinis Le type entier(int, short, long, unsigned, byte) Constantes 1000 -100 -2 5600 – constantes décimales 0234 0123 077 – constantes octales 0x34A 0x10 0x123 – constantes hexadécimales 3l 45l - long constants 8u 34u – unsigned constants Constantes nommées #define N 10  #define M 100 #define NOMBRE 150 Variables – on déclare le nom et le type mais la valeur reste indéfinie int un_entier; short i,j,k; long grand_nombre ; const int ma_const = 10; - une variable dont la valeur est constante B.Shishedjiev - Informatique II

Types d’objets prédéfinis Type réel (float, double) Constantes 1.5 -7.25 0.675 1.5E20 = 1.5.1020 1E-3 = 0.001 #define PI 3.14169265 #define EPS 1E-3 Variables float a,b,c; double x,y,z ; Le type logique Il est présenté par int: 0 – False; tous les autres - True #define TRUE 1 B.Shishedjiev - Informatique II

Types d’objets prédéfinis Le type caractère (char) et littérales Constantes 'a' 'A' '%' '3' '\062' : '\x41‘ #define C1 ‘A’ #define CHAINE1 ”TINTIN” #define CHAINE2  “c\’est un \”exemple\”\?” la valeur de la dernière constante est c’est un “exemple”? \a sonnerie \\ barre oblique \b curseur arrière \? point d'interrogation \t tabulation \' apostrophe \n nouvelle ligne \" guillemets \r retour au début de ligne \f saut de page (imprimante) \0 NUL \v tabulateur vertical B.Shishedjiev - Informatique II

Types d’objets prédéfinis Les pointeurs – ce sont est un spécial type de données dont la valeur est l’adresse d’une location de la mémoire qui contient la valeur d’un certain type – le type du pointeur. NULL p 10 p Exemples int *p ; /* c’est un pointeur sur int */ double x, *pd /*une variable de type double et un pointeur sur double*/ B.Shishedjiev - Informatique II