Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

correction d'exercices d'algo

Posté par
bufani
19-03-09 à 17:55

Bonjour pouvez vous me dire si mes 2 exercices d'algo sont corrects .merci
Soit un tableau TabMots, indicé de 0 à 99  et contenant pour le moment NbMots mots. On considère que TabMots
contient déjà NbMots mots et que cela est dû à des traitements antérieurs.
Ecrire l'algorithme permettant de rajouter dans TabMots le mot saisi par l'utilisateur
L'utilisateur indique également par saisie s'il autorise ou non I'existence de doublons
dans le tableau, Si I'existence de doublons n'est pas autorisée et que le mot saisi figure
déjà dans le tableau, refuser de rajouter ce mot,
Si le tableau est plein, l'indiquer par un message à l'utilisateur.

nbMots(entier,calculé) : nombre de mots dans le tableau
mot(chaîne ,saisi) :mot à rajouter dans le tableau
rep( chaîne,saisi) : réponse de l'utilisateur
tabMots(Tableau [0 à 99] : tableau contenant les mots saisis par l'utilisateur
ind (entier,calculé): indice de parcours du tableau

Début
Si nbMots = < 100
Alors Afficher (Saisissez le mot à rajouter dans le tableau)
         Saisir (mot)
          // L'utilisateur indique par saisie qu'il n'autorise pas
          // l'existence de doublons                      
        Afficher ("Autorisez vous l'existence de doublons")
        Saisir (rep)
        Si rep = "non"
         // recherche d'une occurrence
        Alors ind←0
                      TantQue tabMots[ind]<>mot
                                      et ind =< 100
                       Faire ind←ind+1
                                nbMots ←nbMots+1
                                Si tabMots[ind ]=mot
                                Alors Afficher ("mot refusé")
                                FinSi
                      FinTantQue
         Sinon nbMots ←nbMots+1
                   ind←ind+1
          FinSi
Sinon Afficher ("Tableau plein")
FinSi
Fin

Ecrire l'algorithme qui trie dans l'ordre décroissant un tableeu rcmpli, contenant 20 chaînes de caractères, à l'aide de la méthode du tri par sélection . L'indice du premier élément du tableau est 0. le dernier élèment
ayant l'indice 19.
i(entier,calculé): indice de parcours du tableau
j(entier,calculé): indice utilisé pour les décalages
tab(tableau[0...19] de chaîne,saisi): tableau contenant les chaînes de caractères saisies par l'utilisateur
posMax(entier,calculé):position du plus grand élément

Début
//boucle principale : le point de départ se décale à chaque tour
Pour i ← 0 à 18
//on considère provisoirement que tab[i] est le plus grand élément
Faire posMax ← i
         //on examine tous les éléments suivants
         Pour j ← i + 1 à 19
         Faire         Si tab(j) > tab(posMax)
                          Alors posMax← j
                          Finsi
         FinPour
         //A cet endroit, on sait maintenant où est le plus  
         grand élément
         //On effectue la permutation
         temp← tab(posMax)
         tab(posMax) ← tab(i)
         tab(i)← temp
FinPour
Fin

Ecrire l'algorithme du sous programme llEstDansLeTableau
i(entier,calculé) :indice de parcours du tableau
elemRecherché( ??, ??) :élément recherché du tableau
tab(tableau[0...100] de ??,saisi): tableau contenant les éléments saisis par l'utilisateur
trouvé(booléen, calculé) : vrai si l'élément a été trouvé

Début
trouvé ← FAUX
ind ← 1
TantQue ind <= 100 et non trouvé
Faire            Si tab[i] = elemRecherché
                     Alors trouvé ← VRAI
                     i < i + 1
                     FinSi
FinTantQue
Fin



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !