Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Algorithme et programmation.pdf

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 25 Publicité
Publicité

Plus De Contenu Connexe

Plus récents (20)

Publicité

Algorithme et programmation.pdf

  1. 1. Chapitre 1: Algorithme et Programmation (Rappel) Enseignante : Mme Imen Fadhli
  2. 2. Algorithme et Programmation  Objectifs : ➢ Apprendre les concepts de base de l'algorithmique et de la programmation. ➢ Être capable de mettre en œuvre ces concepts pour analyser des problèmes simples et écrire les programmes correspondants.  Plan : ➢ introduction à l’algorithmique et à la programmation ➢ Généralités sur l’algorithmique et les langages de programmation ➢ Notion de base de l’algorithmique 1 ére année 2019/2020 2
  3. 3. Généralités sur le traitement de l’information Les ordinateurs sont utilisés pour :  Le traitement d’informations.  Le stockage d’informations. Le schéma global d’une application informatique est toujours le même : 1 ére année 2019/2020 3
  4. 4. La notion de programme  Tout traitement demandé à la machine, par l’utilisateur, est effectué par l’exécution séquencée d’opérations appelées instructions. Une suite d’instructions est appelée un programme. 1 ére année 2019/2020 4 Un programme est une suite d’instructions permettant à un système informatique d’exécuter une tâche donnée écrit dans un langage de programmation compréhensible par un ordinateur. Retenir
  5. 5. Langages informatiques  Un langage informatique est un code de communication, permettant à un être humain de dialoguer avec une machine en lui soumettant des instructions et en analysant les données matérielles fournies par le système.  Le langage informatique est l’intermédiaire entre le programmeur et la machine.  Il permet d’écrire des programmes (suite consécutive d’instructions) destinés à effectuer une tâche donnée.  Exemple : un programme de résolution d’une équation du second degré  Programmation : ensemble des activités orientées vers la conception, la réalisation, le test et la maintenance de programmes. 1 ére année 2019/2020 5
  6. 6. Compilateur / Interpréteur  Un compilateur est un programme qui traduit un texte écrit dans un langage de programmation de haut niveau vers un code binaire prêt pour exécution par l'ordinateur. 1 ére année 2019/2020 6 le schéma de principe de compilation
  7. 7. Compilateur / Interpréteur  Le texte initial en langage de programmation est dit code source, et le binaire généré est dit code objet.  Un interpréteur est un programme qui exécute au fur et à mesure les instructions d'un programme source (dit aussi script) sans avoir besoin de traduire le source entier vers un code objet. 1 ére année 2019/2020 7 Schéma de principe de l'interprétation
  8. 8. Compilateur vs. Interpréteur  Fonctionnalités :  Un compilateur traduit (tout) le texte d'un programme, et n'assure pas son exécution.  Un interpréteur "exécute" les instruction d'un programme au fur et à mesure. Il peut les traduire ou pas.  Compilateur conçu pour  Signaler erreur de compilation  Contrôle de type  Développement de logiciel final de façon plus rigoureuse.  Interpréteur conçu pour  Mise au point facile (on voir le résultat du programme au fur et à mesure)  Développement plus souple  Utile pour prototypage 1 ére année 2019/2020 8
  9. 9. Langages de programmation Deux types de langages:  Langages procéduraux : Fortran, Cobol, Pascal, C, …  Langages orientés objets : C++, Java, C#,… 1 ére année 2019/2020 9
  10. 10. Notion d’algorithme  Un programme informatique permet de résoudre un problème,  Un algorithme peut se comparer à une recette de cuisine: ✓ le résultat c’est comme le plat à cuisiner ✓ Les données sont l’analogues des ingrédients de la recette  Les règles de transformations se comparent aux directives ou instructions de la recette 1 ére année 2019/2020 10
  11. 11. Étapes de réalisation d’un programme  D’où l’intérêt de l’Algorithmique 1 ére année 2019/2020 11 La réalisation de programmes passe par l’écriture d’algorithme D’où l’intérêt de l’Algorithmique
  12. 12. Algorithme  Algorithme = méthode de résolution  Algorithme vient du nom du célèbre mathématicien arabe Al Khawarizmi (Abu Ja'far Mohammed Ben Mussa Al-Khwarismi)  L’algorithme est un terme arabophone systématisé par le mathématicien Al  Khuwarezmi.  Un algorithme est une séquence d’instructions énoncés dans un ordre séquentiel, appliquée sur un ensemble de données en entrée afin de donner une solution à un problème donné (un résultat).  Qualités: exact (fournit le résultat souhaité), efficace (temps d’exécution, mémoire occupée), clair (compréhensible), général (traite le plus grand nombre de cas possibles)  Un algorithme s’écrit en un langage naturel avec des instructions universelles, compréhensibles et indépendantes du langage de programmation 1 ére année 2019/2020 12
  13. 13. Structure générale d’un algorithme  Dans un algorithme, on trouve deux parties essentielles :  Une partie déclarative contenant tous les objets qui seront impliqués par les différentes actions de l’algorithme (constantes, types, variables, etc.).  Une partie réservée aux actions (en programmation, on dit les instructions) ; elle est délimitée par les deux mots-clés Début et Fin.  En outre, un algorithme est caractérisé par son nom qui devrait être significatif. 1 ére année 2019/2020 13
  14. 14. Instructions de base  Un programme informatique est formé de quatre types d’instructions considérées comme des petites briques de base : ▪ l’affectation de variables ▪ la lecture et/ou l’écriture ▪ les tests ▪ les boucles 1 ére année 2019/2020 14
  15. 15. Notion de variable  Une variable sert à stocker la valeur d’une donnée dans un langage de programmation  Une variable est une étiquette d’une case mémoire servant à stocker provisoirement une donnée modifiable.  Une variable dont le contenu ne peut être modifié par un algorithme est appelée constante.  Règle : Les variables doivent être avant d’être utilisées, elle doivent être caractérisées par :  Nom ou identificateur  Type du contenu de la variable (entier, réel, caractère, chaîne de caractères, ...) 1 ére année 2019/2020 15
  16. 16. Choix des identificateurs  Le choix des noms de variables est soumis à quelques règles qui varient selon le langage, mais en général:  un nom doit commencer par une lettre alphabétique Exemple valide: A1 Exemple invalide: 1A  doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces)  Exemple valide: YEAR2019, YEAR_2019 Exemple invalide: YEAR 2019, YEAR- 2019,YEAR;2019  doit être différent des mots réservés du langage (par exemple en java: int, float, else, for, main ...) 1 ére année 2019/2020 16
  17. 17. Constante  Une constante est une variable dont la valeur ne change pas au cours de l'exécution du programme, elle peut être un nombre, un caractère, ou une chaine de caractères.  Exemple : pour calculer la surface des cercles, la valeur de pi est une constante mais le rayon est une variable.  Constante PI=3.14 : réel, MAXI=32 : entier  Une constante doit toujours recevoir une valeur dès sa déclaration. 1 ére année 2019/2020 17
  18. 18. Affectation  L’affectation consiste à attribuer une valeur à une variable (c’est-à-dire remplir ou modifier le contenu d'une zone mémoire)  En pseudo-code, l'affectation est notée par le signe ←  Var← e : attribue la valeur de e à la variable Var  Exemples : i ←1 ; j ←i k ←i+j ; x ←10.3 OK ←FAUX ; ch1 ←"SMI" ch2 ←ch1 ; x ←4 ; x ←j  (avec i, j, k : entier; x :réel; ok :booléen; ch1,ch2 :chaine de caractères)  Exemples non valides: i ←10.3 OK ←"SMI" j ←x 1 ére année 2019/2020 18
  19. 19. Exercice sur Affectation  Donner les valeurs des variables A,B et C après exécution des instructions suivantes:  Variable: A , B , C : entier Début A 3 B 7 A  B BA+5 CA+B CB-A Fin. 1 ére année 2019/2020 19
  20. 20. Notion de Type 1 ére année 2019/2020 20  Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre.  En pseudo-code, on va adopter la forme suivante pour la déclaration de variables:  Variables liste d’identificateurs: type  Les principaux types utilisés en algorithmique sont : ✓ le type entier ✓ le type réel ✓ le type caractère ✓ le type chaîne de caractères ✓ le type logique ou booléen
  21. 21. Types des variables  Le type d’une variable détermine l’ensemble des valeurs qu’elle peut prendre. Les types offerts par la plus part des langages sont:  Type numérique (entier ou réel) ➢ Byte (codé sur 1octet): de [-27,27[ ou [0, 28[ ➢ Entier court (codé sur 2 octets) : [-215,215[ ➢ Entier long (codé sur 4 octets): [-231,231[ ➢ Réel simple précision (codé sur 4 octets) : précision d’ordre 10-7 ➢ Réel double précision (codé sur 8 octets) : précision d’ordre 10-14  Type logique ou booléen: deux valeurs VRAI ou FAUX  Type caractère: lettres majuscules, minuscules, chiffres, symboles,.. Exemples : ’A’, ’b’, ’1’, ’?’, …  Type chaîne de caractère: toute suite de caractères Exemples: " " , " Nom, Prénom", "code postale: 1000", … 1 ére année 2019/2020 21
  22. 22. Les instructions d’entrées et sorties : lecture et écriture  Les instructions de lecture et d'écriture permettent à la machine de communiquer avec l'utilisateur  La lecture permet d'entrer des donnés à partir du clavier  En pseudo-code, on note: lire (var) la machine met la valeur entrée au clavier dans la zone mémoire nommée var  Remarque: Le programme s'arrête lorsqu'il rencontre une instruction Lire et ne se poursuit qu'après la saisie de l’entrée attendue par le clavier et de la touche Entrée (cette touche signale la fin de l’entrée) 1 ére année 2019/2020 22
  23. 23. Les instructions d’entrées et sorties : lecture et écriture  Les instructions d’entrées et sorties : lecture et écriture  L'écriture permet d'afficher des résultats à l'écran (ou de les écrire dans un fichier)  En pseudo-code, on note: écrire (liste d’expressions) la machine affiche les valeurs des expressions décrite dans la liste. Ces instructions peuvent être des variables ayant des valeurs, des nombres ou des commentaires sous forme de chaines de caractères.  Exemple : écrire(a) écrire(b+2) écrire ("Message") 1 ére année 2019/2020 23
  24. 24. Exemple 1 : lecture et é Exemple : lecture et écriture  Écrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui calcule et affiche le carré de ce nombre Algorithme Calcul_du_Carre Données : un entier Résultats : le carre du nombre variables A, B : entier Début écrire("entrer la valeur de A ") lire(A) B ← A*A écrire("le carre de ", A, "est :", B) Fin 1 ére année 2019/2020 24
  25. 25. Exemple 2 :  Écrire un algorithme qui permet d’effectuer la saisie d’un nom, d’un prénom et affiche ensuite le nom complet Algorithme AffichageNomComplet … variables Nom, Prenom, Nom_Complet : chaîne de caractères Début écrire("entrez le nom") lire(Nom) écrire("entrez le prénom") lire(Prenom) Nom_Complet ← Nom & " " & Prenom écrire("Votre nom complet est : ", Nom_Complet) Fin 1 ére année 2019/2020 25

×