Algorithmes et résolution de problèmes 18279 FGE Section II Le Cycle de développement d’algorithmes Algorithmes et résolution de problèmes 18279 FGE
Contenu Le design structuré L’algorithme Hiérarchie des données
Le Design structuré Le cycle de développement comprend : Analyser le système actuel Définir les besoins du nouveau système Concevoir le nouveau système Développer le nouveau système Développer les programmes Mettre en place le nouveau système Évaluer le nouveau système
Le Design structuré Le cycle de développement de programme comprend: Réviser les besoins du programme Développer la logique du programme Charte hiérarchique (modularization) Ordinogramme et pseudocode Écrire le programme Tester et débogger le programme Compléter la documentation du programme
L’algorithme L’ordinateur est rapide, mais n’est pas intelligent Ce n’est qu’un outil Il faut lui dire quoi faire, et comment le faire Pour que l’ordinateur puisse résoudre un problème, il faut lui fournir un algorithme Processus décrivant étape par étape comment résoudre le problème
L’algorithme (suite) Un algorithme doit respecter les deux contraintes suivantes Il doit exploiter un ensemble restreint d’opérations de base Un ordinateur ne comprend que des instructions très simples Il doit produire les résultats voulus en exécutant un nombre fini de ces opérations Sinon l’ordinateur ne résoudra jamais le problème
L’algorithme (suite) Nous appliquons des algorithmes à chaque jour Exécuter une séquence d’opérations afin d’atteindre un but (i.e. résoudre un problème) Exemples Se lever le matin Manger Aller au travail …
L’algorithme (suite) Exemple: se lever le matin Organigramme Début Fin Se lever du lit Déjeuner Prendre une douche Se laver les dents S’habiller Exemple: se lever le matin Organigramme Synonymes: ordinogramme, diagramme de flux, diagramme logique Chaque opération est représentée par un rectangle: symbole d’opération Un algorithme doit avoir Un et un seul point d’entrée: Un et un seul point de sortie: Ils sont appelés symboles terminaux Début Fin
L’algorithme (suite) Exemple: se lever le matin Organigramme (suite) Les symboles sont reliés par des lignes de flux Indiquent le flux d’exécution La flèche indique la direction du flux Chaque symbole d’opération dispose de Un et un seul flux d’entrée Un et un seul flux de sortie Le flux d’exécution dans l’exemple ci-contre est séquentiel C’est une séquence simple d’opérations Début Fin Se lever du lit Déjeuner Prendre une douche Se laver les dents S’habiller
L’algorithme (suite) Les algorithmes appliqués dans la vie quotidienne sont informels Ils ne sont pas écrit On les suit avec plus ou moins de précision Les algorithmes appliqués dans des procédures précises doivent être appliqués avec précision Opérations financières, calculs scientifiques, règles de jeux, gestion de réseaux, etc…
L’algorithme (suite) Indépendamment du type de procédure représenté, un algorithme est composé au minimum des trois éléments suivants Les données entrant dans l’algorithme (d’où le terme entrées) Les opérations transformant les données en résultats Les résultats sortant de l’algorithme (d’où le terme sorties)
Hiérarchie de données La hiérarchie de données définie comment les données entrantes sont structurées Quatre niveaux de décomposition des données Fichier (composé de dossiers) Dossier (composé de champs) Champs (composé de caractères) Caractère (unité de base de l’information) L’algorithme exploite cette structure hiérarchique pour accéder aux données requises
Hiérarchie de données (suite) Fichier Un regroupement d’information constituant des faits sur un groupe d’entités Exemple : données de paie pour tous les employés de l’entreprise Dossier Un regroupement d’information retrouvé dans un fichier et constituant les faits reliés à une seule entité du fichier Exemple : données de paie pour un employé
Hiérarchie de données (suite) Champs Une information retrouvée dans un dossier et constituant un fait sur un employé Exemple: le nom de l’employé Caractère Une lettre (A-Z, a-z), un chiffre (0-9) ou un symbole de ponctuation (. , ? $ % …) retrouvé dans un champs Exemple: un des caractères constituant le nom de l’employé
Hiérarchie de données (suite) Fichier Exemple Champs Dossier # d’employé Nom Prénom Adresse Taux horaire Codes de déductions 06337 Landry Sophie 1, Ave du… 23.45 G13-S 09155 Richard Harry 17, Rue de… 19.57 F45-S 16840 Gagné Étienne 1345, Billings… 44.77 X12-A 21458 Smith John 663, Wolf… F44-S . Caractère
Hiérarchie de données (suite) Uniformité des données Généralement, tous les dossiers d’un fichier ont le même format (i.e. même séquence de champs) Dans tous les dossiers, un même champs a toujours le même format (i.e. même type de caractères) Cette uniformité assure un accès uniforme aux données