1-1-Définitions du terme « algorithme »: Cours 2 : bases d’algorithmique Le mot

1-1-Définitions du terme « algorithme »: Cours 2 : bases d’algorithmique Le mot algorithme signifie étymologiquement le nom d’un mathématicien arabe du moyen âge : Al-Khawarizmi, il a été le premier a décrire une méthode claire pour la résolution d’équation en 825. Un algorithme est une séquence finie d’instructions faite pour être exécutée dans le but de résoudre un problème précis, nous retiendrons qu’un algorithme est une séquence d’instructions exécutées de façon logique mais non intelligente. 1-2-Définitions de l’algorithme : Cours 2 : bases d’algorithmique Un algorithme sert à transmettre un savoir faire. Il décrit clairement les étapes à suivre pour réaliser un travail. Il permet d'expliciter clairement les idées de solution d'un problème indépendamment d'un langage de programmation. 1-4- Les avantages de l’utilisation d’algorithme : Cours 2 : bases d’algorithmique Un algorithme doit être lisible et compréhensible par plusieurs personnes, donc, chaque algorithme doit être composé des éléments suivants: Algorithme nom_de_algorithme Variables: Liste des variables utilisées dans l’algorithme. Début Instructions Fin 2-1- Convention d’écriture : Cours 2 : bases d’algorithmique Titre décrivant l’utilité de l’algorithme Liste et type de toutes les variables utilisées par l’algorithme Le traitement a effectuer par l’algorithme (bloc d’instruction) Le premier concept nécessaire pour concevoir un algorithme est celui de variable, une variable est l’adresse d’un emplacement dans la mémoire ou est stockée une valeur, une variable porte un nom, ce nom est laisse au choix du concepteur de l’algorithme, il doit commencer par une lettre et ne pas comporter d’espace, on se sert du nom d’une variable pour lire sa valeur ou bien pour la modifier. 2-2-Variables – définition: Cours 2 : bases d’algorithmique étudiant Note2 ESTC étudiant universitaire 2017Info 2-2-Variables (exemples): Cours 2 : bases d’algorithmique Nous manipulerons les types couramment rencontrés dans les langages de programmation : Naturel: Entier: Réel: booléen: caractère, chaîne,…... 2-2-Variables – les types : Cours 2 : bases d’algorithmique Vérifiez si les opérations suivantes sont possible, quel type donne le résultat : ……………….……←naturel + naturel ……………….……←entier - entier ……………….……←réel * réel ……………….……←naturel / entier ……………….……←entier + réel ………………….…←naturel / réel ……………….……←caractère + caractère ………………….…←caractère + chaine de caractères ………………….…←caractère – chaine de caractères 2-2-Variables – les types (exemple): Cours 2 : bases d’algorithmique naturel entier réel réel réel réel chaine de caractères chaine de caractères impossible L'affectation est une opération permettant de modifier la valeur d’une variable, la syntaxe de l'affectation est la suivante : nomvariable ←valeur nomvariable est le nom de la variable dont on souhaite modifier la valeur, valeur est la valeur que l’on veut placer dans l’emplacement de la variable, notez bien que cette valeur doit être de même type que la variable. 2-2-Variables - les opérations : Cours 2 : bases d’algorithmique A ←5 (affectation) A ←A+1 (incrémentation) place la valeur 5 dans la variable A, si A contenait préalablement une valeur, celle-ci est écrasée. On peut aussi affecter à une variable la valeur d’une autre variable : A ←5 C ←A+B 2-2-Variables - les opérations : Cours 2 : bases d’algorithmique On prend la valeur contenue dans la variable A. On prend la valeur contenue dans la variable B. On additionne ces deux valeurs. On met ce résultat dans la variable C. Operations arithmétiques: + , - , * , / : concernant les variables de type numériques (naturel, entier, réel,…..). Operations de comparaisons: <, =, >, ≤, ≥, ≠ : concerne les variables de possédant un ordre (numérique ou caractère). Operations logiques: Non, et, ou, ouExlusif : s’applique aux operateurs logiques (booléens). Operations sur les caractères et les chaines de caractères: + : la concaténation. 2-2-Variables - les opérations : Cours 2 : bases d’algorithmique Quelles sont les valeurs des variables après l’exécution des instructions suivantes ? A ←1 B ←2 C ←3 D ←A A ←C+1 B ←D+C C ←D+1 2-2-Variables - les opérations (exemple): Cours 2 : bases d’algorithmique Pour exécuter manuellement les instructions, on construit un tableau nous montrant les valeurs des variables au fil des exécutions : instruction A B C D Début ni ni ni ni A ←1 1 ni ni ni B ←2 1 2 ni ni C ←3 1 2 3 ni D ←A 1 2 3 1 A ←C+1 4 2 3 1 B ←D+C 4 4 3 1 C ←D+1 4 4 2 1 La table de vérité des fonctions logiques : Non Et Ou ouEx 2-2-Variables – booléens : Cours 2 : bases d’algorithmique Rappels sur la logique booléenne : Valeurs possibles :Vrai ou Faux. Associativité des opérateurs et et ou : a et (b et c) = (a et b) et c Commutativité des opérateurs et et ou : a et b = b et a a ou b = b ou a Distributivité des opérateurs et et ou : a ou (b et c) = (a ou b) et (a ou c) a et (b ou c) = (a et b) ou (a et c) Loi de Morgan : non (a ou b) = non a et non b non (a et b) = non a ou non b 2-2-Variables – booléens : Cours 2 : bases d’algorithmique Tout comme en arithmétique les opérateurs booléens ont des priorités, la priorité des opérateurs est: ( ) > non > et > ouEx > ou Encas d’égalité de la priorité, l’évaluation s’effectue de gauche a droite. Algorithme Démonstration variables: A, B, C : numériques. t : chaine de caractères. Début A ←1 B ←A+1 C ←A A ←A+1 t ←‘exemple1’ + ‘exemple2’ Fin 2-3- Lisibilité : Cours 2 : bases d’algorithmique La lisibilité des algorithmes est un critère de qualité important, un algorithme correct mais indéchiffrable est aussi efficace qu’un algorithme faux, donc c’est un algorithme faux, vous devrez par conséquent soigner particulièrement vos algorithmes, ils doivent être faciles a lire, et rédigés de sorte qu’un lecteur soit non seulement capable de l’exécuter, mais aussi capable de le comprendre rapidement. De nombreux algorithmes ont pour but de communiquer avec un utilisateur, cela se fait dans les deux sens, les sorties sont des envois de messages a l’utilisateur, les entrées sont des informations fournies par l’utilisateur. 3-1- Les entrées/sorties : Cours 2 : bases d’algorithmique Utilisateur computer >>Donne moi les données que vous voulez traiter? >> Données saisies >> Voila le résultat:Entrée des données à traiterDemande de données Affichage des résultats Lecture : Il est possible de demander à un utilisateur du programme de saisir une valeur, la syntaxe de la saisie est la suivante : Lire(nomvariable) La saisie interrompt le programme jusqu’a ce que l’utilisateur ait saisi une valeur au clavier, une fois cela fait, la valeur saisie est placée dans la variable nomvariable, il est possible de saisir plusieurs variables a la suite : lire(A,B,C) place trois valeurs saisies par l’utilisateur dans les variables A, B et C. 3-1- Les entrées/sorties : Cours 2 : bases d’algorithmique Ecriture : Pour afficher un message a destination de l’utilisateur, on se sert de la commande: écrire(message) Cette instruction affiche le message a l’utilisateur, par exemple écrire(‘bonjour’) affiche bonjour sur l’écran, (les guillemets sont très importantes), il est aussi possible d'afficher le contenu d’une variable : écrire(A) affiche l’écran le contenu de la variableA. 3-1- Les entrées/sorties : Cours 2 : bases d’algorithmique Ecriture : On peut mélanger les messages et les valeurs des variables, par exemple, les instructions: écrire(‘la valeur deA est :’) écrire(A) ont le même effet que l’instruction écrire(‘la valeur deA est :’,A) Lorsque l’on combine messages et variables dans les instructions d'affichage, on les sépare par des virgules. 3-1- Les entrées/sorties : Cours 2 : bases d’algorithmique Cet algorithme demande a l’utilisateur de saisir un entier, ensuite il affiche la valeur saisie puis la même valeur incrémentée de 1. Algorithme Affichage_incrément variables : a: entier Début écrire(‘Saisissez une valeur numérique’) lire(a) écrire(’Vous avez saisi la valeur:’, a) écrire(‘ a+1 =’,a+1) Fin 3-1- Les entrées/sorties (exemple) : Cours 2 : bases d’algorithmique computer >>Saisissez une valeur numérique >> 12 >> vous avez saisi la valeur : 12 >> a+1 = 13 On appelle traitement conditionnel un bloc d’instructions dont l’exécution est soumise à la vérification d’un test. si ... alors La syntaxe d’un traitement conditionnel est la suivante : Si condition alors Instructions fin si Les instructions ne sont exécutées que si condition est vérifiée, par exemple: Si A = 0 alors écrire(‘la valeur de la variableA est nulle’) fin si 3-2-Traitements conditionnels : Cours 2 : bases d’algorithmique Si la variable A, au moment du test, a une valeur nulle, alors l’instruction écrire(‘La valeur de la variable A est nulle’) est exécutée, sinon, elle est ignorée. Condition: Une condition est une comparaison, son résultat est de type booléen, et prend donc deux valeurs: vrai ou faux. L’évaluation de la condition s’effectue de la même manière que l’évaluation d’une expression booléenne, exemple: Lire(moyenne) Si moyenne ≥10 alors écrire(‘étudiant admis’) finsi 3-2-Traitements conditionnels : Cours 2 : bases d’algorithmique On peu ajouter une autre condition: Lire(moyenne, sanction_disciplinaire) Si moyenne ≥10 et non sanction_disciplinaire alors écrire(‘étudiant admis’) finsi Conditions Une condition peut être uploads/Philosophie/ indpet1an-info-bases-de-l-algoritmique.pdf

  • 41
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager