Ce document est une présentation PowerPoint de 57 diapositives qui traite des algorithmes et du langage C en informatique. Le mot "algorithme" vient du nom du mathématicien Al Khuwarizmi latinisé en « algoritmi ». Selon l'Académie française, l'algorithme est une méthode de calcul qui indique la démarche à suivre pour résoudre une série de problèmes équivalents en appliquant dans un ordre précis une suite finie de règles.
Extraits de la présentation :
"Un algorithme est une suite d'instructions, d'actions permettant de résoudre un problème donné
- Aller quelque part : le chemin
- Réaliser un plat de cuisine : la recette
- Faire un calcul mathématique : la méthode
La granularité des instructions correspond au contexte d'utilisation de l'algorithme
- Le chemin : l'interlocuteur
- La recette : le cuisinier
- Le calcul : la puissance de l'ordinateur"
"Un langage de programmation n'est que l'outil de réalisation de l'algorithme.
L'algorithme permet de concevoir la solution alors que la programmation permet de la mettre en œuvre.
L'algorithme est généralement à un niveau d'abstraction plus haut que la programmation.
Il est, cependant, nécessaire de prendre en compte la puissance et l'expressivité du langage de programmation avant de concevoir l'algorithme."
"Parfois, il est nécessaire de stocker de l'information au cours du calcul effectué par un algorithme. Pour additionner deux valeurs, j'ai besoin de stocker ces deux valeurs. Pour additionner trois valeurs, j'ai besoin de stocker en plus le résultat intermédiaire. Une variable est donc une case où on peut stocker de l'information repérée par une étiquette permettant d'écrire dedans et de lire depuis. Physiquement, c'est une case mémoire vive de l'ordinateur repérée par une adresse binaire."
[...] Si l'on inverse les deux dernières instructions, cela Change-t-il quelque chose ? < number > Exo6 Problème classique écrire un algorithme permettant d'échanger les valeurs de deux variables A et et ce quel que soit leur contenu préalable. < number > Exo7 On dispose de trois variables B et C. [...]
[...] < number > Les Tests < number > Motivation Prenons l'exemple de la recette de cuisine et un algorithme pour se faire cuire un œuf à la coque Prenez un œuf frais. Si vous avez un micro-ondes, mettez-le dedans 20s, sinon utilisez une casserole et mettez-le dans de l'eau bouillante pendant 5min L'algorithme précédent prend en compte les deux situations où le cuisinier possède ou non un micro-ondes Les ordinateurs sont aussi capables d'évaluer une situation et de réaliser les calculs adéquats < number > Structure d'un Test Deux structures: Si expression booléenne Alors Instructions Finsi Si booléen Alors Instructions 1 Sinon Instructions 2 Finsi L'expression conditionnelle peut être une variable de type booléen ou une condition < number > La condition Une condition est le résultat d'une comparaison Généralement, Une valeur Un opérateur de comparaison Une autre valeur On retrouve les opérateurs: = = < number > Sémantique Dans le premier cas, Si l'expression booléenne est vraie, alors la séquence « instructions » sera exécutée puis les autres instructions qui suivent seront exécutées Sinon, le programme saute la séquence instructions, et exécute directement les instructions qui suivent le bloc de test < number > Sémantique Dans le deuxième cas, Si l'expression booléenne est vraie, alors le programme: exécute la séquence d'instructions « instructions1 », Saute la séquence d'instructions « instuctions2 », Puis exécute les instructions suivantes Sinon, alors le programme: saute la séquence d'instructions « instructions1 » Exécute la séquence d'instructions « instructions2 » Puis continue en exécutant les instructions suivantes < number > L'œuf à la coque Prendre un œuf frais, Beldi de préférence Si vous avez un micro-ondes Alors Mettre l'œuf Le sortir après 20s Sinon Prendre une casserole Remplir la casserole d'eau Mettre l'œuf Le sortir après 5min FinSi Mettre l'œuf dans un coquetier Le déguster < number > Un petit exo Ecrire un algorithme qui demande un nombre à l'utilisateur, et l'informe ensuite si ce nombre est positif ou négatif (on laisse de côté le cas où le nombre vaut zéro). [...]
[...] Variables val: Réel Début Val ← 231 Double ← Val * 2 Ecrire Val Ecrire Double Fin < number > Exo2 Ecrire un programme qui demande un nombre à l'utilisateur, puis qui calcule et affiche le carré de ce nombre. < number > Exo3 Ecrire un programme qui lit le prix HT d'un article, le nombre d'articles et le taux de TVA, et qui fournit le prix total TTC correspondant. Faire en sorte que des libellés apparaissent clairement. [...]
[...] pour un octet, on pourra coder 28 nombres c.-à-d nombres < number > Types numériques En gros, on retrouve pour la plupart des langages, les types classiques suivants: Type Numérique Plage Byte (octet) 0 à 255 Entier simple - à Entier long - à Réel simple -3,40x1038 à -1,40x1045 pour les valeurs négatives 1,40x10-45 à 3,40x1038 pour les valeurs positives Réel double 1,79x10308 à -4,94x10-324 pour les valeurs négatives 4,94x10-324 à 1,79x10308 pour les valeurs positives < number > Types numériques Question: Pourquoi, pour éviter tout problème, ne pas tout déclarer en Réel double? [...]
[...] Le nombre maximal de caractères pouvant être stockés dans une seule variable string dépend du langage utilisé. < number > Types alphanumériques En Pseudo-code, la valeur est déclarée entre guillemets "chaîne de caractères" "bonjour" "Mesdames, messieurs, bonjour " "1234" Déclaration Variable caractères < number > Type booléen Permet de stocker les valeurs logiques Vrai/Faux (True/False) Peut être remplacé par les valeurs numériques 0 et mais l'utilisation des booléens: Rend l'algorithme plus lisible Est plus économique en terme d'utilisation de la mémoire, un bit suffit pour le stocker (un octet pour un entier) < number > Les instructions d'affectation < number > L'affectation Une variable n'est exploitable que si elle est instanciée. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture