Matematisk aspekt af Linux Shell-programmering - Del IV
I dette indlæg vil jeg diskutere manuskripterne fra matematisk og antal synspunkt. Selvom jeg har sendt et mere komplekst script (Simple Calculator) i det forrige indlæg, men på en brugerdel var det svært at forstå, og derfor tænkte jeg at få jer til at lære den anden nyttige side af læring i små pakker.
Forud for denne artikel offentliggøres tre artikler fra Shell Scripting Series, og de er:
- Forstå Linux Shell og Basic Shell Scripting - Del I
- 5 shell-scripts til læring af shell-programmering - del II
- Sejler gennem verden af Linux BASH Scripting - del III
Lad os starte den videre læringsproces med nogle nye spændende scripts, start med matematik-scripts:
Script 1: tilføjelser
Opret en fil "Addition.sh" og chmod 755 til scriptet som beskrevet i forrige indlæg, og kør det.
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b x=$(expr "$a" + "$b") echo $a + $b = $x
vi Additions.sh chmod 755 Additions.sh ./Additions.sh “Enter the First Number: ” 12 “Enter the Second Number: ” 13 12 + 13 = 25
Script 2: Substraktion
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b x=$(($a - $b)) echo $a - $b = $x
Bemærk: Her erstattede vi expr og lod den matematiske beregning udføres i skal.
vi Substraction.sh chmod 755 Substraction.sh ./Substraction.sh “Enter the First Number: ” 13 “Enter the Second Number: ” 20 13 - 20 = -7
Script 3: Multiplikation
Indtil videre vil du nyde meget, lære scripts på en så nem måde, så det næste i kronologisk rækkefølge er Multiplikation.
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b echo "$a * $b = $(expr $a \* $b)"
Bemærk: Yup! Her satte vi ikke multiplikationsværdien i en variabel, men udførte den direkte i output-erklæringen.
vi Multiplication.sh chmod 755 Multiplication.sh ./Multiplication.sh “Enter the First Number: ” 11 “Enter the Second Number: ” 11 11 * 11 = 121
Script 4: Division
Ret! Dernæst er Division, og igen er det et meget simpelt script. Tjek det selv.
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b echo "$a / $b = $(expr $a / $b)"
vi Division.sh chmod 755 Division.sh ./Division.sh “Enter the First Number: ” 12 “Enter the Second Number: ” 3 12 / 3 = 4
Script 5: Tabel
Bøde! Hvad efter disse grundlæggende matematiske operationer. Lad os skrive et script, der udskriver tabel med et hvilket som helst nummer.
#!/bin/bash echo “Enter The Number upto which you want to Print Table: ” read n i=1 while [ $i -ne 10 ] do i=$(expr $i + 1) table=$(expr $i \* $n) echo $table done
vi Table.sh chmod 755 Table.sh ./Table.sh “Enter The Number upto which you want to Print Table: ” 29 58 87 116 145 174 203 232 261 290
Script 6: EvenOdd
Vi har som barn altid foretaget beregninger for at finde ud af, om antallet er ulige eller lige. Vil det ikke være en god ide at implementere det i script.
#!/bin/bash echo "Enter The Number" read n num=$(expr $n % 2) if [ $num -eq 0 ] then echo "is a Even Number" else echo "is a Odd Number" fi
vi EvenOdd.sh chmod 755 EvenOdd.sh ./EvenOdd.sh Enter The Number 12 is a Even Number
./EvenOdd.sh Enter The Number 11 is a Odd Number
Script 7: Faktor
Dernæst er at finde det faktiske.
#!/bin/bash echo "Enter The Number" read a fact=1 while [ $a -ne 0 ] do fact=$(expr $fact \* $a) a=$(expr $a - 1) done echo $fact
vi Factorial.sh chmod 755 Factorial.sh ./Factorial.sh Enter The Number 12 479001600
Du kan nu slappe af med en følelse af at beregning af 12 * 11 * 10 * 9 * 7 * 7 * 6 * 5 * 4 * 3 * 2 * 1 ville være vanskeligere end et simpelt script som produceret ovenfor. Tænk på situationen, hvor du har brug for at finde 99! eller noget i den stil. Jo da! Dette script vil være meget praktisk i den situation.
Script 8: Armstrong
Armstrong nummer! Ohhh Du glemmer hvad et Armstrong-nummer er. Nå, et Armstrong-antal på tre cifre er et heltal, således at summen af terningerne i dets cifre er lig med selve antallet. For eksempel er 371 et Armstrong-tal siden 3 ** 3 + 7 ** 3 + 1 ** 3 = 371.
#!/bin/bash echo "Enter A Number" read n arm=0 temp=$n while [ $n -ne 0 ] do r=$(expr $n % 10) arm=$(expr $arm + $r \* $r \* $r) n=$(expr $n / 10) done echo $arm if [ $arm -eq $temp ] then echo "Armstrong" else echo "Not Armstrong" fi
vi Armstrong.sh chmod 755 Armstrong.sh ./Armstrong.sh Enter A Number 371 371 Armstrong
./Armstrong.sh Enter A Number 123 36 Not Armstrong
Script 9: Prime
Det sidste script er at skelne mellem, om et tal er prime eller ej.
#!/bin/bash echo “Enter Any Number” read n i=1 c=1 while [ $i -le $n ] do i=$(expr $i + 1) r=$(expr $n % $i) if [ $r -eq 0 ] then c=$(expr $c + 1) fi done if [ $c -eq 2 ] then echo “Prime” else echo “Not Prime” fi
vi Prime.sh chmod 755 Prime.sh ./Prime.sh “Enter Any Number” 12 “Not Prime”
Det er alt for nu. I vores meget næste artikel vil vi dække andre matematiske programmer i shell Scripting programmeringssprog. Glem ikke at nævne dine synspunkter vedrørende artiklen i kommentarfeltet. Synes godt om og del os og hjælp os med at sprede. Kom og besøg linux-console.net for nyheder og artikler vedrørende FOSS. Indtil da Bliv afstemt.