Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> sistemi >> Unix >> .

Scrivi un programma UNIX per Fibonacci?

`` `Bash

#!/bin/bash

funzione per calcolare l'ennesimo numero fibonacci

fibonacci () {

locale n =$ 1

locale a =0

locale b =1

locale i

per ((i =0; i temp locale =$ a

a =$ b

b =$ ((temp + b))

Fatto

Echo $ a

}

Ottieni il numero di termini dall'utente

Leggi -p "Immettere il numero di termini:" num_terms

Calcola e stampa la serie Fibonacci

per i in $ (seq 1 $ num_terms); Fare

echo -n "$ (fibonacci $ i)"

Fatto

eco

`` `

Spiegazione:

1. Shebang: `#!/bin/bash` specifica che lo script dovrebbe essere eseguito con l'interprete Bash.

2. `fibonacci ()` Funzione:

- prende `n` come input (il termine fibonacci desiderato).

- Inizializza rispettivamente `A` e` b` a 0 e 1, che sono i primi due termini della sequenza Fibonacci.

- Usa un ciclo per iterare da 0 a `n-1`.

- All'interno del ciclo, calcola il numero di fibonacci successivo da:

- Memorizza il valore di `A` in` temp`.

- Assegnare il valore di `b` a` a`.

- Calcolo del nuovo valore di `b` come` temp + b`.

- Dopo il ciclo, `A` detiene l'ennesimo numero Fibonacci.

3. Input:

- `leggi -p" Immettere il numero di termini:"NUM_TERMS` chiede all'utente di inserire il numero di termini nella sequenza Fibonacci.

4. Output:

- Il loop `per` itera da 1 al numero di termini specificati dall'utente.

- All'interno del loop, `Fibonacci $ i` chiama la funzione` fibonacci () `per calcolare il numero di fibonacci.

- `echo -n" $ (fibonacci $ i) "` stampa il numero di fibonacci calcolato seguito da uno spazio, ma senza un carattere di nuova linea.

- `Echo` stampa una nuova linea dopo che tutti i termini sono stati stampati.

Per eseguire questo programma:

1. Salva il codice come file `.sh` (ad esempio,` fibonacci.sh`).

2. Rendi eseguibile lo script:`chmod +x fibonacci.sh`

3. Esegui lo script:`./Fibonacci.sh`

Lo script ti chiederà di inserire il numero di termini, quindi visualizzerà la sequenza Fibonacci corrispondente.

 

sistemi © www.354353.com