Swisslinux.org

− The GNU/Linux crossroads in Switzerland −

 

Language

 

The Forum

You are not logged in.

#1 28 Apr 2009 16:58:57

lea
Affranchi(e)
 
Registered: 28 Apr 2009
Posts: 2

traduction d'un algorithme en script

Bonjour tout le monde, je viens d'écrire un algo que je veux traduire  en script puis l'insérer dans un crontab.
En fait dans l'algo j'ai découpé l'année en semaines en en trimestre.
J'arrive pas non plus à faire la jonction d'année(c-à-d si cette année se termine le script doit continuer à s'exécuter).
Si les explications ne sont pas claires j'ai fait un schéma où j'ai découper l'année en semaines avec les explications qui vont avec.
Si vous avez des idées sur ce problème qui me fatigue depuis 2 semaines je vous en serait reconnaissant. Merci

Fonction supprimer(){
Variables: longueur_def1:date  //le nombre de semaine dans l'année.
           longueur_def2:date // le nombre de trimestres dans l'année
                              
           une_semaine:date
           points_trimestriels=[1,13,26,39,53]:entier
           points_mensuels=[1,4,9,13,17,22,26,30,35,39,43,48,53]:entier
           date_actuelle:date
           cpt1:entier //compteur de semaine
           nbr_semaine=52:entier //le nombre de semaines dans l'année est égale à 52
           i:entier // variable de boucle pour le nombre de semaines
           j:entier// variable de boucle pour le nombre de mois
          
          
Début

/*****************Cas où longueur_def=4 semaines***********************/
# En programmation on définira date_actuelle sous la formme (AAAA/SS)

pour i dans[1..20]
    pour j dans[1..5]
    Si(i==1)
    Alors
    longueur_def1=4 || 5
    longueur_def1=longueur_def1+i
    Si (j==1)
    longueur_def2=13
    longueur_def2=longueur_def2+j
   

    Si (date_actuelle - longueur_def1== points_mensuels || points_trimestriels)
    Alors ne pas suprimer
    Afficher ("Ne pas supprimer les points mensuels)
    Sinon
    Supprimer
    Afficher ("Supprimer car (date_actuelle - longueur_def) n'est pas un point semestriel)
    Fin si

    Si (date_actuelle - longueur_def2== points_trimestriels)
    Alors ne pas suprimer
    Afficher ("Ne pas supprimer les points trimestriels)
    Sinon
    Supprimer
    Afficher ("Supprimer car (date_actuelle - longueur_def) n'est pas un point trimestriel)
    Fin si
Fin pour



/********* A la fin de l'année on supprime les points mensuels*********/
   
    Si (nbr_semaine==53)
    Alors supprimer(les points_mensuels)
    Fin si
/******** Lorsqu'il nous reste reste que les sauvegardes trimestriels on les déplace**********/
Deplacer le repertoire contenant les sauvegardes trimestriels
# Si un fichier porte deja ce nom, on le renomme (juste au cas ou)

Offline

 

#2 28 Apr 2009 18:12:04

BOFH
Admin
From: Ecublens, VD
Registered: 03 Feb 2005
Posts: 862
Website

Re: traduction d'un algorithme en script

Hello,

  - Est-ce que c'est un exercice ou une application réelle ?
  - Est-ce que d'autres langages sont acceptables ? (python, perl ...)
  - Que signifie "supprimer un point" ? qu'est-ce qu'un point ?
 
  - De manière générale, ça va servir à quoi ? smile

Offline

 

#3 30 Apr 2009 09:45:08

lea
Affranchi(e)
 
Registered: 28 Apr 2009
Posts: 2

Re: traduction d'un algorithme en script

Je suis stagiaire, je travaille sur un système de sauvegarde automatique et à vie. Le script est utile car on doit sauvegarder des plateformes, une seule sauvegarde fait 10Go. Du coup impossible de les stocker toute la vie , d'où la nécessité d'effectuer des suppressions de sauvegardes. On supprime au fur et à mesure, a la fin de l'année on ne veut garder que les sauvegardes trimestriels ce qui nous fera 4 sauvegardes toutes les années.
En fait l'année a éte découpé en 52 semaines. Comme un mois correspond à 4 ou 5 semaines à partir de sa j'ai défini les points semestriels et les points trimestriels.
L'algo sert à supprimer des sauvegardes. Le script va calculer par rapport à la date_actuelle si la date trouvée est un point semestriel ou trimestriel si c'est le cas on ne supprime sinon on supprime.
Je ne sais pas si tu as compris mais si tu veux plus de détails dans les explications je t'en donnerai.

Offline

 

Board footer

Powered by FluxBB