Traduire un algorithme sous java.

Traduire un algorithme sous java. - Java - Programmation

Marsh Posté le 16-03-2013 à 15:42:53    

Bonjour,
J'ai un projet en sciences de l'ingénieur, en terminale s, ou l'on bosse sur un lave vitre automatique.  
Avec mes collègues, nous nous sommes répartis les taches et je m'occupe de la partie programmation.
 
J'ai donc pas mal travaillé en "brouillon" sur le logiciel algobox mais maintenant, je voudrais passer aux choses sérieux et traduire ce que j'ai fais sous Java pour faire une interface graphique et si possible simuler avec des objets numériques l’algorithme.
 
Donc j'aurais besoin d'un peu d'aide pour commencer svp.
Voici l'agorithme déja commencé :

Spoiler :

1     VARIABLES
2       Colonne_min_immeuble EST_DU_TYPE NOMBRE
3       Ligne_max_immeuble EST_DU_TYPE NOMBRE
4       Ligne_min_immeuble EST_DU_TYPE NOMBRE
5       Colonne_max_immeuble EST_DU_TYPE NOMBRE
6       Température EST_DU_TYPE NOMBRE
7       Hauteur_système EST_DU_TYPE NOMBRE
8       Largeur_système EST_DU_TYPE NOMBRE
9       Volume_réservoir_1 EST_DU_TYPE NOMBRE
10    DEBUT_ALGORITHME
11      Volume_réservoir_1 PREND_LA_VALEUR 0
12      LIRE Ligne_max_immeuble
13      LIRE Colonne_max_immeuble
14      Ligne_min_immeuble PREND_LA_VALEUR 0
15      Colonne_min_immeuble PREND_LA_VALEUR 0
16      TANT_QUE (Volume_réservoir_1<9) FAIRE
17        DEBUT_TANT_QUE
18        Volume_réservoir_1 PREND_LA_VALEUR Volume_réservoir_1+0.2
19        AFFICHER Volume_réservoir_1
20        FIN_TANT_QUE
21      AFFICHER "Acquisition de la température ambiante de l'eau :"
22      LIRE Température
23      TANT_QUE (Température<125) FAIRE
24        DEBUT_TANT_QUE
25        Température PREND_LA_VALEUR Température+1
26        AFFICHER Température
27        FIN_TANT_QUE
28      TANT_QUE (Ligne_min_immeuble<Ligne_max_immeuble ET Colonne_min_immeuble<Colonne_max_immeuble) FAIRE
29        DEBUT_TANT_QUE
30        TANT_QUE (Ligne_min_immeuble<Ligne_max_immeuble) FAIRE
31          DEBUT_TANT_QUE
32          Ligne_min_immeuble PREND_LA_VALEUR Ligne_min_immeuble+1
33          AFFICHER "("
34          AFFICHER Colonne_min_immeuble
35          AFFICHER ";"
36          AFFICHER Ligne_min_immeuble
37          AFFICHER " )"
38          TRACER_POINT (Colonne_min_immeuble,Ligne_min_immeuble)
39          Volume_réservoir_1 PREND_LA_VALEUR Volume_réservoir_1-0.5
40          SI (Volume_réservoir_1==0) ALORS
41            DEBUT_SI
42            TANT_QUE (Volume_réservoir_1<9) FAIRE
43              DEBUT_TANT_QUE
44              Volume_réservoir_1 PREND_LA_VALEUR Volume_réservoir_1+0.2
45              AFFICHER Volume_réservoir_1
46              FIN_TANT_QUE
47            Température PREND_LA_VALEUR 22
48            TANT_QUE (Température<125) FAIRE
49              DEBUT_TANT_QUE
50              Température PREND_LA_VALEUR Température+1
51              AFFICHER Température
52              FIN_TANT_QUE
53            FIN_SI
54          FIN_TANT_QUE
55        Colonne_min_immeuble PREND_LA_VALEUR Colonne_min_immeuble+1
56        AFFICHER "("
57        AFFICHER Colonne_min_immeuble
58        AFFICHER ";"
59        AFFICHER Ligne_min_immeuble
60        AFFICHER " )"
61        TRACER_POINT (Colonne_min_immeuble,Ligne_min_immeuble)
62        SI (Volume_réservoir_1==0) ALORS
63          DEBUT_SI
64          TANT_QUE (Volume_réservoir_1<9) FAIRE
65            DEBUT_TANT_QUE
66            Volume_réservoir_1 PREND_LA_VALEUR Volume_réservoir_1+0.2
67            AFFICHER Volume_réservoir_1
68            FIN_TANT_QUE
69          Température PREND_LA_VALEUR 22
70          TANT_QUE (Température<125) FAIRE
71            DEBUT_TANT_QUE
72            Température PREND_LA_VALEUR Température+1
73            AFFICHER Température
74            FIN_TANT_QUE
75          FIN_SI
76        TANT_QUE (Ligne_min_immeuble>1) FAIRE
77          DEBUT_TANT_QUE
78          Ligne_min_immeuble PREND_LA_VALEUR Ligne_min_immeuble-1
79          AFFICHER "("
80          AFFICHER Colonne_min_immeuble
81          AFFICHER ";"
82          AFFICHER Ligne_min_immeuble
83          AFFICHER " )"
84          TRACER_POINT (Colonne_min_immeuble,Ligne_min_immeuble)
85          Volume_réservoir_1 PREND_LA_VALEUR Volume_réservoir_1-0.5
86          SI (Volume_réservoir_1==0) ALORS
87            DEBUT_SI
88            TANT_QUE (Volume_réservoir_1<9) FAIRE
89              DEBUT_TANT_QUE
90              Volume_réservoir_1 PREND_LA_VALEUR Volume_réservoir_1+0.2
91              AFFICHER Volume_réservoir_1
92              FIN_TANT_QUE
93            Température PREND_LA_VALEUR 22
94            TANT_QUE (Température<125) FAIRE
95              DEBUT_TANT_QUE
96              Température PREND_LA_VALEUR Température+1
97              AFFICHER Température
98              FIN_TANT_QUE
99            FIN_SI
100         FIN_TANT_QUE
101       Colonne_min_immeuble PREND_LA_VALEUR Colonne_min_immeuble+1
102       TRACER_POINT (Colonne_min_immeuble,Ligne_min_immeuble)
103       SI (Volume_réservoir_1==0) ALORS
104         DEBUT_SI
105         TANT_QUE (Volume_réservoir_1<9) FAIRE
106           DEBUT_TANT_QUE
107           Volume_réservoir_1 PREND_LA_VALEUR Volume_réservoir_1+0.2
108           AFFICHER Volume_réservoir_1
109           FIN_TANT_QUE
110         Température PREND_LA_VALEUR 22
111         TANT_QUE (Température<125) FAIRE
112           DEBUT_TANT_QUE
113           Température PREND_LA_VALEUR Température+1
114           AFFICHER Température
115           FIN_TANT_QUE
116         FIN_SI
117       FIN_TANT_QUE
118   FIN_ALGORITHME


Merci d'avance =)

Reply

Marsh Posté le 16-03-2013 à 15:42:53   

Reply

Marsh Posté le 17-03-2013 à 12:13:38    

Le plus gros du travail est fait :-)
 
Reste pour toi à apprendre les structures de base : if/else, for, while, println...
 
Idéalement, il est conseillée de séparer la partie graphique du reste, au risque de te retrouver face à un gros spaghetti.
 
Dans un premier temps, une interface textuelle est plus simple à maitriser.


---------------
http://devicenotready.com/ - Informatique et autres bizarreries
Reply

Marsh Posté le 20-03-2013 à 14:57:44    

Bon voila, j'ai déjà bien commencer ke début et voici ce que cela donne :

Code :
  1. public class trying {
  2. /**
  3.  * @param args
  4.  */
  5. public static void main(String[] args) {
  6.  Scanner sc = new Scanner(System.in);
  7.  float ligne_min_immeuble = 0, colonne_min_immeuble = 0; //initialisation des variables
  8.  double volume_réservoir_1 = 0, volume_réservoir_2 = 0;
  9.  System.out.println("Entrer le nombre de colonnes de l'immeuble : " );
  10.  float colonne_max_immeuble = sc.nextFloat();
  11.  System.out.println("Entrer le nombre de lignes de l'immeuble : " );
  12.  float ligne_max_immeuble = sc.nextFloat();
  13.  System.out.println("Entrer la valeur de la température : " );
  14.  float température = sc.nextFloat();
  15.  while (volume_réservoir_1 < 9) //remplissage du 1er réservoir
  16.  {
  17.   volume_réservoir_1 = volume_réservoir_1 + 0.2;
  18.   System.out.println(+volume_réservoir_1);
  19.   try { //pour faire un temps d'attente pour ralentir le procédé
  20.    Thread.sleep(50); //définir le temps d'attente 1000=1s
  21.   } catch (InterruptedException e) {
  22.    e.printStackTrace();
  23.   }
  24.  }
  25.  while (volume_réservoir_2 < 9) //remplissage du 2eme réservoir
  26.  {
  27.   volume_réservoir_2 = volume_réservoir_2 + 0.2;
  28.   System.out.println(+volume_réservoir_2);
  29.   try { //pour faire un temps d'attente pour ralentir le procédé
  30.    Thread.sleep(50); //définir le temps d'attente 1000=1s
  31.   } catch (InterruptedException e) {
  32.    e.printStackTrace();
  33.   }
  34.  }
  35.  while (température < 125) //chauffage de l'eau dans les réservoirs
  36.  {
  37.   température = température + 1;
  38.  System.out.println(+température);
  39.  try { //pour faire un temps d'attente pour ralentir le procédé
  40.   Thread.sleep(50); //définir le temps d'attente 1000=1s
  41.  } catch (InterruptedException e) {
  42.   e.printStackTrace();
  43.  }
  44.  }
  45. }
  46. }

Reply

Marsh Posté le 23-03-2013 à 11:02:29    

Heu beh OK.
 
volume_réservoir_2 -> volumeReservoir2 selon les conventions.


---------------
http://devicenotready.com/ - Informatique et autres bizarreries
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed