27/09/2016 1 Algorithmique et programmation en C Partie I : Algorithmique (intr

27/09/2016 1 Algorithmique et programmation en C Partie I : Algorithmique (introduction) Dr TSOPZE N. tsopze@uy1.uninet.cm Ce support doit être imprimé par chaque étudiant, il le complétera pendant les séances de cours 1 Objectif - but • obtenir de la «machine» qu’elle effectue un travail à notre place –Comment doit elle procéder? –Avec quel langage communiquer? –Avantages: gain de temps 2 Définitions • suite finie d'actions à entreprendre en respectant une chronologie imposée pour résoudre un problème particulier – …………………………………………………………………. – ……………………………………………………………………….. – Ne contenir que des instructions compréhensibles par celui qui devra l’exécuter • suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné – Algorithme juste  …………………………………………… – Algorithme faux  ……………………………………………. 3 Définitions (en Info.) • Suite finie de calculs dont l’exécution dans l’ordre conduit à un résultat • transformation des données en résultats: – Préparation du traitement : décrire les données nécessaires à la résolution du problème (leur forme, leur type,…) – Traitement : ……………………………………………………… ……………………………………………………………….. – Edition des résultats : ………………………………………… ………………………………………………… 4 Définitions (en Info.) • Interlocuteur = Ordinateur – Ne connait que les instructions basiques: on doit tout lui dire – Ne comprend que les données élémentaires – Ne fait JAMAIS d’erreur – Capable de comprendre un mélange complexe des données ou des instructions élémentaires – Pour lui, tout doit être EXPLICITE 5 Astuces • Intuitif: il n’existe aucun moyen de savoir a priori quelles instructions permettront d’obtenir le résultat voulu  cultiver l’expérience • méthodique et rigoureux : toujours s’assurer que l’algorithme est juste ie se mettre à la place de la « machine » et exécuter l’algorithme instructions après instructions 6 27/09/2016 2 Algorithmique vs Programmation Algorithmique Programmation Instructions indépendantes du langage Propre à un langage Définir le plan, la structure logique d’un programme Donne tous les détails dans un langage (concepts du langage) Programme: algorithme traduit en un langage compréhensible par l’ordinateur 7 Dossier algorithmique • Problème • Principe de résolution • Environnement • Algorithme proprement dit 8 Problème • Question à laquelle il faut donner une réponse – Sens général: les éléments sont variables • Comment partir d’un point A à un point B? – Sens particulier: cas particulier du problème • Comment partir de Yaoundé à Douala? • Problème bien compris  …………………………… ………………………………………….. • Problème mal compris ……………………………… « Le plus dur dans la correction d’une erreur n’est pas de la corriger mais de la trouver » 9 Problème • Point de départ: – Valeurs en entrée (ce qu’on dispose) – Représentation des entrées – Conditions à prendre à compte • Point d’arrivée: – Valeurs en sortie: produit obtenu après transformation (algo) – Représentation et interprétation des résultats 10 Problème (en algo.) • Dire comment on comprend le problème à résoudre • Réécrire en ses propres expressions le problème • Description des données et des résultats • Description des contraintes • Description des limites 11 Principe de résolution • Description littérale de la méthode de résolution du problème • Enoncer les théorèmes connus (si le problèmes est mathématique) pouvant faciliter la résolution • Décrire les formules qui lient les données (en entrée) aux résultats (données en sortie) 12 27/09/2016 3 Environnement • Description dans un tableau de tous les objets à utiliser dans la méthode de résolution: – Nom: …………………………………………….. – Type: …………………………………………………….. – Utilisation: ………………………………………………….. – Valeur initiale: …………………………………………………. – Valeur finale: ………………………………………………………. – Sens: définition de ce qu’il contient 13 Algorithme Algorithme nom_algo [entrées, résultats] //Rôle: dire ce que fait l’algorithme Déclaration des types Déclaration des variables Début instruction 1 instruction 2 ….. Fin 14 Objets simples et instructions simples 15 Types simples • Eléments de « départ » • Supposés « connus » de l’ordinateur • Ensemble d’opérations pour les manipuler • Représenter sur une certaine taille (en bits) • Opérandes dans les instructions simples • Peuvent être combiner pour former les types complexes 16 Types simples • Booléen : valeur représentée sur …………(VRAI, FAUX) • Caractère : représenté sur ……………………. • chaines de caractères : suite consécutive de ……………………………………………… • Entier : représenté sur …….. …………….. bits ; • réel : représenté sur ……………………………..bits. 17 Types simples (opérations) • Booléen : – Négation  …………………………. – Et  ………………………………………. – Ou  ……………………………………………. – Comparaison: …………………………………………………… • Caractère : – Comparaison  ………………………………………………….. • chaines de caractères : • Longueur (ch): donne le nombre de caractères dans ch • Concaténer  ch1+ch2 18 27/09/2016 4 Types simples (opérations) Nombre (Entier, réel) • Addition +  a+b • Multiplication: *  a*b • Soustraction : -  a-b • Opposé: -  -a • Division (entière): div ou ÷ • Division réelle: / • Modulo (reste de la division): mod ou modulo 19 Identificateur • nom donné à un espace mémoire ou à un objet pour le désigner tout au long de l’algorithme; – …………………………………………. – ………………………………………………… – ………………………………………………………. – …………………………………………………………. • Composés d’un mélange de lettres, chiffres et de « _ », commençant toujours par une lettre 20 Variable • Objet dont la valeur peut changer au cours de l’exécution de l’algorithme – stocker provisoirement des valeurs, données issues du disque dur, fournies par l’utilisateur, de résultats obtenus par le programme, intermédiaires ou définitifs – Possède toujours un type • « boite » que l’ordinateur manipule par une étiquette (son identificateur) 21 Variable (déclaration) • réserver de l’espace mémoire pour stocker des données Var <liste d’identificateurs> : type <liste des identificateurs> : type Var val, unNombre: entier nom, prénom : chaînes de caractères 22 Constante • objet dont la valeur ne doit jamais tout au long de l’algorithme • Déclarer réserver de l’espace mémoire pour stocker des données dont la valeur est fixée pour tout l’algorithme constante (<identificateur> : type) ←<expression> Constante MAX : entier ←100 DOUBLEMAX : entier ←MAX ×2 ; DEUX5; 23 Utilisation des objets • Opérande • résultat (à l’exception des constantes) • pour la réception (saisie) des données de l’utilisateur • pour lui afficher le résultat (écran). • pour passer les paramètres aux procédures et aux fonctions. 24 27/09/2016 5 Instruction • Ordre que l’on doit exécuter: • Simple: ………………………………………………….. • Composée: ……………………………………………. ………………………………………………………………. • Seul moyen permettant de manipuler les objets • Éléments qui composent un algorithme 25 Instructions simples • Commentaire: simple explication • Affichage du contenu d’un objet – écrire à l’écran la valeur contenue dans l’objet. – Ne modifie pas la valeur de l’objet. ecrire(liste de noms de variables, de constantes ou d’expressions) • Saisie de la valeur d’un variable – communiquer à l’ordinateur les valeurs de ses données. Après l’exécution de cette instruction, les variables contiennent les valeurs saisies par l’utilisateur. Lire(liste des variables) 26 Instructions simples • Affectation des valeurs – ranger la valeur d’une expression dans une variable; – deux parties séparées par une flèche : variable et expression. • ………………………………………………………………………………… …………………………………………………………………………………... Var ← Expression ; – Après l’exécution de cette instruction, la variable Var contient le résultat de calcul de l’expression « expression ». Il est strictement interdit de mettre une constante à la place de Var. 27 Instructions simples Affectation • permet de ranger la valeur d’une expression dans une variable. deux parties séparées par une flèche : – Variable – Expression (variable, constante, calcul arithmétique ou logique). Var ← Expression ; – Après l’exécution de cette instruction, la variable Var contient le résultat de calcul de l’expression « expression ». I – Interdiction stricte de mettre une constante à la place de Var. nom ←"Venus" val ←50 val ←val ×2 28 Simulation d’un algorithme • exécuter séquentiellement et dans l’ordre l’algorithme instructions après instructions. • trouver ce que fait l’algorithme. – représenter dans un tableau en colonne les différents objets manipulés dans l’algorithme et en ligne les instructions. – A chaque intersection, placer la valeur que prend l’objet après l’exécution de l’instruction. 29 Instructions composées • composées de plusieurs instructions simples. • constituent le bloc d’instructions que l’on voudrait exécuter suivant une condition ou de manière répétitive. –………………………………………………………………… –……………………………………………………….. 30 27/09/2016 6 Structures conditionnelles • spécifier les instructions dont l’exécution dépend du résultat d’une condition Cas 1: sans alternative si <expression logique> alors bloc d’instructions finsi suite … 31 Structures conditionnelles Cas 2: avec alternative si <expression logique> alors bloc d’instructions N°1 sinon bloc d’instructions N°2 finsi suite … 32 Structures conditionnelles Cas 3: alternative + imbrication si <expression logique> alors bloc d’instructions N°1 sinon si <expression logique> alors bloc d’instructions N°2 finsi finsi suite … 33 Choix • Plus deux choix possibles, • facilite l’écriture. selon <identificateur> (liste de) valeur(s) : instructions (liste de) valeur(s) : instructions… [défaut: instructions] Fin 34 Structures itérations (boucles) • répéter un certain nombre de fois ou jusqu’à la vérification d’une condition un bloc d’instructions –Pour –Tant que condition –Répéter … jusqu’à condition 35 Boucle pour répéter une suite d’instructions un certain nombre de fois pour <compteur> allant de val_init à val_fin [pas=constante] faire Bloc d’instructions Fpour Suite… NB: ……………………………………………………………………… …………………………………….…………………… 36 27/09/2016 7 Boucle pour • Le bloc d’instructions est exécuté autant de fois que le nombre de valeurs uploads/s3/algo-student 1 .pdf

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