M. LTTAC, M. EdNITL et M2 LCE promotions 2016-2017 S1 Algorithmique
Exercices faits en cours
1
1. Algorithme de dérivation d’un nom en -eur à partir dun verbe en -er (différent de
aller)
Exécutions uniques
Derivation V-er N-eur avec valeur des constantes déjà connues de l’algorithme
constantes : Verbe, Nom : chaînes de caractères ;
Début
Verbe 'chanter' ;
Nom substituer(Verbe, 'eur', 6) ; # la mention du « 6 » fait que nous ne traitons que des verbes
de 7 lettres donc c’est bien pour chanter mais cela empêche de généraliser le traitement plus tard
# ou Nom substituer(Verbe, 'eur', longueur(Verbe)-1) ;
# ou Nom concaténer(copier(Verbe, 1, longueur(Verbe)-2), 'eur') ;
écrire(<STDOUT>, concaténer_tout('le dérivé de ', Verbe, ' est ', Nom) ;
Fin
Derivation V-er N-eur avec valeur des constantes déjà connues de lalgorithme (avec
des instructions simples et non des combinaisons et une substitution de -er par -eur)
constantes : Verbe, Longueur_Verbe, Position_-er, Nom : chaînes de caractères ;
Début
Verbe 'chanter' ;
Longueur_Verbe longueur(Verbe) ;
Position_-er Longueur_verbe - 1 ;
Nom substituer(Verbe, 'eur', Position_-er) ;
# ou Nom substituer(Verbe, 'eur', longueur(Verbe)-1) ;
écrire(<STDOUT>, concaténer_tout('le dérivé de ', Verbe, ' est ', Nom) ;
Fin
Derivation V-er N-eur avec valeur des constantes déjà connues de lalgorithme (avec
des instructions simples et non des combinaisons et une concaténation de la base
verbale et de -eur)
constantes : Verbe, Longueur_Verbe, Longueur_Base, Base, Nom : chaînes de caractères ;
Début
Verbe 'chanter' ;
Longueur_Verbe longueur(Verbe) ;
Longueur_Base Longueur_Verbe - 2 ;
Base copier(Verbe, 1, Longueur_Base) ;
Nom concaténer(Base, 'eur') ;
# ou Nom concaténer(copier(Verbe, 1, longueur(Verbe)-2), 'eur') ;
écrire(<STDOUT>, concaténer('le dérivé de ', Verbe, ' est ', Nom) ;
Fin
Verbe
Longueur_Verbe
Longueur_Base
Base
Nom
Début
Verbe 'chanter' ;
'chanter'
M. LTTAC, M. EdNITL et M2 LCE promotions 2016-2017 S1 Algorithmique
Exercices faits en cours
2
Verbe
Longueur_Verbe
Longueur_Base
Base
Nom
Longueur_Verbe
longueur(Verbe) ;
7
Longueur_Base
Longueur_Verbe - 2 ;
5
Base copier(Verbe, 1,
Longueur_Base) ;
'chant'
Nom concaténer(Base,
'eur') ;
'chanteur'
# ou Nom
concaténer(copier(Verbe,
1, longueur(Verbe)-2),
'eur') ;
écrire(<STDOUT>,
concaténer('le dérivé de ',
Verbe, ' est ', Nom) ;
Fin
Dérivation V-er N-eur avec valeur des variables transmises par les flux standards
constantes : Verbe, Nom : chaînes de caractères ;
Début
écrire(<STDOUT>, 'De quel verbe voulez-vous le dérivé nom d’agent ?') ;
lire(<STDIN>, Verbe) ;
# ou Verbe lire(<STDIN>) ;
Nom substituer(Verbe, 'eur', longueur(Verbe)-1) ;
écrire(<STDOUT>, concaténer_tout('le dérivé de ', Verbe, ' est ', Nom) ;
Fin
Verbe
Nom
<STDIN>
= clavier
<STDOUT>
= écran
'De quel
verbe voulez-
vous le
dérivé nom
d’agent ?'
'chanter'
'chanter'
'chanteur'
'le dérivé de
chanter est
chanteur'
M. LTTAC, M. EdNITL et M2 LCE promotions 2016-2017 S1 Algorithmique
Exercices faits en cours
3
Dérivation V-er N-eur avec valeur des variables transmises par les flux standards et
projet de test d’appartenance du verbe proposé à une liste de verbes pouvant subir
cette dérivation
constantes : Verbe, Nom : chaînes de caractères ;
Début
écrire(<STDOUT>, 'De quel verbe voulez-vous le dérivé nom d’agent ?') ;
lire(<STDIN>, Verbe) ;
# ou Verbe lire(<STDIN>) ;
Si (#Verbe appartient à Dictionnaire#)
Alors {
Nom substituer(Verbe, 'eur', longueur(Verbe)-1) ;
écrire(<STDOUT>, concaténer_tout('le dérivé de ', Verbe, ' est ', Nom) ;
}
Sinon {
écrire(<STDOUT>, concaténer('le verbe ', Verbe, ' n’a pas de dérivé non d’agent ou n’est pas
un verbe valide’) ;
}
Fin
Réitération du traitement 3 fois au moyen d'un boucle POUR (Pour i
1 jusqu’à i = valeur avec i++
{action(s)})
Dérivation V-er N-eur triplée avec boucle pour
variables : Verbe, Nom : chaînes de caractères ;
début
Pour i 1 jusqu’à i = 3 avec i++
{
écrire(<STDOUT>, 'Quel verbe ?') ;
lire(<STDIN>, Verbe) ;
Nom concaténer(copier(Verbe, 1, longueur(Verbe)-2), 'eur') ;
écrire(<STDOUT>, concaténer_tout('le dérivé de ', Verbe, ' est ', Nom) ;
}
Fin
Verbe
Nom
i
<STDIN>
= clavier
<STDOUT>
= écran
Début
Pour i 1 jusqu’à i = 3
avec i++
1
{
écrire(<STDOUT>, 'De
quel verbe voulez-vous le
dérivé nom d’agent ?') ;
'De quel
verbe
voulez-vous
le dérivé
nom
d’agent ?'
lire(<STDIN>, Verbe) ;
'chanter'
'chanter'
# ou Verbe
lire(<STDIN>) ;
M. LTTAC, M. EdNITL et M2 LCE promotions 2016-2017 S1 Algorithmique
Exercices faits en cours
4
Verbe
Nom
i
<STDIN>
= clavier
<STDOUT>
= écran
Nom
concaténer(copier(Verbe,
1, longueur(Verbe)-2),
'eur') ;
'chanteur'
écrire(<STDOUT>,
concaténer('le dérivé de ',
Verbe, ' est ', Nom) ;
'le dérivé de
chanter est
chanteur'
}
Pour i 1 jusqu’à i = 3
avec i++
2
{
écrire(<STDOUT>, 'De
quel verbe voulez-vous le
dérivé nom d’agent ?') ;
'De quel
verbe
voulez-vous
le dérivé
nom
d’agent ?'
lire(<STDIN>, Verbe) ;
'jouer'
'jouer'
# ou Verbe
lire(<STDIN>) ;
Nom
concaténer(copier(Verbe,
1, longueur(Verbe)-2),
'eur') ;
'joueur'
écrire(<STDOUT>,
concaténer('le dérivé de ',
Verbe, ' est ', Nom) ;
'le dérivé de
jouer est
joueur
}
}
Pour i 1 jusqu’à i = 3
avec i++
3
{
écrire(<STDOUT>, 'De
quel verbe voulez-vous le
dérivé nom d’agent ?') ;
'De quel
verbe
voulez-vous
le dérivé
nom
d’agent ?'
lire(<STDIN>, Verbe) ;
'laver'
'laver'
# ou Verbe
lire(<STDIN>) ;
Nom
concaténer(copier(Verbe,
1, longueur(Verbe)-2),
'eur') ;
'laveur'
écrire(<STDOUT>,
concaténer('le dérivé de ',
Verbe, ' est ', Nom) ;
'le dérivé de
laver est
laveur'
}
Pour i 1 jusqu’à i = 3
avec i++
4
Fin
M. LTTAC, M. EdNITL et M2 LCE promotions 2016-2017 S1 Algorithmique
Exercices faits en cours
5
Réitération du traitement 3 fois au moyen d'un boucle Tant que (tant_que(condition) {action(s)})
Dérivation V-er N-eur triplée avec boucle Tant que
Variables : Verbe, Nom : chaînes de caractères ; i : entier ;
début
i 1 ;
tant_que(i<=3)
{
écrire(<STDOUT>, 'Quel verbe ?') ;
lire(<STDIN>, Verbe) ;
Nom concaténer(copier(Verbe, 1, longueur(Verbe)-2), 'eur') ;
écrire(<STDOUT>, concaténer_tout('le dérivé de ', Verbe, ' est ', Nom) ;
i++
}
Fin
Verbe
Nom
i
<STDIN>
= clavier
<STDOUT>
= écran
début
i 1 ;
1
tant_que(i<=3)
{
écrire(<STDOUT>, 'Quel
verbe ?') ;
'Quel
verbe ?'
lire(<STDIN>, Verbe) ;
'chanter'
'chanter'
Nom
concaténer(copier(Verbe, 1,
longueur(Verbe)-2), 'eur') ;
'chanteur'
écrire(<STDOUT>,
concaténer('le dérivé de ',
Verbe, ' est ', Nom) ;
'le dérivé de
chanter est
chanteur'
i++
2
}
tant_que(i<=3)
{
écrire(<STDOUT>, 'Quel
verbe ?') ;
'Quel
verbe ?'
lire(<STDIN>, Verbe) ;
'jouer'
'jouer'
Nom
concaténer(copier(Verbe, 1,
longueur(Verbe)-2), 'eur') ;
'joueur'
écrire(<STDOUT>,
concaténer('le dérivé de ',
Verbe, ' est ', Nom) ;
'le dérivé de
jouer est
joueur'
i++
3
}
tant_que(i<=3)
{
écrire(<STDOUT>, 'Quel
verbe ?') ;
'Quel
verbe ?'
lire(<STDIN>, Verbe) ;
'laver'
'laver'
Nom
concaténer(copier(Verbe, 1,
'laveur'
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !