Se connecter / S'enregistrer
Votre question
Fermé

Algorithme aide

Tags :
  • Modulo
  • Programmation
Dernière réponse : dans Programmation
20 Avril 2011 09:42:13

Bonjour à tous ,
en ce moment je travaille sur un algoritme permettant la conversion seconde ou minute en heure-minute-seconde , qui pourais m'aidé jai un peu de mal à trouvé la structure de cette algorithme
merci d'avance

Autres pages sur : algorithme aide

20 Avril 2011 10:23:54

C'est des simples calcul de modulo et divisions
Tu prends ton nombre de secondes par exemple :
  1. int sec = 130; //donc 0h 2min 10sec
  2. int min = sec/60;
  3. int heure = min/60;
  4.  
  5. sec = sec % 60;
  6.  
  7. cout << heure << "h " << min << "min " << sec << "sec" << endl;
  8. //Affiche : 0h 2min 10sec
Score
0
21 Avril 2011 11:07:32

oui sa j'ai compris au cas par cas sa va , mais je n'arrive a mettre la conversion seconde ou minute en heure-minute-seconde tous sa à la fois c'est trop compliqué ^^
Score
0
Contenus similaires
21 Avril 2011 11:13:03

Je comprends pas ce qu'il y a de compliquer, si c'est des secondes tu fais comme j'ai mis, si c'est des minutes tu modifie un peu le truc et ca passe aussi.
Score
0
21 Avril 2011 19:12:55

se qui serait le plus simple c'est que je t'envoie mon algorithme par mail et que tu puisse y jeter un coup d'oeil.
Pourais-je avir ton adresse mail
Merci
Score
0
22 Avril 2011 00:30:34

Post le ici directement, comme ça plus de personnes pourront se mettre dessus pour aller plus vite. C'est quand même le principe du forum :) 
Score
0
27 Mai 2011 00:24:22

voici l'algo , le problème qui se pose cest que par exemple lorsque j'entre une valeur 3600 et jmet seconde comme unite au lieu de mettre 1h il me met 60 min et 60 seconde ( double erreur : deja il y a le faite qu'il ne devrait pas afficher 60 minute mais une heure et ensuite il y a le faite qu'il y a toujours des secondes qui se promennent le résultat est donc faut " il calcule mal" voila si vous pouviez m'aidez merci ;) 

convertir seconde ou minute en heure-minute-seconde.

1 VARIABLES
2 Seconde EST_DU_TYPE NOMBRE
3 minute EST_DU_TYPE NOMBRE
4 heure EST_DU_TYPE NOMBRE
5 Durée EST_DU_TYPE NOMBRE
6 UNITE EST_DU_TYPE CHAINE
7 DEBUT_ALGORITHME
8 AFFICHER "entrez votre valeur"
9 LIRE Durée
10 AFFICHER "entrez l'unité (seconde ou minute)"
11 LIRE UNITE
12 SI (UNITE=="seconde") ALORS
13 DEBUT_SI
14 Seconde PREND_LA_VALEUR Durée%60
15 minute PREND_LA_VALEUR floor(Durée/60)
16 Seconde PREND_LA_VALEUR minute+Seconde
17 AFFICHER "le resultat est "
18 AFFICHER minute
19 AFFICHER " min "
20 AFFICHER Seconde
21 AFFICHER " sec"
22 SI (Seconde >= 3600) ALORS
23 DEBUT_SI
24 Seconde PREND_LA_VALEUR heure+minute+Seconde
25 heure PREND_LA_VALEUR minute*60
26 AFFICHER "le resultat est "
27 AFFICHER heure
28 AFFICHER "h"
29 AFFICHER minute
30 AFFICHER "min"
31 AFFICHER Seconde
32 AFFICHER "sec"
33 FIN_SI
34 FIN_SI
35 SI (UNITE=="minute") ALORS
36 DEBUT_SI
37 minute PREND_LA_VALEUR Durée%60
38 heure PREND_LA_VALEUR floor(Durée/60)
39 minute PREND_LA_VALEUR heure+minute+Seconde
40 AFFICHER "le resultat est "
41 AFFICHER heure
42 AFFICHER "h"
43 AFFICHER minute
44 AFFICHER "min"
45 AFFICHER Seconde
46 AFFICHER "sec"
47 FIN_SI
48
49 FIN_ALGORITHME
Score
0
30 Mai 2011 21:49:34

personne pour m'aider ?????????
Score
0
a c 145 L Programmation
30 Mai 2011 22:49:30

Je t'aide: Il faut que quelle que soit l'unitée d'entrée, tu convertisses la durée en secondes. Appelons cette variable Timestamp.
  1. SI (UNITE=="secondes") ALORS
  2. DEBUT_SI
  3. Timestamp = Durée
  4. FIN_SI
  5. SI (UNITE=="minutes") ALORS
  6. DEBUT_SI
  7. Timestamp = Durée*60
  8. FIN_SI
  9. SI (UNITE=="heures") ALORS
  10. DEBUT_SI
  11. Timestamp = Durée*3600
  12. FIN_SI

De là tu peux facilement convertir en heures, minutes et secondes.
Score
0
31 Mai 2011 11:19:53

cela ne fonctionne toujours pas , je crois que l'erreur est autre part , pouriez-vous me donner votre email pour que jpuisse vous envoyer l'algorithme entier parque sous format texte sa ne mavance pas
voici mon adresse : ******@hotmail.fr
merci d'avance

Pas de coordonnées
Score
0
a c 145 L Programmation
31 Mai 2011 11:50:58

Non, je ne traite rien en privé, sinon ce n'est pas la peine d'être sur un forum.
Le système est pourtant très simple à faire, voici le code en PHP:
  1. <?php
  2. function duration2human($duration, $unit="s") {
  3. $heures = 0;
  4. $minutes = 0;
  5. $secondes = 0;
  6. switch($unit) {
  7. case "h": // heures
  8. $duration = 3600*$duration;
  9. break;
  10. case "m": // minutes
  11. $duration = 60*$duration;
  12. break;
  13. }
  14. if ($duration >= 3600) {
  15. $heures = floor($duration/3600);
  16. $duration = $duration % 3600;
  17. }
  18. if ($duration >= 60) {
  19. $minutes = floor($duration/60);
  20. $durations = $duration % 60;
  21. }
  22. $secondes = $duration;
  23. return sprintf("%02dh %02dm %02ds", $heures, $minutes, $secondes);
  24. }


Je pense que tu peux en tirer l'algo facilement.
Score
0
31 Mai 2011 17:05:13

d'accord pourait tu menvoyer ce systeme mais en entier et au format texte parcque le php est compliqué .
Merci encore

Score
0
a c 145 L Programmation
31 Mai 2011 17:22:19

C'est pourtant assez simple, il n'y a que des mots simples:
  1. VARIABLES
  2. seconde EST_DU_TYPE NOMBRE
  3. seconde PREND_VALEUR( 0 )
  4. minute EST_DU_TYPE NOMBRE
  5. minute PREND_VALEUR( 0 )
  6. heure EST_DU_TYPE NOMBRE
  7. heure PREND_VALEUR( 0 )
  8. Durée EST_DU_TYPE NOMBRE
  9. Unité EST_DU_TYPE CHAINE
  10. AFFICHER "entrez votre valeur"
  11. LIRE Durée
  12. AFFICHER "entrez l'unité (seconde, minute ouheure)"
  13. LIRE Unité
  14. DEBUT_ALGORITHME
  15. SI Unité VAUT "heure" ALORS
  16. Durée PREND_VALEUR( Durée * 3600 )
  17. FIN SI
  18. SI Unité VAUT "minute" ALORS
  19. Durée PREND_VALEUR( Durée * 60 )
  20. FIN SI
  21. heure PREND_VALEUR( floor(Durée / 3600) )
  22. Durée PREND_VALEUR( Durée MODULO 3600 )
  23. minute PREND_VALEUR( floor(Durée / 60) )
  24. seconde PREND_VALEUR( Durée MODULO 60 )
  25. AFFICHER "le resultat est "
  26. AFFICHER heure
  27. AFFICHER "h"
  28. AFFICHER minute
  29. AFFICHER "min"
  30. AFFICHER Seconde
  31. AFFICHER "sec"
  32. FIN_ALGORITHME

C'est pas bien compliqué non ?
Score
0
31 Mai 2011 21:07:42

jai reproduis ton algo et cela ne fonctionne pas ( il maffiche : ***L'algorithme contient une erreur : impossible de le lancer***
***Vérifiez la syntaxe des affectations et des conditions***)
ps :
(jutilise algobox et par exemple la commande modulo ny est pas )
et un autre probleme lalgorithme doit permettre de convertir les secondes ou les minutes en heure minute et seconde et non pas les heures et les minutes donc si tu pouvais une derniere fois me refaire au format texte avec tout sa pris en compte ce serais gentil .
Merci encore .
Score
0
a c 145 L Programmation
31 Mai 2011 21:39:04

Je ne connais pas algobox, je sais juste écrire des algos. Et tu dois pouvoir trouver comment faire un modulo (% ?) dans ce pseudo-langage.
Et tu as maintenant tous les éléments pour faire par toi même. donc pose des questions précises et tu auras des réponses précises.
Score
0
1 Juin 2011 07:25:03

D'accord sauf que moi je veut un algorithme permettant de convertir seconde et minutes et non pas heures et minutes donc si tu pouvais m'envoyer cette algo la sa serais gentil merci ;) 
Score
0
a c 145 L Programmation
1 Juin 2011 09:49:14

Mais c'est hyper simple ! Tu n'as qu'à modifier AFFICHER "entrez l'unité (seconde, minute ou heure)" pour que ça ne parle plus d'heures, et supprimer les lignes 15 à 17 (inclues).

Ou bien, tu n'as pas du tout compris l'algo ?
Score
0
1 Juin 2011 16:54:31

oui je sais mais les lignes 15 à 17 je les remplaces par quoi parcque dans ton algo je ne voit pas apparaitre de si pour les secondes
Score
0
a c 145 L Programmation
1 Juin 2011 21:06:11

Ok, donc tu n'as rien compris.
L'algo que j'ai donné par du principe que si l'unité n'est pas des minutes (ni des heures si on conserve les lignes 15 à 17), et bien on est en secondes.
Vu que l'algo converti en secondes si on est pas en secondes.
Score
0
1 Juin 2011 21:18:54

Ok mais la en suprimant les lignes 15à 17 jme retoruve avec un si que pour les minutes
et donc quand jentre une valeur lalgo affiche le meme resultat quelque soit lunité que jai donné (seconde ou minute) donc il manque quelquechose
ex jentre 3600 seconde il mafiche 1 h
jentre 3600 minute il mafiche aussi 1 h
Score
0
1 Juin 2011 21:27:26

stp envoie un algo bete et mechant au format texte toi la tu as redigé un algo en partant du principe que si cetais pas les minutes cetais les secondes etccc
si tu peux me passer un algo simple un peu comme celui que javais commencer avec les conditions pour les secondes et celles pour les minutes tous simplement.
merci j'espere qu'on va finir par y arriver ;)  lol
Score
0
a c 145 L Programmation
2 Juin 2011 10:53:57

Ok, alors je vais te le refaire et tu vas voir que ça ne change quasi rien.
  1. VARIABLES
  2. seconde EST_DU_TYPE NOMBRE
  3. seconde PREND_VALEUR( 0 )
  4. minute EST_DU_TYPE NOMBRE
  5. minute PREND_VALEUR( 0 )
  6. heure EST_DU_TYPE NOMBRE
  7. heure PREND_VALEUR( 0 )
  8. Durée EST_DU_TYPE NOMBRE
  9. Unité EST_DU_TYPE CHAINE
  10. AFFICHER "entrez votre valeur"
  11. LIRE Durée
  12. AFFICHER "entrez l'unité (seconde ou minute)"
  13. LIRE Unité
  14. DEBUT_ALGORITHME
  15. SI Unité VAUT "minute" ALORS
  16. Durée PREND_VALEUR( Durée * 60 )
  17. FIN SI
  18. SI Unité VAUT "seconde" ALORS
  19. Durée PREND_VALEUR( Durée )
  20. FIN SI
  21. heure PREND_VALEUR( floor(Durée / 3600) )
  22. Durée PREND_VALEUR( Durée MODULO 3600 )
  23. minute PREND_VALEUR( floor(Durée / 60) )
  24. seconde PREND_VALEUR( Durée MODULO 60 )
  25. AFFICHER "le resultat est "
  26. AFFICHER heure
  27. AFFICHER "h"
  28. AFFICHER minute
  29. AFFICHER "min"
  30. AFFICHER Seconde
  31. AFFICHER "sec"
  32. FIN_ALGORITHME

Et maintenant je clos, parce que tu ne fais pas le moindre effort.
Score
0
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS