TP1 L&P
DESS CCI 1999-2000
Le TP1 est constitué
d'une sé rie de petits exercices. Il est demandé de rendre
les programmes sources commentés et espectant les normes de programmation,
accompagnés d'une courte description des jeux d'essais que vous
aurez effectué.
1-Une lettre est-elle une consonne
?
On demande d'écrire un programme
Est_cons, qui permet à l'utilisateur de saisir un caractère,
et qui informe ensuite l'utilisateur si le caractère saisi est une
consonne. L'algorithme général de ce programme est le suivant.
Algorithme principal
Lexique
lettre : un caractère
i : un entier sur [1..21]
t_cons : un tableau sur [1..21]
de caractères
Saisir : une action (le résultat
: un caractère)
ecrire : une action (la donnée
: un texte)
Algorithme
écrire(" **************************************
")
écrire(" * une lettre
est-elle une consonne * ")
écrire(" **************************************
")
écrire(" tapez une lettre
(0 pour sortir du programme) ")
saisir(lettre)
tantque lettre <> '0'
i <-0
tantque (i < 21) etpuis (t_cons
i <> lettre)
si t_cons i = lettre
ecrire(" La lettre ", lettre,
"est une consonne ")
sinon
ecrire(" La lettre " ,
lettre, " n'est pas une consonne ")
ecrire(" Tapez une lettre (0 pour
sortir du programme ")
saisir(lettre)
On rappelle que la déclaration
de tableaux dans le langage C respecte la syntaxe suivante : type-des-éléments
nom-du-tableau [ taille-du-tableau ].
2-Une séquence est-elle
triée ?
On souhaite écrire un programme
qui permet à l'utilisateur de saisir une suite d'entiers (dont la
marque de fin est le caractère '*'), qui place cette suite dans
un tableau et détermine ensuite si la suite est triée en
ordre croissant, ou décroissant, ou bien non triée.
L'algorithme principal est constitué
des étapes suivantes :
-
Saisie de la suite d'entiers et rangement
dans un tableau
-
Affichage de la suite saisie
-
Détermination d'un ordre éventuel
sur la suite
-
Affichage du résultat
3- Tri d'une séquence d'entiers
On souhaite, à partir du
programme précédent, réaliser un nouveau programme
qui demande à l'utilisateur de saisir une séquence d'entiers,
puis trie la séquence (en ordre croissant) si elle ne l'est pas
déjà.
La séquence saisie sera placée
dans un tableau, à partir duquel sera effectué son tri par
la méthode du tri par recherche du minimum. L'algorithme correspondant
à cette méthode est donné ci-après.
Lexique
i : un entier sur [1..n]
j : un entier sur [2..n+1]
pm : un entier sur [1..n]
x : un entier
Algorithme
i parcourant [1..n-1]
j <- i + 1
pm - i
tantque j <> n + 1
Si Tj < Tpm alors pm <-
j
j <- j + 1
<Echanger ici Ti et Tpm>