SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
UNIVERSITE SULTAN MOULAY SLIMANE
FACULTE DES SCIENCES ET TECHNIQUES
BENI MELLAL
Rapport De Mini Projet
« APPLICATION JAVA-CALCULATRICE SCIENTIFIQUE»
Réalisé par :
BAHTAT Ayoub
AZIZI Abdellatif
Filière ingénieur :
Productique & Mécatronique
Encadré par : Mr.Dr.AYACHI
Sommaire :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
2
Premier chapitre : Introduction
................................................................................................................................................................. 4
I. Présentation de projet :.................................................................................................................. 4
II. Paquetage javax.Swing :................................................................................................................. 4
III. Les interfaces graphiques :......................................................................................................... 5
IV. Les objectifs prévue de projet :................................................................................................. 5
Deuxième chapitre : Taches effectuées.......................................................................................... 7
Etape 1 : installation de java swing.............................................................................................. 7
b) On exécutant le programme ci-dessus qui permet de créer le cadre......................................... 8
Etape 2 : création des boutons...................................................................................................... 9
Mode standard : ........................................................................................................................... 10
Bouton 1 : .................................................................................................................................... 10
Bouton 2 : .................................................................................................................................... 10
Bouton 3: ..................................................................................................................................... 11
Bouton 6: ..................................................................................................................................... 11
Bouton + : ................................................................................................................................... 12
Bouton - : ..................................................................................................................................... 12
Bouton *:...................................................................................................................................... 13
Bouton /....................................................................................................................................... 13
Bouton CE (Clear ) ..................................................................................................................... 14
Bouton C (Clear all ) .................................................................................................................. 14
Mode scientifique :........................................................................................................................... 15
Bouton Log() :............................................................................................................................. 15
Bouton sin() :.............................................................................................................................. 15
Bouton cos () :............................................................................................................................. 16
Bouton tan() : ............................................................................................................................. 16
Bouton Inverse (1/x) : .............................................................................................................. 17
Exponentielle e() : .................................................................................................................... 17
Factoriel n ! :............................................................................................................................... 18
Puissance (𝒙𝒚) :.......................................................................................................................... 19
Tanh(x) :...................................................................................................................................... 19
Bouton Ans :................................................................................................................................ 19
bouton% :................................................................................................................................... 20
Bouton 𝒂𝒃𝒙 :................................................................................................................................ 20
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
3
Bouton Rad :................................................................................................................................ 21
Bouton Rad :................................................................................................................................ 21
Bouton égale = :.......................................................................................................................... 22
Difficulté rencontré au travail :........................................................................................................ 25
Conclusion ............................................................................................................................................. 26
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
4
Premier chapitre : Introduction
I. Présentation de projet :
Ce travail s’inscrit dans le cadre d’un mini projet de réalisation d’une
application java , à l’aide de l’éditeur éclipses for développer (ECLIPSE
IDE) ,dont le but est de créer une calculatrice scientifique similaire
aux calculatrice qu’existent qui permet d’effectuée plusieurs
opérations mathématiques on utilisant les interfaces graphique et
précisément le paquetage «Package javax. Swing ».
II. Paquetage javax.Swing :
package principal : il contient les interfaces, les principaux
composants, les modèles par défaut Swing fait partie de la
bibliothèque Java Foundation Classes (JFC). C'est une API dont le but
est similaire à celui de l'API AWT mais dont les modes de
fonctionnement et d'utilisation sont complètement différents. Swing
a été intégré au JDK depuis sa version 1.2. Cette bibliothèque existe
séparément. pour le JDK 1.1.
Swing propose de nombreux composants dont certains possèdent
des fonctions étendues, une utilisation des mécanismes de gestion
d'événements performants et une apparence modifiable à la volée
(une interface graphique qui emploie le style du système
d'exploitation Windows ou Motif ou un nouveau style spécifique à
Java nommé Metal).
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
5
Tous les composants Swing possèdent les caractéristiques suivantes :
 ce sont des beans.
 ce sont des composants légers (pas de partie native) hormis
quelques exceptions.
 leurs bords peuvent être changés
III. Les interfaces graphiques :
L'interface graphique, appelée communément la GUI (pour Graphical
User Interface), est le lien entre l'utilisateur et la machine.
En effet, même si certains programmes tournent sur l'ordinateur sans
aucune intervention de l'utilisateur, pour la majorité des scripts que
vous allez coder, vous allez devoir interagir avec l'utilisateur. Pour
cela, on utilise une interface graphique permettant de faire le lien
entre l'utilisateur et le programme, et comme vous allez le voir, les
GUIS offrent des possibilités quasiment illimitées, si ce n'est par votre
imagination.
IV. Les objectifs prévue de projet :
Le projet s’intéresse à créer une calculatrice scientifique qui a les
caractéristiques suivantes :
Effectue les opérations arithmétique .
 Elle prend en charge la gestion des erreurs de saisie.
 Donne la main de se basculer entre le mode standard ou
scientifique .
 Supprimer une valeur saisie .
 Donnez la possibilité de tous recommencez a zéro .
 Gérer l’exception de division de zéro.
 Afficheur qui présente le nombre introduit
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
6
o Les boutons de 0 a9
o Les boutons des opérations arithmétique
o Le bouton clear ©
o Bouton pour effacer un caractère
o Bouton pour effacer la dernier saisie
Concernant ce mode on ajout de plus au mode standard les
caractéristiques des fonctions suivantes :
o L’opérateur logarithmique
o Fonctions Triangulaires (sin(x) ,cos (x), tan(x))
o Inverse (1/x)
o Exponentielle e(x)
o Factoriel n !
o Puissance (𝑥 𝑦
)
o Tanh(x)
o Ans
o %
o ∑ 𝑥𝑏
𝑎
o Conversion degré vers le rad et le grade
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
7
Deuxième chapitre : Taches effectuées
Dans ce chapitre nous essayons de parler sur l’ensemble des étapes
suivis pour aboutir le résultats du projet , ainsi nous présenterons les
divers boutons utilisés avec détails .
Etape 1 : installation de java swing
Nous avons Installé java swing sur le logiciel éclipse , afin de pouvoir
manipuler le différents s boutons à savoir (J .bouton, Jtext ,Radio ..) , et
réalisé une interface java swing , dont la classe principale est JFrame
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
8
a) Création d’une classe appelée Calcule
b) On exécutant le programme ci-dessus qui permet de créer
le cadre
Classe principale
Objet de la Classe
JFrame
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
9
Etape 2 : création des boutons
Construire les différents boutons on faisant glisser (J texte , J boutons
etc…) sur l’interface graphique .
Chaque bottons porte --->>>>new botton par défaut on le renomme
selon le nom voulus, et pour y accéder à un bouton on fait un double
clic qui affichera une partie de programme a coder (pour faire
éventuellement des modifications ).
10
La position
suivant x
439
La position
suivant x
89
La hauteur
23
La largeur
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
10
Mode standard :
---->>>>A l’ intérieur de la méthode action performed () on cri les
instructions associe à chaque boutons (1….9,+ ,-,*,/,clear all C,clear
CE)
Bouton 1 :
Prenons l’exemple du bouton 1 :
b1. getText() renvoie la valeur ‘’1’’ on ajoutant +
textField.getText() la valeur déjà saisie en zone de texte comme
chaine de caractère , qui sera afficher par la suite à l’aide de
setText().
k réservé pour l’affichage de toutes les chaines de caractères.
Bouton 2 :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
11
Pour le bouton 2 le processus est le même que pour le cas 1 on
faisant ca a tout le reste du bouton jusqu'à 9.
Bouton 3:
Bouton 6:
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
12
Bouton + :
 Lorsqu’on saisit un nombre et on clique sur + la méthode
getText() renvoie la valeur entrer et ça sera stocker dans une
variable premier nombre de type double ( pour ce faire un
casting est nécessaire dans ce cas ),textField() prend une
chaine de caractère ‘’ ‘’ espace à travers la méthode setText() .
Bouton - :
Le principe est le même que pour le bouton + sauf ici la
variable opération prend la chaine de caractère moins ‘’ –‘’,
est textFiled1() envoie toujours la chaines selon le bouton
manipuler .
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
13
Bouton *:
Opération prend le ‘’ * ‘’ est le principe reste valable pour celui citer
en + et - .
Bouton /
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
14
Bouton CE (Clear )
 La première condition if c’est pour Testez si la taille du Text
saisie est supérieure à 0 ,ensuite la méthode deleteChar ()
supprime le dernier caractère , à chaque fois on cliquant sur
le bouton CE
 La méthode toString retourne la chaine modifie stocker
dans une variable b , qui sera envoyer par setText()
 La deuxième condition if réserver pour l’affiche en suivant
les mêmes instructions que pour la saisie .
Bouton C (Clear all )
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
15
Tout simplement lorsqu’on on tape sur le bouton C , l’objet textField
remplace la chaine saisie par un espace ‘’ ‘’ .
Mode scientifique :
Dans ce mode on va essayer de présenter l’ensemble de reste des
boutons construisant notre calculatrice .
Bouton Log() :
 On appuyant sur le bouton log() , la variable opération
prendre un chaine caractère ‘’ log’’
 setBouns contrôle la position suivant( x, y , h et l)
 add(blog) ajoute le bouton au Frame
Bouton sin() :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
16
 La variable opération = ‘’ sin()’’
 On tape le nombre voulu exemple( a =3)
 On fait = pour afficher le résultat , il vérifie la condition
opération = ‘’ sin()’’ , puis il l’exécute si oui
NB : le bouton = sera prester par la suite .
Bouton cos () :
Le bouton cos() est similaire à celui de sin() sauf que
opération=cos()
Bouton tan() :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
17
Bouton Inverse (1/x) :
Remarque ici opération même si on saisit le premier nombre 0 il
l’accepte car il s’agit d’une chaine de caractère ‘’ 1/x’’ et non une
vraie valeur
Exponentielle e() :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
18
Factoriel n ! :
Partie code pour le bouton n !
if (operation=="n!") {
int f=1;
for(int i=1;i<=premierNombre;i++) {
f=f*i;
res=f;
resu=String.format("%.10f",res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}}
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
19
Puissance (𝒙 𝒚
) :
Tanh(x) :
Bouton Ans :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
20
bouton% :
Bouton ∑ 𝒙𝒃
𝒂 :
Initialisation de s
Comparaison de premier et dernier terme
Sommation jusqu'à la fin
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
21
Conversion degré vers le rad et le grade :
Bouton Rad :
Partie code
Bouton Grade :
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
22
partie code :
Bouton égale = :
JButton bEgal = new JButton("=");
bEgal.setBackground(new Color(255, 255, 255));
bEgal.setFont(new Font("Tahoma", Font.BOLD, 11));
bEgal.setBounds(202, 174, 72, 23);
bEgal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String a=textField.getText();
deuxiemeNombre=Double.parseDouble(textField.getText());
k=textField_1.getText()+"=";
textField_1.setText(k);
if(operation=="+") {
res=premierNombre+deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="-"){
res=premierNombre-deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="*" ){
res=premierNombre*deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
else if(operation=="/") {
if(deuxiemeNombre==0) {
textField.setText("Ereur de division par zero");
}
else {
res=premierNombre/deuxiemeNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);}
}else if (operation=="√"){
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
23
res=Math.sqrt(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);}
else if(operation=="cos"){
res=Math.cos(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="sin") {
res=Math.sin(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="log") {
res=Math.log(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="exp"){
res=Math.exp(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="x^y") {
res=Math.pow(premierNombre, deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="tan(⁡x)") {
res=Math.tan(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if (operation=="n!") {
int f=1;
for(int i=1;i<=premierNombre;i++) {
f=f*i;
res=f;
resu=String.format("%.10f",res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}}
else if (operation=="tanh(⁡x)") {
res=Math.tanh(deuxiemeNombre);
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
else if(operation==".") {
String re=b+"."+a ;
textField.setText(re);
ans=textField.getText();
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
24
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="1/x") {
res=1/premierNombre;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="%") {
res=premierNombre/100;
resu=String.format("%.10f", res);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if(operation=="s") {
double S=0;
while (premierNombre<=deuxiemeNombre) {
S=S+premierNombre;
premierNombre++;
}
resu=String.format("%.10f", S);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
else if (operation=="rad") {
rad=(deuxiemeNombre*Math.PI)/180;
resu=String.format("%.10f",rad);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}else if (operation=="grd") {
double grad=(deuxiemeNombre*400)/360;
resu=String.format("%.10f",grad);
textField.setText(resu);
ans=textField.getText();
k=textField_1.getText()+resu;
textField_1.setText(k);
}
} });
frame.getContentPane().add(bEgal);
le bouton égale regroupe toutes les opérations et boutons citer
ci-dessus , il permet à chaque fois on tapant sur un bouton , de
stocker la deuxième valeur dans une variable deuxième nombre
et ensuite on teste la valeur de l’opération pour qu’elle l’exécute
exactement si la condition est vérifie .
exp : on veut exécuter l’opération 3+4 = 7
3 sera stocker dans le premier nombre , ensuite la condition
vérifie que l’opertaion = ‘’+’’, le 4 ne sera pas stocker qu’après
clique sur = , et le résultat va apparaître sur l’écran d’affichage 7
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
25
Difficulté rencontré au travail :
Lors de l’affichage sur l’écran on voulus afficher le résultat saisie dans
la première ligne en même temps avoir la possibilité de voir le
résultats on a essayé de la réalise mais on a pas pu la faire , donc on a
pensé a la résoudre avec deux afficheur une réservé pour la saisie et
l’autres pour le résultats
Voici
Mini projet –Application java (calculatrice scientifique)
Rapport mini projet java année universitaire 2019-2020
26
Conclusion
Ce travail a été réalisé dans le cadre de mini projet en java , qui est
porté sur la réalisation d’une calculatrice scientifique qu’exécutera
les différents opérations. En effet sur le cote théorique on a acquis
les notions sur la java swing et les interfaces graphiques en générale .
Nous avons eu l’opportunité de mettre en œuvre le processus unifie ,
ainsi que avons pu manipuler les différents notions vue en cours .
Finalement comme tous projet le nôtre présente quelques
insuffisance que nous pouvons les combler et des imperfections
auxquels on peut remédie mais nous estimons à avoir répondu à la
majorité des exigences ce qui nous mène a certains constations
concernant le temps nécessaire a la réalisation d(un tel projet ,
d’autre part ce travail nous a appris la prise de conscience de nos
prochaine obligations outre l’apport technique que nous avons
récolté , et malgré les obstacles que nous avons rencontré nous
avons appris à accepter les compromis et à relativiser les problèmes

Contenu connexe

Tendances

gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
Oussama Yoshiki
 

Tendances (20)

Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Réalisation d'une application de gestion budgétaire
Réalisation d'une application de gestion budgétaireRéalisation d'une application de gestion budgétaire
Réalisation d'une application de gestion budgétaire
 
Rapport de stage Application web Gestion RH ASP.NET MVC5
Rapport de stage Application web Gestion RH ASP.NET MVC5Rapport de stage Application web Gestion RH ASP.NET MVC5
Rapport de stage Application web Gestion RH ASP.NET MVC5
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’Emploi
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
pfe book 2023 2024.pdf
pfe book 2023 2024.pdfpfe book 2023 2024.pdf
pfe book 2023 2024.pdf
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 

Similaire à Rapport de mini projet java

Titanium studio et les modules
Titanium studio et les modulesTitanium studio et les modules
Titanium studio et les modules
Gautier Pialat
 

Similaire à Rapport de mini projet java (20)

Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
 
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieurScilab/Xcos pour l'enseignement des sciences de l'ingénieur
Scilab/Xcos pour l'enseignement des sciences de l'ingénieur
 
Rapport PFE2021.pdf
Rapport PFE2021.pdfRapport PFE2021.pdf
Rapport PFE2021.pdf
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Rapport genie logiciel
Rapport genie logicielRapport genie logiciel
Rapport genie logiciel
 
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
« LabVIEW : programmation et applications » ou comment apprendre à utiliser L...
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Arduino
ArduinoArduino
Arduino
 
Intro ihm
Intro ihmIntro ihm
Intro ihm
 
POO en C++
POO en C++POO en C++
POO en C++
 
Smb20 sur 20
Smb20 sur 20Smb20 sur 20
Smb20 sur 20
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Spring ioc
Spring iocSpring ioc
Spring ioc
 
01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf01_Introduction_a_JEE.pdf
01_Introduction_a_JEE.pdf
 
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple WatchMobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
Mobiliteatime #2 - WatchKit, le framework de développement pour l’Apple Watch
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Titanium studio et les modules
Titanium studio et les modulesTitanium studio et les modules
Titanium studio et les modules
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphine
 
Tp python
Tp pythonTp python
Tp python
 

Rapport de mini projet java

  • 1. UNIVERSITE SULTAN MOULAY SLIMANE FACULTE DES SCIENCES ET TECHNIQUES BENI MELLAL Rapport De Mini Projet « APPLICATION JAVA-CALCULATRICE SCIENTIFIQUE» Réalisé par : BAHTAT Ayoub AZIZI Abdellatif Filière ingénieur : Productique & Mécatronique Encadré par : Mr.Dr.AYACHI Sommaire :
  • 2. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 2 Premier chapitre : Introduction ................................................................................................................................................................. 4 I. Présentation de projet :.................................................................................................................. 4 II. Paquetage javax.Swing :................................................................................................................. 4 III. Les interfaces graphiques :......................................................................................................... 5 IV. Les objectifs prévue de projet :................................................................................................. 5 Deuxième chapitre : Taches effectuées.......................................................................................... 7 Etape 1 : installation de java swing.............................................................................................. 7 b) On exécutant le programme ci-dessus qui permet de créer le cadre......................................... 8 Etape 2 : création des boutons...................................................................................................... 9 Mode standard : ........................................................................................................................... 10 Bouton 1 : .................................................................................................................................... 10 Bouton 2 : .................................................................................................................................... 10 Bouton 3: ..................................................................................................................................... 11 Bouton 6: ..................................................................................................................................... 11 Bouton + : ................................................................................................................................... 12 Bouton - : ..................................................................................................................................... 12 Bouton *:...................................................................................................................................... 13 Bouton /....................................................................................................................................... 13 Bouton CE (Clear ) ..................................................................................................................... 14 Bouton C (Clear all ) .................................................................................................................. 14 Mode scientifique :........................................................................................................................... 15 Bouton Log() :............................................................................................................................. 15 Bouton sin() :.............................................................................................................................. 15 Bouton cos () :............................................................................................................................. 16 Bouton tan() : ............................................................................................................................. 16 Bouton Inverse (1/x) : .............................................................................................................. 17 Exponentielle e() : .................................................................................................................... 17 Factoriel n ! :............................................................................................................................... 18 Puissance (𝒙𝒚) :.......................................................................................................................... 19 Tanh(x) :...................................................................................................................................... 19 Bouton Ans :................................................................................................................................ 19 bouton% :................................................................................................................................... 20 Bouton 𝒂𝒃𝒙 :................................................................................................................................ 20
  • 3. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 3 Bouton Rad :................................................................................................................................ 21 Bouton Rad :................................................................................................................................ 21 Bouton égale = :.......................................................................................................................... 22 Difficulté rencontré au travail :........................................................................................................ 25 Conclusion ............................................................................................................................................. 26
  • 4. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 4 Premier chapitre : Introduction I. Présentation de projet : Ce travail s’inscrit dans le cadre d’un mini projet de réalisation d’une application java , à l’aide de l’éditeur éclipses for développer (ECLIPSE IDE) ,dont le but est de créer une calculatrice scientifique similaire aux calculatrice qu’existent qui permet d’effectuée plusieurs opérations mathématiques on utilisant les interfaces graphique et précisément le paquetage «Package javax. Swing ». II. Paquetage javax.Swing : package principal : il contient les interfaces, les principaux composants, les modèles par défaut Swing fait partie de la bibliothèque Java Foundation Classes (JFC). C'est une API dont le but est similaire à celui de l'API AWT mais dont les modes de fonctionnement et d'utilisation sont complètement différents. Swing a été intégré au JDK depuis sa version 1.2. Cette bibliothèque existe séparément. pour le JDK 1.1. Swing propose de nombreux composants dont certains possèdent des fonctions étendues, une utilisation des mécanismes de gestion d'événements performants et une apparence modifiable à la volée (une interface graphique qui emploie le style du système d'exploitation Windows ou Motif ou un nouveau style spécifique à Java nommé Metal).
  • 5. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 5 Tous les composants Swing possèdent les caractéristiques suivantes :  ce sont des beans.  ce sont des composants légers (pas de partie native) hormis quelques exceptions.  leurs bords peuvent être changés III. Les interfaces graphiques : L'interface graphique, appelée communément la GUI (pour Graphical User Interface), est le lien entre l'utilisateur et la machine. En effet, même si certains programmes tournent sur l'ordinateur sans aucune intervention de l'utilisateur, pour la majorité des scripts que vous allez coder, vous allez devoir interagir avec l'utilisateur. Pour cela, on utilise une interface graphique permettant de faire le lien entre l'utilisateur et le programme, et comme vous allez le voir, les GUIS offrent des possibilités quasiment illimitées, si ce n'est par votre imagination. IV. Les objectifs prévue de projet : Le projet s’intéresse à créer une calculatrice scientifique qui a les caractéristiques suivantes : Effectue les opérations arithmétique .  Elle prend en charge la gestion des erreurs de saisie.  Donne la main de se basculer entre le mode standard ou scientifique .  Supprimer une valeur saisie .  Donnez la possibilité de tous recommencez a zéro .  Gérer l’exception de division de zéro.  Afficheur qui présente le nombre introduit
  • 6. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 6 o Les boutons de 0 a9 o Les boutons des opérations arithmétique o Le bouton clear © o Bouton pour effacer un caractère o Bouton pour effacer la dernier saisie Concernant ce mode on ajout de plus au mode standard les caractéristiques des fonctions suivantes : o L’opérateur logarithmique o Fonctions Triangulaires (sin(x) ,cos (x), tan(x)) o Inverse (1/x) o Exponentielle e(x) o Factoriel n ! o Puissance (𝑥 𝑦 ) o Tanh(x) o Ans o % o ∑ 𝑥𝑏 𝑎 o Conversion degré vers le rad et le grade
  • 7. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 7 Deuxième chapitre : Taches effectuées Dans ce chapitre nous essayons de parler sur l’ensemble des étapes suivis pour aboutir le résultats du projet , ainsi nous présenterons les divers boutons utilisés avec détails . Etape 1 : installation de java swing Nous avons Installé java swing sur le logiciel éclipse , afin de pouvoir manipuler le différents s boutons à savoir (J .bouton, Jtext ,Radio ..) , et réalisé une interface java swing , dont la classe principale est JFrame
  • 8. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 8 a) Création d’une classe appelée Calcule b) On exécutant le programme ci-dessus qui permet de créer le cadre Classe principale Objet de la Classe JFrame
  • 9. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 9 Etape 2 : création des boutons Construire les différents boutons on faisant glisser (J texte , J boutons etc…) sur l’interface graphique . Chaque bottons porte --->>>>new botton par défaut on le renomme selon le nom voulus, et pour y accéder à un bouton on fait un double clic qui affichera une partie de programme a coder (pour faire éventuellement des modifications ). 10 La position suivant x 439 La position suivant x 89 La hauteur 23 La largeur
  • 10. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 10 Mode standard : ---->>>>A l’ intérieur de la méthode action performed () on cri les instructions associe à chaque boutons (1….9,+ ,-,*,/,clear all C,clear CE) Bouton 1 : Prenons l’exemple du bouton 1 : b1. getText() renvoie la valeur ‘’1’’ on ajoutant + textField.getText() la valeur déjà saisie en zone de texte comme chaine de caractère , qui sera afficher par la suite à l’aide de setText(). k réservé pour l’affichage de toutes les chaines de caractères. Bouton 2 :
  • 11. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 11 Pour le bouton 2 le processus est le même que pour le cas 1 on faisant ca a tout le reste du bouton jusqu'à 9. Bouton 3: Bouton 6:
  • 12. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 12 Bouton + :  Lorsqu’on saisit un nombre et on clique sur + la méthode getText() renvoie la valeur entrer et ça sera stocker dans une variable premier nombre de type double ( pour ce faire un casting est nécessaire dans ce cas ),textField() prend une chaine de caractère ‘’ ‘’ espace à travers la méthode setText() . Bouton - : Le principe est le même que pour le bouton + sauf ici la variable opération prend la chaine de caractère moins ‘’ –‘’, est textFiled1() envoie toujours la chaines selon le bouton manipuler .
  • 13. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 13 Bouton *: Opération prend le ‘’ * ‘’ est le principe reste valable pour celui citer en + et - . Bouton /
  • 14. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 14 Bouton CE (Clear )  La première condition if c’est pour Testez si la taille du Text saisie est supérieure à 0 ,ensuite la méthode deleteChar () supprime le dernier caractère , à chaque fois on cliquant sur le bouton CE  La méthode toString retourne la chaine modifie stocker dans une variable b , qui sera envoyer par setText()  La deuxième condition if réserver pour l’affiche en suivant les mêmes instructions que pour la saisie . Bouton C (Clear all )
  • 15. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 15 Tout simplement lorsqu’on on tape sur le bouton C , l’objet textField remplace la chaine saisie par un espace ‘’ ‘’ . Mode scientifique : Dans ce mode on va essayer de présenter l’ensemble de reste des boutons construisant notre calculatrice . Bouton Log() :  On appuyant sur le bouton log() , la variable opération prendre un chaine caractère ‘’ log’’  setBouns contrôle la position suivant( x, y , h et l)  add(blog) ajoute le bouton au Frame Bouton sin() :
  • 16. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 16  La variable opération = ‘’ sin()’’  On tape le nombre voulu exemple( a =3)  On fait = pour afficher le résultat , il vérifie la condition opération = ‘’ sin()’’ , puis il l’exécute si oui NB : le bouton = sera prester par la suite . Bouton cos () : Le bouton cos() est similaire à celui de sin() sauf que opération=cos() Bouton tan() :
  • 17. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 17 Bouton Inverse (1/x) : Remarque ici opération même si on saisit le premier nombre 0 il l’accepte car il s’agit d’une chaine de caractère ‘’ 1/x’’ et non une vraie valeur Exponentielle e() :
  • 18. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 18 Factoriel n ! : Partie code pour le bouton n ! if (operation=="n!") { int f=1; for(int i=1;i<=premierNombre;i++) { f=f*i; res=f; resu=String.format("%.10f",res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }}
  • 19. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 19 Puissance (𝒙 𝒚 ) : Tanh(x) : Bouton Ans :
  • 20. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 20 bouton% : Bouton ∑ 𝒙𝒃 𝒂 : Initialisation de s Comparaison de premier et dernier terme Sommation jusqu'à la fin
  • 21. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 21 Conversion degré vers le rad et le grade : Bouton Rad : Partie code Bouton Grade :
  • 22. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 22 partie code : Bouton égale = : JButton bEgal = new JButton("="); bEgal.setBackground(new Color(255, 255, 255)); bEgal.setFont(new Font("Tahoma", Font.BOLD, 11)); bEgal.setBounds(202, 174, 72, 23); bEgal.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String a=textField.getText(); deuxiemeNombre=Double.parseDouble(textField.getText()); k=textField_1.getText()+"="; textField_1.setText(k); if(operation=="+") { res=premierNombre+deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="-"){ res=premierNombre-deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="*" ){ res=premierNombre*deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } else if(operation=="/") { if(deuxiemeNombre==0) { textField.setText("Ereur de division par zero"); } else { res=premierNombre/deuxiemeNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k);} }else if (operation=="√"){
  • 23. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 23 res=Math.sqrt(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k);} else if(operation=="cos"){ res=Math.cos(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="sin") { res=Math.sin(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="log") { res=Math.log(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="exp"){ res=Math.exp(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="x^y") { res=Math.pow(premierNombre, deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="tan(⁡x)") { res=Math.tan(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if (operation=="n!") { int f=1; for(int i=1;i<=premierNombre;i++) { f=f*i; res=f; resu=String.format("%.10f",res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }} else if (operation=="tanh(⁡x)") { res=Math.tanh(deuxiemeNombre); resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } else if(operation==".") { String re=b+"."+a ; textField.setText(re); ans=textField.getText();
  • 24. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 24 k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="1/x") { res=1/premierNombre; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="%") { res=premierNombre/100; resu=String.format("%.10f", res); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if(operation=="s") { double S=0; while (premierNombre<=deuxiemeNombre) { S=S+premierNombre; premierNombre++; } resu=String.format("%.10f", S); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } else if (operation=="rad") { rad=(deuxiemeNombre*Math.PI)/180; resu=String.format("%.10f",rad); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); }else if (operation=="grd") { double grad=(deuxiemeNombre*400)/360; resu=String.format("%.10f",grad); textField.setText(resu); ans=textField.getText(); k=textField_1.getText()+resu; textField_1.setText(k); } } }); frame.getContentPane().add(bEgal); le bouton égale regroupe toutes les opérations et boutons citer ci-dessus , il permet à chaque fois on tapant sur un bouton , de stocker la deuxième valeur dans une variable deuxième nombre et ensuite on teste la valeur de l’opération pour qu’elle l’exécute exactement si la condition est vérifie . exp : on veut exécuter l’opération 3+4 = 7 3 sera stocker dans le premier nombre , ensuite la condition vérifie que l’opertaion = ‘’+’’, le 4 ne sera pas stocker qu’après clique sur = , et le résultat va apparaître sur l’écran d’affichage 7
  • 25. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 25 Difficulté rencontré au travail : Lors de l’affichage sur l’écran on voulus afficher le résultat saisie dans la première ligne en même temps avoir la possibilité de voir le résultats on a essayé de la réalise mais on a pas pu la faire , donc on a pensé a la résoudre avec deux afficheur une réservé pour la saisie et l’autres pour le résultats Voici
  • 26. Mini projet –Application java (calculatrice scientifique) Rapport mini projet java année universitaire 2019-2020 26 Conclusion Ce travail a été réalisé dans le cadre de mini projet en java , qui est porté sur la réalisation d’une calculatrice scientifique qu’exécutera les différents opérations. En effet sur le cote théorique on a acquis les notions sur la java swing et les interfaces graphiques en générale . Nous avons eu l’opportunité de mettre en œuvre le processus unifie , ainsi que avons pu manipuler les différents notions vue en cours . Finalement comme tous projet le nôtre présente quelques insuffisance que nous pouvons les combler et des imperfections auxquels on peut remédie mais nous estimons à avoir répondu à la majorité des exigences ce qui nous mène a certains constations concernant le temps nécessaire a la réalisation d(un tel projet , d’autre part ce travail nous a appris la prise de conscience de nos prochaine obligations outre l’apport technique que nous avons récolté , et malgré les obstacles que nous avons rencontré nous avons appris à accepter les compromis et à relativiser les problèmes