Le dialogue avec un ordinateur est différent d'une simple traduction du français dans un autre langage (programmation).
=> Nécessité de structurer le message, d'où nécessité algorithmique
La production économique de logiciels (programmes) fiables montre :
- coût logiciel >> coût matériel à l'acquisition d'un système informatique
- coût maintenance (modifications et améliorations d'un programme : " Service après-vente ") correspond à la + grosse part du coût du logiciel (70 % coût et sur plusieurs années - ex : changement en Euro et passage an 2000 avait été estimé à 40 années Hommes pour 8000 programmes).
La phase algorithmique est nécessaire pour faciliter l'écriture et la mise au point des programmes mais aussi la maintenance ultérieure (éventuellement par d'autres informaticiens).
[...] Au début du traitement, on lira pour chacun des np produits existants, numérotés de 1 à np (np son libellé et son prix unitaire. A la fin du traitement, on veut afficher toutes les factures dont le total TTC dépasse une somme entrée au départ. On précisera, lors de cet affichage, le nom du client, le total TTC de la facture, le nombre de produits commandés et, pour chacun d'eux, le de produit, le libellé, la quantité commandée et le prix unitaire de ce produit. [...]
[...] : traitement d'un wagon encoreWagon ( nomWagon ‘RORO' ) FinTQue Dans ce cas, il peut être plus intéressant d'utiliser un autre formalisme, spécifique au cas où on est toujours sûr de passer au moins 1 fois dans la boucle : Répéter Jusqu'à Il est noté : Répéter Trait1 Jqa condition et correspond au schéma suivant : ex précédent : . : Répéter Saisir ( nomWagon) . : traitement d'un wagon Jqa nomWagon = ‘RORO' - Dans certains cas, la condition peut être affinée en comportant 2 cas d'arrêt de la répétitive. C'est le cas, par exemple, de la recherche d'un élément : TRUC ENGIN BIDULE MACHIN FIN wagon recherché 2 cas : - si on ne veut pas traiter l'élément recherché : . : Saisir ( nomWagon) TQue nomWagon ‘FIN' ET nomWagon ‘BIDULE' Faire . [...]
[...] : traitement d'un wagon FinTQue On doit " forcer l'entrée " dans la boucle (par exemple en donnant au nom une valeur différente de la dernière à traiter) et on saisit le nom au début de la boucle. L'élément traité dans la boucle est donc l'élément saisi dans celle-ci. Il peut être utile d'utiliser un booléen qui sera initialisé à VRAI avant la boucle et positionné dans la boucle en fonction de l'élément traité. encoreWagon VRAI TQue encoreWagon Faire Saisir ( nomWagon) . [...]
[...] Ce qui est différent de : 6. Les sous-programmes Introduction : Prenons l'exemple de l'exercice 4 de la feuille d'exercices 2 : recherche du maximum de 4 nombres : L'un des algorithmes obtenus était le suivant : Algo Maximum Début Saisir ( a1, a2, a a4 ) Si a1 a2 Alors max1← a1 maximum de a1 et a2 dans max1 Sinon max1← a2 FinSi Si a3 a4 Alors max2← a3 maximum de a3 et a4 dans max2 Sinon max2← a4 FinSi Si max1 max2 Alors max max1 maximum de max1 et max2 dans max Sinon max max2 FinSi Afficher ( max ) Fin On constate que le problème de la recherche du maximum entre 2 nombres est le même dans les 3 cas et que mise à part la différence entre les identificateurs, les 3 séquences d'instructions sont les mêmes. [...]
[...] : Saisir ( nomWagon) trouve FAUX TQue nomWagon ‘FIN' ET NON trouve Faire . : traitement d'un wagon trouve (nomWagon = ‘BIDULE') Saisir ( nomWagon) FinTQue . : on utilise donc en général un booléen que l'on positionne avant la boucle soit à FAUX si l'élément cherché doit être traité, soit à la condition sur l'élément lu à l'avance s'il ne doit pas être traité. Les compteurs et la forme bornée : - Définition : Dans beaucoup de cas, il est nécessaire, à la fin de la répétitive, de connaître le nombre d'itérations (le nombre de fois où on est passé dans la boucle). [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture