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 :