"""
Exercice 1:

1. Pour trouver on a :

(2 000 000 000*10) / 2 000 = 10 000 000mm**2 donc 10m**2

Pour placer 2milliard de transistors il aurait fallu avoir 10m**2

2. La fréquence d'un processeur correspond au nombre d'opérations qu'il peut faire par seconde. On designe un processeur par le sigle CPU.

3.Le coeur est une unité de traitement qui permet au processeur d'executer plusieurs instructions en même temps. Avoir plusieurs coeurs permet donc au processeur
de faire plusieurs instructions en même temps et prendre moins de temps et donc de réduire la consommation énergétique.

4.Un Soc aussi appelé "systeme on a chip" est un systeme d'exploitation sur une puce éléctronique.

5.De part sa petite taille un Soc consomme très peu d'énergie. Cet avantage est possible car toutes les fonctions sont regrouper en un seul et même endroit ce qui
limite les pertes et donc permet de moins consommer.

6.Le Soc possède des inconvénients, de part sa taille et sa compléxité il est impossible de le réparer de plus un Soc est non évolutif.

7.Iphone : Processeur avec un seul coeur, faible mémoire et faible fréquence (400 MHz)
Iphone 5 : Soc plus évolué avec plusieurs coeurs et une plus grande mémoire ainsi qu'une plus grande fréquence (1 GHz)
Iphone 16 : Soc encore plus évolué, encore plus de coeurs qui sont eux mêmes plus performants tout en consommant moins, plus de mémoire et plus de fréquence (3 GHz)



Exercice 2:

1. photo sur le gitlab ( je ne possède pas de windows )

2.a. sur gitlab

b.En effet on peut voir un cycle il y a donc bien un interblocage.

P4 --> R3 --> P5 --> R5 --> P7 --> R2 --> P4


Exercice 3

1.C'est le protocole ARP, il appartient à la 3eme couche du modèle OSI.

2.La notation CIDR de cet ordinateur s'écrit 192.168.22.45/24 car cela veux dire que les 24 premiers bits sont utilisés pour l'adresse du réseau et donc ca laisse
8 bits pour les adresses des hôtes dans ce sous-réseau.

3.L'adresse du sous réseau auquel est connecté cet ordinateur est 192.168.22.0.

4.L'adresse de diffusion de ce sous réseaux est 192.128.22.255.

5.On sait que 255 correspond à l'adresse de diffusion et 0 correspond au réseau il reste donc 256-2=254 donc 254 appareils peuvent être simultanément connectés.

6.L'lélève n'obtient pas de réponse car il a utilisé une adresse ip privée pour que cela marche il doit soit utiliser l'adresse publique ou alors se rendre
directement dans le lieu ou il est possible d'utiliser l'adresse privée.



Exercice 4 :

1.Sur gitlab

2.Aller : Ordinateur ( 240.10.0.31 ) --> R5 --> R4 --> R2 --> récépteur ( 235.40.0.20 )

Retour : Ordinateur ( 235.40.0.20 ) --> R2 --> R4 --> R5 --> Récépteur ( 240.10.0.31 )


Exercice 5 :
"""

def codage_xor(message, cle):
    n = len( message )
    m = len( cle )
    codage = []
    for i in range(n):
        code = ord(message[i]) ^ ord(cle[i % m])
        codage.append(code)
    
    return codage


def decodage_xor(message, cle):
    m = len(cle)
    message_decode = ""
    for i in range(len(message)):
        traduction = message[i] ^ ord(cle[i % m])
        message_decode += chr(traduction)
    
    return message_decode






