UNIVERSITE INTERNATIONALE DE CASABLANCA Cours: Algorithmique (Partie 1) EL OUKK
UNIVERSITE INTERNATIONALE DE CASABLANCA Cours: Algorithmique (Partie 1) EL OUKKAL Sanae, s.eloukkal@gmail.com Plan du Cours • Les notions de bases • Les outils de bases de l’algorithmique • Les instructions élémentaires en algorithmique • Les instructions conditionnelles et alternatives • Fonctions et Procédures • Tableaux • … 13/02/2019 2 MIAGE - S2 Objectif du Cours • Savoir analyser les problèmes • Suivre une logique structurée pour la résolution de problèmes • Savoir présenter une solution avec un raisonnement explicite concevoir et écrire des algorithmes 13/02/2019 3 MIAGE - S2 Étapes pour résoudre un problème (écrire un programme) Énoncé du programme Cahier des charges Algorithme Programme Source Programme Exécutable Version Finale / Résultat Spécification Analyse Traduction en Langage Compilation Tests et Modification 13/02/2019 4 MIAGE - S2 L’algorithme de tous les jours!! • Indiquer un chemin à quelqu’un • Faire chercher un objet à quelqu’un par téléphone • Recette de cuisine • Mode d’emploi d’un appareil électronique • Notice de montage d’un meuble en kit • … 13/02/2019 5 MIAGE - S2 Algorithme • Un algorithme est une description complète et détaillée des actions à effectuer et de leur séquencement pour arriver à un résultat donné • Processus décrivant étape par étape comment résoudre un problème 13/02/2019 6 MIAGE - S2 Algorithme • Pour fonctionner, un algorithme doit contenir uniquement des instructions compréhensibles par celui qui devra l’exécuter . • Il doit être très clair pour certains voir tout le monde. 13/02/2019 7 MIAGE - S2 Algorithme • L’ordinateur est rapide, mais n’est pas intelligent, Il faut lui dire quoi faire, et comment le faire. • Il faut lui fournir un algorithme : décrire étape par étape comment résoudre le problème – Si l’algorithme est juste, le résultat est le résultat voulu, – Si l’algorithme est faux, le résultat est aléatoire 13/02/2019 8 MIAGE - S2 Algorithme Maitriser l’algorithme Intuition Méthodique et rigoureux 13/02/2019 9 MIAGE - S2 Représentation d’algorithme • Deux façons pour représenter un algorithme: – L’Organigramme: représentation graphique avec des symboles (carrés, losanges, etc.) • Offre une vue d’ensemble de l’algorithme • Représentation quasiment abandonnée aujourd’hui – Le pseudo-code: représentation textuelle avec une série de conventions ressemblant à un langage de programmation (sans les problèmes de syntaxe) • Plus pratique pour écrire un algorithme / traduire en un langage • Représentation largement utilisée 13/02/2019 10 MIAGE - S2 En Résumé • Construire un algorithme dépend des étapes suivantes : Données (Input) Opérations (Instructions Finies) • Contient uniquement des instructions compréhensibles par celui qui devra l’exécuter. Résultats (Output) 13/02/2019 11 MIAGE - S2 Algorithmique et Programmation • Pourquoi apprendre l’algorithmique pour apprendre à programmer ? – Parce que l’algorithmique exprime les instructions résolvant un problème donné indépendamment des particularités de tel ou tel langage. – Apprendre l’algorithmique, c’est apprendre à manier la structure logique d’un programme informatique. – L’algorithmique utilise un ensemble de mots clés et de structures permettant de décrire de manière complète, claire, l’ensemble des opérations à exécuter sur des données pour obtenir des résultats. 13/02/2019 12 MIAGE - S2 Caractéristiques d’un Algorithme • Validité • Robustesse • Réutilisabilité • Complexité • Efficacité 13/02/2019 13 MIAGE - S2 Caractéristique d’un Algorithme Algorithme Validité Un algorithme n’est valide que lorsqu’on retrouve le résultat voulu pendant son exécution Robustesse La capacité d’un algorithme de se protéger par rapport à de mauvaises manipulations Réutilisabilité Son aptitude à être réutilisé pour d’autres situations similaires à celles pour lesquelles il a été conçu Complexité Le nombre d’instructions élémentaires à exécuter pour réaliser la tâche pour laquelle il a été conçu. Efficacité L’optimisation des ressources matérielles pour l’exécution d’un algorithme. 13/02/2019 14 MIAGE - S2 NOTIONS DE BASE 13/02/2019 15 MIAGE - S2 Notion de Variable • Un Emplacement pour stocker des valeurs ou données, des valeurs intermédiaires ou des résultats. • Une variable correspond toujours à une valeur • Son contenu peut être modifié par une action durant l’exécution d’un algorithme. 13/02/2019 16 MIAGE - S2 Notion de Variable • La valeur de la variable appartient à un domaine particulier défini par un type de base. • les quatre types de base de toute algorithmique informatique sont: – Les booléens (BOOLEEN) – Les entiers (ENTIER) – Les flottants (REEL) – Les caractères (CARACTERE) 13/02/2019 17 MIAGE - S2 Type des Variables • Type numérique (entier ou réel) Nombre entier: – Byte(codé sur 1octet): de 0 à 255 – Entier court(codé sur 2 octets) : -32 768 à 32 767 – Entier long (codé sur 4 ou 8 octets) Nombre à virgule: – Réel simple précision(codé sur 4 octets) – Réel double précision(codé sur 8 octets) • Type logique ou booléen: – Deux valeurs : VRAI ou FAUX 13/02/2019 18 MIAGE - S2 Type des Variables • Type caractère: – Lettres majuscules, minuscules, chiffres, symboles, … Exemples: ’A’, ’a’, ’1’, ’?’ • Type chaîne de caractère: – Toute suite de caractères, Exemples: "MIAGE", "Casablanca" 13/02/2019 19 MIAGE - S2 Type des Variables • Type Date: – Jour/Mois/Année • Type Monétaire: – Numérique 13/02/2019 20 MIAGE - S2 Déclaration d’une Variable • Les variables doivent être déclarées avant d’être utilisées, • Elles doivent être caractérisées par : – un nom (Identificateur) – un type (entier, réel, caractère, chaîne de caractères, …) Variables liste d'identificateur : type; 13/02/2019 21 MIAGE - S2 Déclaration d’une Variable • Les noms des variables peuvent comporter des lettres et des chiffres, • Un nom doit commencer par une lettre alphabétique , Valide: A1 Invalide: 11S 13/02/2019 22 MIAGE - S2 Déclaration d’une Variable • Doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces), Valide: A_2018 Invalide: A 2018 13/02/2019 23 MIAGE - S2 • Doit être différente des mots réservés aux langages de programmation. Déclaration d’une Variable • Conseil: – Pour la lisibilité du code, choisir des noms significatifs qui décrivent les données manipulées – Toute variable utilisée dans un algorithme/programme doit avoir fait l’objet d’une déclaration préalable 13/02/2019 24 MIAGE - S2 Déclaration d’une Variable Variables liste d'identificateur : type • Exemple: Variables i, j, k : entier; x, y : réel; OK : booléen; ch1, ch2 : chaîne de caractères; 13/02/2019 25 MIAGE - S2 CONSTANTE 13/02/2019 26 MIAGE - S2 Définition d’une Constante • C’est une donnée fixe dont la valeur ne varie pas durant l’exécution d’un algorithme. • Une constante est caractérisée par son nom et sa valeur fixe. 13/02/2019 27 MIAGE - S2 Déclaration de la Constante Constante (Nom_Constante : type) valeur; Constante Nom_Constante = valeur ; • Exemple : – Constante Pi = 3.14 ; – Constante Mois = "Avril" ; 13/02/2019 28 MIAGE - S2 Remarque • " 150" est différent de 150 • 1 est différent de ‘1’ • Conseil: – Pour éviter de confondre un nombre d’une chaine, il faut TOUJOURS noter une chaine entre guillemets! 13/02/2019 29 MIAGE - S2 L’INSTRUCTION D’AFFECTATION 13/02/2019 30 MIAGE - S2 L’ Affectation • L’affectation consiste à attribuer une valeur à une variable – ça consiste à remplir où à modifier le contenu d'une zone mémoire • L'affectation se note avec le signe Variable exp : attribuer la valeur de exp à la Variable 13/02/2019 31 MIAGE - S2 L’ Affectation Variable exp ; – exp peut être une valeur, une autre variable ou une expression – Variable et exp doivent être du même type ou de types compatibles – L’affectation ne modifie que ce qui est à gauche de la flèche 13/02/2019 32 MIAGE - S2 Remarque • L’affectation n’est pas commutative: – A B est différente de B A – L’affectation est différente d’une équation mathématique • A = A+1 : possible • A+1 = 2 : pas possible 13/02/2019 33 MIAGE - S2 Affectation : Exemple • k ←i+j; • OK ← ‘’MIAGE ‘’; • x ←10.3; • ch2 ←ch1 ; • x ←4; • x ←j; • i ←10.3 ; • OK ←FAUX ; • ch1 ← ‘’MIAGE ‘’; • j ←x; • i ←1; • j ←i; Variables i, j, k : entier x, y : réel OK : booléen ch1, ch2 : chaîne de caractères 13/02/2019 34 MIAGE - S2 Ordre des Instructions Variable A : Entier; Début A 28; A 7; Fin Variable A : Entier; Début A 7; A 28; Fin • L’ordre dans lequel les instructions sont écrites va jouer un rôle essentiel dans le résultat final. 13/02/2019 35 MIAGE - S2 Ordre des Instructions : Exemple Exemple 3 • A 1; • B 3+A; • A 3; Exemple 4 • A 5; • B 3; • C A+B; • A 2; • B 2; • C B-1; Exemple 1 Exemple 2 • A 3; • B 5; • A B; • B A; • A 3; • B A; • A A+B; • B A+B; 13/02/2019 36 MIAGE - S2 Ordre des Instructions: Exercice 1 uploads/Management/ cours-algorithme-partie1.pdf
Documents similaires
-
15
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 03, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.7711MB