Fiche de mathématiques
> >

L'algorithmique

Partager :
Enjeu
Certain types de problèmes demandent des calculs répétitifs et très long à faire. On demande alors à l'ordinateur de faire le calcul pour nous. Par exemple, si l'on veut calculer 2^{100} , il va falloir faire 2\times 2 \times 2 \times \hdots \times 2 100 fois. L'humain mettra plusieurs minutes à faire ce calcul alors que l'ordinateur peut le faire en moins d'une seconde! Il faut toutefois expliquer à l'ordinateur comment faire ce calcul. Pour cela il faut écrire un algorithme.

I. l'algorithme

Définition
Un algorithme est une suite d'instructions. Les instructions sont réalisées les unes après les autres et permettent de résoudre le problème recherché.

Exemples:
une recette de cuisine est un algorithme: elle est composée d'une série d'instructions (sélectionner les bons ingrédients, découper les légumes, faire cuire le plat ...) qui, une fois réalisées, résolvent le problème de cuisiner un plat.

L'algorithme:
Le nombre de départ est 3
ajouter 5 au nombre de départ
diviser par 2 le nombre obtenu
soustraire 4
permet de résoudre le problème "calculer \dfrac{3+5}{2}-4"
Définition
Un programme est un texte, écrit dans un langage de programmation, qui décrit l'algorithme et permet à l'ordinateur de l'exécuter.

Exemple:
Dans le langage Algobox, notre précédent algorithme devient:

1 VARIABLES
2 A EST_DU_TYPENOMBRE
3 DEBUT_ALGORITHME
4 A PREND_LA_VALEUR 3
5 A PREND_LA_VALEUR A+5
6 A PREND_LA_VALEUR A/2
7 A PREND_LA_VALEUR A-4
8 AFFICHER A
9 FIN_ALGORITHME

Un algorithme possède un début, une suite d'instructions et une fin.
Son execution commence au début, par la première ligne d'instruction. Une fois cette instruction réalisée, la ligne suivante est exécutée, et ainsi de suite jusqu'à ce que la dernière ligne d'instruction soit réalisée et que la fin soit atteinte.

II. Déclaration des variables et affectation

Définition
Un programmme contient des objets appelés variables. Ces variables sont caractérisées par:

Leur nom:
Chaque variable à un nom et ce nom est unique (il n'existe pas deux variables ayant le même nom dans un même programme). Ce nom permet de savoir de quelle variable on parle.

leur type:
Une variable peut prendre un type parmi plusieurs types différents:
- NOMBRE(représente un nombre entier ou décimal)
- CHAINE_DE_CARACTERES (contient un mot ou une phrase)
- LISTE(contient plusieurs valeurs)...
...

Les types peuvent varier selon les langages de programmation.
Une fois qu'une variable possède un type, les différentes valeurs que pourra prendre cette variable seront toujours de ce type. Par exemple, si A est une variable de type NOMBRE, A pourra prendre la valeur 2, la valeur 3.14 mais pas la valeur "bonjour" car A n'est pas une variable de type CHAINE_DE_CARACTERES.

Remarque : en Python, les variables peuvent changer de type au cours d'exécution. Par exemple, une variable de type entier peut passer en type décimal puis en type complexe.
Leur valeur:
La valeur d'une variable est une information, du même type que celle de la variable. Par exemple, une valeur de type NOMBRE peut être égale à 8 ou à 5.453, une valeur de type CHAINE_DE_CARACTERES peut prendre les valeurs "bonjour" ou "je suis une chaîne de caractères...", une valeur de type LISTE peut prendre les valeurs [0,1,2,3] ou ["une", "liste", "de", "mots"].

Le nom et le type d'une variable ne changent jamais, par contre, la valeur peut changer, c'est d'ailleurs ce qui fait l'intérêt d'un variable.
Pour déclarer une variable, on indique son nom et son type.
Exemple:
pour déclarer une variable nommée A de type NOMBRE, on peut écrire (cela dépend du langage de programmation utilisé):
A est de type NOMBRE
ou
NOMBRE A
ou
A:NOMBRE
ou quelque chose de semblable.

On dit que l'on déclare la variable A de type NOMBRE

remarque:
généralement, toutes les variables utilisées dans l'algorithme sont déclarées au début du programme, parfois même avant le début, comme c'est le cas pour algobox (voir exemple plus haut)où les variables sont déclarées dans une zone appelée VARIABLES.


Pour créer ou modifier la valeur d'une variable, on fait ce que l'on appelle une affectation: On indique le nom de la variable et la valeur qu'elle va prendre.
Exemple: si A est une variable de type NOMBRE et que l'on souhaite que sa valeur soit égale à 5, on peut par exemple écrire:
A prend la valeur 5
ou
A = 5
ou
A<-5
ou quelque chose de semblable.

On dit que l'on "affecte la valeur 5 à la variable A"

remarque:
On peut aussi affecter une variable à une autre variable. Par exemple, si A et B sont des variables de type NOMBRE, si l'on exécute l'algorithme suivant:
A prend la valeur 4
B prend la valeur A

On aura alors B = 4

IV. Calcul

L'algorithme peut effectuer des calculs, à l'aide des opérateurs usuels: +, -, *, /, ^ ... et des parenthèse ( et ) pour les gérer les priorités d'opérations. Les priorités classiques (^ prioritaire sur * et / prioritaire sur + et - ) sont automatiquement gérées.
Ces opérateurs peuvent s'appliquer à tous les objets de type NOMBRE, que ce soient de constantes ou des variables.
Ainsi, si A, B et C sont des variables de type NOMBRE:
si on exécute l'algorithme:
A prend la valeur ( (1 + 4*2)/3 )^2
alors A sera égal à 9

si l'on exécute l'algorithme:
A Prend la valeur 5
B prend la valeur 3*A
alors B sera égal à 15

Attention:
Dans la plupart des langage, si on écrit 3A, le programme risque de renvoyer une erreur car il pensera qu'il s'agit d'une variable nommée 3A. Il faut donc toujours écrire 3*A

si l'on exécute l'algorithme:
A prend la valeur 3
B prend la valeur 4
A prend la valeur A + B
alors A sera égal à 7.

remarque:
Une variable peut servir à s'affecter elle même.
Par exemple, dans la ligne "A prend la valeur A + B", A + B est affecté à A. La variable A dans le calcul A + B possède la valeur de la variable A avant sa réaffectation par la ligne "A prend la valeur A + B". Après cette ligne, la valeur de la variable A est changée, et sa nouvelle valeur est égale à son ancienne valeur + la valeur de la variable B.

V. les Entrées/Sorties

Un programme qui s'exécute avec seulement des affectations ne sert à priori à rien car l'utilisateur ne connait rien de son exécution. Le programme doit donc communiquer avec l'utilisateur au moyen d'entrées/sorties:
Entrées:
Le programme peut demander à l'utilisateur de choisir une valeur lui même pour une variable. Pour demander à l'utilisateur de choisir une valeur pour la varialble A de type NOMBRE, on peut par exemple écrire:
lire A
ou
demander A
ou
saisir A

Lorsque l'algorithme arrivera sur cette instruction, l'algorithme s'arretera temporairement. Une fois que l'utilisateur aura écrit une valeur et appuyer sur la touche "Entrée",la variable A prendra pour valeur la valeur entrée par l'utilisateur. Par exemple, si l'utilisateur à écrit 2, A a maintenant pour valeur 2.

Sorties
: Le programme peut également afficher des variables pour informer l'utilisateur des calculs qui ont été fait. Si l'on souhaite afficher la valeur de la variable A, on peut par exemple écrire:
afficher A
Par exemple, si A est une variable de type NOMBRE et que l'on exécute l'algorithme:
A prend la valeur 2
A prend la valeur A + 3
afficher A

on aura alors la valeur 5 qui s'affichera à l'écran.
Publié le
ceci n'est qu'un extrait
Pour visualiser la totalité des cours vous devez vous inscrire / connecter (GRATUIT)
Inscription Gratuite se connecter
Merci à
weierstrass
pour avoir contribué à l'élaboration de cette fiche


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !