From 68a8c0062409faef5e5f58f9652f0d9f16b650cc Mon Sep 17 00:00:00 2001 From: Alexis Fourmaux Date: Tue, 29 Jul 2025 17:01:58 +0200 Subject: [PATCH] =?UTF-8?q?Ajoute=20TD1=20Python=20et=20repr=C3=A9sentatio?= =?UTF-8?q?n=20des=20nombres=20+=20slides?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01-bases-python/td/_td01-correction.md | 150 ++++++++++ .../CIEL1/01-bases-python/td/td01-python.md | 39 +++ src/cours/CIEL1/01-bases-python/td/td02.md | 22 ++ .../02-reseau/{ => cours}/adressage-ip.md | 0 .../{ => cours}/divisions_successives.drawio | 0 .../{ => cours}/divisions_successives.jpg | Bin .../{ => cours}/divisions_successives.svg | 0 .../CIEL1/02-reseau/{ => cours}/numeration.md | 2 +- .../CIEL1/02-reseau/td/td01-correction.md | 56 ++++ .../CIEL1/02-reseau/td/td01-numeration.md | 34 +++ src/cours/SUMMARY.md | 7 +- .../{slides.md => representation_nombres.md} | 6 +- src/slides/td01-nombres-python.md | 280 ++++++++++++++++++ 13 files changed, 590 insertions(+), 6 deletions(-) create mode 100644 src/cours/CIEL1/01-bases-python/td/_td01-correction.md create mode 100644 src/cours/CIEL1/01-bases-python/td/td01-python.md create mode 100644 src/cours/CIEL1/01-bases-python/td/td02.md rename src/cours/CIEL1/02-reseau/{ => cours}/adressage-ip.md (100%) rename src/cours/CIEL1/02-reseau/{ => cours}/divisions_successives.drawio (100%) rename src/cours/CIEL1/02-reseau/{ => cours}/divisions_successives.jpg (100%) rename src/cours/CIEL1/02-reseau/{ => cours}/divisions_successives.svg (100%) rename src/cours/CIEL1/02-reseau/{ => cours}/numeration.md (99%) create mode 100644 src/cours/CIEL1/02-reseau/td/td01-correction.md create mode 100644 src/cours/CIEL1/02-reseau/td/td01-numeration.md rename src/slides/{slides.md => representation_nombres.md} (96%) create mode 100644 src/slides/td01-nombres-python.md diff --git a/src/cours/CIEL1/01-bases-python/td/_td01-correction.md b/src/cours/CIEL1/01-bases-python/td/_td01-correction.md new file mode 100644 index 0000000..43719d8 --- /dev/null +++ b/src/cours/CIEL1/01-bases-python/td/_td01-correction.md @@ -0,0 +1,150 @@ +# TD - Représentation des nombres et Python + +1. Écrire un programme qui demande à l’utilisateurice d’entrer le nom et l’âge. +Il affichera ensuite la phrase `"Bonjour , vous aurez 30 ans en "` + +```python +nom = input("Entrer votre nom : ") +age = int(input("Entrer votre age : ")) + +print(f"Bonjour {nom}, vous aurez 30 ans en {30 - age + 2025}") +``` + +2. Écrire un programme qui demande à l’utilisatrice d’entrer la largeur et la longueur d’un rectangle. Le programme calcule et affiche la surface et le périmètre. +*Utilisez des variables de type `float`* + +```python +largeur = float(input("Largeur (m) : ")) +longueur = float(input("Longueur (m) : ")) + +surface = largeur * longueur +perimetre = 2*(largeur + longueur) + +print(f"Surface : {surface} m²") +print(f"Périmètre : {perimetre} m") +``` + +2. Écrire un programme qui demande à l'utilisatrice d'entrer un rayon et une hauteur de cône. Le programme calculera le volume du cône. Pour rappel, la formule de calcul du volume d'un cône est : $V = \frac{1}{3}.\pi.r^2.h$ + +```python +from math import pi + +rayon = float(input("Rayon du cône (m) :")) +hauteur = float(input("Hauteur du cône (m) :")) + +volume = (pi * hauteur * rayon ** 2) / 3.0 +print("Volume du cône =", volume, "m3") +``` + +3. Écrire un programme qui demande à l'utilisateur de saisir 3 notes et d'en faire la moyenne. *Utilisez des variables de type `float`* + +```python +note_1 = float(input("1ere note : ")) +note_2 = float(input("2e note : ")) +note_3 = float(input("3e note : ")) + +moyenne = (note_1 + note_2 + note_3)/3 + +print(f"Moyenne : {moyenne}") +``` + + +4. Écrire un programme qui demande à l'utilisatrice de saisir deux nombres. Le programme comparera les deux nombres de façon à afficher une comparaison avec les symboles `<, > ou =`, comme dans l'exemple : + +``` +1er nombre : 14 +2nd nombre : 12 +14 > 12 +``` + +```python +nombre_1 = float(input("1er nombre : ")) +nombre_2 = float(input("2nd nombre : ")) + +if nombre_1 > nombre_2 : + print(f"{nombre_1} > {nombre_2}") +elif nombre_1 < nombre_2 : + print(f"{nombre_1} < {nombre_2}") +else: + print(f"{nombre_1} = {nombre_2}") +``` + + +5. Écrire un programme indiquant si un nombre saisi par l'utilisateur est pair ou impair + +```python +nombre = int(input("Nombre : ")) + +if nombre % 2: + print(f"{nombre} est impair") +else: + print(f"{nombre} est pair") +``` + + +6. Écrire un programme qui demande à l'utilisatrice d'entrer un nombre. Le programme affichera les 10 nombres suivants **sur une seule ligne**. *Utilisez une boucle `for`* + +```python +nombre = int(input("Entrez un nombre : ")) + +for i in range (1, 11): + print(nombre + i, end=" ") +``` + +7. Faire le même exercice mais avec une boucle `while` cette fois. + +```python +nombre = int(input("Entrez un nombre : ")) + +nombre_affiche = nombre +while nombre_affiche != nombre + 10: + nombre_affiche += 1 + print(nombre_affiche, end=" ") +``` + +10. Écrire un script python permettant de convertir en base 10 (décimal) un nombre écrit en binaire sous forme d'une chaîne de caractères. Vous demanderez à l'utilisateur ou l'utilisatrice le nombre à convertir, et vous afficherez le résultat. + +```python +base = 2 + +nombre_binaire = input("Saisissez le nombre à convertir") +nombre_decimal = 0 + +puissance = len(nombre_binaire) - 1 +for a in nombre_binaire: + nombre_decimal += int(a) * base ** puissance + puissance -= 1 + +print(f"{nombre_binaire}b = {nombre_decimal}") +``` + +10. Écrire un programme permettant d'afficher les 15 premiers termes de la suite de Fibonacci. Pour rappel, la suite de Fibonacci est une suite de nombres dont chaque nombre est la somme des deux précédents. Elle commence par 0 et 1. + + +```python +n0 = 0 +n1 = 1 + +print(n0, n1, end=" ") + +for i in range(0, 13): + n2 = n0 + n1 + n0 = n1 + n1 = n2 + + print(n2, end=" ") +``` + +11. Écrire un programme qui permet d'afficher le résultat de l'opération factorielle d'un nombre. Pour rappel, factorielle de $n$ s'écrit $n!$ et vaut le produit de tous les nombres entiers de 1 à n. + + Par exemple : $5! = 1\times2\times3\times4\times5 = 120$ + +```python +nombre = int(input("Nombre : ")) + +resultat = 1 +for i in range(1, nombre + 1): + resultat = resultat * i + +print(f"{nombre}! = {resultat}") +``` \ No newline at end of file diff --git a/src/cours/CIEL1/01-bases-python/td/td01-python.md b/src/cours/CIEL1/01-bases-python/td/td01-python.md new file mode 100644 index 0000000..fac1e9b --- /dev/null +++ b/src/cours/CIEL1/01-bases-python/td/td01-python.md @@ -0,0 +1,39 @@ +# TD - Représentation des nombres et Python + +1. Écrire un programme qui demande à l’utilisateurice d’entrer le nom et l’âge. +Il affichera ensuite la phrase `"Bonjour , vous aurez 30 ans en "` + + +2. Écrire un programme qui demande à l’utilisatrice d’entrer la largeur et la longueur d’un rectangle. Le programme calcule et affiche la surface et le périmètre. +*Utilisez des variables de type `float`* + +2. Écrire un programme qui demande à l'utilisatrice d'entrer un rayon et une hauteur de cône. Le programme calculera le volume du cône. Pour rappel, la formule de calcul du volume d'un cône est : $V = \frac{1}{3}.\pi.r^2.h$ + + +3. Écrire un programme qui demande à l'utilisateur de saisir 3 notes et d'en faire la moyenne. *Utilisez des variables de type `float` + + +4. Écrire un programme qui demande à l'utilisatrice de saisir deux nombres. Le programme comparera les deux nombres de façon à afficher une comparaison avec les symboles `<, > ou =`, comme dans l'exemple : + + ``` + 1ere valeur : 14 + 2nde valeur : 12 + 14 > 12 + ``` + +5. Écrire un programme indiquant si un nombre saisi par l'utilisateur est pair ou impair + + +6. Écrire un programme qui demande à l'utilisatrice d'entrer un nombre. Le programme affichera les 10 nombres suivants **sur une seule ligne**. *Utilisez une boucle `for`* + + +7. Faire le même exercice mais avec une boucle `while` cette fois. + + +10. Écrire un script python permettant de convertir en base 10 (décimal) un nombre écrit en binaire sous forme d'une chaîne de caractères. Vous demanderez à l'utilisateur ou l'utilisatrice le nombre à convertir, et vous afficherez le résultat. + +10. Écrire un programme permettant d'afficher les 15 premiers termes de la suite de Fibonacci. Pour rappel, la suite de Fibonacci est une suite de nombres dont chaque nombre est la somme des deux précédents. Elle commence par 0 et 1. + +11. Écrire un programme qui permet d'afficher le résultat de l'opération factorielle d'un nombre. Pour rappel, factorielle de $n$ s'écrit $n!$ et vaut le produit de tous les nombres entiers de 1 à n. + + Par exemple : $5! = 1\times2\times3\times4\times5 = 120$ \ No newline at end of file diff --git a/src/cours/CIEL1/01-bases-python/td/td02.md b/src/cours/CIEL1/01-bases-python/td/td02.md new file mode 100644 index 0000000..e364741 --- /dev/null +++ b/src/cours/CIEL1/01-bases-python/td/td02.md @@ -0,0 +1,22 @@ +# TD Python + + +Ecrire un script python permettant de convertir en binaire un nombre entier écrit en base 10. Vous demanderez à l'utilisateur ou l'utilisatrice le nombre à convertir, et vous afficherez le résultat. + +```python +nombre_decimal = input("Saisissez le nombre à convertir : ") +nombre_binaire = "" + +quotient = int(nombre_decimal) +resultat = "" + +while quotient != 0: + reste = quotient % 2 + quotient = quotient // 2 + + resultat += str(reste) + +resultat = resultat[::-1] + +print(resultat) +``` \ No newline at end of file diff --git a/src/cours/CIEL1/02-reseau/adressage-ip.md b/src/cours/CIEL1/02-reseau/cours/adressage-ip.md similarity index 100% rename from src/cours/CIEL1/02-reseau/adressage-ip.md rename to src/cours/CIEL1/02-reseau/cours/adressage-ip.md diff --git a/src/cours/CIEL1/02-reseau/divisions_successives.drawio b/src/cours/CIEL1/02-reseau/cours/divisions_successives.drawio similarity index 100% rename from src/cours/CIEL1/02-reseau/divisions_successives.drawio rename to src/cours/CIEL1/02-reseau/cours/divisions_successives.drawio diff --git a/src/cours/CIEL1/02-reseau/divisions_successives.jpg b/src/cours/CIEL1/02-reseau/cours/divisions_successives.jpg similarity index 100% rename from src/cours/CIEL1/02-reseau/divisions_successives.jpg rename to src/cours/CIEL1/02-reseau/cours/divisions_successives.jpg diff --git a/src/cours/CIEL1/02-reseau/divisions_successives.svg b/src/cours/CIEL1/02-reseau/cours/divisions_successives.svg similarity index 100% rename from src/cours/CIEL1/02-reseau/divisions_successives.svg rename to src/cours/CIEL1/02-reseau/cours/divisions_successives.svg diff --git a/src/cours/CIEL1/02-reseau/numeration.md b/src/cours/CIEL1/02-reseau/cours/numeration.md similarity index 99% rename from src/cours/CIEL1/02-reseau/numeration.md rename to src/cours/CIEL1/02-reseau/cours/numeration.md index ff89d92..0023c5f 100644 --- a/src/cours/CIEL1/02-reseau/numeration.md +++ b/src/cours/CIEL1/02-reseau/cours/numeration.md @@ -59,7 +59,7 @@ Exemples: Chaque symbole est appelé un **bit** (**Bi**nary dig**it*) pour les distinguer des chiffres du système décimal. -On regroupe souvent les bits en paquets de 8 que l'on va appeler **octets** (bytes en anglais). +On regroupe souvent les bits en paquets de 8 que l'on va appeler **octets** (bytes en anglais). Un octet permet de représenter 256 nombres (de 0 à 255) ### MSB et LSB diff --git a/src/cours/CIEL1/02-reseau/td/td01-correction.md b/src/cours/CIEL1/02-reseau/td/td01-correction.md new file mode 100644 index 0000000..82ec362 --- /dev/null +++ b/src/cours/CIEL1/02-reseau/td/td01-correction.md @@ -0,0 +1,56 @@ +# TD Représentation des nombres + +1. Convertissez les nombres suivants en décimal + - $\mathrm{5B0F}_{|16}$ + * $23 311_{|10}$ + - `0x1001` + * $4097_{|10}$ + - $10011010_{|2}$ + * $154_{|10}$ + - `1001b` + * $9_{|10}$ + +2. Convertissez les nombres suivants en binaire + - $251_{|10}$ (utilisez les deux méthodes) + * 1111 1011b + - $3887_{|10}$ (utilisez les deux méthodes) + * 1111 0010 1111b + - $\mathrm{532}_{|16}$ + * 0101 0011 0010b + - $\mathrm{5B0F}_{|16}$ + * 0101 1011 0000 1111b + +3. Convertissez les nombres suivants en hexadécimal + - $10011010_{|2}$ + * 0x9A + - $100110101_{|2}$ + * 0x135 + - $111 1001 1100 1011 1101 0001_{|2}$ + * 0x79CBD1 + +4. Combien de nombres un octet permet-il de représenter ? Justifier. + * 2⁸ = 256 -> 256 nombres + +5. En admettant qu'un nombre entier naturel soit codé sur 32 bits, quelle est la valeur maximale que peut avoir un entier naturel ? À votre avis, dans un système informatique, que se passe-t-il si on augmente de 1 la valeur maximale d'un entier ? + * 2³² = 4 294 967 296 -> valeur max = 4 294 967 295 (Il ne faut pas oublier le zéro) + * Il repasse à zéro : on appelle ça un débordement (overflow en anglais). C'est une source de bugs courante. C'est pour cela qu'il faut être attentif à la valeur maximale qu'un nombre peut avoir dans vos programmes. + +6. Mon ordinateur m'indique qu'un fichier fait 13 560 788 octets. Combien cela représente-t-il environ (1 chiffre après la virgule) + - en kio + * 13 560 788 / 2¹⁰ = 13243,0 kio + - en Mio + * 13 560 788 / 2²⁰ = 12,9 Mio + - en ko + * 13 560,8 ko + - en Mo + * 13,6 Mo + +7. Quelle est la capacité d'un disque dur de 1To + - en Go + * 1000 Go + - en Mo + * 1 000 000 Mo + - en Gio + * 10¹² / 2³⁰ = 932,3 Gio + - en Mio + * 953 674,3 Mio diff --git a/src/cours/CIEL1/02-reseau/td/td01-numeration.md b/src/cours/CIEL1/02-reseau/td/td01-numeration.md new file mode 100644 index 0000000..02d0fad --- /dev/null +++ b/src/cours/CIEL1/02-reseau/td/td01-numeration.md @@ -0,0 +1,34 @@ +# TD Représentation des nombres + +1. Convertissez les nombres suivants en décimal + - $\mathrm{5B0F}_{|16}$ + - `0x1001` + - $10011010_{|2}$ + - `1001b` + +2. Convertissez les nombres suivants en binaire + - $251_{|10}$ (utilisez les deux méthodes) + - $3887_{|10}$ (utilisez les deux méthodes) + - $\mathrm{532}_{|16}$ + - $\mathrm{5B0F}_{|16}$ + +3. Convertissez les nombres suivants en hexadécimal + - $10011010_{|2}$ + - $100110101_{|2}$ + - $111 1001 1100 1011 1101 0001_{|2}$ + +4. Combien de nombres un octet permet-il de représenter ? Justifier. + +5. En admettant qu'un nombre entier naturel soit codé sur 32 bits, quelle est la valeur maximale que peut avoir un entier naturel ? À votre avis, dans un système informatique, que se passe-t-il si on augmente de 1 la valeur maximale d'un entier ? + +7. Quelle est la capacité d'un disque dur de 1To + - en Go + - en Mo + - en Gio + - en Mio + +8. Mon ordinateur m'indique qu'un fichier fait 13 560 788 octets. Combien cela représente-t-il environ (1 chiffre après la virgule) + - en Kio + - en Mio + - en Ko + - en Mo \ No newline at end of file diff --git a/src/cours/SUMMARY.md b/src/cours/SUMMARY.md index d7c5dd2..7cc686b 100644 --- a/src/cours/SUMMARY.md +++ b/src/cours/SUMMARY.md @@ -3,8 +3,11 @@ - [Bases de l'algorithmique avec Python](./CIEL1/01-bases-python/algorithmique-python.md) - [TP1 - Découverte de Python](./CIEL1/01-bases-python/tp/01_decouverte.md) - [TP1 - Corrigé - Découverte de Python](./CIEL1/01-bases-python/tp/_01_decouverte.md) - - [L'adressage IP](./CIEL1/02-reseau/adressage-ip.md) - - [Représentation des nombres](./CIEL1/02-reseau/numeration.md) + - [TD1 - Bases de Python](./CIEL1/01-bases-python/td/td01-python.md) + - [TD2 - Python](./CIEL1/01-bases-python/td/td02.md) + - [L'adressage IP](./CIEL1/02-reseau/cours/adressage-ip.md) + - [Représentation des nombres](./CIEL1/02-reseau/cours/numeration.md) + - [TD1 - Représentation des nombres](./CIEL1/02-reseau/td/td01-numeration.md) - [L'environnement de développement](./CIEL1/03-dev-env/dev-env.md) - [Les conteneurs](./CIEL1/03-dev-env/conteneurs.md) - [Git](./CIEL1/03-dev-env/git.md) diff --git a/src/slides/slides.md b/src/slides/representation_nombres.md similarity index 96% rename from src/slides/slides.md rename to src/slides/representation_nombres.md index 924f8dc..d67a0f8 100644 --- a/src/slides/slides.md +++ b/src/slides/representation_nombres.md @@ -152,8 +152,8 @@ Exercice : --- @@ -247,7 +247,7 @@ Exercice: Convertir en binaire Exemple avec le nombre $53_{|10}$ qui s'écrit $110101_{|2}$ en binaire : -![divisions successives](../cours/CIEL1/02-reseau/divisions_successives.jpg) +![divisions successives](../cours/CIEL1/02-reseau/cours/divisions_successives.jpg) --- + +# TD - Représentation des nombres et Python +--- +## Représentation des nombres +--- + +1. Convertissez les nombres suivants en décimal + - $\mathrm{5B0F}_{|16}$ + * $23 311_{|10}$ + - `0x1001` + * $4097_{|10}$ + - $10011010_{|2}$ + * $154_{|10}$ + - `1001b` + * $9_{|10}$ + +--- + +2. Convertissez les nombres suivants en binaire + - $251_{|10}$ (utilisez les deux méthodes) + * 1111 1011b + - $3887_{|10}$ (utilisez les deux méthodes) + * 1111 0010 1111b + - $\mathrm{532}_{|16}$ + * 0101 0011 0010b + - $\mathrm{5B0F}_{|16}$ + * 0101 1011 0000 1111b + +--- + +3. Convertissez les nombres suivants en hexadécimal + - $10011010_{|2}$ + * 0x9A + - $100110101_{|2}$ + * 0x135 + - $111 1001 1100 1011 1101 0001_{|2}$ + * 0x79CBD1 + +--- + +4. Combien de nombres un octet permet-il de représenter ? Justifier. + * 2⁸ = 256 -> 256 nombres + +--- +5. + 1. En admettant qu'un nombre entier naturel soit codé sur 32 bits, quelle est la valeur maximale que peut avoir un entier naturel ? + * 2³² = 4 294 967 296 + * Donc valeur max = 4 294 967 295 (Il ne faut pas oublier le zéro) + 2. À votre avis, dans un système informatique, que se passe-t-il si on augmente de 1 la valeur maximale d'un entier ? + * Il repasse à zéro : on appelle ça un débordement (overflow en anglais). C'est une source de bugs courante. C'est pour cela qu'il faut être attentif à la valeur maximale qu'un nombre peut avoir dans vos programmes. + +--- + +6. Mon ordinateur m'indique qu'un fichier fait 13 560 788 octets. Combien cela représente-t-il environ (1 chiffre après la virgule) + - en kio + * 13 560 788 / 2¹⁰ = 13243,0 kio + - en Mio + * 13 560 788 / 2²⁰ = 12,9 Mio + - en ko + * 13 560,8 ko + - en Mo + * 13,6 Mo + +--- + +7. Quelle est la capacité d'un disque dur de 1To + - en Go + * 1000 Go + - en Mo + * 1 000 000 Mo + - en Gio + * 10¹² / 2³⁰ = 932,3 Gio + - en Mio + * 953 674,3 Mio + +--- +## Python +--- + +1. Écrire un programme qui demande à l’utilisateurice d’entrer le nom et l’âge. +Il affichera ensuite la phrase : + `"Bonjour , vous aurez 30 ans en "` + +--- + +```python +nom = input("Entrer votre nom : ") +age = int(input("Entrer votre age : ")) + +print(f"Bonjour {nom}, vous aurez 30 ans en {30 - age + 2025}") +``` + +--- + +2. Écrire un programme qui demande à l’utilisatrice d’entrer la largeur et la longueur d’un rectangle. Le programme calcule et affiche la surface et le périmètre. +*Utilisez des variables de type `float`* + +--- + +```python +largeur = float(input("Largeur (m) : ")) +longueur = float(input("Longueur (m) : ")) + +surface = largeur * longueur +perimetre = 2*(largeur + longueur) + +print(f"Surface : {surface} m²") +print(f"Périmètre : {perimetre} m") +``` + +--- + +3. Écrire un programme qui demande à l'utilisatrice d'entrer un rayon et une hauteur de cône. Le programme calculera le volume du cône. Pour rappel, la formule de calcul du volume d'un cône est : $V = \frac{1}{3}.\pi.r^2.h$ + +--- + +```python +from math import pi + +rayon = float(input("Rayon du cône (m) :")) +hauteur = float(input("Hauteur du cône (m) :")) + +volume = (pi * hauteur * rayon ** 2) / 3.0 +print("Volume du cône =", volume, "m3") +``` + +--- + +4. Écrire un programme qui demande à l'utilisateur de saisir 3 notes et d'en faire la moyenne. *Utilisez des variables de type `float`* + +--- + +```python +note_1 = float(input("1ere note : ")) +note_2 = float(input("2e note : ")) +note_3 = float(input("3e note : ")) + +moyenne = (note_1 + note_2 + note_3)/3 + +print(f"Moyenne : {moyenne}") +``` + +--- + +5. Écrire un programme qui demande à l'utilisatrice de saisir deux nombres. Le programme comparera les deux nombres de façon à afficher une comparaison avec les symboles `<, > ou =`, comme dans l'exemple : + +``` +1er nombre : 14 +2nd nombre : 12 +14 > 12 +``` + +--- + +```python +nombre_1 = float(input("1er nombre : ")) +nombre_2 = float(input("2nd nombre : ")) + +if nombre_1 > nombre_2 : + print(f"{nombre_1} > {nombre_2}") +elif nombre_1 < nombre_2 : + print(f"{nombre_1} < {nombre_2}") +else: + print(f"{nombre_1} = {nombre_2}") +``` + +--- + +6. Écrire un programme indiquant si un nombre saisi par l'utilisateur est pair ou impair + +--- + +```python +nombre = int(input("Nombre : ")) + +if nombre % 2: + print(f"{nombre} est impair") +else: + print(f"{nombre} est pair") +``` + +--- + +7. Écrire un programme qui demande à l'utilisatrice d'entrer un nombre. Le programme affichera les 10 nombres suivants **sur une seule ligne**. *Utilisez une boucle `for`* + +--- + +```python +nombre = int(input("Entrez un nombre : ")) + +for i in range (1, 11): + print(nombre + i, end=" ") +``` + +--- + +8. Faire le même exercice mais avec une boucle `while` cette fois. + +--- + +```python +nombre = int(input("Entrez un nombre : ")) + +nombre_affiche = nombre +while nombre_affiche != nombre + 10: + nombre_affiche += 1 + print(nombre_affiche, end=" ") +``` + +--- + +9. Écrire un script python permettant de convertir en base 10 (décimal) un nombre écrit en binaire sous forme d'une chaîne de caractères. Vous demanderez à l'utilisateur ou l'utilisatrice le nombre à convertir, et vous afficherez le résultat. + +--- + +```python +base = 2 + +nombre_binaire = input("Saisissez le nombre à convertir") +nombre_decimal = 0 + +puissance = len(nombre_binaire) - 1 +for a in nombre_binaire: + nombre_decimal += int(a) * base ** puissance + puissance -= 1 + +print(f"{nombre_binaire}b = {nombre_decimal}") +``` + +--- + +10. Écrire un programme permettant d'afficher les 15 premiers termes de la suite de Fibonacci. Pour rappel, la suite de Fibonacci est une suite de nombres dont chaque nombre est la somme des deux précédents. Elle commence par 0 et 1. + +--- + +```python +n0 = 0 +n1 = 1 + +print(n0, n1, end=" ") + +for i in range(0, 13): + n2 = n0 + n1 + n0 = n1 + n1 = n2 + + print(n2, end=" ") +``` + +--- + +11. Écrire un programme qui permet d'afficher le résultat de l'opération factorielle d'un nombre. Pour rappel, factorielle de $n$ s'écrit $n!$ et vaut le produit de tous les nombres entiers de 1 à n. + + Par exemple : $5! = 1\times2\times3\times4\times5 = 120$ + +--- + +```python +nombre = int(input("Nombre : ")) + +resultat = 1 +for i in range(1, nombre + 1): + resultat = resultat * i + +print(f"{nombre}! = {resultat}") +``` \ No newline at end of file