OVH Cloud OVH Cloud

Peut-on faire ce programme en Java ?

20 réponses
Avatar
Dorian
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus adapté à
ce type de problème. Une classe élèves ayant comme caractéristiques nom,
prénom, garçon/fille, doublant (oui/non), LV1, LV2, Option etc... et des
objets classes (liste des élèves). Par contre, pour les méthodes, je ne
vois pas trop.

Est-ce que Java est un bon choix et pourrait faciliter la programmation
sachant que je n'ai jamais fait de programme Java (faut bien commencer
un jour !)

Merci

10 réponses

1 2
Avatar
Bernard Bandiera
Dorian écrivait dans le message
:
Bonjour,


Bonjour.


Je dois faire un programme qui constituerait les classes de seconde
d'un lycée selon les langues vivantes et les options choisies par les
élèves tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus
adapté à ce type de problème. Une classe élèves ayant comme
caractéristiques nom, prénom, garçon/fille, doublant (oui/non), LV1,
LV2, Option etc... et des objets classes (liste des élèves). Par
contre, pour les méthodes, je ne vois pas trop.

En fait, plutôt qu'un problème de langage, il s'agit plutôt et d'abord d'un

problème de conception. Je veux dire par là qu'une fois la conception faite,
le choix du langage doit être secondaire. Mais bien entendu, si la
conception (avec UML ?) fait ressortir clairement des objets, il est évident
qu'un langage orienté objet comme Java peut convenir parfaitement. Les
méthodes doivent tout naturellement se déduire de la conception (diagramme
de collaboration)

Est-ce que Java est un bon choix et pourrait faciliter la
programmation sachant que je n'ai jamais fait de programme Java (faut
bien commencer un jour !)

Le risque est de faire de la programmation en Java en passant complètement à

coté de la notion d'objet. Sinon, avec les précautions d'usage (ne pas
commencer à programmer à la "cow boy" sans conception), ce peut être un
excellent exercice de conception, sachant que la programmation ne sera
qu'une étape banale parmi d'autres...

Merci


De rien, et bon courage.


--
Bernard

Gloire à qui, n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder son voisin
Georges Brassens - Don Juan

Avatar
Jaypee
Dorian wrote:
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).
[...]

AMHA, vu la nature du problème posé, je regarderais plutôt du coté de
Prolog qui traite bien de la programmation par contraintes. Ce lien peut
aider ...
<http://www710.univ-lyon1.fr/~csolnon/Site-PPC/e-miage-ppc-som.htm>

Mais ce n' est que mon avis ;-)
J-P

Avatar
Jean-Marc Vanel
Dorian wrote:
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus adapté à
ce type de problème. Une classe élèves ayant comme caractéristiques nom,
prénom, garçon/fille, doublant (oui/non), LV1, LV2, Option etc... et des
objets classes (liste des élèves). Par contre, pour les méthodes, je ne
vois pas trop.

Est-ce que Java est un bon choix et pourrait faciliter la programmation
sachant que je n'ai jamais fait de programme Java (faut bien commencer
un jour !)

Merci


A part prolog, il y a Jess:
http://herzberg.ca.sandia.gov/jess/
Jess, the Rule Engine for the Java Platform - [ Traduire cette page ]
... Using Jess, you can build Java software that has the capacity to
"reason" using knowledge you supply in the form of declarative rules. ...

Ainsi on l'avantage de pouvoir s'intégrer facilement avec Java.

Mais est-ce qu'il n'y a pas déjà qq'chose avec des mots-clés comme:
school student class distribute software criteria
ou
school student class compose software criteria
?

--
Jean-Marc Vanel
Consulting & Services / software development
OSS, Web, Java, XML ...
http://jmvanel.free.fr/ ===) CV, software resources
Computer science diary : http://jmvanel.free.fr/computer-notes.html

Worldwide Botanical Knowledge Base : http://wwbota.free.fr/
Test XML query engine: http://jmvanel.free.fr/protea.html

Avatar
Cedric Lefebvre
Ouip... enfin Prolog est un langage genial tant que le systeme n'aura a
gerer qu'un nombre reduit d'eleves, de classes...
Des que le systeme s'enrichira, la pile sera debordee... et le programme
ne marchera plus ;-)

Cedric Lefebvre


Dorian wrote:
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).
[...]

AMHA, vu la nature du problème posé, je regarderais plutôt du coté de
Prolog qui traite bien de la programmation par contraintes. Ce lien peut
aider ...
<http://www710.univ-lyon1.fr/~csolnon/Site-PPC/e-miage-ppc-som.htm>

Mais ce n' est que mon avis ;-)
J-P



Avatar
Cedric Lefebvre
Bonjour,

Ayant deja eu l'occasion d'utiliser Jess, je ne vois pas trop comment Jess
serait adapte a ce probleme... peux-tu detailler un peu ta reponse ?

Cedric Lefebvre

Dorian wrote:
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus adapté à
ce type de problème. Une classe élèves ayant comme caractéristiques nom,
prénom, garçon/fille, doublant (oui/non), LV1, LV2, Option etc... et des
objets classes (liste des élèves). Par contre, pour les méthodes, je ne
vois pas trop.

Est-ce que Java est un bon choix et pourrait faciliter la programmation
sachant que je n'ai jamais fait de programme Java (faut bien commencer
un jour !)

Merci


A part prolog, il y a Jess:
http://herzberg.ca.sandia.gov/jess/
Jess, the Rule Engine for the Java Platform - [ Traduire cette page ]
... Using Jess, you can build Java software that has the capacity to
"reason" using knowledge you supply in the form of declarative rules. ...

Ainsi on l'avantage de pouvoir s'intégrer facilement avec Java.

Mais est-ce qu'il n'y a pas déjà qq'chose avec des mots-clés comme:
school student class distribute software criteria
ou
school student class compose software criteria
?

--
Jean-Marc Vanel
Consulting & Services / software development
OSS, Web, Java, XML ...
http://jmvanel.free.fr/ ===) CV, software resources
Computer science diary : http://jmvanel.free.fr/computer-notes.html

Worldwide Botanical Knowledge Base : http://wwbota.free.fr/
Test XML query engine: http://jmvanel.free.fr/protea.html



Avatar
Bruno Jouhier
"Cedric Lefebvre" a écrit dans le message de news:
414defb3$0$12983$
Bonjour,

Ayant deja eu l'occasion d'utiliser Jess, je ne vois pas trop comment Jess
serait adapte a ce probleme... peux-tu detailler un peu ta reponse ?


Effectivement, c'est assez dur de faire du backtracking avec Jess.

C'est vraiment un problème d'optimisation sous contraintes. Il faut donc
regarder du côté des "solvers" de type Ilog Solver, plus que du côté Prolog
ou Jess. Mais dans ce domaine, on a plus des produits commerciaux que des
langages.

Un "solver" resoudra aussi le problème en effectuant un backtracking, mais à
chaque étape, il propagera les conséquences du choix qu'il vient de faire en
réduisant les domaines de valeurs des variables du problème. Le gros
avantage de ce système, c'est qu'on détecte beaucoup plus tôt les branches
qui n'ont pas de solution et qu'on améliore l'efficacité du backtracking. La
difficulté, c'est en général de modéliser le problème sous forme d'une série
d'équations entre des variables ayant des domaines entiers bornés.

Bruno.


Cedric Lefebvre

Dorian wrote:
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde
d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus adapté
à
ce type de problème. Une classe élèves ayant comme caractéristiques
nom,
prénom, garçon/fille, doublant (oui/non), LV1, LV2, Option etc... et
des
objets classes (liste des élèves). Par contre, pour les méthodes, je ne
vois pas trop.

Est-ce que Java est un bon choix et pourrait faciliter la programmation
sachant que je n'ai jamais fait de programme Java (faut bien commencer
un jour !)

Merci


A part prolog, il y a Jess:
http://herzberg.ca.sandia.gov/jess/
Jess, the Rule Engine for the Java Platform - [ Traduire cette page ]
... Using Jess, you can build Java software that has the capacity to
"reason" using knowledge you supply in the form of declarative rules. ...

Ainsi on l'avantage de pouvoir s'intégrer facilement avec Java.

Mais est-ce qu'il n'y a pas déjà qq'chose avec des mots-clés comme:
school student class distribute software criteria
ou
school student class compose software criteria
?

--
Jean-Marc Vanel
Consulting & Services / software development
OSS, Web, Java, XML ...
http://jmvanel.free.fr/ ===) CV, software resources
Computer science diary : http://jmvanel.free.fr/computer-notes.html

Worldwide Botanical Knowledge Base : http://wwbota.free.fr/
Test XML query engine: http://jmvanel.free.fr/protea.html







Avatar
Bruno Jouhier
"Bruno Jouhier" a écrit dans le message de news:
414e7b08$0$15748$
"Cedric Lefebvre" a écrit dans le message de news:
414defb3$0$12983$
Bonjour,

Ayant deja eu l'occasion d'utiliser Jess, je ne vois pas trop comment
Jess
serait adapte a ce probleme... peux-tu detailler un peu ta reponse ?


Effectivement, c'est assez dur de faire du backtracking avec Jess.

C'est vraiment un problème d'optimisation sous contraintes. Il faut donc
regarder du côté des "solvers" de type Ilog Solver, plus que du côté
Prolog ou Jess. Mais dans ce domaine, on a plus des produits commerciaux
que des langages.

Un "solver" resoudra aussi le problème en effectuant un backtracking, mais
à chaque étape, il propagera les conséquences du choix qu'il vient de
faire en réduisant les domaines de valeurs des variables du problème. Le
gros avantage de ce système, c'est qu'on détecte beaucoup plus tôt les
branches qui n'ont pas de solution et qu'on améliore l'efficacité du
backtracking. La difficulté, c'est en général de modéliser le problème
sous forme d'une série d'équations entre des variables ayant des domaines
entiers bornés.


J'oubliais: c'est ce genre de logiciel qui est utilisé dans les aéroports
pour affecter les avions aux portes d'embarquement, ou pour affecter le
personnel navigant. Ces problèmes d'affectation sous contrainte sont très
proches du problème d'optimisation d'emploi du temps.

Bruno.


Bruno.


Cedric Lefebvre

Dorian wrote:
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde
d'un
lycée selon les langues vivantes et les options choisies par les
élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus adapté
à
ce type de problème. Une classe élèves ayant comme caractéristiques
nom,
prénom, garçon/fille, doublant (oui/non), LV1, LV2, Option etc... et
des
objets classes (liste des élèves). Par contre, pour les méthodes, je
ne
vois pas trop.

Est-ce que Java est un bon choix et pourrait faciliter la
programmation
sachant que je n'ai jamais fait de programme Java (faut bien commencer
un jour !)

Merci


A part prolog, il y a Jess:
http://herzberg.ca.sandia.gov/jess/
Jess, the Rule Engine for the Java Platform - [ Traduire cette page ]
... Using Jess, you can build Java software that has the capacity to
"reason" using knowledge you supply in the form of declarative rules.
...

Ainsi on l'avantage de pouvoir s'intégrer facilement avec Java.

Mais est-ce qu'il n'y a pas déjà qq'chose avec des mots-clés comme:
school student class distribute software criteria
ou
school student class compose software criteria
?

--
Jean-Marc Vanel
Consulting & Services / software development
OSS, Web, Java, XML ...
http://jmvanel.free.fr/ ===) CV, software resources
Computer science diary : http://jmvanel.free.fr/computer-notes.html

Worldwide Botanical Knowledge Base : http://wwbota.free.fr/
Test XML query engine: http://jmvanel.free.fr/protea.html











Avatar
vc.spam
Dorian wrote in message news:...
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus adapté à
ce type de problème. Une classe élèves ayant comme caractéristiques nom,
prénom, garçon/fille, doublant (oui/non), LV1, LV2, Option etc... et des
objets classes (liste des élèves). Par contre, pour les méthodes, je ne
vois pas trop.

Est-ce que Java est un bon choix et pourrait faciliter la programmation
sachant que je n'ai jamais fait de programme Java (faut bien commencer
un jour !)

Merci


Salut,

Je vais abonder dans le sens commun. Le plus gros problème que tu
auras c'est l'algorithme... Ton problème n'est pas simple. Concernant
Java, pourquoi pas. Mais à mon avis ça n'est pas le plus important.
Java est bien adapté à la création d'interface graphique et d'accès
aux bases de données... Ceci dit si tu t'y connais en C++, C#, VB ou
Delphi ça marchera pareil (plus compliqué en C++, mais si tu maitrises
le C++...). Un truc à prendre en compte, c'est le format de départ et
d'arrivée. Si tu dois partir et surtout arriver à un format excell ou
word, peut être que VB ou C# serait le plus adapté... Bref, sans plus
d'infos, ton problème peut se gèrer avec pas mal de langages, le plus
dur étant la conception de l'algo de répartition...

A+

Vincent

Avatar
Dorian
Le 20-09-2004, Vince44 a écrit:
Dorian wrote in message news:...
Bonjour,

Je dois faire un programme qui constituerait les classes de seconde d'un
lycée selon les langues vivantes et les options choisies par les élèves
tout en gardant un équilibre garçon/fille et en dispersant les
redoublants (je simplifie un peu).

Je me disais qu'un langage orienté objets serait peut-être plus adapté à
ce type de problème. Une classe élèves ayant comme caractéristiques nom,
prénom, garçon/fille, doublant (oui/non), LV1, LV2, Option etc... et des
objets classes (liste des élèves). Par contre, pour les méthodes, je ne
vois pas trop.

Est-ce que Java est un bon choix et pourrait faciliter la programmation
sachant que je n'ai jamais fait de programme Java (faut bien commencer
un jour !)

Merci


Salut,

Je vais abonder dans le sens commun. Le plus gros problème que tu
auras c'est l'algorithme... Ton problème n'est pas simple. Concernant
Java, pourquoi pas. Mais à mon avis ça n'est pas le plus important.
Java est bien adapté à la création d'interface graphique et d'accès
aux bases de données... Ceci dit si tu t'y connais en C++, C#, VB ou
Delphi ça marchera pareil (plus compliqué en C++, mais si tu maitrises
le C++...). Un truc à prendre en compte, c'est le format de départ et
d'arrivée. Si tu dois partir et surtout arriver à un format excell ou
word, peut être que VB ou C# serait le plus adapté... Bref, sans plus
d'infos, ton problème peut se gèrer avec pas mal de langages, le plus
dur étant la conception de l'algo de répartition...

A+

Vincent


Merci pour toutes ces pistes. Les données pourraient se présenter au
départ dans une base de donnée Access. C'est aussi pour ça que j'ai
pensé à Java, je sais qu'avec JBDC, on peut interagir avec les sgbd.
Par contre, non, je ne maîtrise pas de langage orienté objet, je connais
à peine JAVA. Mon langage de prédilection est plutôt le C.

--
La hiérarchie est une échelle qui permet de
lacher ses ordures sur ceux d'en dessous.


Avatar
vc.spam
Merci pour toutes ces pistes. Les données pourraient se présenter au
départ dans une base de donnée Access. C'est aussi pour ça que j'ai
pensé à Java, je sais qu'avec JBDC, on peut interagir avec les sgbd.
Par contre, non, je ne maîtrise pas de langage orienté objet, je connais
à peine JAVA. Mon langage de prédilection est plutôt le C.


Si tu ne maîtrise que C, alors tu peux passer à java, c'est
probablement le langage le plus proche de C qui soit adapté à ce
projet. En l'occurence java me semble être une bonne option. En plus
les gens sur les forum java sont vachement sympa :-)

1 2