Afficher

publicité
Initiation à
l'algorithmique
I Qu'est-ce qu'un algorithme ?
Définition
Un algorithme est une suite finie et non ambiguë d’opérations
ou d'instructions permettant de résoudre un problème.
http://fr.wikipedia.org/wiki/Algorithme
I Qu'est-ce qu'un algorithme ?
Définition
Un algorithme est une suite finie et non ambiguë d’opérations
ou d'instructions permettant de résoudre un problème.
http://fr.wikipedia.org/wiki/Algorithme
I Qu'est-ce qu'un algorithme ?
Exemple 1 : un labyrinthe
→ →↓←↓↓→↑→↑↑
I Qu'est-ce qu'un algorithme ?
Exemple 2 : "programme de calcul"
I Qu'est-ce qu'un algorithme ?
Exemple 3 : recette de la pâte à crêpes
● Demander N le nombre de personnes
● Mettre N×100g de farine dans un saladier
● Pour i = 1 à N
Ajouter un œuf dans le saladier
Mélanger à l'aide d'un fouet.
● Si on souhaite des crêpes sucrées
Alors Ajouter N cuillerées de sucre
Sinon Ajouter N/2 cuillerées de muscade
● Ajouter N×100g de lait et N×100g d'eau.
● Tant Que le mélange présente encore des grumeaux
Fouetter énergiquement.
II Les variables
1. Généralités
Une variable est une mémoire qui va permettre de stocker une donnée.
Il existe différents types de variables :
● nombres
● chaînes de caractères
● booléens
II Les variables
1. Généralités
Une variable est une mémoire qui va permettre de stocker une donnée.
Il existe différents types de variables :
● nombres
● chaînes de caractères
● booléens
Il est important de déclarer ses variables en début d'algorithme.
En effet, 23 peut-être un entier ou une chaîne de caractères.
→ 23+200 = 223 si on considère des entiers
= 23200 si on considère des codes postaux
II Les variables
2. Petits exercices
Exercice 1 :
a et b sont deux réels, comment échanger les valeurs de a et b ?
Réponse fausse :
a←b
b←a
II Les variables
2. Petits exercices
Exercice 1 :
a et b sont deux réels, comment échanger les valeurs de a et b ?
Réponse fausse :
a←b
b←a
En effet, si a = 3, b = 5,
1ère étape : a ← b donc a ← 5
2ème étape : b ← a donc b ← 5
Finalement, a = b = 5, la valeur de a est perdue
II Les variables
2. Petits exercices
Exercice 1 :
a et b sont deux réels, comment échanger les valeurs de a et b ?
Réponse fausse :
a←b
b←a
En effet, si a = 3, b = 5,
1ère étape : a ← b donc a ← 5
2ème étape : b ← a donc b ← 5
Finalement, a = b = 5, la valeur de a est perdue
Réponse correcte :
temp ← a
# temp est une variable temporaire qui met a en mémoire
a←b
b ← temp
Exemple avec a = 3 , b = 5
temp ← a donc temp ← 3
a ← b donc a ← 5
b ← temp donc b ← 3
II Les variables
2. Petits exercices
Exercice 2 :
a et b sont deux réels, à quoi servent ces instructions ?
a←a+b
b←a–b
a←a–b
Exercice 3 :
a est un réel, que retourne cet algorithme ?
a←a+1
a←a*a
a←a-1
Exercice 4 :
N est un entier, à quoi sert cet algorithme ?
temp ← N
N ← N/10
N ← partie_entière(N)
u ← temp - 10*N
III Les structures de base
1. Saisir / Afficher
Saisir : Permet à l'utilisateur de donner un renseignement à la machine
Afficher: Permet la machine de retourner un résultat
III Les structures de base
1. Saisir / Afficher
Saisir : Permet à l'utilisateur de donner un renseignement à la machine
Afficher: Permet la machine de retourner un résultat
Exemple : Algorithme de bienvenue
nom ← Saisir ("Quel est ton nom ? ")
Afficher ("Bonjour " & nom)
III Les structures de base
1. Saisir / Afficher
Saisir : Permet à l'utilisateur de donner un renseignement à la machine
Afficher: Permet la machine de retourner un résultat
Exemple : Algorithme de bienvenue
nom ← Saisir ("Quel est ton nom ? ")
Afficher ("Bonjour " & nom)
Attention : L'algorithme suivant ...
nom ← Saisir ("Quel est ton nom ? ")
Afficher ("Bonjour nom" )
… va afficher "Bonjour nom" quel que soit le nom entré.
III Les structures de base
2. Si
SI : Permet de réaliser une action à une certaine condition
III Les structures de base
2. Si
SI : Permet de réaliser une action à une certaine condition
Exemple 1 : Algorithme météorologique
Si il pleut
Alors prendre son parapluie
Sinon le laisser à la maison
Fin Si
III Les structures de base
2. Si
SI : Permet de réaliser une action à une certaine condition
Exemple 1 : Algorithme météorologique
Si il pleut
Alors prendre son parapluie
Sinon le laisser à la maison
Fin Si
Exemple 2 : Valeur absolue
Si x < 0
Alors |x| vaut -x
Sinon |x| vaut x
Fin Si
III Les structures de base
3. Pour
Pour : Permet de répéter une action un nombre de fois connu à l'avance.
Exemple 1 : compte à rebours
Pour i = 1 à 10
Afficher 11 - i
Fin Pour
Afficher "BOUM"
III Les structures de base
3. Pour
Pour : Permet de répéter une action un nombre de fois connu à l'avance.
Exemple 1 : compte à rebours
Pour i = 1 à 10
Afficher 11 - i
Fin Pour
Afficher "BOUM"
Remarque : il est possible d'écrire
Pour i = 10 à 0 par pas de -1
Afficher i
Fin Pour
Afficher "BOUM"
III Les structures de base
3. Pour
Exemple 2 : Épeler un mot
mot ← Saisir ("Quel mot épeler ?" )
Pour i = 1 à longueur(mot)
Afficher la lettre de mot en position i
Fin Pour
III Les structures de base
3. Pour
Exemple 2 : Épeler un mot
mot ← Saisir ("Quel mot épeler ?" )
Pour i = 1 à longueur(mot)
Afficher la lettre de mot en position i
Fin Pour
Exemple 3 : Combien de fois obtient-on de 6 en lançant 100 fois un dé ?
compteur ← 0
Pour i = 1 à 100
dé ← entier aléatoire entre 1 et 6
Si dé = 6
Alors compteur ← compteur + 1
Fin Si
Fin Pour
Afficher ("On a obtenu " & compteur & " fois le six")
III Les structures de base
4. Tant Que
Tant Que : Permet de répéter une action autant de fois que nécessaire.
Remarque : le nombre de répétitions n'est pas connu à l'avance
III Les structures de base
4. Tant Que
Tant Que : Permet de répéter une action autant de fois que nécessaire.
Remarque : le nombre de répétitions n'est pas connu à l'avance
Exemple 1 : Jouons aux petits chevaux.
Tant Que dé ≠ 6
Relancer le dé
Fin Tant Que
Sortir son cheval de l'écurie
III Les structures de base
4. Tant Que
Tant Que : Permet de répéter une action autant de fois que nécessaire.
Remarque : le nombre de répétitions n'est pas connu à l'avance
Exemple 1 : Jouons aux petits chevaux.
Tant Que dé ≠ 6
Relancer le dé
Fin Tant Que
Sortir son cheval de l'écurie
Exemple 2 : Calcul de a Modulo N par soustractions successives :
Saisir a et N deux entiers
Tant Que a > N
a←a–N
Fin Tant Que
Afficher a
III Les structures de base
4. Tant Que
A noter : Un Tant Que peut remplacer un Pour.
Exemple :Comptons jusqu'à 10.
Pour i = 1 à 10
Afficher i
Fin Pour
III Les structures de base
4. Tant Que
A noter : Un Tant Que peut remplacer un Pour.
Exemple :Comptons jusqu'à 10.
Pour i = 1 à 10
Afficher i
Fin Pour
Attention : Si on oublie l'incrémentation "i ← i+1" ...
i←1
Tant Que i ≤ 10
Afficher i
i←i+1
Fin tant Que
IV Récréation : "Lightbot"
Jeu de programmation disponible :
-
en ligne
sur Google Play
sur Windows Store
sur App Store
IV Récréation.
IV Récréation.
IV Récréation.
IV Récréation.
IV Récréation.
IV Récréation.
V Scratchons un peu
Logiciel téléchargeable à https://scratch.mit.edu/scratch2download/
De nombreux exemples à https://scratch.mit.edu/
V Scratchons un peu
1. Saisir / Afficher
Traduction du Saisir :
et du Afficher :
V Scratchons un peu
1. Saisir / Afficher
Traduction du Saisir :
et du Afficher :
concaténation de texte
V Scratchons un peu
1. Saisir / Afficher
V Scratchons un peu
2. Traduction du Si
V Scratchons un peu
3. Traduction du Pour
V Scratchons un peu
3. Traduction du Pour
Qu'obtient-on avec :
V Scratchons un peu
3. Traduction du Pour
Création d'un carré :
V Scratchons un peu
4. Traduction du Tant Que.
V Scratchons un peu
4. Traduction du Tant Que.
Marche aléatoire : Promenons notre lutin de façon aléatoire jusqu'à ce qu'il
touche le bord de l'écran.
VI Quelques exercices
1. Exercices élémentaires.
Exercice 1 : Entrer trois nombres au clavier, l'algorithme doit afficher le plus
grand des trois.
Exercice 2 : Entrer au clavier un réel x, l'algorithme devant afficher sous quel
état se trouve l'eau à la température x degrés.
Exercice 3 : Calculer la somme S = 1 + 2 + 3 + … + 100.
Exercice 4 : En vue de la construction d'un graphique, donner la table de
valeurs de la fonction x → x² pour x allant de -3 à 3 par pas de 0,5.
Exercice 5 : J'ai placé 100€ sur un compte rémunéré à 1,5 %, au bout de
combien de temps mon capital dépassera-t-il 150€ ?
Exercice 6 : Un entier n étant entré au clavier, retourner le nombre de chiffres
de n.
VI Quelques exercices
2. Correction exercice 1.
Proposition "classique" :
Saisir 3 nombres a, b, c.
Si a ≤ b ≤ c Alors Max ← c
Si a ≤ c ≤ b Alors Max ← b
...
VI Quelques exercices
2. Correction exercice 1.
Proposition "classique" :
Saisir 3 nombres a, b, c.
Si a ≤ b ≤ c Alors Max ← c
Si a ≤ c ≤ b Alors Max ← b
...
Incorrect :
Écrire Si a ≤ b et b ≤ c
VI Quelques exercices
2. Correction exercice 1.
Proposition "classique" :
Saisir 3 nombres a, b, c.
Si a ≤ b ≤ c Alors Max ← c
Si a ≤ c ≤ b Alors Max ← b
...
Incorrect :
Écrire Si a ≤ b et b ≤ c
Problèmes :
● Écriture lourde (car si faut écrire les Fin Si)
● Risque d'oublier des cas
● Risque de mettre des cas inutiles
● Façon de faire pas généralisable (avec 4 nombres au départ, ou plus).
VI Quelques exercices
2. Correction exercice 1.
Proposition "classique" :
Saisir 3 nombres a, b, c.
Si a ≤ b ≤ c Alors Max ← c
Si a ≤ c ≤ b Alors Max ← b
...
Incorrect :
Écrire Si a ≤ b et b ≤ c
Problèmes :
● Écriture lourde (car si faut écrire les Fin Si)
● Risque d'oublier des cas
● Risque de mettre des cas inutiles
● Façon de faire pas généralisable (avec 4 nombres au départ, ou plus).
Correction :
Saisir 3 nombres a, b, c.
Si a ≤ b Alors
Max ← b
Fin Si
Si Max ≤ c Alors
Max ← c
Fin Si
Afficher Max
VI Quelques exercices
3. Exercices "avancés".
Exercice 1 : Suite de Syracuse.
un
si u n est pair, u n +1=3 u n +1 sinon.
Elle est définie par u 0 ∈ℕ et u n+1 =
2
Exemple : 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 → 4 → ...
Le premier terme étant entré au clavier, faire afficher les 20 termes suivants.
Exercice 2 : Jeu du "nombre mystère"
L'ordinateur choisit un entier aléatoire entre 1 et 20, le joueur doit le deviner par essais
successifs, l'ordinateur disant "Trop petit" ou "Trop grand" à chaque tentative.
Exercice 3 : Tables de multiplications.
L'ordinateur choisit et affiche 2 entiers aléatoires entre 1 et 10, le joueur doit entrer le
produit de ces deux entiers.
Exercice 4 : Jouons aux dés :
Alice et Bob lancent un dé, le premier obtenant un 6 a gagné.
Simuler une partie, puis 100 parties pour
dire qui gagne le plus souvent.
Diaporama réalisé par Lionel Pascaud
[email protected]
Téléchargement