0% ont trouvé ce document utile (0 vote)
33 vues4 pages

Controle Continu DEC 2017

L'exercice 1 demande d'écrire un programme Java qui construit un tableau rempli par la somme des entiers de 0 à l'indice i. L'exercice 2 demande d'écrire une classe Pile conforme à un diagramme UML donné, avec des méthodes comme empiler, depiler et listerPile.

Transféré par

well rim jr
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues4 pages

Controle Continu DEC 2017

L'exercice 1 demande d'écrire un programme Java qui construit un tableau rempli par la somme des entiers de 0 à l'indice i. L'exercice 2 demande d'écrire une classe Pile conforme à un diagramme UML donné, avec des méthodes comme empiler, depiler et listerPile.

Transféré par

well rim jr
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Nouakchott Al Asriya

Licence Mathématiques Informatique


MI S5

Contrôle continu
Documents non autorisés

Exercice 1 :
Ecrivez un programme (une classe Java avec une méthode main) qui permet la saisie
d’un nombre n au clavier et qui construit un tableau de n éléments avec des cases
remplies, pour chaque case d’indice i, par la somme des entiers compris entre 0 et i.

Exercice 2 :
A l’image de ce qui a été vu en cours, écrire une classe Pile
« Pile » conforme au schéma ci-contre (notations - int sommet
UML) :
- int[] element
- L’attribut sommet représente le nombre
+ Pile(int max)
d’éléments à considérer dans un objet de type Pile.
Il est initialisé à -1 au moment de la création. + boolean pileVide()
- L’attribut element, est un tableau prévu pour le + void empiler(int val)
stockage des éléments de la Pile.
+ void depiler()
- La méthode erreur() permet d’afficher les
messages d’erreur que l’on passe en paramètre + void listerPile()
- Le constructeur permet d’initialiser le sommet à « - - void erreur(String msg)
1 » et d’initialiser le tableau element et lui affecter
max comme nombre maximal d’éléments.

- La méthode pileVide() retourne « true » si le sommet = -1 et « false » sinon.


- La méthode empiler(int val) permet de rajouter une valeur val dans la case de
numéro « sommet +1 » et d’incrémenter le sommet sauf si le tableau element est
saturé.
- La méthode depiler() permet de supprimer le dernier élément d’un objet de type
Pile (décrémenter de 1 le sommet si l’objet n’est pas vide).
- La méthode listerPile permet d’afficher tous les éléments de l’objet de type Pile
qui sont dans des cases entre 0 et sommet.
Solution
Exercice-1
import [Link];

public class Exo1 {

public static void main(String args[]){

Scanner clavier = new Scanner([Link]);

[Link]("Donner la taille du tableau d'entiers: ");

int dim = [Link]();

int[] Tab = new int[dim];

int s = 0;

for (int n =0; n< dim; n++){

s = s+n;

Tab[n] = s;

[Link]("");

for (int n =0; n< dim; n++){

[Link]("Tab[" + n +"] : "+Tab[n] );

}
Exercice-2 Classe Pile
public class Pile {
// sommet et element sont des attributs privés
private int sommet; // repère le dernier occupé (le sommet)
private int[] element; // tableau d’entiers alloué dynamiquement
// erreur est une méthode privée utilisable seulement
// dans la classe Pile
private void erreur (String mes) {
[Link] ("***erreur : " + mes);
}
public Pile (int max) { // voir 2.2.1 Le constructeur d’un objet
sommet = -1;
element = new int [max]; // allocation de max entiers
}

public boolean pileVide () {


return sommet == -1;
}
public void empiler (int v) {
if (sommet < [Link] - 1) {
sommet++;
element [sommet] = v;
} else {
erreur ("Pile saturee");
}
}

public int depiler () {


int v = 0; // v est une variable locale à depiler()
if (!pileVide()) {
v = element [sommet];
sommet--;
} else {
erreur ("Pile vide");
}
return v;
}
public void viderPile () {
sommet = -1;
}

public void listerPile () {


if (pileVide()) {
[Link] ("Pile vide");
} else {
[Link] ("Taille de la pile : " + [Link]);
for (int i=0; i <= sommet; i++) {
[Link] (element[i] + " ");
}
[Link](); // à la ligne
}
}
} // class Pile

Vous aimerez peut-être aussi