#2 Dans tout ce cours on ne traitera qu’un seul langage de programmation, le python.
#6 On ne résout pas des cas particuliers mais un cas général.
#7 Cet algorithme est bien indépendant des données, le fait que ces dernières proviennent de la ferme du coin ou du supermarché ne change rien.
#11 Cet algorithme permet donc la multiplication de deux nombres en utilisant juste des multiplications par 2 et des additions.
#12 La deuxième colonne n’est que la convertion du nombre a en numérotation binaire. Voir cours 1CPA pour des précisions à ce sujet.
#13 Il est à noter que cet algorithme est toujours utilisé de nos jours. On reviendra dessus en détail dans le cours 1ARI.
#18 Le langage machine est le langage utilisé par le processeur. L’auteur assume toutes les simplifications de cette partie.
#19 En Python nous n’aurons pas trop de contraintes techniques, c’est d’ailleurs la raison principale pour laquelle on va apprendre à programmer avec ce langage.
Ça sera beaucoup moins vrai en C...
#20 Le langage machine est le langage utilisé par le processeur. L’auteur assume toutes les simplifications de cette partie.
#22 On fera des choses beaucoup plus élaborées, rassurez-vous.
#23 Par opposition à un langage compilé où le programme est d’abord traduit dans sa totalité en langage machine avant d’être exécuté.
Toutes ces caractéristiques vont prendre progressivement leur sens au fil de ce cours.
#24 Toutes ces caractéristiques vont prendre progressivement leur sens au fil de ce cours.
#25 Voir partie suivante pour télécharger un environnement de développement.
#34 Deux d’entre eux ne sont pas si élémentaires que ça, « complex » et « str » puisqu’ils contiennent en fait nécessairement plusieurs valeurs...
#35 Deux d’entre eux ne sont pas si élémentaires que ça, « complex » et « str » puisqu’ils contiennent en fait nécessairement plusieurs valeurs...
#37 On essaiera de respecter la convention classique qui stipule que le nom des variables doit être en « lowerCamelCase ».
L’affectation multiple est loin d’être courante dans les autres langages de programmation.
#38 Ce que l’on appelle « initialisation » en programmation, c’est le fait d’assigner pour la première fois une valeur à une variable.
#39 Au passage on s’aperçoit que l’on peut faire plusieurs affectations en une même ligne de commande. On parle alors d’affectations multiples.
#40 On remarque que les chaînes de caractères sont délimitées avec des ‘ ‘. Ou avec des " ".
Le dernier exemple montre le typage fort du Python.
#42 On ne pourra donc pas additionner une chaînes de caractères avec un nombre pour espérer produire un nombre. Ni concaténer une chaîne avec un nombre pour obtenir une chaîne. On donnera des exemples très vite.
#43 Ces opérations ne modifient nullement les paramètres x et y auxquelles elles s’appliquent.
Voir le cours 1CPA pour des généralités sur les bases de numération.
#49 « par défaut » signifie que si l’on ne mentionne rien, ce sont ces valeurs qui seront utilisées.
#53 Insistons sur le fait que ce que saisit l’utilisateur est nécessairement convertit en chaîne de caractère. Si l’on veut conserver le côté numérique d’une saisie, il faudra utiliser la fonction « eval » dont nous avons déjà parlé. Voir les exemples du slide suivant.
#57 Les opérations sur les variables booléennes seront étudiées lors du prochain module. Nous n’aborderons pas les opérations sur les nombres complexes dans ce cours.
#65 Remarque : on a donc toujours x = (x // y) * y + (x % y)
#68 Pas très puissant conceptuellement mais assez utile en pratique.
#70 Vous trouverez la liste des fonctions de ce module à l’adresse : https://docs.python.org/3.3/library/math.html.
On reviendra plus en détail dans le ppt 3 sur ces imports de modules.
Il existe également un module « cmath » contenant des fonctions agissant sur les nombres complexes.
#72 C’est le cas aussi de beaucoup de langages de programmation.
#73 Comme dans tous les langages de programmations ces indices commencent à 0. La particularité du Python est que l’on peut accéder aux caractères avec des indices négatifs, en partant de la fin de la chaîne.
#74 Les deux dernières opérations peuvent renvoyer une chaîne vide. La première utilisée avec un indice « incorrect » retourne une erreur. Pour éviter ce genre de problème on va bientôt présenter une fonction calculant le nombre d’éléments d’une chaîne. On pourra donc toujours vérifier la validité de nos indices.
Si l’on omet le premier argument dans l’une des deux opérations de « slicing », il vaut par défaut 0, et si l’on omet le second il vaut par défaut le nombre d’éléments de la chaîne.
#75 L’erreur provient du fait que l’on essaie de modifier une chaîne, et que les chaînes sont des constantes.
#76 Les opérations « min » et « max » fonctionnent bien sûr avec les numéros « unicode » des caractères. Si l’élément « x » n’est pas dans la séquence « s », « s.index(x) » retourne une erreur. S’il y est plusieurs fois « s.index(x) » retournera la position de la première occurence de x.
On reviendra l’année prochaine sur la signification de la syntaxe des opérations « count » et « index ».
A noter que pour toutes ces opérations « x » n’est pas nécessairement un caractère mais peut être également une chaîne.
#78 Ces opérations nous seront bien utiles dans le cours 1ARI quand nous coderons des algorithmes cryptographiques.
Ces opérations ne modifient pas la chaîne sur laquelle on les applique.
#81 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#82 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#83 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#84 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#85 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#86 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#87 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#88 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#89 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#90 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#91 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#92 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#93 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#94 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.
#95 Voir cours d’architecture des ordinateurs, 1CPA, pour des précisions sur cette norme.