diff options
Diffstat (limited to 'Programming_in_C/Chapter_08.ipynb')
-rw-r--r-- | Programming_in_C/Chapter_08.ipynb | 1061 |
1 files changed, 1061 insertions, 0 deletions
diff --git a/Programming_in_C/Chapter_08.ipynb b/Programming_in_C/Chapter_08.ipynb new file mode 100644 index 00000000..a4113d97 --- /dev/null +++ b/Programming_in_C/Chapter_08.ipynb @@ -0,0 +1,1061 @@ +{ + "metadata": { + "name": "Chapter VIII" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Chapter 8: Working with functions" + ] + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.1, Page number: 120" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.1.py\n", + "#Writing a Function in python\n", + "\n", + "\n", + "def printMessage(): #Function to Print Message\n", + " print(\"Programming is Fun.\\n\") #Print Statement\n", + "\n", + "\n", + "def main(): #Main() function\n", + " printMessage()\n", + "\n", + "\n", + "if __name__ =='__main__': #Setting Top-level conditional script\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Programming is Fun.\n", + "\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.2, Page number: 121" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.2.py\n", + "#Calling Functions\n", + "\n", + "\n", + "def printMessage(): #Function to Print Message\n", + " print(\"Programming is Fun.\\n\") #Print Statement\n", + "\n", + "\n", + "def main(): #Main() function\n", + " printMessage() #First Function call\n", + " printMessage() #Second Function Call\n", + "\n", + "if __name__ =='__main__': #Setting Top-level conditional script\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Programming is Fun.\n", + "\n", + "Programming is Fun.\n", + "\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.3, Page number: 122" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.3.py\n", + "#More on Calling Functions\n", + "\n", + "\n", + "def printMessage(): #Function to Print Message\n", + " print(\"Programming is Fun.\\n\") #Print Statement\n", + "\n", + "\n", + "def main(): \n", + " for i in range (1,6): #Main() function\n", + " printMessage()\n", + "\n", + "\n", + "if __name__ =='__main__': #Setting Top-level script environment\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Programming is Fun.\n", + "\n", + "Programming is Fun.\n", + "\n", + "Programming is Fun.\n", + "\n", + "Programming is Fun.\n", + "\n", + "Programming is Fun.\n", + "\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.4, Page number: 123" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.4.py\n", + "#Calculating the nth Triangular Number\n", + "\n", + "\n", + "def calculateTriangularNumber(n): #Function to calculate triangular number\n", + " triangularNumber=0 #Variable Dclaration\n", + " \n", + " for i in range (1,n+1): #Calculation/Iteration\n", + " triangularNumber+=i\n", + " \n", + " print(\"Triangular Number {0} is {1}\".format(n,triangularNumber))\n", + "\n", + "\n", + "def main():\n", + " calculateTriangularNumber(10) #Function call-1\n", + " calculateTriangularNumber(20) #Function call-2\n", + " calculateTriangularNumber(50) #Function call-3\n", + " \n", + "\n", + "if __name__=='__main__': #Setting top level conditional script\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Triangular Number 10 is 55\n", + "Triangular Number 20 is 210\n", + "Triangular Number 50 is 1275\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.5, Page number: 125" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.5.py\n", + "#Revising the Program to Find the Greatest Common Divisor\n", + "\n", + "#Import Library \n", + "import sys \n", + "\n", + "def gcd(u,v): #Function to calculate gcd\n", + " sys.stdout.write(\"gcd of {0} and {1} is: \".format(u,v))\n", + " while(v!=0):\n", + " temp=u%v\n", + " u=v\n", + " v=temp\n", + " sys.stdout.write(\"{0}\\n\".format(u))\n", + "\n", + "\n", + "\n", + "def main(): #Main() function\n", + " gcd(150,35) \n", + " gcd(1026,405)\n", + " gcd(83,240)\n", + "\n", + "if __name__=='__main__': #Setting Top level conditional script \n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "gcd of 150 and 35 is: 5\n", + "gcd of 1026 and 405 is: 27\n", + "gcd of 83 and 240 is: 1\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.6, Page number: 127" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.6.py\n", + "#Finding the Greatest Common Divisor and Returning the Results\n", + "\n", + "#Import Library \n", + "import sys \n", + "\n", + "def gcd(u,v): #Function to calculate gcd\n", + "\n", + " while(v!=0):\n", + " temp=u%v\n", + " u=v\n", + " v=temp\n", + " return u\n", + "\n", + "def main(): #Main() function\n", + " result= gcd(150,35) \n", + " print(\"the gcd of 150 and 35 is: {0}\".format(result))\n", + " result=gcd(1026,405)\n", + " print(\"the gcd of 1026 and 405 is: {0}\".format(result)) \n", + " result= gcd(83,240)\n", + " print(\"the gcd of 83 and 240 is: {0}\".format(result))\n", + "\n", + "if __name__=='__main__': #Top level conditional script \n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "the gcd of 150 and 35 is: 5\n", + "the gcd of 1026 and 405 is: 27\n", + "the gcd of 83 and 240 is: 1\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.7, Page number: 129" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.7.py\n", + "#Calculating the Absolute Value\n", + "\n", + "#yourstory.in\n", + "\n", + "#Calculations\n", + "def absoluteValue(x): #Function to calculate & return absolute values\n", + " if(x<0):\n", + " x=-x\n", + " return x\n", + "\n", + "def main(): #Main() Function\n", + " \n", + " f1=-15.5\n", + " f2=20.0\n", + " f3=-5.0\n", + " il=-716\n", + "#Result \n", + " result=absoluteValue(f1)\n", + " print(\"result= {0:.2f}\".format(result))\n", + " print(\"f1={0:.2f}\".format(f1))\n", + "\n", + " result=absoluteValue(f2)+absoluteValue(f3)\n", + " print(\"result= {0:.2f}\".format(result))\n", + "\n", + " result=absoluteValue(float(il))\n", + " print(\"result= {0:.2f}\".format(result))\n", + " \n", + " result=absoluteValue(il)\n", + " print(\"resut= {0:.2f}\".format(result))\n", + "\n", + " print(\"{0:.2f}\".format(absoluteValue((-6.0)/4)))\n", + "\n", + "\n", + "#End of Main()\n", + " \n", + "if __name__=='__main__': #Setting Top level conditional script\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "result= 15.50\n", + "f1=-15.50\n", + "result= 25.00\n", + "result= 716.00\n", + "resut= 716.00\n", + "1.50\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.8, Page number: 132" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.8.py\n", + "#Calculating the Square Root of a Number using Newton-Raphson Method \n", + "\n", + "\n", + "#Function to return absolute value\n", + "def absoluteValue(x): \n", + " if(x<0):\n", + " x=-x\n", + " return x\n", + "\n", + "#function to calculate square root\n", + "def squareRoot(x):\n", + " epsilon=0.0001\n", + " guess=1.0\n", + " while(absoluteValue(guess*guess-x)>=epsilon):\n", + " guess=(x/guess+guess)/2.0\n", + " return guess\n", + "\n", + "#Main()\n", + "def main():\n", + " print(\"squareRoot (2.0) = {0}\".format(squareRoot (2.0)));\n", + " print(\"squareRoot (144.0) = {0}\".format(squareRoot (144.0)));\n", + " print(\"squareRoot (17.5) = {0}\".format(squareRoot (17.5)));\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "squareRoot (2.0) = 1.41421568627\n", + "squareRoot (144.0) = 12.0000000124\n", + "squareRoot (17.5) = 4.18330153622\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.9, Page number: 138" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.9.py\n", + "#Finding the Minimum Value in an Array\n", + "\n", + "#Function to return minimum value\n", + "def minimum(values):\n", + " minValue=values[0] #Variable Declaration\n", + " for i in range (1,10): #Calculation\n", + " if(values[i]<minValue):\n", + " minValue=values[i]\n", + "\n", + " return minValue\n", + " \n", + "#Main()\n", + "def main():\n", + " scores=[] #Variable Declaration\n", + " print(\"Enter 10 scores:\")\n", + " for i in range (0,10):\n", + " scores.append(5) #score=5 for all cases\n", + " #scores.append(input()) \n", + "\n", + " minScore=minimum(scores) #Function call & assignment\n", + " print(\"\\nMinimum score is {0}\\n\".format(minScore)) #Result\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter 10 scores:\n", + "\n", + "Minimum score is 5\n", + "\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.10, Page number: 141" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.10.py\n", + "#Revising the Function to Find the Minimum Value in an Array\n", + "\n", + "#Function to return minimum value\n", + "def minimum(values,numberOfElements): \n", + " minValue=values[0] #Variable Declaration\n", + " for i in range(1,numberOfElements): #Iteration/Calculations\n", + " if(values[i]<minValue):\n", + " minValue=values[i]\n", + " \n", + " return minValue\n", + "\n", + "#Main()\n", + "def main():\n", + " #List/Variable Delcaration\n", + " array1 = [ 157, -28, -37, 26, 10 ] \n", + " array2 = [ 12, 45, 1, 10, 5, 3, 22 ]\n", + " \n", + " #Result\n", + " print(\"array1 minimum: {0}\".format(minimum (array1, 5)));\n", + " print(\"array2 minimum: {0}\".format(minimum (array2, 7)));\n", + "\n", + "#Setting top level conditional script \n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "array1 minimum: -37\n", + "array2 minimum: 1\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.11, Page number: 142" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.11.py\n", + "#Changing Array Elements in Functions\n", + "\n", + "#Import System Library\n", + "import sys\n", + "\n", + "#Function to multiply elements by 2\n", + "def multiplyBy2(array,n):\n", + " for i in range (0,n): #Iteration/Calculation\n", + " array[i]*=2\n", + "\n", + "#Main()\n", + "def main():\n", + "\n", + " #List/Variable Declaration\n", + " floatVals=[1.2, -3.7, 6.2, 8.55] \n", + " multiplyBy2(floatVals,4)\n", + "\n", + " for i in range (0,4):\n", + " sys.stdout.write(\"{0:.2f} \".format(floatVals[i])) #Result\n", + " print(\"\\n\")\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "2.40 -7.40 12.40 17.10 \n", + "\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.12, Page number: 145" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.12.py\n", + "#\n", + "\n", + "#Import system Library \n", + "import sys\n", + "\n", + "#Function to sort the array\n", + "def sort(a,n):\n", + "\n", + " for i in range (0,n-1): #Calculations\n", + " for j in range (i+1,n):\n", + " if(a[i]>a[j]): #Conditional swapping\n", + " temp=a[i]\n", + " a[i]=a[j]\n", + " a[j]=temp\n", + "\n", + "#Main()\n", + "def main():\n", + "\n", + " #List/Variable Declaration \n", + " array= [ 34, -5, 6, 0, 12, 100, 56, 22,\\\n", + " 44, -3, -9, 12, 17, 22, 6, 11 ]\n", + " \n", + " print(\"The array before the sort:\\n\");\n", + " for i in range (0,16):\n", + " sys.stdout.write(\"{0} \".format(array[i]))\n", + " \n", + " sort (array, 16); #Function Call\n", + " \n", + " print(\"\\n\\n\\nThe array after the sort:\\n\")\n", + " for i in range (0,16):\n", + " sys.stdout.write(\"{0} \".format(array[i]))\n", + " print(\"\\n\")\n", + "\n", + "\n", + "#Setting top level conditional script \n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "The array before the sort:\n", + "\n", + "34 -5 6 0 12 100 56 22 44 -3 -9 12 17 22 6 11 \n", + "\n", + "\n", + "The array after the sort:\n", + "\n", + "-9 -5 -3 0 6 6 11 12 12 17 22 22 34 44 56 100 \n", + "\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.13, Page number: 147" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.13.py\n", + "#Using Multidimensional Arrays and Functions\n", + "\n", + "#Import system Library\n", + "import sys\n", + "\n", + "#Main()\n", + "def main():\n", + "\n", + " #List/Variable Declaration\n", + " sampleMatrix =[ [ 7, 16, 55, 13, 12 ],\n", + " [ 12, 10, 52, 0, 7 ],\n", + " [ -2, 1, 2, 4, 9 ] ]\n", + "\n", + "\n", + " print(\"Original matrix:\\n\")\n", + " displayMatrix(sampleMatrix) #Function call-1\n", + "\n", + " scalarMultiply(sampleMatrix, 2) #Function Call-2\n", + " print(\"\\nMultiplied by 2:\\n\")\n", + " \n", + " displayMatrix(sampleMatrix); #Function call-3\n", + " scalarMultiply(sampleMatrix, -1) #Function call-4\n", + " \n", + " print(\"\\nThen multiplied by -1:\\n\")\n", + " displayMatrix(sampleMatrix) #Function call-5\n", + "\n", + "\n", + "#Function to multiply matrix by a scalar quantity \n", + "def scalarMultiply(matrix,scalar):\n", + " for row in range(0,3): #Calculation\n", + " for column in range(0,5):\n", + " matrix[row][column]*=scalar \n", + "\n", + "\n", + "#Function to display the matrix\n", + "def displayMatrix(matrix):\n", + " for row in range(0,3): #Result\n", + " for column in range(0,5):\n", + " sys.stdout.write(\"{0:7}\".format(matrix[row][column]))\n", + " sys.stdout.write(\"\\n\")\n", + "\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Original matrix:\n", + "\n", + " 7 16 55 13 12\n", + " 12 10 52 0 7\n", + " -2 1 2 4 9\n", + "\n", + "Multiplied by 2:\n", + "\n", + " 14 32 110 26 24\n", + " 24 20 104 0 14\n", + " -4 2 4 8 18\n", + "\n", + "Then multiplied by -1:\n", + "\n", + " -14 -32 -110 -26 -24\n", + " -24 -20 -104 0 -14\n", + " 4 -2 -4 -8 -18\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.13A, Page number: 150" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.13A.py\n", + "#Multidimensional Variable-Length Arrays\n", + "\n", + "#Import system Library\n", + "import sys\n", + "\n", + "#Main()\n", + "def main():\n", + "\n", + " #List/Variable Declaration\n", + " sampleMatrix =[ [ 7, 16, 55, 13, 12 ],\n", + " [ 12, 10, 52, 0, 7 ],\n", + " [ -2, 1, 2, 4, 9 ] ]\n", + "\n", + "\n", + " print(\"Original matrix:\\n\")\n", + " displayMatrix(3,5,sampleMatrix) #Function call-1\n", + "\n", + " scalarMultiply(3,5,sampleMatrix, 2) #Function Call-2\n", + " print(\"\\nMultiplied by 2:\\n\")\n", + " \n", + " displayMatrix(3,5,sampleMatrix); #Function call-3\n", + " scalarMultiply(3,5,sampleMatrix, -1) #Function call-4\n", + " \n", + " print(\"\\nThen multiplied by -1:\\n\")\n", + " displayMatrix(3,5,sampleMatrix) #Function call-5\n", + "\n", + "\n", + "#Function to multiply matrix by a scalar quantity \n", + "def scalarMultiply(nRows,nCols,matrix,scalar):\n", + " for row in range(0,nRows): #Calculation\n", + " for column in range(0,nCols):\n", + " matrix[row][column]*=scalar \n", + "\n", + "\n", + "#Function to display the matrix\n", + "def displayMatrix(nRows,nCols,matrix):\n", + " for row in range(0,nRows): #Result\n", + " for column in range(0,nCols):\n", + " sys.stdout.write(\"{0:7}\".format(matrix[row][column]))\n", + " sys.stdout.write(\"\\n\")\n", + "\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Original matrix:\n", + "\n", + " 7 16 55 13 12\n", + " 12 10 52 0 7\n", + " -2 1 2 4 9\n", + "\n", + "Multiplied by 2:\n", + "\n", + " 14 32 110 26 24\n", + " 24 20 104 0 14\n", + " -4 2 4 8 18\n", + "\n", + "Then multiplied by -1:\n", + "\n", + " -14 -32 -110 -26 -24\n", + " -24 -20 -104 0 -14\n", + " 4 -2 -4 -8 -18\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.14, Page number: 153" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.14.py\n", + "#Converting a Positive Integer to Another Base\n", + "\n", + "#Import system Libraries\n", + "import sys\n", + "\n", + "#Function to get Number & Base\n", + "def getNumberAndBase():\n", + " \n", + " #Global Reference\n", + " global digit\n", + " global numberToConvert\n", + " global base\n", + " \n", + " #Variable Declaration\n", + " digit=0\n", + " numberToConvert=420 #numberToConvert=input(\"Number to be converted ?\")\n", + " base=8 #base=input(\"Base?\")\n", + " if(base<2 or base>16):\n", + " print(\"Bad base - must be between 2 and 16\\n\");\n", + " base = 10;\n", + "\n", + "#Conversion Function\n", + "def convertNumber():\n", + " \n", + " #Global Reference\n", + " global numberToConvert\n", + " global base\n", + " global convertedNumber\n", + " global digit\n", + " convertedNumber=[0]*64 #List declaration\n", + " \n", + " while(numberToConvert!=0):\n", + " convertedNumber[digit]=numberToConvert%base #Calculations\n", + " digit=digit+1\n", + " numberToConvert/=base\n", + "\n", + "\n", + "#Function to display\n", + "def displayConvertedNumber():\n", + "\n", + " #Global reference \n", + " global baseDigits\n", + " global digit \n", + "\n", + " #List/Variable Declaration\n", + " baseDigits=[ '0', '1', '2', '3', '4', '5', '6', '7',\\\n", + " '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' ]\n", + " sys.stdout.write(\"Converted number = \")\n", + " \n", + " digit=digit-1\n", + "\n", + " for i in range(digit,-1,-1):\n", + " nextDigit = convertedNumber[i];\n", + " sys.stdout.write(\"{0}\".format(baseDigits[nextDigit])); #Result\n", + "\n", + " sys.stdout.write(\"\\n\")\n", + "\n", + "\n", + "\n", + "#Main()\n", + "def main():\n", + " getNumberAndBase() #Function call-1\n", + " convertNumber() #Function call-2\n", + " displayConvertedNumber() #Function call-3\n", + "\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Converted number = 644\n" + ] + } + ], + "prompt_number": 15 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.15, Page number: 157" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.15.py\n", + "#Illustrating Static and Automatic Variables\n", + "\n", + "\n", + "#Function to display variables\n", + "def auto_static():\n", + " global staticVar #Global reference\n", + " autoVar=1 #variable Declaration\n", + " print(\"automatic = {0}, static = {1}\\n\".format(autoVar,staticVar)); #Result\n", + " \n", + " #Calculation \n", + " autoVar+=1\n", + " staticVar+=1\n", + "\n", + "#Main()\n", + "def main():\n", + " global staticVar\n", + " staticVar=1 #Variable Declaration\n", + " for i in range(0,5):\n", + " auto_static()\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "automatic = 1, static = 1\n", + "\n", + "automatic = 1, static = 2\n", + "\n", + "automatic = 1, static = 3\n", + "\n", + "automatic = 1, static = 4\n", + "\n", + "automatic = 1, static = 5\n", + "\n" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "heading", + "level": 3, + "metadata": {}, + "source": [ + "Program 8.16, Page number: 159" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "#8.16.py\n", + "#Calculating Factorials Recursively\n", + "\n", + "#Function to calculate factorial\n", + "def factorial(n):\n", + " if( n == 0 ): #Calculation\n", + " result = 1\n", + " else:\n", + " result = n * factorial (n - 1)\n", + " return result;\n", + "\n", + "#Main()\n", + "def main():\n", + " for j in range (0,11):\n", + " print(\"{0:3}! = {1}\\n\".format(j,factorial (j)))\n", + "\n", + "\n", + "#Setting top level conditional script\n", + "if __name__=='__main__':\n", + " main()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " 0! = 1\n", + "\n", + " 1! = 1\n", + "\n", + " 2! = 2\n", + "\n", + " 3! = 6\n", + "\n", + " 4! = 24\n", + "\n", + " 5! = 120\n", + "\n", + " 6! = 720\n", + "\n", + " 7! = 5040\n", + "\n", + " 8! = 40320\n", + "\n", + " 9! = 362880\n", + "\n", + " 10! = 3628800\n", + "\n" + ] + } + ], + "prompt_number": 17 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |