Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
aide pour un algorithme et question sur quelle que commande
Auteur Message
Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
sur se sujet mon problème c'est que le fichier me donne pas tout le temps le même résultat ( ex  je prends 0 et sa me donnera une fois -8 ( le vrais résultat ) et 0 ( le faux !!!!)

code source : 

Code:
@echo off
:start

set /p choix= tape 1
if %choix%== goto encrypt

:encrypt
cls

set /p a= choix un ciffre
set /p b= choix un ciffre
set /p c= choix un ciffre
set /p d= choix un ciffre
set /p e= choix un ciffre
set /p f= choix un ciffre
set /p g= choix un ciffre
set /p h= choix un ciffre
set /p i= choix un ciffre
set /p j= choix un ciffre
set /p k= choix un ciffre
set /p l= choix un ciffre
set /p m= choix un ciffre
set /p n= choix un ciffre
set /p o= choix un ciffre
set /p p= choix un ciffre
set /p q= choix un ciffre
set /p r= choix un ciffre
set /p s= choix un ciffre
set /p t= choix un ciffre
set /p u= choix un ciffre
set /p v= choix un ciffre
set /p w= choix un ciffre
set /p x= choix un ciffre
set /p y= choix un ciffre
set /p z= choix un ciffre


set /a variablea0= %a%*%a%*5+3*%a%-8
set /a variablea1= %variablea%/217
set /a variablea2= %variablea1%*217
set /a variablea3= %variablea0% - %variablea2%

set /a variablea1= %b%*%b%*5+3*%b%-8
set /a variablea11= %variablea1%/ 217
set /a variablea21= %variablea11%*217
set /a variablea31= %variablea1%-%variablea21%

set /a variablea2= %c%*%c%*5+3*%c%-8
set /a variablea12= %variablea2%/217
set /a variablea22= %variablea12%*217
set /a variablea32= %variablea2%-%variablea22%

set /a variablea3= %d%*%d%*5+3*%d%-8
set /a variablea13= %variablea3%/217
set /a variablea23= %variablea13%*217
set /a variablea33= %variablea3%-%variablea23%

set /a variablea4= %e%*%e%*5+3*%e%-8
set /a variablea14= %variablea4%/217
set /a variablea24= %variablea14% * 217
set /a variablea34= %variablea4%-%variablea24%

set /a variablea05= %f%*%f%*5+3*%f%-8
set /a variablea15= %variablea5%/217
set /a variablea025= %variablea15% * 217
set /a variablea35= %variablea05% - %variablea025%

set /a variablea06= %g%*%g%*5+3*%g%-8
set /a variablea16= %variablea6%/217
set /a variablea026= %variablea16% * 217
set /a variablea36= %variablea06% - %variablea026%

set /a variablea7= %h%*%h%*5+3*%h%-8
set /a variablea17= %variablea7%/217
set /a variablea027= %variablea17% * 217
set /a variablea37= %variablea7% - %variablea027%

set /a variablea08= %i%*%i%*5+3*%i%-8
set /a variablea18= %variablea8%/217
set /a variablea028= %variablea18% * 217
set /a variablea38= %variablea08% - %variablea028%

set /a variablea9= %j%*%j%*5+3*%j%-8
set /a variablea19= %variablea9%/217
set /a variablea29= %variablea19% * 217
set /a variablea39= %variablea9% - %variablea29%

set /a variablea10= %k%*%k%*5+3*%k%-8
set /a variablea20= %variablea10%/217
set /a variablea30= %variablea20% * 217
set /a variablea40= %variablea10% - %variablea30%


set /a variablea11= %l%*%l%*5+3*%l%-8
set /a variablea21= %variablea11%/217
set /a variablea31= %variablea31%*217
set /a variablea41= %variablea11%-%variablea31%

set /a variablea12= %m%*%m%*5+3*%m%-8
set /a variablea22= %variablea12%/217
set /a variablea32= %variablea22%*217
set /a variablea42= %variablea12%-%variablea32%

set /a variablea13= %n%*%n%*5+3*%n%-8
set /a variablea23= %variablea13%/217
set /a variablea33= %variablea23%*217
set /a variablea43= %variablea13%-%variablea33%

set /a variablea14= %o%*%o%*5+3*%o%-8
set /a variablea24= %variablea14%/217
set /a variablea34= %variablea24%*217
set /a variablea44= %variablea14%-%variablea34%

set /a variablea15= %p%*%p%*5+3*%p%-8
set /a variablea25= %variablea15%/217
set /a variablea35= %variablea25%*217
set /a variablea45= %variablea15%-%variablea35%

set /a variablea16= %q%*%q%*5+3*%q%-8
set /a variablea26= %variablea16%/217
set /a variablea36= %variablea26%*217
set /a variablea46= %variablea16%-%variablea36%

set /a variablea17= %r%*%r%*5+3*%r%-8
set /a variablea27= %variablea17%/217
set /a variablea37= %variablea27%*217
set /a variablea47= %variablea17%-%variablea37%

set /a variablea18= %s%*%s%*5+3*%s%-8
set /a variablea28= %variablea18%/217
set /a variablea38= %variablea28%*217
set /a variablea48= %variablea18%-%variablea38%

set /a variablea19= %t%*%t%*5+3*%t%-8
set /a variablea29= %variablea19%/217
set /a variablea39= %variablea29%*217
set /a variablea49= %variablea19%-%variablea39%

set /a variablea20= %u%*%u%*5+3*%u%-8
set /a variablea30= %variablea20%/217
set /a variablea40= %variablea30%*217
set /a variablea50= %variablea20%-%variablea40%

set /a variablea21= %v%*%v%*5+3*%v%-8
set /a variablea31= %variablea21%/217
set /a variablea41= %variablea31%*217
set /a variablea51= %variablea21%-%variablea41%


set /a variablea22= %w%*%w%*5+3*%w%-8
set /a variablea32= %variablea22%/217
set /a variablea42= %variablea32%*217
set /a variablea52= %variablea22%-%variablea42%

set /a variablea23= %x%*%x%*5+3*%x%-8
set /a variablea33= %variablea23%/217
set /a variablea43= %variablea33%*217
set /a variablea53= %variablea23%-%variablea43%

set /a variablea24= %y%*%y%*5+3*%y%-8
set /a variablea34= %variablea24%/217
set /a variablea44= %variablea34%*217
set /a variablea54= %variablea24%-%variablea44%

set /a variablea25= %z%*%z%*5+3*%z%-8
set /a variablea35= %variablea25%/217
set /a variablea45= %variablea35%*217
set /a variablea55= %variablea25%-%variablea45%



echo Le résultat est %variablea3%
echo Le résultat est %variablea31%
echo Le résultat est %variablea32%
echo Le résultat est %variablea33%
echo Le résultat est %variablea34%
echo Le résultat est %variablea35%
echo Le résultat est %variablea36%
echo Le résultat est %variablea37%
echo Le résultat est %variablea38%
echo Le résultat est %variablea39%
echo Le résultat est %variablea40%
echo Le résultat est %variablea41%
echo Le résultat est %variablea42%
echo Le résultat est %variablea43%
echo Le résultat est %variablea44%
echo Le résultat est %variablea45%
echo Le résultat est %variablea46%
echo Le résultat est %variablea47%
echo Le résultat est %variablea48%
echo Le résultat est %variablea49%
echo Le résultat est %variablea50%
echo Le résultat est %variablea51%
echo Le résultat est %variablea52%
echo Le résultat est %variablea53%
echo Le résultat est %variablea54%
echo Le résultat est %variablea55%


echo %variablea3% >>textecrypt.txt
echo %variablea31% >>textecrypt.txt
echo %variablea32% >>textecrypt.txt
echo %variablea33% >>textecrypt.txt
echo %variablea34% >>textecrypt.txt
echo %variablea35% >>textecrypt.txt
echo %variablea36% >>textecrypt.txt
echo %variablea37% >>textecrypt.txt
echo %variablea38% >>textecrypt.txt
echo %variablea39% >>textecrypt.txt
echo %variablea40% >>textecrypt.txt
echo %variablea41% >>textecrypt.txt
echo %variablea42% >>textecrypt.txt
echo %variablea43% >>textecrypt.txt
echo %variablea44% >>textecrypt.txt
echo %variablea45% >>textecrypt.txt
echo %variablea46% >>textecrypt.txt
echo %variablea47% >>textecrypt.txt
echo %variablea48% >>textecrypt.txt
echo %variablea49% >>textecrypt.txt
echo %variablea50% >>textecrypt.txt
echo %variablea51% >>textecrypt.txt
echo %variablea52% >>textecrypt.txt
echo %variablea53% >>textecrypt.txt
echo %variablea54% >>textecrypt.txt
echo %variablea55% >>textecrypt.txt
pause
goto :start


voici  le calcule pour plus vous éclairer : 5(x)²+3x-8







voici ma deuxième question es que c'est possible de faire en bat si , alors , ou , dans , pour

exemple

si x>26
alors x-26

(jusqu'à temps que x soit en dessous de 26)



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
Si x est dans une variable alors oui c possible avec if
sinon je ne vois pas trop comment faire a part peut etre extraire x de
l'expression pour le remettre dans une variable



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
la tu répond a ma deuxième question c'est sa ?
ALORS MERCI

Pourrais tu me mettre un exemple stp



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
Code:

@echo off
set /P X=entrer une valeur \\:
if %X% LSS 26 echo %X% est plus petit que 26
if %X%==26 echo %X% est egal a 26
if %X% GTR 26 echo %X% est plus grand que 26
pause





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
ok merci beacoups mais pourrais tu m expliquer quelque truc comme
mais la se me dit se qu'on c'est deja qu'il est plus petit voudrais je voudrais faire
que

entrez une valeur d'un nombre entre 0 et 25
lire z
entrez une clef entre 0 et 25
LIRE A

a+z=x
SI :
 x>26
ALOS:

x-26n ( n le nombre suffisant de fois pour que x soit en-dessous de 26)


@echo off
set /P X=entrer une valeur \\:
if %X% LSS 26 echo %X% est plus petit que 26
if %X%==26 echo %X% est egal a 26
if %X% GTR 26 echo %X% est plus grand que 26
pause

pk \\: a la fin
que signifie LSS et GTR
et les deux égal

voila merci encore une fois


et avez vous une soulution pour ma première question , pour quoi cela me donne pas le même résultat a chaque fois , je penses que puisse que le résultat des calcul sont souvent a virgule il doit pas arondir au même endroit a chaque fois mais bon
essayer de faire le calcul avec 217 a 210 chez vous a la main puis 2 ou 3 fois avec le bat



Dernière édition par nagmar le Dim 17 Avr 2011 - 14:25; édité 1 fois
Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
Bonjour

merci d'utiliser les balises codes à l'avenir.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
OK Pas de soucis
Ha j'ai re éditer le poste plus haut :


entrez une valeur d'un nombre entre 0 et 25
lire z
entrez une clef entre 0 et 25
LIRE A

a+z=x
SI :
 x>26
ALOS:

x-26n ( n le nombre suffisant de fois pour que x soit en-dessous de 26)



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
Code:

@echo off
set number=1
:debut
set /p z=Entrez un nombre entre 0 et 25 :\\
Call :test
:suite
set /p a=Entrez un nombre entre 0 et 25 :\\
call :test2
:suite2
set /a x=a+z
echo %x%
If %x% GTR 26 call :test3
echo x est egal a %x%, le calcul ne peut donc pas etre effectue. & Exit

:test3
Set /a resultat=x-(26*n)
If %resultat% LEQ 0 call :Fin
set /a n=n+1
goto :test3

:Fin
echo a=%a%, z=%z%, x=%x%, n=%n%

:test
If %z% GTR 25 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
If %z% LSS 0 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
goto :suite

:test2
If %a% GTR 25 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
If %a% LSS 0 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
goto :suite2


Voilà ce que je te propose.
Et voici la définition des opérateurs :


Code:
EQU - égal à
NEQ - différent de
LSS - inférieur à
LEQ - inférieur ou égal à
GTR - supérieur à
GEQ - supérieur ou égal à




Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
ok merci mais enfaite se qu'il faudrait c'est  :


entrez une valeur d'un nombre entre 0 et 25
lire z
entrez une clef entre 0 et 25
LIRE A

a+z=x
SI :
 x>25
ALOS:

x-26n ( n le nombre suffisant de fois pour que x soit en-dessous de 26)

exemple on prend :

z = 25
a = 25

z+a = 50

x=50

mais x est < a 50 alors 50 - 26
50-26= 24

x=24


si sa avait été 48
48-26 = 22

ainsi de suite



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
Attends, tu dis que x=50
et arpès tu dis que x < 50 je comprends pas tout là Neutral



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
x = z+a

donc x = 50

mais la condition c'est que x ne doit pas dépasser 26
donc
x<50
donc
x(50) -26 = 24

x=24



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
Et ça :
Code:
@echo off
set number=1
:debut
set /p z=Entrez un nombre entre 0 et 25 :\\
Call :test
:suite
set /p a=Entrez un nombre entre 0 et 25 :\\
call :test2
:suite2
set /a x=a+z
If %x% GTR 25 call :test3
echo x est egal a %x%, le calcul ne peut donc pas etre effectue. & pause>nul & Exit

:test3
Set /a resultat=x-26

:Fin
echo a=%a%, z=%z%, x=%x%, resultat=%resultat% &pause>nul &Exit

:test
If %z% GTR 25 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
If %z% LSS 0 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
goto :suite

:test2
If %a% GTR 25 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
If %a% LSS 0 echo Erreur entrez un nombre entre 0 et 25 & goto :debut
goto :suite2


Dis-moi si ça te convient.



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
parfait merci et dit moi pour ma première question en haut ta pas une petite idée ? 



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
J'ai pas testé mais peut-être que tu devrais rajouter des parenthèses quand il s'agit de mettre des multiplications
et des additions dans la même structure.
Il est possible que le batch s’embrouille entre l'odre de chaque opérateur.



Répondre en citant
Message aide pour un algorithme et question sur quelle que commande 
ok je note je vais essayer es que c'est un problème de virgule ? car tout l chiffre donne des chiffres a virgule 



Message aide pour un algorithme et question sur quelle que commande 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch