Algorithmique et programmation en Python

Inscrivez-vous sur repl.it

pour vous exercer...

crédit image :

1.   Algorithmique et programmation

2.  Variables numériques & Opérations

3.  L'entrée des valeurs par l'utilisateur

4.  L'affichage à l'écran

5.  L'instruction conditionnelle if

6.  La boucle bornée for

7.  La boucle non bornée while

8.  Les Fonctions 

9.  Les chaînes de caractères

10. Le graphe d'une fonction

Au programme :

1. Algorithme et programmation

Un algorithme est une suite d’instructions qui s’enchaînent dans un ordre déterminé et qui font intervenir la plupart du temps des variables.

Il peut s’écrire en langage naturel ou en langage informatique.

Programmer un algorithme consiste à l’écrire dans un langage informatique, ici Python, il devient alors un programme
(on parle aussi de script).

Lorsque l’on écrit du code informatique, il est important de le commenter afin de le rendre plus compréhensible pour les autres et pour soi-même. Les commentaires ne sont pas interprétés par Python et commence par un dièse.

# un commentaire en Python

2. Variables numériques & Opérations

Une variable est comme une petite boite dans laquelle on peut stocker des données, nombre, chaîne de caractères, valeur entrée par l’utilisateur...

A chaque donnée est associé un nom et un type.

Le nom permet de désigner la donnée et le type permet de préciser la nature de cette donnée, ce qui détermine les opérations que l’on peut lui appliquer.

Les variables qui stockent des valeurs numériques sont appelées variables numériques. Pour stocker une valeur dans une variable, on écrit une instruction d’affectation.

nom_de_la_variable = valeur

Affectation en Python :

On affecte la valeur 7,5 à la variable longueur.

longueur = 7.5

Un nom de variable ne doit pas contenir d’espace. Il est composé de lettres, de chiffres (pas en première position) et on utilise le tiret du bas (underscore) pour remplacer les espaces.

>>> a = 22
>>> b = 7
>>> a + b
29
>>> a - b
15
>>> a*b
154
>>> a/b
3.142857142857143
>>> a**4                  # puissance entière
234256
>>> from math import sqrt # importe la fonction racine carrée 
>>> sqrt(a)
4.69041575982343
>>> a//b                  # quotient entier
3
>>> a%b                   # reste de la division euclidienne
1

Opérations avec les variables numériques :

3. L’entrée des valeurs par l’utilisateur

Souvent lors de la conception d’un programme, on écrit des instructions qui invitent l’utilisateur à entrer des données.

Exemples.

Dans l’exemple ci-dessous la fonction input() affiche le message "Entrer le nombre de boules dans l’urne :".

Par défaut cette fonction renvoie une chaîne de caractère (même si l’utilisateur a saisi un nombre entier).

On utilise la fonction int() pour que la valeur affectée à la variable n soit bien un nombre entier.

n = int(input("Entrer le nombre de boules dans l'urne :"))

Dans l’exemple ci-dessous la fonction float() va convertir la valeur saisie par l’utilisateur en un nombre réel.

x = float(input("Entrer l'abscisse du point A :"))

Dans l’exemple ci-dessous la fonction eval() permet à l’utilisateur d’entrer une valeur réelle sous la forme d’une racine carrée ou d’une fraction

from math import *     # importe toute la bibliothèque math
y = eval(input("Entrer un nombre réel :"))

4. L’affichage à l’écran

La fonction print() permet d’afficher à l’écran un message ou la valeur stockée dans une variable.

Exemples.

Affichage de la valeur stockée dans une variable :

nombre = 4
print(nombre)      # affiche 4

Affichage d’une chaîne de caractères : On utilise indifféremment des guillemets simples ou doubles.

print("nombre")    # affiche nombre
print('nombre')    # affiche nombre

Le caractère spécial \n correspond à un retour à la ligne :

print("Une liste :\n* item 1\n* item 2") # affiche Une liste:
                                         #         * item 1
                                         #         * item 2

Affichage d’une chaîne de caractères et de la valeur affectée à une variable :

distance = 8
print('la distance est égale à ', distance) 
# affiche la distance est égale à 8

5. L’instruction conditionnelle if

Il n’est pas rare d’avoir à écrire dans un algorithme une instruction du type :

si CONDITION alors INSTRUCTION1 sinon INSTRUCTION2

if condition(s):
    instruction(s)1
else:
    instruction(s)2

Syntaxe en Python :

Pour délimiter les blocs d’instructions Python utilise les : et l’indentation (décalage du retour à la ligne vers la droite).
Les mots clés utilisés sont if, else et elif (contraction de else if).

Exemples :

Dans l’exemple ci-dessous, on teste la condition x > 0.

Si cette condition est vérifiée, le message s’affiche et si ce n’est pas le cas, il ne se passe rien. 

x = float(input("Entrer un nombre x :"))
if x > 0:
    print(x, " est un nombre strictement positif.")

Dans l’exemple ci-dessous, on teste toujours la condition x > 0. Si cette condition n’est pas vérifiée, le programme affiche à présent le deuxième message 

x = float(input("Entrer un nombre x :"))
if x > 0:
    print(x, " est un nombre strictement positif.")
else:
    print(x, " est un nombre négatif.")

Ici on teste une deuxième condition x < 0. Si les deux conditions ne sont pas vérifiées, le programme affiche le troisième message

x = float(input("Entrer un nombre x :"))
if x > 0:
    print(x, " est un nombre strictement positif.")
elif x < 0:
    print(x, " est un nombre strictement négatif.")
else:
    print("x est égal à 0.")

Les conditions x > 0 et x < 0 sont des booléens, si elles sont vérifiées elles renvoient True et dans le cas contraire elles renvoient False.

Opérateurs de comparaison :

2 == 2     # True     == est le signe égal en Python
4 != 2     # True     != est le signe "est différent de" 
4 > 2      # True
4 < 2      # False
4 > 4      # False
4 >= 4     # True
4 <= 2     # False

Opérateurs logiques and et or :

a = True
b = False

a and a     # True
a and b     # False
b and a     # False
b and b     # False
a or a      # True
a or b      # True
b or a      # True
b or b      # False

6. La boucle bornée for

Lorsque l’on souhaite répéter une ou plusieurs instruction(s) un nombre défini de fois, c’est à dire connu à l’avance, on utilise une boucle for.

for variable in range():
    instruction(s)

Syntaxe en Python :

La fonction range() définit le nombre de passages dans la boucle et comme pour une instruction conditionnelle, le bloc d’instruction(s) est délimité par les : et l’indentation.

 

Soit n, m et k des nombres entiers :

  • range(n) : fait prendre à la variable les valeurs entières de 0 à n − 1 (n valeurs).
  • range(n, m) : fait prendre à la variable les valeurs entières de n à m − 1 (m − n valeurs).
  • range(n, m, k) : fait prendre à la variable les valeurs entières de n à m − 1 avec un pas de k.

Exemples :

for i in range(3):
    print(i)     # affiche 0
                 #         1
                 #         2
for i in range(21, 25):
    print(i)     # affiche 21
                 #         22
                 #         23
                 #         24
for i in range(7, 20, 3):
    print(i)     # affiche 7
                 # 10
                 # 13
                 # 16
                 # 19

Afficher sur la même ligne dans une boucle :

for i in range(3):
    print(i, end=" ")     # affiche 0 1 2
for i in range(3):
    print(i, end=", ")     # affiche 0, 1, 2,

7. La boucle non bornée while

Lorsque l’on souhaite répéter une ou plusieurs instruction(s) un nombre inconnu de fois, on utilise une boucle while. Elle est parcourue tant qu’une condition est vérifiée. Le bloc d’instruction(s) est également délimité par les : et l’indentation

while condition:
    instruction(s)

Syntaxe en Python :

Made with Slides.com