Algorithme: Notions de base.

Algorithmique:

Variables et Affectation:

  • Un algorithme est une suite finie d'instructions à appliquer dans un ordre déterminé à un nombre fini de données pour arriver en un nombre fini d'étapes à un certain résultat: les instructions doivent être compréhensibles.
  • Une variable est désignée par un nom, elle contient une valeur (celle-ci peut être :
    un nombre, un mot, une liste de valeurs, ...).
  • Une affectation correspond à donner une valeur à la variable (cette valeur peut être le résultat d'un calcul).
Les entrées et sorties: principe de base:

La conception d'un programme (ou d'une partie) s'envisage en trois phases:

Phase 1: il faut entrer les objets et les données que le logiciel doit utiliser = les entrées;

Phase 2: le logiciel va traiter les informations = le traitement;

Phase 3: restitution des résultats cherchés = les sorties.

A retenir:

Variables:


Initialisation: ... prend la valeur ...


Entrées: Saisir ...



Traitement:



Sortie: Afficher...

Explications:


On cite les variables utilisées en donnant leur type.


On donne une valeur à la variable, on n'est pas obligé de demander à l'utilisateur de "rentrer" cette dernière.


On demande à l'utilsateur de donner des valeurs qui seront stockées dans les variables.


On donne les instructions qui permettent à partir des données d'arriver au résultat.

On affiche le contenu de la variable représentant le résultat.


Exemple:

Calculer la moyenne de trois notes:


Variables:
a, b, c, m



Entrées: Saisir
a, b, c



Traitement:
m prend la valeur
(a+b+c)/3



Sortie: Afficher m

Explications:





On annonce les quatres variables: les trois notes et la moyenne.




On demande à l'utilsateur de donner les trois notes qui seront stockées dans les variables a, b et c.



On donne les instructions qui permettent à partir des données d'arriver au résultat: l'instruction "m prend la valeur (a+b+c)/3" permet de lancer le calcul puis d'affecter à la variable m le résultat de ce calcul.




On affiche le contenu de la variable m représentant le résultat.

Instructions conditionnelles:

Une structure alternative est une structure du type:
« si ... alors ... » ou « si ... alors... sinon... ».
  • Dans le premier cas, si la condition est remplie alors on effectue l’instruction.
  • Dans le second cas, si la condition est remplie, on effectue l’instruction 1 sinon on effectue l’instruction 2.

On va dire à l’algorithme d’exécuter des instructions que si une certaine condition est réalisée.


Exemple:


Variables: A et B sont des nombres réels


Entrées: Saisir A et B


Traitement et Sortie:
Si A > B

Alors Afficher A
Sinon afficher B


FinSi

Questions et solutions:

  • Que permet d'afficher cet algorithme:
    Cet algorithme permet d'afficher le plus grand des deux nombres A et B saisis en entrée.
  • Si A = 7 et B = 10, quelle sera la valeur affichée en sortie:
    Comme B > A alors la condition n'est pas vérifiée donc c'est la valeur de B qui est affichée, soit 10.

Les boucles:


Une boucle permet de répéter une instruction (ou une liste d’instructions) plusieurs fois.
Il y a principalement deux types de boucles:


• Les boucles pour répéter une instruction un certain nombre de fois, il s’agit de la boucle "Pour (variable) allant de ... à ...";
• Les boucles pour répéter une instruction jusqu'à une condition d’arrêt, il s’agit de la boucle "Tant que".
  • Dans le premier cas, La boucle "pour" permet de répéter une instruction un nombre donné de fois.
    Elle se caractérise par le fait que l’on connait à l’avance le nombre d’itérations que l’on doit effectuer.
  • Dans le second cas, La boucle "tant que" permet d’effectuer des itérations tant qu’une certaine condition est verifiée.
    On ne connait pas le nombre d’itérations à effectuer, mais à chaque itération, on vérifie si la condition est vraie ou fausse, dès que cette condition est fausse, on sort de la boucle.
Comment choisir la bonne boucle:
  • ⚠ Si on connait le nombre d’itérations à effectuer dans la boucle, on utilisera la boucle "pour".
  • ⚠ Si la poursuite dans la boucle est dépendante d’une condition, on utilisera de péférence une boucle "Tant que".

Boucle "Pour":

Pour (variable) allant de ... à ... faire instruction Fin Pour
La variable est appelée variable de boucle et il faut definir son minimum et son maximum.


Exemple:

Algorithme qui permet de calculer la somme des entiers de 1 à N, N étant donné par l'utilisateur.

Boucle "Tant que":

Tant que condition faire instruction Fin tant que


Exemple:

Algorithme qui permet d'afficher les nombres entiers naturels dont le cube est inférieur à 5000.

Je teste mes connaissances:

Quiz 1: Algorithmes


1. Qu'est-ce qu'un algorithme ?

Une recette de cuisine
Une suite d'instructions pour résoudre un problème
Un programme informatique

2. Quelle est la structure de base d'un algorithme ?

Entrée - Traitement - Sortie
Si - Alors - Sinon
Début - Fin

3.Quelle est la différence entre une variable et une constante ?

Une variable peut changer de valeur au cours de l'exécution, une constante reste toujours la même.
Une variable est un nombre, une constante est une lettre.
Une variable est utilisée dans les structures conditionnelles, une constante dans les structures itératives.

4. Quel est le rôle d'une boucle dans un algorithme ?

Effectuer une action une seule fois.
Effectuer une action plusieurs fois de suite.
Afficher un résultat.

5. Quelle est la condition d'arrêt d'une boucle "Tant que" ?

Lorsqu'une condition devient fausse.
Lorsqu'une condition devient vraie.
Lorsqu'on atteint un certain nombre d'itérations.

6.Quel est le risque principal d'une boucle infinie ?

Le programme s'exécute plus lentement.
Une boucle infinie continue à s'exécuter indéfiniment, "bloquant" le programme et empêchant toute autre action.
Le programme affiche un message d'erreur.

7. Quelle structure de contrôle permet de répéter un bloc d'instructions un nombre de fois connu à l'avance ?

La condition si alors sinon (ou if else)
La boucle tant que (ou while)
La boucle pour (ou for)

8. Quelle structure de contrôle permet de prendre une décision en fonction d'une condition ?

La boucle pour (ou for)
La boucle tant que (ou while)
La condition si alors sinon (ou if else)

9. Quand utiliseriez-vous plutôt une boucle while qu'une boucle for ?

Lorsque vous connaissez à l'avance le nombre exact d'itérations.
Lorsque vous voulez effectuer une opération un nombre fixe de fois.
Lorsque la condition d'arrêt dépend d'un calcul complexe ou d'une interaction avec l'utilisateur.

10. On considère le code suivant :

age = 17

if age >= 18:

       print("Vous êtes majeur")

else:

       print("Vous êtes mineur")

Quel message sera affiché ?

Vous êtes mineur.
Vous êtes majeur.
Une erreur se produira