info:algo:introduction

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
info:algo:introduction [2021/08/10 11:29] philinfo:algo:introduction [2022/08/04 18:36] (Version actuelle) phil
Ligne 1: Ligne 1:
 +[[info:accueilinfo|{{ :iconemaison.jpg?nolink&25|Sommaire "Bases d'algorithmique et de programmation"}}]]  
 +
 +===== Algorithmique =====
 +{{ :informatique:algorithme.jpg?nolink&200|}}
 +
 +[Mise à jour le 12/2/2019]
 +
 +==== 1. Le formalisme ====
 +
 +=== a. Le développement d’un programme nécessite trois phases ===
 +{{ :informatique:schemaalgo.png?nolink |}}
 +
 +{{:informatique:phase1.png?nolink  |}}
 +**Cahier des Charges Fonctionnel** (CdCF) \\
 +Expression en français ou avec des outils de spécification du besoin. \\
 +\\
 +
 +{{:informatique:phase2.png?nolink  |}}
 +**ALGORITHMIQUE** (Analyse structurée du problème) \\
 +**Définition** : « Un algorithme est une suite d’actions que devra effectuer un « calculateur » pour arriver, en un temps fini, à un résultat déterminé, à partir d’une situation donnée. La suite d’opérations sera composée d’actions élémentaires, ou instructions ».
 +
 +{{:informatique:phase3.png?nolink |}}
 +**Traduction dans un langage « de programmation »**
 +{{ :informatique:langages.png?nolink |}}
 +> **N.B.** Cette dernière étape devrait être celle à laquelle le concepteur consacre le moins de temps (dans l’hypothèse où les deux étapes précédentes ont été correctement développées !) 
 +
 +=== b. Conception d'un algorithme ===
 +> Pour concevoir un algorithme, **trois étapes** sont nécessaires :
 +> - La **préparation** du traitement : recherche des données nécessaires à la résolution d’un problème.
 +> - Le **traitement** : résolution pas-à-pas du problème après décomposition en plusieurs sous-ensembles si nécessaire.
 +> - L’**édition** des résultats.
 +
 +=== c. Les modes d’expression d’un algorithme === 
 +  * le **langage littéral** (**pseudo-code**) par l’utilisation de mots-clés et de délimiteurs. On parle de langage algorithmique.
 +
 +^  Exemples de mot-clé                                Exemples de délimiteurs    ^
 +|**Const** -  **Var**                                |Les délimiteurs fixent les bornes des entrées et des sorties des structures algorithmiques \\  \\ **Début** - **Fin** - **FinSi** \\  \\ **FinTantQue** - **FinPour** \\  \\  **FinPoc** - **FinFonc**   
 +|**Lire** – **Ecrire**                               |:::                          |
 +|**Si** ... **Alors** ... **Sinon**                  |:::                          |
 +|**Tant Que** ... **Faire**                          |:::                          |
 +|**Répéter** ... **Jusqu'à** ...                     |:::                          |
 +|**Pour** ... **Variant** de ... à ... **Faire** ... |:::                          |
 +|**Procédure** - **Fonction**                        |:::                          |
 +
 +  * la représentation **graphique** (utilisation de symboles normalisés, on parle d’algorigramme)
 +
 +{{ :informatique:algorigrammealgo.png?nolink&600 |}}
 +
 +
 +==== 2. Les variables et opérateurs ====
 +==== 3. Test et logique booléenne ====
 +==== 4. Les boucles ====
 +==== 5. Les tableaux et les structures ====
 +==== 6. Les sous-programmes ====
 +==== 7. Les fichiers ====