Faites une copie avec la commande ci dessus "File>Make a Copy...", et renommez la en cliquant sur le titre (à côté de jupyter TD2...), par exemple en rajoutant votre nom.
Un booléen est une variable qui prend uniquement deux valeurs, vrai ou faux. En ce sens c'est ce qui est le plus proche de la machine. En effet, comme on le verra dans le cours, un ordinateur ne comprend que deux états : le courant passe ou le courant ne passe pas. Les variables booléennes sont utilisées pour les tests ou les boucles. Essayer les expressions suivantes ; pour mieux comprendre et assimiler voir le cours sur les opérateurs de comparaison, ainsi que sur les opérateurs logiques (cours IV 4).
3 > 5
a = 4
a >= 4
a == 4
a != 4
a == 4 and 3 > 5
a == 4 or 3 > 5
a == 4 or 3 < 5
not(a==4)
On peut écrire des expressions plus complexes avec les booléens. Ce n'est pas forcément recommandé, ni interdit non plus. Si vous faites comme ci-dessous, veillez à ne pas trop perdre en lisibilté et en clarté du code.
a =int(input("Donnez un nombre"))
b = (a > 50) # les parenthèses ne sont pas obligatoires mais permettent plus de lisibilité
print("b vaut",b,", et est de type ",type(b))
c = (a == 3 or not(b) or not(a != 25) ) # si vous reussissez a deviner la valeur de c, bravo !
# ici c'est illisible...
Lire le cours (VI 5)
Que fait le programme ci-dessous ? Expliquer son fonctionnement (vous pouvez écrire vos idées après "commentaires" avec un double clic sur la ligne "commentaires", puis ctrl + entrée pour avoir le format texte)
a = float(input("rentrez un nombre quelconque :"))
if a//2 == a/2:
print(a," est un entier pair")
elif a//1 == a:
print(a," est un entier impair")
else:
print(a," n'est pas un entier")
Commentaires:
Ecrire un programme qui demande votre âge, et qui dit:
Faire tourner le programme ci-dessous. Comprendre son fonctionnement.
Le changer de manière à ce qu'il compte de 10 jusqu'à 0 inclus. Vous pouvez comparer la solution trouvée avec celles de vos voisins; en effet il y a de nombreuses méthodes.
n = 10
while n > 0:
print(n)
n = n - 2
Exercice sur un algorithme classique de mathématiques, à connaitre pour le bac.
On donne la suite définie par
$ u_0 = 5$ et $
u_{n+1} = 2u_n - 1
$
. Trouver le plus petit entier n tel que $u_n$ > 1000000.
L'algorithme est le suivant :
Début
u $\leftarrow$ 5
n $\leftarrow$ 0
Tant que u ≤ 1000000 :u $\leftarrow$ 2$\times$u - 1
n $\leftarrow$ n + 1
Fin tant que
afficher n
Fin
Programmer cet algorithme, on utilisera la syntaxe de l'exemple ci-dessus (cours très succint IV 6).
L'instruction "range" permet de parcourir un ensemble de valeurs. Tester sur les exemples ci dessous. Vous pouvez mettre des commentaires dans la cellule du même nom
for i in range(10):
print(i)
for i in range(0,10,1):
print(i)
Commentaires :
Exercice : modifier la deuxième boucle ci-dessus de manière à:
Exemple sur un autre algorithme classique de mathématiques demandé au bac.
On donne la suite définie par
$ u_0 = 5$ et $
u_{n+1} = 2u_n - 1
$
. Calculer $u_{25000}$. Recopier le résultat sur votre copie.
L'algorithme est le suivant :
Début
u $\leftarrow$ 5
Pour n de 0 jusqu'à 25000 :u $\leftarrow$ 2$\times$u - 1
Fin Pour
afficher u
cela peut être une bonne idée d'afficher n aussi pour vérifier que l'on a bien ce que l'on veut
Fin
Programmer cet algorithme, on utilisera la syntaxe de l'exemple ci-dessus (cours très succint IV 6).
Les instructions itératives et conditionnelles évaluant des booléens, on ne code pas ceci, qui est un pléonasme:
`bool = True
if bool == True: ...`
Mais cela:
`bool = True
if bool : ...`