Algorithm
Step 1 : Start
Step 2 : Initialize 0 to pc, sum, i
Step 3 : Read a number
Step 4 : If number = 9999 then goto step 10
Step 5 : Increment i by 1
Step 6 : If number 0 then goto step 3
Step 7 : Increment pc by 1
Step 8 : Add number to sum
Step 9 : Goto step 3
Step 10 : Compute avg = sum / pc
Step 11 : Print i, pc, avg,
Step 12 : Stop
Program (datastat.sh)
# Aggregate of positive nos using break and continue
clear
pc=0
s=0
i=0
until false
do
echo -n "Enter a number (9999 to quit) : "
read n
if [ $n -eq 9999 ]
then
break
fi
i=`expr $i + 1`
if [ $n -le 0 ]
then
continue
fi
pc=`expr $pc + 1`
s=`expr $s + $n`
done
avg=`expr "scale=2; $s / $pc" | bc`
echo "Total No. of entries : $i"
echo "No. of positive datas : $pc"
echo "Positive aggregate : $avg"
Output
[vijai@localhost loops]$ sh datastat.sh
Enter a number (9999 to quit) : 32
Enter a number (9999 to quit) : 78
Enter a number (9999 to quit) : 0
Enter a number (9999 to quit) : 11
Enter a number (9999 to quit) : 47
Enter a number (9999 to quit) : -9
Enter a number (9999 to quit) : 12
Enter a number (9999 to quit) : 7
Enter a number (9999 to quit) : 9999
Total No. of entries : 8
No. of positive datas : 6
Positive aggregate : 31.16
Step 1 : Start
Step 2 : Initialize 0 to pc, sum, i
Step 3 : Read a number
Step 4 : If number = 9999 then goto step 10
Step 5 : Increment i by 1
Step 6 : If number 0 then goto step 3
Step 7 : Increment pc by 1
Step 8 : Add number to sum
Step 9 : Goto step 3
Step 10 : Compute avg = sum / pc
Step 11 : Print i, pc, avg,
Step 12 : Stop
Program (datastat.sh)
# Aggregate of positive nos using break and continue
clear
pc=0
s=0
i=0
until false
do
echo -n "Enter a number (9999 to quit) : "
read n
if [ $n -eq 9999 ]
then
break
fi
i=`expr $i + 1`
if [ $n -le 0 ]
then
continue
fi
pc=`expr $pc + 1`
s=`expr $s + $n`
done
avg=`expr "scale=2; $s / $pc" | bc`
echo "Total No. of entries : $i"
echo "No. of positive datas : $pc"
echo "Positive aggregate : $avg"
Output
[vijai@localhost loops]$ sh datastat.sh
Enter a number (9999 to quit) : 32
Enter a number (9999 to quit) : 78
Enter a number (9999 to quit) : 0
Enter a number (9999 to quit) : 11
Enter a number (9999 to quit) : 47
Enter a number (9999 to quit) : -9
Enter a number (9999 to quit) : 12
Enter a number (9999 to quit) : 7
Enter a number (9999 to quit) : 9999
Total No. of entries : 8
No. of positive datas : 6
Positive aggregate : 31.16
No comments:
Post a Comment