Traduction d'un algorithme [Résolu]

Signaler
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Bonjour tout le monde,
j'ai un algorithme et je dois le traduire et j'ai eu du mal a le faire vu que je suis débutant en java

fuction anomalytransition(rule,field,root,myway,relation)
if field=action then
value_found=false
for each branch in node.branch_list do
if branch.value=rule.field.value then
value_found=true
if relation =undetermined then relation =exact
anomalytransition(rule,field.next,branch.node,myway,relation)
else if rule.field.value is superset of branch.value



est ce que vous pouvez m'aidez !!!!!!

4 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
308
Bonjour,

Tout d'abord, il faut savoir que traduire un algorithme est impossible mot à mot, chaque langage a sa philosophie et certaines spécificités.

Je vais néanmoins te donner quelques pistes pour ta traduction :

Le if else en java s'écrit :
if(condition){
//Instructions si condition est vraie
}
else {
//Instructions si condition est fausse
}


Tu dois distinguer l'opérateur qui permet d'affecter une valeur à une variable et qui permet de tester l'égalité de deux références mémoire. Par exemple a==b renvoi vrai si a et b sont en réalité les deux mêmes objets (même référence mémoire). Tu peux également utiliser la méthode equals sur les objets qui compare les valeurs des paramètres.

La boucle for s'écrit de deux manières :

for(int i=0; i<10; i++=){
//Instructions
}


ou

for(Object o : liste){
//Instructions
]
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
308
Bon, je pense que là, tu as tout ce dont tu as besoin pour démarrer.
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012

merci donc pour ce programme la par exemple cette partie d'alago

if relation =undetermined then relation =exact

la traduction c'est :
if{relation =undetermined
}
else {relation =exact
}

mais comment je peux traduire else if et comment déclarer les variables
merci d'avance
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
308
Non, ce n'est pas ca :


La traduction mot à mot est la suivante :
if{relation==undetermined){
    relation=exact
}


Le traduction dans une philosophie java est :
if{relation.equals(null)){
    relation="exact";

}


Je pense que undetermined correspond en réalité à null.

Pour déclarer les variables :
int i=0; // Un entier
String s = "chaine"; // Une chaine de caractères
Object o = new Object(); // Un objet quelconque 


Les noms commençant par une minuscule sont des types primitifs, les autres sont des classes.