Explication programmation basic
Résolu
zoid54
-
ouhnia01 Messages postés 7 Statut Membre -
ouhnia01 Messages postés 7 Statut Membre -
bonjour j'ai un petit probleme de compréhention de quelques lignes de code. Pouvez vous m'expliquer (et / ou essayer de l'optimiser?):
Rem ********* tempo de 0 D 1000 cycle => la sortie = 1 ******
If i% <= 1000 Then
var_cycle@=1
i%=i%+1
EndIf
Rem ********* tempo de 1000 D 2000 cycle => la sortie = 0 ****
If i% > 1000 Then
var_cycle@=0
i%=i%+1
EndIf
Rem ************* rAinitialisation de la var du cycle **********
If i% >= 2000 Then
i%=0
EndIf
merci d'avance
Rem ********* tempo de 0 D 1000 cycle => la sortie = 1 ******
If i% <= 1000 Then
var_cycle@=1
i%=i%+1
EndIf
Rem ********* tempo de 1000 D 2000 cycle => la sortie = 0 ****
If i% > 1000 Then
var_cycle@=0
i%=i%+1
EndIf
Rem ************* rAinitialisation de la var du cycle **********
If i% >= 2000 Then
i%=0
EndIf
merci d'avance
A voir également:
- Explication programmation basic
- Microsoft 365 basic - Accueil - Microsoft Office
- Visual basic - Télécharger - Langages
- Application de programmation - Guide
- File renamer basic - Télécharger - Gestion de fichiers
- Visual basic editor - Télécharger - Langages
4 réponses
Alors je ne suis pas spécialiste du basic mais il me semblerait plus logique de faire des boucles for. Si j'ai bien compris la syntaxe, le premier bloc compte de 1 à 1000 et met 1 dans var_cycle. Le second bloc compte de 1001 à ... ah bah tiens en fait ça boucle à l'infini :) et met 0 dans var_cycle. Enfin le dernier bloc bascule le compteur à 0 si celui-ci depasse 2000.
J'imagine que le but c'est de renvoyer une sorte de signal rectangulaire à valeur dans 0-1 de periode 2000 et qui change d'état toutes les 1000 unités de temps.
Moi je pense que tu devrais plutôt faire une fonction qui te pourrais te donner pour chaque unité de temps la valeur du signal. En C, sachant que l'opérateur modulo s'écrit %, ca donnerait un truc du genre :
Voilà désolée de t'écrire ça en C mais c'est juste pour que ut vois l'dée car je ne connais pas la syntaxe basic.
Bonne chance
J'imagine que le but c'est de renvoyer une sorte de signal rectangulaire à valeur dans 0-1 de periode 2000 et qui change d'état toutes les 1000 unités de temps.
Moi je pense que tu devrais plutôt faire une fonction qui te pourrais te donner pour chaque unité de temps la valeur du signal. En C, sachant que l'opérateur modulo s'écrit %, ca donnerait un truc du genre :
int signal(int t){
int t0 = t % 2000;
if (t <1000) return 1;
else return 0;
}
int main(){
int t,tmax = 10000;
int valeur_cycle;
// je simule de t = 0 à t = tmax = 10000
for(t=0;t<tmax;++t){
valeur_cycle = signal(t);
//...
}
return 0; // fin du programme
}
Voilà désolée de t'écrire ça en C mais c'est juste pour que ut vois l'dée car je ne connais pas la syntaxe basic.
Bonne chance
zoid54
ok merci je vais essayer!! mais c pas évident!! lol