[PROJET] création d'un script windows

création d'un script windows [PROJET] - Shell/Batch - Programmation

Marsh Posté le 23-10-2004 à 19:10:13    

Bonjour a tous
 
Je suis en premiere année de DUT info et on nous propoe de faire un script pour windows [:atog] linux c'est que pour le prochain semestre :(
 
Donc le but de ce script est d'ameliorer la commande SET /A
 
Donc il faut que l'on puisse faire des calculs d'entier *,/,-,+,%
sur 32bits 48 bits 64 bits 128 bits enfin 48 bits minimum
 
Donc deux objectif etendre le format des nombres et second objectif controler le resultat
 
Donc il faut trouver un systeme de controle des valeurs avant meme de faire le calcul sinon aucun interet le calcul sera toujours inferieur à 2^31-1 ou superieur à -2^31
 
Voila quelques exemples d'execution du script
>Z + -234 567          renvoie la valeur de la somme de -234 et 567
>Z - 78 1456897        effectu la soustraction 78-1456897
>Z * 11998 1456897     c'est la multiplication
>Z /A 123465468765     ca c'est la verification du format du nombre savoir si il est sur 32 48 64 ou 128 bits
 
Si l'on n'effectue aucune commande avant l'execution du script il doit effectuer le calcul sur 32bits
 
Par contre si la commande >SET INT48=1 est effectué avant lappel du script le script doit faire tous les calcul sur 48 bits
 
Voila un resumer de ce que doit faire le script biensur je ne vous demande pas de faire le script ni même de me donner des morceaux de code mais juste des indications concernant l'algorithme a utiliser ou des astuces pour alleger le script
 
Enfin tous ce qui peut m'aider a créer un très bon script en un minimum de temps :)
 
Le temps compte enormement seul les 5 premiers auront des points les autres rien :(
 
Donc je concidere avoir un peu plus d'une semaine pour la conception de ce script les tests et l'envoie du resultat final :)
 
Les points les plus important sur lesquel je but (faut dire aussi que ca fait 1h qu'on a le sujet :) ) c'est l'extension du format j'ai un pe de mal à voir comment augmenter ce format
 
Je vous remercie deja pour tous vos conseil et vos aide

Travail accompli :


Addition

 
si a>=0 et b>=0 et que (a-(2^31-1))+b<=0 alors c'est dans l'interval
si a<0 et b<0 et que (a+(2^31))+b>=0 alors c'est dans l'interval
si les signes sont opposée il faut verifier que a et b appartiennent a l'interval  
 
Soustraction
 
si a>=0 et b>=0 toujours bon si a et b dans l'interval
si a<0 et b<0 toujours vrai si a et b dans l'interval
si a<0 et b>=0 alors on se ramene a l'addition de a<0 et b<0
si a>=0 et b<0 alors on se ramene à l'addition de a>=0 et b>=0
 
Multiplication
 
si a et b de meme signe alors si a/(2^31-1)*b<=1 alors c'est dans l'interval
si a et b sont de signe contraire alors si a/(2^31)*b>=-1 alors c'est dans l'interval  
 
    seconde methode
 
    Une boucle qui additione a tant que b n'est pas nul ou qui s'arrete lorsque la somme est superieur a 2^31-1-a

Division

 
si a et b dans l'interval et b different de 0 alors le resultat se trouve dans l'interval
 
Modulo
 
si a et b sont dans l'interval alors le modulo est dans l'interval

Reply

Marsh Posté le 23-10-2004 à 19:10:13   

Reply

Marsh Posté le 24-10-2004 à 09:15:56    

Aidez moi pliz je veut juste que quelqu'un m'aide a trouver un algo pour gerer le 48 bits c le seul point qui me pose enormement de probleme j'arrive po a trouver de solution aidez moi pliz :)

Reply

Marsh Posté le 24-10-2004 à 23:54:06    

Personne peut m'aider a resoudre mon probleme c'est vraiment tre important j'ai pas besoin qu'on me donne le code mais juste une vgue idée me permettant de gerer des nombres sur 38 bits

Reply

Marsh Posté le 25-10-2004 à 16:15:24    

bah c-à-d que je sèche un peu moi sur ce coup-là lol...:-/

Reply

Marsh Posté le 02-11-2004 à 17:06:29    

c quoi le problème c'est que un int c'est torp petit c'est ça?  
 
Huum ca pu la bistromatique à plein nez ton histoire la! :)
 
Essai avec des chars, en partant par la fin de tes nombres
genre:
 
23456 * 6584 =
4*6
5*8
.. et ainsi de suite, avec un carry flag.
 
J'ai compris la question ou pas?

Reply

Marsh Posté le 02-11-2004 à 17:13:24    

Bah... Tu utilises ADA.
Pis tu fais des sous-types bornés du LONG permettant de gérer des 32, 48, 64 et 128 bits et voilà :whistle:


Message édité par Arjuna le 02-11-2004 à 17:13:33
Reply

Sujets relatifs:

Leave a Replay

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