Shell Programming
1.program for ARMSTRONG number
Armstrong
Number
echo enter the number
read n
temp=$n
sum=0
while [ $n - gt
0 ]
do
r=`expr $n % 10`
sum=`expr
$sum
+ \( $r \*
$r \* $r \)`
n=`expr $n / 10`
done
if [ $temp
-eq $sum ]
then
echo $temp is armstrong
else
echo $temp is not armstrong
fi
exit 0
Output
1:
[cse3b520@CSE
~]$ sh a.sh
enter
the number
153
153 is
armstrong
2.program for FACTORIAL
echo
enter a number
read n
sum=1
while [ $n -gt 1 ]
do
sum=`expr
$sum \* $n`
n=`expr $n - 1`
done
echo $sum
exit 0
Output
1:
[cse3b520@CSE
~]$ sh n.sh
enter a
number
6
720
3.Program for LARGEST NUMBER
if [ $1 -gt $2 ]
then
x=$1
elif [ $2 -gt $3
]
then
x=$2
else
x=$3
fi
echo largest number is $x
exit 0
Output
1:
[cse3b520@CSE
~]$ sh g.sh 12 34 45
largest
number is 45
4.Program for PERFECT NUMBER
echo
enter a number
read no
i=1
ans=0
while [ $i -le `expr
$no / 2` ]
do
if [ `expr
$no % $i` -eq 0 ]
then
ans=`expr
$ans + $i`
fi
i=`expr $i + 1`
done
if [ $no -eq $ans
]
then echo $no
is perfect
else
echo $no is not perfect
fi
Output
1:
[cse3b520@CSE ~]$ sh p.sh
enter a
number
34
34 is
not perfect
5. Program for REVERSE
echo
enter a num
read num
rev=0
while [
$num -gt 0 ]
do
k=`expr $num \%
10`
l=`expr $rev \* 10`
rev=`expr
$l + $k`
num=`expr
$num / 10`
done
echo
reverse number is $rev
exit 0
Output
1:
[cse3b520@CSE ~]$ sh r.sh
enter a
num
12345
reverse
number is 54321
6.
Program for EVEN OR ODD
echo enter a number
read n
i=1
while [ $i -le $n ]
do
echo
enter term
read x
if [ `expr
$x \% 2` -eq 0 ]
then
echo $x is even
else
echo $x is odd
fi
i=`expr $i + 1`
done
Output
1:
[cse3b520@CSE
~]$ sh eo.sh
enter a
number
4
enter
term
3
3 is odd
enter
term
2
2 is
even
enter
term
7
7 is odd
enter
term
8
8 is
even
7. Program for FIBONACCI
echo
enter the number of terms
read n
f1=0
f2=1
i=1
echo $f1
echo $f2
while [ $i -le $n ]
do
f3=`expr
$f1 + $f2`
f1=$f2
f2=$f3
i=`expr $i + 1`
echo $f3
done
exit 0
Output
1:
[cse3b520@CSE
~]$ sh fb.sh
enter
the number of terms
5
0
1
1
2
3
5
8
8. Program for PALINDROME
echo
enter a num
read num
rev=0
temp=$num
while [ $num -gt
0 ]
do
k=`expr $num \%
10`
l=`expr $rev \*
10`
rev=`expr
$l + $k`
num=`expr
$num / 10`
done
if [ $rev -eq
$temp ]
then
echo $temp is a palindrome
else
echo $temp is not a palindrome
fi
exit 0
Output
1:
[cse3b520@CSE
~]$ sh fbb.sh
enter a
num
234
234 is
not a palindrome
9. Program for prime or not prime
echo
enter the number
read n
count=0
i=1
while [ $i -le
$n ]
do
if [ `expr
$n % $i` -eq 0 ]
then
count=`expr
$count + 1`
fi
i=`expr $i + 1`
done
if [ $count
-eq 2 ]
then
echo $n is prime
else
echo $n is
not prime
fi
Output
1:
[cse3b520@CSE ~]$ sh p1.sh
enter
the number
3
3 is
prime
10. Program for SUM OF N NUMBERS
echo
enter the number
read n
i=1
sum=0
while [ $i -le $n ]
do
sum=`expr
$sum + $i`
i=`expr $i + 1`
done
echo sum
of numbers : $sum
exit 0
Output
1:
[cse3b520@CSE ~]$ sh sum.sh
enter
the number
20
sum of
numbers : 210
it is good to learn ,nice language scripting ,well defined programmable language n very easy to learn.thank u mahesh
ReplyDeletereally u done a nice job dhanu
DeleteGreat article! It's really a pleasure to visit your site. Thanks for the detailed explanation. Really useful. Keep sharing more. Regards.
ReplyDeleteUnix Training in Chennai
Unix Shell Scripting Training in Chennai
Oracle Training in Chennai
Oracle Training institute in chennai
Oracle DBA Training in Chennai
oracle Apps DBA Training in chennai
Unix Training in Velachery
Unix Training in Tambaram
shell program for displaying perfect number from 1 to 500
ReplyDeleteecho "perfect numbers"
i=1
u=1
sum=0
while [ $i -le 500 ]
do
while [ $u -le 500 ]
do
if [ $u -lt $i ]
then
a=$(( $i % $u ))
if [ $a -eq 0 ]
then
sum=`expr $sum + $u`
fi
fi
u=`expr $u + 1`
done
if [ $sum -eq $i ]
then
echo $i
fi
i=`expr $i + 1`
u=1
sum=0
done
exit
note: this may take some time to display the full result
thank you!!! it's working
Delete