begin process at 2012 05 28 07:05:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

Algorithme pour if imbriqués et passage conditionnel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Algorithme pour if imbriqués et passage conditionnel

mercredi 27 juin 2007 à 12:10:04 | Algorithme pour if imbriqués et passage conditionnel

develdelphi


Bonjour,

Voici un algorithme que j'ai fait et dont le but est de, si et seulement si le microphone d'environnement n'est pas connécté (moyenne = 0 )au système pendant 60 sec et que nous sommes en mode automatique (P1_5 = 1), d'afficher sur l'écran "No ambiance micro" et egalement de faire une alerte sonore (Gong) les 5 premières minutes si le micro d'environnement n'est pas connécté. Après les 5 minutes passées on devra toujours affiché "No ambiance micro" mais il ne devrait plus avoir d'alerte sonore. Tel est le cycle.

Deplus si le microphone est reconnécté il faut pouvoir réinitialisé correctement les variables de façon à refaire correctement le cycle normale si le micro se deconnète à nouveau:


Voici mes variables:


data unsignedchar CPT_NoMic=0
 
bit NoMic_Bit=0; // variable pour dire que le microphone est reconnécté
int Al_no_mic=0; //270607 variable pour jouer gong si pas de micro env
 
Voici mon code:


 if((moyenne==0)&&(P1_5 == 1))// If AUTOMATIC MODE & ADC Average=0
{
CPT_NoMic++;
if( CPT_NoMic>61)  //2706 ajout car si pas alors on ne repasse pas dans "No ambiance microphone"
CPT_NoMic=0
   if( Al_no_mic>6)  //2706 ajout car si pas alors on ne repasse pas dans "No ambiance microphone"
Al_no_mic=0;
}
 
/* //2706 dis car intégrer en plus le gong pendant 5 reprises si pas mic env
 
if ((CPT_NoMic==60)&&(NoMic_Bit==0)) // If ADC Average=0 during 60 seconds
{
        #ifdef DEBUG_ME   //testali0304
printf("No ambiance microphone\n"); // No Ambiance microphone => Volume = maximum
        #endif            //testali0304
CPT_NoMic=0;
    NoMic_Bit=1;
}
*/

 
if((CPT_NoMic==60)&&(NoMic_Bit==0)&&(Al_no_mic<=5))// If ADC Average=0 during 60 seconds
{
 
printf("No ambiance microphone\n"); // No Ambiance microphone => Volume = maximum
 
CPT_NoMic=0;
//NoMic_Bit=1;
                         CF_operationsGONG();
Al_no_mic++;
if(Al_no_mic==5)
NoMic_Bit=1;
}

if((moyenne>0)&&(P1_5 == 1))// If ADC Average<>0 => Ambiance microphone (re-)connected
{
NoMic_Bit=0;
 
}
 
 Est ce que j'ai bien placé mes if là ou il fallait ? Il y a t il un algorithme plus efficace ?

Merci

 
mardi 2 octobre 2007 à 14:46:22 | Re : Algorithme pour if imbriqués et passage conditionnel

The_Guardian

Bonjour,

ta question n'est pas claire en fait pour moi. Enfin la manière d'expliquer le problème et du coup le programme qui en résulte est dur à lire. Je vais essayer de me clarifier solo:
_ tu as une fonction qui est executee toutes les secondes, disons il faut qu'au début tu mettes à jour la moyenne du bruit d'ambiance puis ensuite vient ton problème et ce que tu veux dire c'est :
SI mode_automatique ET moyenne=0 ALORS
SI on-est-dans-les-5-premieres-minutes ALORS
faire un GONG sonore
FSI
afficher l'alerte
FINSI
mettre a jour la moyenne
Quoi encore, pense aussi à mettre des noms de variables explicites plutot que P1_5, tu see ?
===

Une autruche ne se cuit pas aux petits lardons


Cette discussion est classée dans : bit, ambiance, cpt, microphone, nomic


Répondre à ce message

Sujets en rapport avec ce message

Encryption 128 bit [ par GEDEON ] Quelqu'un aurait-il des informations pour encrypter un fichier en c++ ???? et de préférence en 128 bits... toutes les informations sont les bienvenues Encryption 128 bit [ par GEDEON ] Quelqu'un aurait-il des informations pour encrypter un fichier en c++ ???? et de préférence en 128 bits... toutes les informations sont les bienvenues écriture dans un fichier txt [ par jimtruand ] bonjour,j'ai un fichier txt à traiter et à envoyer via ftp à un serveur. la partie ftp est ok.la partie fichier pt'problèmedans le fichier je dois mod Validation NAS [ par cats ] Bonjour, Je dois faire un petit programme qui valide l'exactitude d'un numéro d'assurance sociale (Québec). Seule la forme suivante doit-être accepté: Validation NAS [ par cats ] Bonjour, Je dois faire un petit programme qui valide l'exactitude d'un numéro d'assurance sociale (Québec). Seule la forme suivante doit-être accepté: Charger des PNG 8-bit et 24-bit ? [ par ProGamer ] Comment charger des PNG 8-bit et 24-bit en VC++ ? En fait, le but est de les mettre dans des textures Direct3D, mais je penses que c'est plutôt une qu Un petit prog pour réparer ?.... [ par Patman94 ] Bonjour à tous...Je débute en c++ et la question que je vais vous poser n'est pas encore de mon niveau (malgré mes recherches où je n'ai rien compris Est-ce la meilleure méthode ? [ par jeromedeparis13 ] Bonjour,J'utilise Visual C++ et Access 97 pour une application . J'ai besoin de me connecter à la BD (Access 97 qui compte une dizaine de tables) afin récupérer chaque bit d'une variable binaire [ par nixon666 ] BJJe me pause une question dans un programme de supervision utilisant le language C : pour ceux qui connaissent il s'agit du programme WinCC. Dans ce Acces a chaque bit d'un nombre binaire [ par djemmy ] Je dois obtenir, à partir de 4 nombres décimals(compris entre 0 et 15), les 4 nombre en binaire correspondants. De ces nombres binaires je dois en fab


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,028 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales