Mathematesch Aspekt vun Linux Shell Programméiere - Deel IV


An dësem Post wäert ech d'Skripten aus der Mathematik an der Zuel Siicht diskutéieren. Och wann ech e méi komplexe Skript (Einfach Rechner) am virege Post gepost hunn, awer op engem Benotzerdeel war et schwéier ze verstoen an dofir hunn ech geduecht datt Dir d'Leit déi aner nëtzlech Säit vum Léieren a klenge Pakete léieren.

Virun dësem Artikel ginn dräi Artikele vun der Shell Scripting Serie publizéiert a si sinn:

  1. Linux Shell a Basic Shell Scripting verstoen - Deel I
  2. 5 Shell Scripte fir Shell Programméierung ze léieren - Deel II
  3. Segelen duerch d'Welt vu Linux BASH Scripting - Deel III

Loosst eis de weidere Léierprozess ufänken mat e puer neie spannende Scripten, fänkt mat Mathematik Scripten un:

Skript 1: Ergänzunge

Erstellt eng Datei Addition.sh an chmod 755 zum Skript wéi am virege Post beschriwwen a lafen se.

#!/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

Skript 2: Substraktioun

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
x=$(($a - $b)) 
echo $a - $b = $x

Bemierkung: Hei hu mir den expr ersat a loosse déi mathematesch Berechnung a Shell gemaach ginn.

 vi Substraction.sh
 chmod 755 Substraction.sh
 ./Substraction.sh

“Enter the First Number: ” 
13 
“Enter the Second Number: ” 
20 
13 - 20 = -7

Skript 3: Multiplikatioun

Bis elo géift Dir vill genéissen, Scripten op sou eng einfach Manéier ze léieren, sou datt déi nächst an chronologescher Uerdnung Multiplikatioun ass.

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
echo "$a * $b = $(expr $a \* $b)"

Notiz: Jo! Hei hu mir de Wäert vun der Multiplikatioun net an enger Variabel gesat, awer et direkt an der Ausso ausgefouert.

 vi Multiplication.sh
 chmod 755 Multiplication.sh
 ./Multiplication.sh

“Enter the First Number: ” 
11 
“Enter the Second Number: ” 
11 
11 * 11 = 121

Schrëft 4: Divisioun

Riets! Nächst ass Divisioun, an erëm ass et e ganz einfache Skript. Check et selwer.

#!/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

Schrëft 5: Dësch

Gutt! Wat no dësen Basis mathematesch Operatioun. Loosst eis e Skript schreiwen deen Dësch vun all Zuel dréckt.

#!/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

Skript 6: EvenOdd

Mir als Kand hunn ëmmer Berechnung gemaach fir erauszefannen ob d'Zuel komesch oder souguer ass. Wäert et net eng gutt Iddi sinn et am Skript ëmzesetzen.

#!/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

Skript 7: Faktor

Als nächst ass d'Factorial ze fannen.

#!/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

Dir kënnt elo relax mat engem Gefill datt d'Berechnung vun 12*11*10*9*7*7*6*5*4*3*2*1 méi schwéier wier wéi en einfache Skript wéi uewen produzéiert. Denkt un d'Situatioun wou Dir braucht 99 ze fannen! oder sou eppes. Sécher! Dëst Skript wäert an dëser Situatioun ganz praktesch sinn.

Skript 8: Armstrong

Armstrong Zuel! Ohhh Dir vergiess wat eng Armstrong Nummer ass. Gutt, eng Armstrong Zuel vun dräi Zifferen ass eng ganz Zuel sou datt d'Zomm vun de Wierfel vu sengen Zifferen d'selwecht ass wéi d'Zuel selwer. Zum Beispill ass 371 eng Armstrong Zuel zënter 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

Skript 9: Prime

Dat lescht Skript ass fir z'ënnerscheeden ob eng Zuel Prime ass oder net.

#!/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”

Dat ass alles fir elo. An eisem ganz nächsten Artikel wäerte mir aner mathematesch Programmer an der Shell Scripting Programméierungssprooch ofdecken. Vergiesst net Är Meenung iwwer den Artikel an der Kommentar Sektioun ze ernimmen. Like an deelt eis an hëlleft eis ze verbreeden. Kommt Besicht linux-console.net fir Neiegkeeten an Artikelen betreffend FOSS. Bis dohinner Stay tuned.