Linux シェル プログラミングの数学的側面 - パート IV
この投稿では、 Sクリプトについて数学と数の観点から説明します。前回の投稿では、より複雑なスクリプト (単純な計算機) を投稿しましたが、ユーザー側では理解するのが難しかったため、学習のもう 1 つの有用な側面を皆さんに学んでもらうことにしました。小さなパケット。

この記事の前に、シェル スクリプト シリーズの 3 つの記事が公開されています。それらは次のとおりです。
- Linux シェルと基本的なシェル スクリプトについて理解する – パート I
- シェル プログラミングを学ぶための 5 つのシェル スクリプト – パート II
- Linux BASH スクリプトの世界を航海する – パート III
いくつかの新しいエキサイティングなスクリプトを使用してさらなる学習プロセスを開始しましょう。数学 スクリプトから始めます。
スクリプト 1: 追加
前回の投稿で説明したように、ファイル「Addition.sh」 とスクリプトにchmod 755を作成し、実行します。
#!/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
スクリプト 2: 減算
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b x=$(($a - $b)) echo $a - $b = $x
注: ここでは expr を置き換えて、数学的計算をシェルで実行できるようにしました。
サンプル出力
[ ~]# vi Substraction.sh [ ~]# chmod 755 Substraction.sh [ ~]# ./Substraction.sh “Enter the First Number: ” 13 “Enter the Second Number: ” 20 13 - 20 = -7
スクリプト 3: 乗算
ここまではとても簡単にスクリプトを学習してとても楽しかったので、時系列で次は掛け算です。
#!/bin/bash echo “Enter the First Number: ” read a echo “Enter the Second Number: ” read b echo "$a * $b = $(expr $a \* $b)"
注: はい!ここでは、乗算の値を変数に入れず、出力ステートメントで直接実行しました。
サンプル出力
[ ~]# vi Multiplication.sh [ ~]# chmod 755 Multiplication.sh [ ~]# ./Multiplication.sh “Enter the First Number: ” 11 “Enter the Second Number: ” 11 11 * 11 = 121
スクリプト 4: 分割
右!次はディビジョンですが、これも非常にシンプルなスクリプトです。自分で確認してください。
#!/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
スクリプト 5: テーブル
大丈夫!これらの基本的な数学的演算の後はどうなるでしょうか。任意の番号のテーブルを出力するスクリプトを書いてみましょう。
#!/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
スクリプト 6: 偶数奇数
私たちは子供の頃から、数字が奇数か偶数かを計算することを常に行ってきました。スクリプトで実装するのが良いのではないでしょうか。
#!/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
スクリプト 7: 階乗
次は階乗を求めることです。
#!/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
ここで、12*11*10*9*7*7*6*5*4*3*2*1 の計算は、上で作成した単純なスクリプトよりも難しいと感じてリラックスしていただいてもよいでしょう。 。 99! などを見つける必要がある状況を考えてください。もちろん!このスクリプトはそのような状況で非常に便利です。
スクリプト 8: アームストロング
なんとアームストロングナンバーです!ああ、 あなたはアームストロング数が何であるかを忘れています。 3 桁のアームストロング数は、その桁の 3 乗の合計がその数自体に等しい整数です。たとえば、371 は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
スクリプト 9: プライム
最後のスクリプトは、数値が素数かどうかを区別するものです。
#!/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”
それは今のところすべてです。次回の記事では、シェル スクリプト プログラミング言語の他の数学プログラムについて説明する予定です。記事に関するご意見をコメントセクションに記載することを忘れないでください。 「いいね!」とシェアして拡散にご協力ください。 ニュースやFOSSに関連する記事については、linux-console.netにアクセスしてください。それまでお楽しみに。