L2 année 2015-2016 TD 1 -POO et langage JAVA

Transcription

L2 année 2015-2016 TD 1 -POO et langage JAVA
L2 année 2015-2016
TD 1 -POO et langage JAVA
Partie 1 : Instructions Simples (ou séquentielles)
Exercice 1 : Somme
Ecrire un programme qui permet de calculer la somme de deux entiers donnés au clavier et
d'afficher le résultat de cette somme.
Exercice 2 :
Écrire un programme qui permet d’échanger les valeurs de 3 entiers (valeur de B en A,
valeur de C en B, valeur de A en C).
Exercice 3 :
Un ouvrier est payé 3,39 € pour les heures de base et 4,32 € pour les heures
supplémentaires. Il subit une retenue de base de 2,2% sur son salaire brut (le salaire final est le
salaire obtenu en tenant compte des heures de base, des heures supplémentaires et de la retenue
de base).
Écrire un programme qui connaissant le nombre d’heures de base et le nombre d’heures
supplémentaires permet de calculer le salaire final de l’ouvrier.
Partie 2 : Instructions Conditionnelles
Exercice 4 : Écrire un programme qui accepte un caractère du clavier et affiche sa nature. La
nature d’un caractère est supposée être :




Alphabétique majuscule
Alphabétique minuscule
Chiffre
Ou autre(caractères spéciaux)
Exercice 5 : Écrire un programme qui permet de saisir un réel et d’afficher sa valeur absolue
Exercice 6 :
-
Écrire un programme qui calcule le min et le max de deux entiers saisis au clavier.
Écrire un programme qui calcule le min et le max de trois entiers saisis au clavier.
Exercice 7 :
Écrire un programme qui permet lire la couleur d’un feu de croisement (rouge ou vert) et d’afficher
le message au piéton qui arrive.
Exercice 8 :
Écrire un programme qui permet lire la couleur d’un feu de croisement (rouge, orange ou vert) et
d’afficher le message au véhicule qui arrive.
Exercice 9 : Date du lendemain
Écrire un programme qui permet de saisir une date sous forme de jour, mois, année et
d’afficher la date du lendemain. ATTENTION une année est bissextile si elle est divisible par 4 ou
par 100 mais pas par 400.
1/3
L2 année 2015-2016
TD 2 -POO et langage JAVA
Partie 3 : Instructions Itératives (les boucles)
Exercice 10 : Rendre la monnaie
On se propose d’écrire un programme permettant d’obtenir la suite des billets totalisant une
somme donnée (dont on suppose qu’elle est un multiple de 5). Les espèces disponibles sont des
billets de 50, 20, 10 et 5 euros. Le principe est de donner le billet de valeur la plus grande possible
inférieure ou égale à la somme à rendre et de poursuivre la même stratégie avec la somme
restante jusqu’à ce que la somme restante soit nulle.
Écrire cet algorithme en utilisant les structures de contrôle suivantes : while, if et else if .
On suppose que la somme donnée est un multiple de 5, cette somme sera notée s dans
l’algorithme, les nombres de billets à rendre seront calculés à l’aide de 4 variables nb50,nb20,
nb10 et nb5 que l’on incrémentera à chaque tour de boucle en même temps que la somme sera
diminuée de la valeur du billet trouvée
Exercice 11 : Calcul de la moyenne et du minimum des éléments d'un tableau.
Exercice 12 : Calcul du nombre d'occurrences d'un élément donné dans un tableau.
Exercice 13 : Palindrome
Une chaîne de caractère est dite Palindrome si elle peut être lue de gauche à droite ou de droite à
gauche tel que été, laval, AZZA, AZIZA, la mariée ira mal, élu par cette crapule, esope reste ici et
se repose.
a) Écrire la fonction palindrome1 (T,N) qui renvoie 1 si le mot contenu dans T et de longueur n
est un palindrome 0 sinon.
b) Écrire la fonction palindrome2 (T,N) qui renvoie 1 si la phrase formée de plusieurs mots
séparés par des séparateurs et contenue dans T et de longueur n est un palindrome 0
sinon.
Exercice 14 : Drapeau Hollandais de Dijkstra (1dimension)
Les éléments d’un tableau sont soit bleus, blancs ou rouges. Il s’agit de construire un tableau
ayant les mêmes éléments mais rangés par couleur : (bleus puis blancs puis rouges)
On utilisera uniquement les opérations suivantes :
T[i] : accès à un élément
Ech(i,j) échange de deux éléments t[i] et t[j].
Remarque : on utilisera aucun tableau intermédiaire et le rangement s’effectuera en un seul
passage.
Début
?
1
n
b
Bleu
r
blanc
?
bleu
rouge
blanc
b
rouge
r
2/3
Exercice 15
On souhaite représenter les notes d’un ensemble d’étudiants par deux tableaux de même taille,
l’un contenant leurs noms et l’autre contenant leurs notes. Le tableau des noms s’appellera tNoms
et celui des notes tNotes.
Exemple :
Tableau de noms :
Bernard
Dupont
Zidane
Henry
Barthez
Tableau de notes
12.5
5
10.6
7
4.5
Les noms et les notes sont dans le même ordre. On sait ainsi que Zidane et sa note ont le même
indice dans les tableaux respectifs et on peut déduire que la note de Zidane est 10,6 de même, la
note de Barthez est 4,5 etc.
Écrire un programme avec les méthodes et actions suivantes :
1. Une fonction trouveIndice qui étant donné un nom et un tableau de noms retourne l’indice de ce
nom dans le tableau.
Si le nom ne figure pas dans le tableau, la fonction doit renvoyer -1. Afin de comparer les chaînes
de caractères, vous utiliserez la fonction prédéfinie equals qui renvoie un boolean, et qui étant
donnés 2 chaînes s1 et s2, permet de les comparer par s1.equals(s2).
2. Écrire une fonction trouveNote qui étant donnés un nom, un tableau de noms et un tableau de
notes, retourne la note correspondant au nom donné. Cette fonction doit obligatoirement utiliser la
fonction trouveIndice. Si le nom n’est pas trouvé, on doit renvoyer -1 (qui n’est pas une valeur
possible de note).
3. Écrire un programme principal qui déclare et initialise les tableaux tNotes et tNoms comme dans
l’exemple. Ensuite le programme demande à l’utilisateur le nom d’un étudiant et lui fournit sa note.
Utiliser obligatoirement la fonction trouveNote. Ce programme principal doit traiter le cas d’un nom
d’étudiant ne figurant pas sur la liste en affichant un message à l’écran. Vous utiliserez
obligatoirement le fait que la fonction trouveNote renvoie -1 dans ce cas là.
Exercice 16 :
Écrire un programme qui écrit dans le fichier example.txt le texte:
Hello world!
Voici un programme illustrant l'écriture dans un fichier
Exercice 17 :
Écrire un programme qui lit le fichier exemple.txt défini dans l'exemple précédent et affiche son
contenu :
Vous devriez obtenir :
Hello world!
Voici un programme illustrant l'écriture dans un fichier
3/3