Se connecter avec
S'enregistrer | Connectez-vous

Besoin d'aide pour Pseudocode/Algorithme !!

Dernière réponse : dans Programmation

Bonjour a tous, j'aurai besoin de votre aide pour un exercice d'algorithme.

"Ecrire un algorithme qui vérifie l'exactitude d'une adresse IP donnés par l'utilisateur. Affiche selon l'IP donnée, le type de classe à
laquelle elle appartient et les adresses IP suivantes pour cette classe.

Exemple: 192.168.1.1 > Classe C > afficher en suite 192.168.1.2 > 192.168.1.3 > ... > 223.255.225.254 > ..."


Alors voici ma tentative :p 

MODULE
Adresse IP : entier, réel

lire Adresse IP

SI ((Adresse IP >= 1.0.0.0) ET (Adresse IP <= 126.255.255.255)) Alors
ECRIRE " L'adresse IP est de classe A"
SINON
SI ((Adresse IP >= 128.0.0.0) ET (Adresse IP <= 191.255.255.255)) Alors
ECRIRE "L'adresse IP est de classe B"
SINON
SI ((Adresse IP >= 192.0.0.0) ET (Adresse IP <= 223.255.255.255)) Alors
ECRIRE "L'adresse IP est de classe C"
FINSI
FINSI
FINSI
FIN MODULE



(Ne faite pas attention aux alignements, le forum ne les affichent pas)

Je ne sais pas si je px mettre les adresse IP comme ca dans les parentheses, et comme vous le voyez je ne vois pas comment
afficher la suite des adresse IP.

Merci de votre aide
Lassé par la pub ? Créez un compte

salut,

1: dans ton filtrage, pas besoin de tester toute l'adresse.
Seul la 1ere partie impacte ton test:
Si debutadresse > 254 => pas possible
Si debutadresse >= 191 => classe C
sinon si debutadresse >= 128 => classe B
sinon si debutadresse = 127 ( :)  )
sinon si debutadresse >= 0 => classe A

pour vérifier si une adresse ip est correctement saisie,
Valide également que ca ne termine pas (dernier groupe) par 0..

Travailles tu en binaire ?
Te précise t'on de gérer IPV4 et pas IPV6 ? (là .. c'est pour être tordu :)  )
une adresse ip est composé, en décimal, de 4 blocs numériques séparés par des points.

pour vérifier si l'adresse est potentiellement correcte, tu vérifie entre les points ...


Pour afficher le reste des adresses ip disponibles .. ca dépend d'abord de la classe .. et ensuite d'une boucle itérative ..

OKkkk je vois cool.

Apres on a pas specifie si c'est IPV4 ou IPV6
mais pour afficher la suite des adrsse je vois pas comment l'ecrire en faite.

Je peux mettre :

ECRIRE "L'adresse IP est de classe B"
AFFICHER la suite des ip ??

Sinon je n'ai aps vu ce qu'etait une boucle itérative : x

Merci de ton aide deja !



Expert Programmation

Le problème déjà, c'est qu'une condition de ce type:
SI ((Adresse IP >= 1.0.0.0) ET (Adresse IP <= 126.255.255.255)) Alors
est impossible, vu que c'est une string.

Il faut que tu passes par du binaire pour que ce soit beaucoup plus simple à gérer.

Ensuite, pour faire une boucle itérative c'est quelque chose du genre:
POUR i DE 1 à 10 PAS 1
ECRIRE i
FIN POUR

ca va écrire : 1 2 3 4 5 6 7 8 9 10


Et sinon tu as "TANT QUE"
Lassé par la pub ? Créez un compte
Tom's guide dans le monde