Solution du tp 2 : programmation orientée objet

solution tp2 poo




Bonjour les développeurs, j'aimerais bien que tout le monde à essayer de resoudre le premier et le deuxieme tp, voila comme je vous ai promis , la correction  du deuxieme tp :


bonne lecture

Niveau : débutant .

Correction TP 2 orientée objet :

public class Individu {
 private String nom, prenom;
 private int age;

 public Individu() {
  super();
 }
 public Individu(String nom, String prenom, int age) {
  super();
  setNom(nom);
  setAge(age);
  setPrenom(prenom);
 }
 public void setNom(String nom) {
  this.nom = nom.toUpperCase();
 }
 public void setPrenom(String prenom) {
  String temp1=prenom.substring(0, 1).toUpperCase();
  String temp2=prenom.substring(1).toLowerCase();
  this.prenom = temp1+temp2;
 }
 public void setAge(int age) {
  if((age <1)||(age>120))
   this.age = 0;
  else
   this.age = age;
 }
 public int getAge(){
  return age; 
 }
 public String getNom() {
  return nom; 
 }
 public String getPrenom() {
  return prenom;
 }
 public String toString() {
  return "\nInfo:\n=====\n Nom=" + nom +
    ", Prénom=" + prenom +
    ", Age=" + age;
 }
}

--------------------------------------------------------------------------------------------------------

public class Etudiant extends Individu{
 public final int nb_notes=5;
 private int num;
 private String niveau;
 private double []notes;

 public Etudiant() {
  super();
  notes=new double[nb_notes];
 }
 public Etudiant(String nom, String cin, int age,int num, String niveau, double[] notes) {  super(nom, cin, age);
  this.num = num;
  this.niveau = niveau;
  this.notes=new double[notes.length];
  setNotes(notes);
 }

 public void setNum(int num) {
  this.num = num;
 }
 public void setNiveau(String niveau) {
  this.niveau = niveau;
 }
 public void setNotes(double[] notes) {
  for(int k=0;k<notes.length;k++)
   this.notes[k] = notes[k];
 }
 
 public void setAge(int age){
  if((age >=6)&&(age<=24))
   super.setAge(age);
  else
   super.setAge(0);
 }
 public int getNum() {   return num; }

 public String getNiveau() {   return niveau;  }

 public double[] getNotes() {  return notes;  }

 public double moyenne(){
  double somme=0;
  for(int k = 0 ; k < notes.length ; k++)
   somme+= notes[k];
  return somme/notes.length;
 }

 public String toString() {
  String ch=super.toString();
  String liste_notes="";
  for(int k=0;k<notes.length;k++)
   liste_notes+= notes[k] + " , "; 
  ch+="\n Num=" + num +
   "\n Niveau=" + niveau +
   "\n Notes= " + liste_notes+
   "\n Moyenne : "+moyenne()+"/20";
  return ch;
 } 
}


-----------------------------------------------------------------------------------------------------



public class ControleMain {

 public static void main(String[] args) {

 // manipulation d'un objet Individu :

  Individu n= new Individu("said","aYYOub",45);
  System.out.println(n);


 // manipulation d'un objet Etudiant :

  Etudiant e1=new Etudiant();
  e1.setNom("moha");
  e1.setPrenom("lotfi");
  e1.setAge(60);
  e1.setNum(2345678);
  e1.setNiveau("ABC");
  double notes[]={14,15,16.4,11,11};
  e1.setNotes(notes);
  System.out.println(e1.toString());
 
 // manipulation d'un deuxieme objet Etudiant :
  for(int k=1;k<5;k++)
   notes[k-1]=10+(7+k)/k;
 
  Etudiant stagiare=new Etudiant("el mardi", "reda", 19, 23972, "1ere TDI", notes);
  System.out.println(stagiare); //appel implicite de toString()
 }
}



proposé par a.baouzi ,
NB: Pour recevoir les pages et la correction de ce tuto , veuillez laisser vos emails sur les commentaires de cet article.



Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture


Cours informatique : tp 2 java

tp 2 en java poo

Bonjour les futurs programmeurs :) , voila le tp  numéro 2 qui concerne la programmation orientée objet en java,j'aimerais que tout le monde pourra trouver la solution , je vous attends , envoyez vos réponses par les commentaire ou bien par le biais de la messagerie :) , bonne lecture.


Exercice 1 : (6 pts)

Soit la classe Individu suivante :

public class Individu {
  private String nom, prenom;
  private int age;

  //...
  public String toString() {
     // Méthode Affiche et retourne les infos d’un individu

      String ch="Info:\nNom="+nom+", Prénom="+prenom+", Age="+age;

     System.out.println(ch);
     return ch;
  }
}
1-  Ajouter 2 constructeurs (par défaut et avec paramètres)
2- Ajouter les accesseurs et les modificateurs des propriétés, en tenant
compte aux règles suivantes :
a. le nom doit être en MAJUSCULE
b. le prénom doit commencer par Majuscule
- Utiliser les méthodes de la classe String: 
  char   charAt(int index)
     String toUpperCase()
     String toLowerCase()
    String substring(int beginIndex)
c. l’âge est compris entre 1 et 100

Exercice 2 : (10 pts)

Créez la classe Etudiant qui hérite de la classe Individu, et qui
possède les attributs : 
- final int nb_note=5 : constante  égal aux nombre des notes;
- int num                        : le numéro de l’étudiant 
- String niveau  : niveau d’étude
- double note[]            : les notes de l’étudiant

1- Ajouter 2 constructeurs (par défaut et avec paramètres)
2- Ajouter les accesseurs et les modificateurs des propriétés, en
tenant compte aux règles suivantes :
a. L’âge d’un étudiant est compris entre 6 et 24 ans 
3- Ajouter la méthode double moyenneNotes() pour calculer la
moyennes des notes d’un étudiant : 
            moy= sommes des notes / nombres des notes
  
4- Ajouter la méthode String toString() pour afficher et
retourner les infos d’un étudiant sous la forme suivante :

 

Exercice 3 : (4 pts)

Info:
Nom=GHARIB, Prénom=Moha, Age=20
Numéro Etudiant : 453282
Niveau : TDI 1ere Annee TDI
Notes : 14, 12, 16, 11, 17,
Moyenne notes : 14 / 20
Créer un programme principal (main) pour tester les deux classes.


 

Cours informatique : Série d'exercices JAVA

tp java

Série d'exercices JAVA :


série proposée par A.baouzi.

Niveau : débutant.


EXERCICE 1  : (afficher une saisie)


 Ecrire un programme qui demande à l’utilisateur de saisir un nom
au clavier. Puis le programme affiche bonjour suivi du nom de la
personne 

EXERCICE 2 : (afficher une saisie)


Ecrire un programme qui demande à l'utilisateur de saisir le momonsieur ou madame. Ensuite, il devra saisir son nom. Puis lprogramme affiche Bonjour suivi de monsieur ou madame selon lsaisie suivi du nom saisi

EXERCICE 3 : (afficher une table de multiplication)


Écrire un programme qui demande à l’utilisateur d’entrer un nombre entier. Puis le programme affiche la table de multiplication de ce nombre de 0 à 10

EXERCICE 4 : (utiliser l’instruction continue)


Écrire un programme qui affiche l’inverse des nombres entiers allant de -3 à +3.

EXERCICE 5 : (afficher le carré d’une série de nombres)


Écrire un programme qui affiche le carré des nombres entiers pair allant de 0 à 10 inclus.

EXERCICE 6 : (mettre fin au programme grâce à une saisie)


Écrire un programme qui demande à l’utilisateur d’entrer une chaîne de caractère, puis le programme affiche cette chaine. Ainsi de suit! Le programme s’arrête seulement si l’utilisateur entre la chaine "end". A ce moment, le programme affiche : fin du programme.

EXERCICE 7 : ( le maximum d'une série de valeurs entrées au clavier )


Écrire un programme qui demande à l’utilisateur de saisir une série de nombres entiers positifs. Pour arrêter la saisie, on entre valeur zéro. Puis le programme affiche la plus grande des valeurs.

EXERCICE 8 : (le minimum d’une série de valeurs)


Écrire un programme qui demande à l'utilisateur de saisir une série de nombres entiers positifs. Pour arrêter la saisie, on entre la valeur zéro. Puis le programme affiche la plus petite des valeurs.

EXERCICE 9 : (somme d’une série de valeurs entrées au clavier)


Ecrire un programme qui demande à l’utilisateur de saisir une série de nombres entiers positifs. Pour arrêter la saisie, on entre la valeur zéro. Puis le programme affiche la somme des valeurs.

proposé par a.baouzi ,

NB: Pour recevoir les pages et la correction de ce tuto , veuillez laisser vos emails sur les commentaires de cet article.



Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture

Projet de COO, UML , POO PHP

projet POO php

 

Projet de COO, UML , POO PHP


Problème : 

On souhaite créer une application java qui permet gérer une société de transport de cargaisons
transportant des marchandises. La société gère un ensemble de cargaisons. Chaque cargaison
contient plusieurs marchandises. Chaque marchandise est définie par son numéro, son poids et
son volume. Il existe deux types de cargaisons :
Routière et Aérienne. Chaque cargaison est définie par sa référence et sa distance de parcours.
Le cout de transport d’une cargaison est calculé en fonction du type de la cargaison.
Pour une cargaison aérienne est une cargaison dont le cout est calculé selon la formule
suivante :
cout=10 x distance x poids total des marchandises si le volume total est inférieur à
80000
cout=12 x distance x poids total des marchandises si le volume total est supérieur ou
égal à 80000
Une cargaison routière est une cargaison dont le cout est calculé selon la formule suivante :
cout=4 x distance x poids total si le volume total est inférieur à 380000
cout=6 x distance x poids total si le volume total est supérieur ou égale à 380000
Pour chaque cargaison, on souhaite ajouter une marchandise, supprimer une marchandise,
consulter une marchandise sachant son numéro, consulter toutes les marchandises de la
cargaison, consulter le poids total de la cargaison, consulter le volume total de la cargaison et
consulter le cout de la cargaison.
Cette application peut être utilisée par les clients et les administrateurs.
Le client peut effectuer les opérations suivantes :
Consulter une cargaison sachant sa référence.
Consulter une marchandise sachant son numéro.
Lire le fichier Cargaisons.
Consulter toutes les cargaisons.
L’administrateur peut effectuer toutes les opérations effectuées par le client. En plus, il peut :
Ajouter une nouvelle cargaison.
Ajouter une marchandise à une cargaison.
Supprimer une cargaison
Enregistrer les cargaisons dans un fichier.
Toutes les opérations nécessitent une authentification

Questions :


1- Etablir un diagramme Use case UML.
2- Etablir le diagramme de classes en prenant en considération les critères suivants.
La classe SocieteTransport devrait implémenter les deux interfaces
IClientTransport et IAdminTranport déclarant, respectivement les opérations
relatives aux rôles Client et Admin.
3- Etablir le modèle logique de données relationnel (MLDR) et créer la base de données
MYSQL
4- Ecrire le code PHP des classes entités Marchandise, Cargaison, CargaisonRoutiere et
CargaisonAérienne
5- Ecrire le code PHP des deux interfaces IClientTransport et IAdminTransport.
6- Créer une première implémentation PHP de ces deux interfaces  en faisant le mappingobjet relationnel.
7- Créer une application web PHP  (HTML, CSS, JQuery, Ajax ) qui permet de :
Saisir et ajouter des nouvelles marchandises et des nouvelles cargaisons.
Afficher toutes les cargaisons avec la possibilité de consulter les marchandises
d’une cargaison sélectionnée et en affichant le cout de la cargaison.
Ajouter d’autres fonctionnalités au projet.   

TP Proposé par Mr youssfi , Enseignant Chercheur à l'enset de mohammedia.

NB: Pour recevoir les pages et la correction de ce tuto , veuillez laisser vos emails sur les commentaires de cet article.



Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture

Tp en php - niveau : débutant

tp php debutant
Bonjour , on va continuer de faire les tp's sur le php , aujourd'hui on va attaquer la partie connexion avec la base de données , donc j'ai choisi ce tp qui me parait tres simple, qui le faut le réaliser en quelques secondes  :)

 

 

TP EN PHP - niveau : débutant


On souhaite développer une application web dynamique en utilisant la technologie PHP, 
Mysql coté serveur et HTML, CSS, Ajax et JQuery coté client. Cette application doit
permettre de gérer les enseignants appartenant à des départements. Chaque enseignant
appartient à un département et un département contient plusieurs enseignants.
Chaque département est défini par :
  • Un code de type chaine de caractères.
  • Un nom de type chaine de caractères.
Chaque enseignant est définit par :
  • Un code de type INT (AUTO_INCREMENT)
  • Un nom
  • Une date de naissance
  • Un salaire
  • Une photo.

L’application doit permettre de :
  • Saisir et ajouter un nouveau département
  • Saisir et ajouter un nouvel enseignant.
  • Consulter les enseignants d’un département sélectionné dans une liste déroulante.

Travail demandé


1- Concevoir et créer la base de données
2- Créer les pages nécessaires pour saisir et ajouter un nouveau département
3- Créer les pages nécessaires pour saisir et ajouter un nouvel enseignant
4- Créer la page qui permet de consulter les enseignants par département sélectionné en
utilisant la technologie Ajax avec JQuery.
5- Créer un Layout (Logo, Entête, Menu, Contenu, etc…) avec HTML et CSS qui permet
de regrouper les différentes fonctionnalités de l’application.
6- Rédiger un rapport format PDF.

Bonus de ce tuto informatique :


un autre tp telechargable sous forme de document PDF : cliquer ici


TP Proposé par Mr youssfi , Enseignant Chercheur à l'enset de mohammedia.

NB: Pour recevoir les pages et la correction de ce tuto , veuillez laisser vos emails sur les commentaires de cet article.



Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture

Tuto informatique : Tp en jquery , TP1

Salut ,il est temps de pratiquer ce qu'on a appris jusqu’à maintenant :

on va voir sur ce tuto informatique , la réalisation 

 JQuery : TP 1


Exercice 1 :


Considère la page HTML suivante :


tp jquery mes-etudes


Questions :


Créer cette page et visualiser la sur le navigateur Google chrome. En utilisant la console
des outils de développement de Google chrome, réaliser les opérations suivantes :
1- Ecrire le code JQuery qui permet colorer l’arrière plan de la page en gri
2- Masquer puis afficher à nouveau le div dont id est « catalogue »
3- Masquer le premier div de la page.
4- Essayer les effets fadeOut puis fadeIn pour une durée de 1s (1000), appliqués au
même div « catalogue »
5- Modifier ‘attribut href des liens hypertextes se trouvant  à l’intérieur de UL du div don
id est « liens »
6- Affecter  une bordure aux cellules th et td du tableau qui contient les produits.
7- Supprimer puis ajouter la classe css « .liens » à l’élément dont id= «divListe». 
8- En cliquant sur le bouton add, ajouter au tableau une ligne qui contient les données
saisies dans le formulaire.
9- En clinquant sur le bouton supprimer, supprimer les lignes cochées
10- Ajouter une copie du tableau au div qui le contient.
11- Rendre le div «divListe » draggable.
12- Rendre  le div «divListe » boite de dialogue.
13- Modifier le texte des trois liens hypertextes en leurs affectant respectivement
« Google1 », « Google2 » et « Google3 »,  

Exercice 2 :

  Créer une HTML utilisant JQuery qui contient les éléments suivants :
- Dans un div à gauche de la page, créer un menu déroulant.
- Dans un autre div à droite, créer un panneau à onglets. Chaque onglet définit les
contenus suivants :
o Contenu du premier onglet : Un accordéon
o Contenu du premier onglet : Un Formulaire qui permet de saisir une date
utilisant le Datepicker de JQuery et un de texte qui représente la ville, qui
utilise le comportement AutoComplete. En validant le formulaire, afficher les
données saisie dans une boite de dialogue JQuety.
o Contenu du Troisième onglet : Un composant JQuery qui présente une liste de
données Selectable. Et une autre liste de donnée Sortable.

Voir les aperçus suivants :
tp jquery mes-etudes
    

tp jquery mes-etudes.blogspot.com

    TP Proposé par Mr youssfi , Enseignant Chercheur à l'enset de mohammedia.

NB: Pour recevoir les pages et la correction de ce tuto , veuillez laisser vos emails sur les commentaires de cet article.



Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture

cours informatique - Apprendre le framework php Symphony 2

apprende symfony 2 video francais
Bonjour tout le monde , aujourd'hui nous allons voir le cours qui est très demandé par la majorité des développeurs web qui cherchent à maitriser et à approfondir leurs connaissance techniques en PHP.

Un framework ? , n'aillez pas peur , c'est un ensemble de classes qui contient des fonctions prédéfinis prêtes a être utilisé par le développeur.

Le mot « framework » est d'origine anglaise ,le mot " frame " veut dire « cadre » en français, et
« work » qui signifie « travail » .un framework c'est donc un « cadre de travail ».

Donc l'objectif d'un framework est :
  • Améliorer la productivité des développeurs qui l'utilisent .
  • Faciliter le développement d’applications web PHP.
  • organiser son travail  pour la facilité de compréhension du code.
C'est un des frameworks les plus utilisés "Zend, CodeIgniter, CakePHP,  Laravel"

La première version de ce framework 'symphony' est sortie en 2005.

Partie 1 : téléchargement du framework : 

Site officiel du framework  Cliquer ici 

Téléchargement du framework Symfony : Cliquer ici 

Partie 2 : série des vidéos du cours 'symfony' en français :

Lien vers la playlist en FR : Cliquer ici

Lien vers la playlist en En : Cliquer ici

BONUS !! du Cours:


voila un séminaire de  'Johannes Schmitt' - twig.js: The Templating Engine for the Client-Side ( les moteurs des templates - coté client)

 voila le lien :   cliquer ici


Et comme d'habitude n'oublier pas de partager cela avec vos amis , bonne lecture

Cours informatique en video - le langage c - la suite partie 4

apprendre langage c cours video
Bonjour , aujourd'hui nous allons voir la dernière partie du cours de programmation structurée  : langage c ,

la suite numéro 4 :

Comme vous remarquez , j'ai poster seulement 3 vidéos du cours informatique langage c , sur ce tuto vous allez trouver la suite :

Si vous n'avez pas pu les premières vidéo , veuillez cliquer ici : article 1

Si vous n'avez pas pu les vidéos précédents (page 2) , veuillez cliquer ici : article 2

Si vous n'avez pas pu les vidéos précédents (page 3) , veuillez cliquer ici : article 3

Cours vidéo 10 :




Cours vidéo 11 :



Cours vidéo 12 :  





Cours vidéo 13 : 




Cours vidéo 14 : 



N.B : Pour voir la suite de ces tutoriels veuillez cliquer sur ce lien : Suite du cours.


Partie 2 : 


  téléchargement du cours informatique (langage c) en  PDF : cliquer ici

Cours informatique en video - le langage c - la suite partie 3

apprendre langage c cours video
Bonjour , aujourd'hui nous allons voir la troisième partie du cours 'langage programmation structurée'  : le langage c ,

la suite numero 3 :

Comme vous remarquez , j'ai poster seulement 3 videos du cours informatique langage c , sur ce tuto vous allez trouver la suite :

Si vous n'avez pas pu les premieres video , veuillez cliquer ici : article 1

Si vous n'avez pas pu les vidéos precedents (page 2) , veuillez cliquer ici : article 2


Cours vidéo 7 :




Cours vidéo 8 :



Cours vidéo 9 :  




N.B : Pour voir la suite de ces tutoriels veuillez cliquer sur ce lien : Suite du cours.


Partie 2 : 


télechargement du cours informatique (langage c) en  PDF : cliquer ici

Cours informatique en video - le langage c - la suite

apprendre langage c cours video
Bonjour , aujourd'hui nous allons voir le cours de la programmation structurée : le langage c ,
Nous dégagerons ensuite quelques règles générales concernant l'écriture d'un programme.(la suite)

Comme vous remarquez , j'ai poster seulement 3 videos du cours informatique langage c , sur ce tuto vous allez trouver la suite :

Si vous n'avez pas pu les premieres video , veuillez cliquer ici : article 1



Cours vidéo 4 :


Cours vidéo 5 :

Cours vidéo 6 :  


N.B : Pour voir la suite de ces tutoriels veuillez cliquer sur ce lien : Suite du cours.


Partie 2 : 


télechargement du cours informatique (langage c) en  PDF : cliquer ici

Cours informatique en video - le langage c

apprendre langage c cours video

Bonjour , aujourd'hui nous allons voir le cours de la programmation structurée : le langage c ,
Nous dégagerons ensuite quelques règles générales concernant l'écriture d'un programme.

 

 

   

 

Partie 1 : Les vidéos du langage c :

  vidéo1 :


video 2 : 

 

  vidéo3 : 



N.B : Pour voir la suite de ces tutoriels veuillez cliquer sur ce lien : Suite du cours.


Partie 2 : 

 téléchargement du cours informatique (langage c) en  PDF : cliquer ici


N'oublier pas de partager ce cours avec vos amis !