Ajoute TD1 Python et représentation des nombres + slides

This commit is contained in:
Alexis Fourmaux 2025-07-29 17:01:58 +02:00
parent e6a1d36ffd
commit 68a8c00624
13 changed files with 590 additions and 6 deletions

View file

@ -152,8 +152,8 @@ Exercice :
<!--
Capacité donnée : 512 Go = 512.10⁹ octets
⇒ Capacité en Gio : 512.10⁹ / 230 ≈ 476,84 Gio
⇒ Capacité en Tio : 512.10⁹ / 240 ≈ 0,46 Tio
⇒ Capacité en Gio : 512.10⁹ / 2³⁰ ≈ 476,84 Gio
⇒ Capacité en Tio : 512.10⁹ / 2⁴⁰ ≈ 0,46 Tio
-->
---
@ -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)
---
<style scoped>

View file

@ -0,0 +1,280 @@
---
marp: true
theme: catppuccin
paginate: true
size: 4:3
transition: coverflow
footer: ''
math: katex
---
<style>
section {
font-size: 28px;
}
</style>
# TD - Représentation des nombres et Python
---
## Représentation des nombres
---
1. Convertissez les nombres suivants en décimal
- $\mathrm{5B0F}_{|16}$
* $23311_{|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 294967296
* Donc valeur max = 4 294967295 (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 à lutilisateurice dentrer le nom et lâge.
Il affichera ensuite la phrase :
`"Bonjour <nom>, vous aurez 30 ans en <année>"`
---
```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 à lutilisatrice dentrer la largeur et la longueur dun 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}")
```