Session 2/3
Olivier Rovellotti
ALGORITHMIE
Plan
• Coder proprement
• Utiliser une convention
• Indentation
• Commentaire
• Rappel Algorithmique
• Algorithmique Avancé
• Boucle Pour
• Tableau
• Exercices
Code is readmuch more
oftenthan it is written
Utiliser des noms significatifs
toto
foo
A
A1
leTruc
Nombre_de_Mots
reste
maChaine
userName
Utiliser une convention
• Notation hongroise
• CamelCase
• lowerCamelCase
• Underscore_Case ou snake case
IThinkTheyAreBothAboutTheSame
but_i_think_mixing_them_is_pretty_bad
Notation hongroise
PEP 8
• Espaces
• Les opérateurs doivent être entourés d’espaces.
• Lignes
• Une ligne doit se limiter à 79 charactères.
• Noms de variables
• Lettres seules, en minuscule : pour les boucles et les indices.
• Lettres majuscules + underscores : pour les (pseudo) constantes.
https://www.python.org/dev/peps/pep-0008
Commentaire
Pour le code difficile
Les commentaires qui contredisent le code sont
pires qu'une absence de commentaire. Lorsque
le code doit changer, faites passer parmi vos
priorités absolues la mise à jour des
commentaires !
TAB ou Espaces
Spaces are the preferred indentation method.
Tabs should be used solely to remain consistent with code that is already indented with tabs.
Python 3 disallows mixing the use of tabs and spaces for indentation.
Python 2 code indented with a mixture of tabs and spaces should be converted to using spaces exclusively.
Use 4 spaces per indentation level.
Rappel Algorithmique
Algorithmique Avancé
Pour
Pour Compteur ← Initial à Final Pas ValeurDuPas
Instructions
Compteur suivant
la structure « Pour … Suivant » n’est pas du tout indispensable ;
on pourrait fort bien programmer toutes les situations de
boucle uniquement avec un « Tant Que ».
Exemple : Table de 9
i : entier
Pour i ← 1 à 10
Afficher (i*9)
i Suivant
Tableau Tableau Note[11] en Numérique
Pour i ← 0 à 11
Afficher ("Entrez la note n°", i)
Saisir (Note[i])
i Suivant
Som ← 0
Pour i ← 0 à 11
Som ← Som + Note[i]
i Suivant
Moy ← Som / 12
Index
commence à 0
Exercices
Exercice 1
Ecrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques en les mettant toutes à zéro.
Exercice 2
Ecrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de l’alphabet latin.
Exercice 3
Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur.
Exercice 4
Ecrivez un algorithme calculant la somme des valeurs d’un tableau (on suppose que le tableau a été préalablement saisi).
Exercice 5
Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.
Exercice 6
Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et
inversement, « Plus grand ! » si le nombre est inférieur à 10.
Exercice 7
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18
à 27.
Exercice 8
Réécrire l'algorithme précédent, en utilisant cette fois l'instruction Pour
corrigé - retour au cours
Exercice 9
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) :
Table de 7 :
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
…
7 x 10 = 70
Exercice 10
Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, et qui lui dise ensuite quel était le plus grand parmi ces 20 nombres :
Entrez le nombre numéro 1 : 12
Entrez le nombre numéro 2 : 14
etc.
Entrez le nombre numéro 20 : 6
Le plus grand de ces nombres est : 14
Exercice 11
Lire la suite des prix (en euros entiers et terminée par zéro) des achats d’un client. Calculer la somme qu’il doit, lire la somme qu’il paye, et simuler la remise de la monnaie en affichant les textes
"10 Euros", "5 Euros" et "1 Euro" autant de fois qu’il y a de coupures de chaque sorte à rendre.
corrigé - retour au cours
Tri
Betty Holberton, née le 7 mars 1917 à Philadelphie, aux
États-Unis, et morte le 8 décembre 2001 à Rockville
(Maryland), fut l'une des six programmatrices originelles
de l'ENIAC, le premier ordinateur entièrement
électronique construit pour être Turing-complet.
Tri simple
Tri par insertion
Tri à bulle
Tour de Hanoi
Solution
Twitter: @orovellotti
www.natural-solutions.eu
Merci
Olivier_rovellotti@natural-solutions.eu

Ns algo 2

  • 1.
  • 2.
    Plan • Coder proprement •Utiliser une convention • Indentation • Commentaire • Rappel Algorithmique • Algorithmique Avancé • Boucle Pour • Tableau • Exercices
  • 4.
    Code is readmuchmore oftenthan it is written
  • 5.
    Utiliser des nomssignificatifs toto foo A A1 leTruc Nombre_de_Mots reste maChaine userName
  • 6.
    Utiliser une convention •Notation hongroise • CamelCase • lowerCamelCase • Underscore_Case ou snake case IThinkTheyAreBothAboutTheSame but_i_think_mixing_them_is_pretty_bad
  • 7.
  • 8.
    PEP 8 • Espaces •Les opérateurs doivent être entourés d’espaces. • Lignes • Une ligne doit se limiter à 79 charactères. • Noms de variables • Lettres seules, en minuscule : pour les boucles et les indices. • Lettres majuscules + underscores : pour les (pseudo) constantes. https://www.python.org/dev/peps/pep-0008
  • 9.
    Commentaire Pour le codedifficile Les commentaires qui contredisent le code sont pires qu'une absence de commentaire. Lorsque le code doit changer, faites passer parmi vos priorités absolues la mise à jour des commentaires !
  • 10.
    TAB ou Espaces Spacesare the preferred indentation method. Tabs should be used solely to remain consistent with code that is already indented with tabs. Python 3 disallows mixing the use of tabs and spaces for indentation. Python 2 code indented with a mixture of tabs and spaces should be converted to using spaces exclusively. Use 4 spaces per indentation level.
  • 11.
  • 13.
  • 14.
    Pour Pour Compteur ←Initial à Final Pas ValeurDuPas Instructions Compteur suivant la structure « Pour … Suivant » n’est pas du tout indispensable ; on pourrait fort bien programmer toutes les situations de boucle uniquement avec un « Tant Que ».
  • 15.
    Exemple : Tablede 9 i : entier Pour i ← 1 à 10 Afficher (i*9) i Suivant
  • 16.
    Tableau Tableau Note[11]en Numérique Pour i ← 0 à 11 Afficher ("Entrez la note n°", i) Saisir (Note[i]) i Suivant Som ← 0 Pour i ← 0 à 11 Som ← Som + Note[i] i Suivant Moy ← Som / 12 Index commence à 0
  • 17.
    Exercices Exercice 1 Ecrire unalgorithme qui déclare et remplisse un tableau de 7 valeurs numériques en les mettant toutes à zéro. Exercice 2 Ecrire un algorithme qui déclare et remplisse un tableau contenant les six voyelles de l’alphabet latin. Exercice 3 Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur. Exercice 4 Ecrivez un algorithme calculant la somme des valeurs d’un tableau (on suppose que le tableau a été préalablement saisi).
  • 18.
    Exercice 5 Ecrire unalgorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne. Exercice 6 Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10. Exercice 7 Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 à 27. Exercice 8 Réécrire l'algorithme précédent, en utilisant cette fois l'instruction Pour corrigé - retour au cours Exercice 9 Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) : Table de 7 : 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 … 7 x 10 = 70 Exercice 10 Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, et qui lui dise ensuite quel était le plus grand parmi ces 20 nombres : Entrez le nombre numéro 1 : 12 Entrez le nombre numéro 2 : 14 etc. Entrez le nombre numéro 20 : 6 Le plus grand de ces nombres est : 14 Exercice 11 Lire la suite des prix (en euros entiers et terminée par zéro) des achats d’un client. Calculer la somme qu’il doit, lire la somme qu’il paye, et simuler la remise de la monnaie en affichant les textes "10 Euros", "5 Euros" et "1 Euro" autant de fois qu’il y a de coupures de chaque sorte à rendre. corrigé - retour au cours
  • 19.
    Tri Betty Holberton, néele 7 mars 1917 à Philadelphie, aux États-Unis, et morte le 8 décembre 2001 à Rockville (Maryland), fut l'une des six programmatrices originelles de l'ENIAC, le premier ordinateur entièrement électronique construit pour être Turing-complet.
  • 20.
  • 21.
  • 22.
  • 24.
  • 25.
  • 26.