Connaissances Informatiques >> systèmes >> Unix >> Content
  Derniers articles
  • Comment faire pour installer l' Empl…
  • Quelle est la différence entre Unix…
  • Quelle est la syntaxe de la commande…
  • Comment décompresser un fichier Z d…
  • Pourquoi l’interface graphique n’est…
  • Qu'est-ce que l'exportation Shell 
  • Quelles sont les trois dernières ve…
  • Expliquer l'architecture en couches …
  • Quelles sont les fonctions du systè…
  • Comment faire pour interroger XL cla…
  •   Unix
  • Compétences informatiques de base

  • Linux

  • Mac OS

  • Ubuntu

  • Unix

  • fenêtres

  • windows Vista

  • windows XP

  • Windows 7

  • Windows 10

  • Windows 11

  • Windows 2012

  • Windows 2016

  • Windows 2019

  • Windows 2022

  • Apple

  • Android

  • iOS

  • CentOS
  •  
    Unix

    Comment écrire un programme complet pour trouver des facteurs d’un nombre donné dans la programmation shell UNIX ?

    Il existe plusieurs approches pour rechercher des facteurs dans un script shell UNIX. En voici deux, l'un utilisant `seq` et `bc` (plus portable) et un autre exploitant les capacités arithmétiques de bash (légèrement plus rapide mais moins portable) :

    Méthode 1 :Utiliser `seq`, `bc` et `grep` (Plus portable)

    Cette méthode est hautement portable car elle s'appuie sur les utilitaires UNIX standard.

    ```bash

    #!/bin/bash

    Obtenir les commentaires de l'utilisateur

    read -p "Entrez un nombre : " num

    Gestion des erreurs pour les entrées non positives

    si (( num <=0 )); alors

    echo "Veuillez entrer un entier positif."

    sortie 1

    fi

    Générer des nombres de 1 à num

    séquence 1 $num | en lisant je; faire

    # Utilisez bc pour effectuer une opération modulo. Cela gère de grands nombres.

    if (( $(echo "$num % $i" | bc) ==0 )); alors

    écho "$i"

    fi

    fait

    ```

    Ce script demande d'abord à l'utilisateur un numéro. Il utilise ensuite « seq » pour générer une séquence de nombres de 1 au nombre saisi. La boucle « while » parcourt chaque nombre et « bc » calcule le modulo. Si le modulo est 0, le nombre est un facteur et est imprimé.

    Méthode 2 :utilisation de l'arithmétique Bash (moins portable, légèrement plus rapide)

    Cette méthode exploite les capacités arithmétiques intégrées de bash, la rendant légèrement plus rapide pour les petits nombres, mais elle n'est peut-être pas aussi portable que la méthode `bc`.

    ```bash

    #!/bin/bash

    Obtenir les commentaires de l'utilisateur

    read -p "Entrez un nombre : " num

    Gestion des erreurs pour les entrées non positives

    si (( num <=0 )); alors

    echo "Veuillez entrer un entier positif."

    sortie 1

    fi

    Parcourir les nombres de 1 à num

    pour (( i=1; i<=num; i++ )); faire

    # Vérifiez si i est un facteur en utilisant l'opérateur modulo

    si (( num % i ==0 )); alors

    écho "$i"

    fi

    fait

    ```

    Ce script est similaire au premier, mais utilise l'expansion arithmétique intégrée de bash `((...))` pour l'opération modulo, évitant ainsi l'appel externe à `bc`.

    Comment exécuter :

    1. Enregistrez l'un ou l'autre script dans un fichier (par exemple, `find_factors.sh`).

    2. Rendre le script exécutable :`chmod +x find_factors.sh`

    3. Exécutez le script :`./find_factors.sh`

    Exemple de sortie (pour l'entrée 12) :

    ```

    1

    2

    3

    4

    6

    12

    ```

    N'oubliez pas de choisir la méthode qui correspond le mieux à vos besoins et aux systèmes sur lesquels vous l'exécuterez. La première méthode (utilisant `bc`) est généralement recommandée pour sa compatibilité plus large. La seconde est plus rapide pour les petits nombres sur les systèmes où l'arithmétique de bash est optimisée.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Qu’est-ce que les inodes sous Unix expliquent ? 
  • Expliquez brièvement l'importance du système de fichiers UNIX? 
  • Combien de lignes de code y a-t-il dans le système d’exploitation Linux ? 
  • Qu'est-ce qu'une commande -p ? 
  • Qu'est-ce que la commande ls -F ? 
  • Qu'est-ce qu'un pipeline. comment cela a-t-il été réalisé en 8086. Discuter brièvement ? 
  • Comment vérifier un fichier pour les fautes d’orthographe sous Unix ? 
  • Comment faire pour interroger XL classeur Unix 
  • Quelles sont les différentes versions disponibles d'Unix? 
  • Tutoriel pour Unix 
  • Connaissances Informatiques © http://www.ordinateur.cc