Besoin daide svp
ficatore
Messages postés
11
Statut
Membre
-
amigo -
amigo -
Bonjour,
Bonjour,
jai deux fichier sous forme de tabelau voci leur composition
netmap.txt:switch;n°port;bureau;....adressmac
téléphone.txt:numtel;nompersonne;adresemac
je doit créer un algo qui lorsque nous saississon un numero de bureau nous donne les numerodetel ainsi que les nom des personnes presentent dans ce bureau
on saisit par exempls les numerode bureau I203 et celui ci nous retourne
5526; I203 ;adressemac; jeanpaul dubois
lors de la saisir du bureau le programme doit rechercher si ce bureau existe dan le fichier netmap.txt et si il existe celui ci nous retourne le bureau ladresse mac des tels présents dans le bureau, le programme prend donc ensuite ladresse mac et va rechercher dans le fichiers téléphone.txt a quel numero et quel personne cela correspond
voila si vs avez des questions js suis la car frt je suis vraiment perdu et jai vraiment beaucoup de mal...
merci beaucoup
Saisir le Numéros de bureau.
Recherche dans netmap.txt si le bureau existe et si des adresses Mac sont présentes dans ce bureau si il y en a alors
recherche dans téléphone.txt pour savoir à quel nurémos de tel elle correspondent
Tab netmap: structure
switch: Chaine
numport : entier
bureau : chaine
.....
adressemac :chaine
FINSTRUCTURE
Tab téléphone: structure
numtel:chaine
identité : chaine
adressemac: chaine
.....
FINSTRUCTURE
Var téléphone tableau [1...X] de téléphone
Var netmap tableau [1...X] de netmap
Procédure RECHERCHE(d:netmap [1...X], téléphone[1...X], nom chaine)
Variable i,j :entier
Variable mac,bureau :chaine
Debut
Ouvrir(netmap.txt, L)
Ouvrir(téléphone.txt, L)
Saisir bureau
i <- 1
j <- 1
Tant que j < X et bureau <>netmap[ i ].bureau
j <- j+1
Fintantque
Si bureau = netmap[ j ].bureau alors
mac <- netmap[ j ].mac
Finsi
Tant que i < X et mac <>téléphone[ i ].mac alors
i <- i+1
FinTantQue
Si mac=téléphone[ i ].mac alors
Afficher( téléphone[ i ].numtel, netmap[ j ].bureau)
FinSi
Fermer(netmap.txt)
Fermer(téléphone.txt)
Fin
que pensez vous de cela?
Bonjour,
jai deux fichier sous forme de tabelau voci leur composition
netmap.txt:switch;n°port;bureau;....adressmac
téléphone.txt:numtel;nompersonne;adresemac
je doit créer un algo qui lorsque nous saississon un numero de bureau nous donne les numerodetel ainsi que les nom des personnes presentent dans ce bureau
on saisit par exempls les numerode bureau I203 et celui ci nous retourne
5526; I203 ;adressemac; jeanpaul dubois
lors de la saisir du bureau le programme doit rechercher si ce bureau existe dan le fichier netmap.txt et si il existe celui ci nous retourne le bureau ladresse mac des tels présents dans le bureau, le programme prend donc ensuite ladresse mac et va rechercher dans le fichiers téléphone.txt a quel numero et quel personne cela correspond
voila si vs avez des questions js suis la car frt je suis vraiment perdu et jai vraiment beaucoup de mal...
merci beaucoup
Saisir le Numéros de bureau.
Recherche dans netmap.txt si le bureau existe et si des adresses Mac sont présentes dans ce bureau si il y en a alors
recherche dans téléphone.txt pour savoir à quel nurémos de tel elle correspondent
Tab netmap: structure
switch: Chaine
numport : entier
bureau : chaine
.....
adressemac :chaine
FINSTRUCTURE
Tab téléphone: structure
numtel:chaine
identité : chaine
adressemac: chaine
.....
FINSTRUCTURE
Var téléphone tableau [1...X] de téléphone
Var netmap tableau [1...X] de netmap
Procédure RECHERCHE(d:netmap [1...X], téléphone[1...X], nom chaine)
Variable i,j :entier
Variable mac,bureau :chaine
Debut
Ouvrir(netmap.txt, L)
Ouvrir(téléphone.txt, L)
Saisir bureau
i <- 1
j <- 1
Tant que j < X et bureau <>netmap[ i ].bureau
j <- j+1
Fintantque
Si bureau = netmap[ j ].bureau alors
mac <- netmap[ j ].mac
Finsi
Tant que i < X et mac <>téléphone[ i ].mac alors
i <- i+1
FinTantQue
Si mac=téléphone[ i ].mac alors
Afficher( téléphone[ i ].numtel, netmap[ j ].bureau)
FinSi
Fermer(netmap.txt)
Fermer(téléphone.txt)
Fin
que pensez vous de cela?
6 réponses
Bonjour,
Dans tes structures il n'y a pas d'élement commun qui permet de faire le lien
entre les enregistements du fichier netmap.txt et ceux du fichier téléphone.txt, le nunéro du bureau par exemple.
C'est comme ça que sont organisées les bases de données en général.
On suppose donc que tes deux fichiers ont exactement le meme nombre d'enregistrements.
L'élément commun sera alors le numéro d'enregistrement (ou nurero de ligne).
Tu n'as pas besoin de "tableau[1...X] de téléphone" ni de "tableau[1...X] de netmap"
a moins que tu ne veuille charger les deux fichiers en mémoire et travailler sur la mémoire.
Procédure RECHERCHE()
Variable bureau1,bureau2 :chaine
Debut
Ouvrir(netmap.txt, L)
Ouvrir(téléphone.txt, L)
{initialiser chaines vide}
bureau1 <- ""
bureau2 <- ""
{saisir bureau1, chaine vide non admise}
Tantque bureau1=""
Saisir bureau1
Fin Tantque
{lire sequentiellement les deux fichiers en parrallèle}
{on arrête de lire les fichier si on a atteint la fin du fichier ou si bureau1=bureau2}
Tant que (non (FinFichier netmap.txt)) ou (non (bureau1=bureau2))
Lire netmap.txt -> netmap
Lire téléphone.txt -> téléphone
bureau2 <- netmap.bureau
Fintantque
Fermer(netmap.txt)
Fermer(téléphone.txt)
Si bureau1 = bureau2 alors
Afficher( téléphone.numtel, netmap.bureau)
sinon
Afficher("Ce bureau n'existe pas")
FinSi
Fin
A+
Dans tes structures il n'y a pas d'élement commun qui permet de faire le lien
entre les enregistements du fichier netmap.txt et ceux du fichier téléphone.txt, le nunéro du bureau par exemple.
C'est comme ça que sont organisées les bases de données en général.
On suppose donc que tes deux fichiers ont exactement le meme nombre d'enregistrements.
L'élément commun sera alors le numéro d'enregistrement (ou nurero de ligne).
Tu n'as pas besoin de "tableau[1...X] de téléphone" ni de "tableau[1...X] de netmap"
a moins que tu ne veuille charger les deux fichiers en mémoire et travailler sur la mémoire.
Procédure RECHERCHE()
Variable bureau1,bureau2 :chaine
Debut
Ouvrir(netmap.txt, L)
Ouvrir(téléphone.txt, L)
{initialiser chaines vide}
bureau1 <- ""
bureau2 <- ""
{saisir bureau1, chaine vide non admise}
Tantque bureau1=""
Saisir bureau1
Fin Tantque
{lire sequentiellement les deux fichiers en parrallèle}
{on arrête de lire les fichier si on a atteint la fin du fichier ou si bureau1=bureau2}
Tant que (non (FinFichier netmap.txt)) ou (non (bureau1=bureau2))
Lire netmap.txt -> netmap
Lire téléphone.txt -> téléphone
bureau2 <- netmap.bureau
Fintantque
Fermer(netmap.txt)
Fermer(téléphone.txt)
Si bureau1 = bureau2 alors
Afficher( téléphone.numtel, netmap.bureau)
sinon
Afficher("Ce bureau n'existe pas")
FinSi
Fin
A+
donc si jai bien compris tu ma tout refait mon algo.lol
merci
et tu sur ke le tien fonctionne?ET KE C BIEN SA,
merci
et tu sur ke le tien fonctionne?ET KE C BIEN SA,
donc si jai bien compris tu ma tout refait mon algo.lol
merci
et tu sur ke le tien fonctionne?ET KE C BIEN SA,
merci
et tu sur ke le tien fonctionne?ET KE C BIEN SA,
re Bonjour,
A la syntaxe près, oui ça fonctionne.
Maintenant, tu peux faire l'exo en chargeant les fichiers en mémoire,
à l'execution c'est bien plus rapide, et on ne lit les fichiers qu'une seule fois.
Tu avais bien commencé la première fois.
Ecris une procédure qui lit les fichiers ligne par ligne et qui stocke les données dans
"tableau[1...X] de téléphone" et "tableau[1...X] de netmap", il faut mémoriser le nombres de lignes lues.
Modifie la procédure RECHERCHE() , mais cette fois pointe sur les tableau et non plus sur les fichiers.
Propose moi ta version, je te dirais ce j'en pense.
Salut.
A la syntaxe près, oui ça fonctionne.
Maintenant, tu peux faire l'exo en chargeant les fichiers en mémoire,
à l'execution c'est bien plus rapide, et on ne lit les fichiers qu'une seule fois.
Tu avais bien commencé la première fois.
Ecris une procédure qui lit les fichiers ligne par ligne et qui stocke les données dans
"tableau[1...X] de téléphone" et "tableau[1...X] de netmap", il faut mémoriser le nombres de lignes lues.
Modifie la procédure RECHERCHE() , mais cette fois pointe sur les tableau et non plus sur les fichiers.
Propose moi ta version, je te dirais ce j'en pense.
Salut.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
en faite je kroi ke ta pas vraiment compri le principe de cette algo lol!
le but de cette algo et le suivan:saisis du num de bureau dan le fichier netmap une fois ce bureau trouver celui ci nous retourne les dresse mac presente dan ce bureau ensuite nous prenon les dresse mac retourné et nous allon cherhcher dan le fichier téléphone a kel num de teléphone elle corresponde
le but de cette algo et le suivan:saisis du num de bureau dan le fichier netmap une fois ce bureau trouver celui ci nous retourne les dresse mac presente dan ce bureau ensuite nous prenon les dresse mac retourné et nous allon cherhcher dan le fichier téléphone a kel num de teléphone elle corresponde
OK, je n'avais pas bien lu l'énoncé
netmap.txt:switch;n°port;bureau;....adressmac
téléphone.txt:numtel;nompersonne;adresemac
On a bien un élément commun dans les deux fichiers : adresemac
Alors voilà le correctif
Procédure RECHERCHE()
Variable bureau1,bureau2, adresse1, adresse2 :chaine
Debut
Ouvrir(netmap.txt, L)
Ouvrir(téléphone.txt, L)
{initialiser chaines vide}
bureau1 <- ""
bureau2 <- ""
{saisir bureau1, chaine vide non admise}
Tantque bureau1=""
Saisir bureau1
Fin Tantque
{lire sequentiellement le fichier netmap.txt}
{on arrête de lire les fichier si on a atteint la fin du fichier ou si bureau1=bureau2}
Tant que (non (FinFichier netmap.txt)) ou (non (bureau1=bureau2))
Lire netmap.txt -> netmap
bureau2 <- netmap.bureau
adresse1 <- netmap.adressemac
Fintantque
Fermer(netmap.txt)
Si bureau1 = bureau2 alors
debut
adresse2 <- ""
{lire sequentiellement le fichier téléphone.txt}
{on arrête de lire les fichier si on a atteint la fin du fichier ou si adresse1=adresse2}
Tant que (non (FinFichier téléphone.txt)) ou (non (adresse1=adresse2))
Lire téléphone.txt -> téléphone
adresse2 <- téléphone.adressemac
Fintantque
Fermer(téléphone.txt)
Afficher(téléphone.numtel, netmap.bureau)
fin
sinon
Afficher("Ce bureau n'existe pas")
FinSi
Fin
Cette fois je crois que c'est bon.
netmap.txt:switch;n°port;bureau;....adressmac
téléphone.txt:numtel;nompersonne;adresemac
On a bien un élément commun dans les deux fichiers : adresemac
Alors voilà le correctif
Procédure RECHERCHE()
Variable bureau1,bureau2, adresse1, adresse2 :chaine
Debut
Ouvrir(netmap.txt, L)
Ouvrir(téléphone.txt, L)
{initialiser chaines vide}
bureau1 <- ""
bureau2 <- ""
{saisir bureau1, chaine vide non admise}
Tantque bureau1=""
Saisir bureau1
Fin Tantque
{lire sequentiellement le fichier netmap.txt}
{on arrête de lire les fichier si on a atteint la fin du fichier ou si bureau1=bureau2}
Tant que (non (FinFichier netmap.txt)) ou (non (bureau1=bureau2))
Lire netmap.txt -> netmap
bureau2 <- netmap.bureau
adresse1 <- netmap.adressemac
Fintantque
Fermer(netmap.txt)
Si bureau1 = bureau2 alors
debut
adresse2 <- ""
{lire sequentiellement le fichier téléphone.txt}
{on arrête de lire les fichier si on a atteint la fin du fichier ou si adresse1=adresse2}
Tant que (non (FinFichier téléphone.txt)) ou (non (adresse1=adresse2))
Lire téléphone.txt -> téléphone
adresse2 <- téléphone.adressemac
Fintantque
Fermer(téléphone.txt)
Afficher(téléphone.numtel, netmap.bureau)
fin
sinon
Afficher("Ce bureau n'existe pas")
FinSi
Fin
Cette fois je crois que c'est bon.