IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Avis sur un script simpliste


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Par défaut Avis sur un script simpliste
    Bonjour a tous,

    Je suis débutant dans l'écriture de script shell et j'aurais besoin de quelques conseils.
    Je m'exerce au script avec des TP que je trouve sur le net et j'ai un TP qui me demande de créer un script qui affichera sur une seule ligne séparés par une virgule les 100 premiers nombres impairs sur la sortie standard.
    Alors voila mon script. Si quelqu'un a des remarques (je suis preneur) ou m'indiquer une autre façon de procéder çà serait vraiment super.

    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/bin/bash
     
    COMPT=0
    NBX=1
    while  [ "$COMPT" -lt 100 ]
     
    do
            COMPT=`expr $COMPT + 1`
            NBX=`expr $NBX + 2`
            echo  -n "$NBX"\,
    done

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Cmpt=0
    nb=0
    while (( Cmpt <= 100 ))
    do (( ++nb % 2 )) && { printf '%s,' "$nb"; ((Cmpt++)); }
    done
    echo
    est un dragster à côté , parce que
    - il n'utilise pas de commandes externes
    - il utlise des évaluations arithmétiques

    ps: évite de nommer tes variables tout en majuscules : c'est reservé aux variables d'environnement.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Par défaut
    un vrai dragster comme tu dis ...merci pour les conseils et le code que je vais étudier de près

  4. #4
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Ou encore calculer la suite directement.
    Les nombre impairs peuvent être considéré comme une suite arithmétique dont l'élement suivant s'obtient en incrémentant l'élément de 2.

    La valeur limite s'obtiens aussi très facilement par calcul en fonction du nombre d'elements que l'on souhaite.

    limit=2*k+1
    i(0) = 1
    i(k+1) = i(k) + 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    MaxIter=100
    Cmpt=1
    ((Limit=2*MaxIter+1))
    while (( Cmpt <= Limit ))
    do
        printf '%d,' $Cmpt
        ((Cmpt+=2))
    done
    echo

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 657
    Par défaut
    ah, oui !!!
    c'est plus proche de la suggestion de Rubbick, et plus rapide que la mienne.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    ah, oui !!!
    c'est plus proche de la suggestion de Rubbick, et plus rapide que la mienne.
    la différence en temps ne deviens significative que lorsque la limite est grande.
    pour 100 nombre impairs cela ne se ressent pas.

Discussions similaires

  1. [MySQL] vos avis sur un script qui fonctionne pas
    Par younek dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/12/2008, 16h47
  2. Besoin d'avis sur un script Tk (grosse appli inside)
    Par Arioch dans le forum Langage
    Réponses: 3
    Dernier message: 10/05/2007, 13h28
  3. [Blog] Votre avis sur ce script de Blog en PHP (GPL)
    Par peck dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/01/2007, 09h44
  4. [Sécurité] Vos avis sur mes scripts sécurisés
    Par nazoreen dans le forum Langage
    Réponses: 9
    Dernier message: 29/09/2006, 22h13
  5. Avis sur un script
    Par gorgonite dans le forum Shell et commandes GNU
    Réponses: 21
    Dernier message: 12/09/2006, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo