AGUSHA MARRION WILLIAM
MASTER 1 TELECOM ET ADMIN RESEAU
TRAVAIL PRATIQUE DE PROGRAMMATION C ET PYTHON
PARTIE 1. IPLEMENTATION EN C
Programme en langage C
#include <stdio.h>
int main() {
int ip[4], mask[4], network[4];
int i;
for (i = 0; i < 4; i++) {
int valid = 0;
while (!valid) {
printf("Entrez l'octet %d de l'adresse IP (0-255) : ", i + 1);
if (scanf("%d", &ip[i]) == 1) {
if (ip[i] >= 0 && ip[i] <= 255) {
valid = 1;
} else {
printf("Erreur : l'octet doit etre entre 0 et 255.\n");
}
} else {
printf("Erreur : veuillez entrer un entier.\n");
while(getchar() != '\n');
}
}
}
for (i = 0; i < 4; i++) {
int valid = 0;
while (!valid) {
printf("Entrez l'octet %d du masque (0-255) : ", i + 1);
if (scanf("%d", &mask[i]) == 1) {
if (mask[i] >= 0 && mask[i] <= 255) {
valid = 1;
} else {
printf("Erreur : l'octet doit etre entre 0 et 255.\n");
}
} else {
printf("Erreur : veuillez entrer un entier.\n");
while(getchar() != '\n');
}
}
}
for (i = 0; i < 4; i++) {
network[i] = ip[i] & mask[i];
}
RESULTAT APRES EXECUTION
PARTIE 2. IMPLEMENTATION EN PYTHON
Programme en lange Python
ip = input("Entrez une adresse IP (ex: [Link]) : ")
octets = [Link](".")
if len(octets) != 4:
print("Adresse IP invalide")
else:
ip_binaire = []
i=0
while i < 4:
try:
valeur = int(octets[i])
if valeur < 0 or valeur > 255:
print("Adresse IP invalide")
break
binaire = ""
n = valeur
while n > 0:
binaire = str(n % 2) + binaire
n = n // 2
while len(binaire) < 8:
binaire = "0" + binaire
ip_binaire.append(binaire)
i += 1
except ValueError:
print("Adresse IP invalide")
break
else:
print("Adresse IP en binaire :")
print(".".join(ip_binaire))
RESULTAT PRES EXECUTION
Difficulté rencontrée
Nous avons rencontré une difficulté lors de la compilation et exécution du programme
C avec MSYS2 MINGW64, et même sur le terminal Git Bash du Vs code, nous n’avons pas pu
résoudre ce problème et raison pour laquelle nous avons choisi CMD pour compiler et exécuter le
programme compte tenu du temps qui nous est resté, et après continuer à chercher la solution.