diff options
Diffstat (limited to 'C++_Programming_In_Easy_Steps/Chapter6.ipynb')
-rwxr-xr-x | C++_Programming_In_Easy_Steps/Chapter6.ipynb | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/C++_Programming_In_Easy_Steps/Chapter6.ipynb b/C++_Programming_In_Easy_Steps/Chapter6.ipynb new file mode 100755 index 00000000..281e89b4 --- /dev/null +++ b/C++_Programming_In_Easy_Steps/Chapter6.ipynb @@ -0,0 +1,342 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:ebda2195f5f56b03f9c5aecb268e628cfb74a1a1fa1ea18ae277cc3f964d54bd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6: Pointing to data"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1, Page No.98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "num=100\n",
+ "sum=0.0123456789\n",
+ "text=\"C++ Fun\"\n",
+ "print \"Integer variable starts at\",hex(id(num))\n",
+ "print \"Double variable starts at\",hex(id(sum))\n",
+ "print \"String variable starts at\",hex(id(text))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Integer variable starts at 0x126eb04\n",
+ "Double variable starts at 0x279b490\n",
+ "String variable starts at 0x2b7a160\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2, Page No.100"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "a=8\n",
+ "b=16\n",
+ "aPtr=id(a)\n",
+ "bPtr=id(b)\n",
+ "print \"Address of pointers...\"\n",
+ "print \"aPtr:\",hex(id(aPtr))\n",
+ "print \"bPtr:\",hex(id(bPtr))\n",
+ "print \"Values in pointers...\"\n",
+ "print \"aPtr:\",hex(aPtr)\n",
+ "print \"bPtr:\",hex(bPtr)\n",
+ "#As python does not support pointers values can't be displayed using * symbol"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Address of pointers...\n",
+ "aPtr: 0x2808ac8\n",
+ "bPtr: 0x2808b1c\n",
+ "Values in pointers...\n",
+ "aPtr: 0x126e794\n",
+ "bPtr: 0x126e734\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3, Page No.102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "nums={1,2,3,4,5,6,7,8,9,10}\n",
+ "ptr=id(nums)\n",
+ "#As python does not support concept of pointers we can not use pointer arithmetic to print numbers"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4, Page No.104"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "num=5\n",
+ "def writeOutput(value):\n",
+ " print \"Current Value: \",value\n",
+ "def computeTriple(value):\n",
+ " global num\n",
+ " num=num*3\n",
+ "\n",
+ "\n",
+ "writeOutput(num)\n",
+ "num=num+15\n",
+ "writeOutput(num)\n",
+ "computeTriple(num)\n",
+ "writeOutput(num)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current Value: 5\n",
+ "Current Value: 20\n",
+ "Current Value: 60\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5, Page No.106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "letters=['C','+','+',' ','F','u','n','\\0']\n",
+ "text=\"C++ Fun\"\n",
+ "term=\"Element\"\n",
+ "lang=\"C++\"\n",
+ "ap1=[\"Great \",\"Program \",\"Code \"]\n",
+ "ap2=[lang,\"is \",\"Fun\"]\n",
+ "ap3=[ap2[0],ap2[1],ap1[0]]\n",
+ "ap4=[ap1[2],ap2[1],ap2[2]]\n",
+ "print \"\".join(letters)\n",
+ "print text\n",
+ "for i in range(0,3):\n",
+ " print term,i,\" \",\n",
+ " print ap1[i],\" \",\n",
+ " print ap2[i],\" \",\n",
+ " print ap3[i],\" \",\n",
+ " print ap4[i],\" \""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C++ Fun\u0000\n",
+ "C++ Fun\n",
+ "Element 0 Great C++ C++ Code \n",
+ "Element 1 Program is is is \n",
+ "Element 2 Code Fun Great Fun \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6, Page No.108"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "num=0\n",
+ "rNum=400\n",
+ "num=rNum\n",
+ "print \"Value direct\",num\n",
+ "print \"Value via reference \",rNum\n",
+ "\n",
+ "print \"Address direct\",hex(id(num))\n",
+ "print \"Address via reference\",hex(id(rNum))\n",
+ "\n",
+ "rNum=rNum*2\n",
+ "num=rNum\n",
+ "\n",
+ "print \"Value direct\",num\n",
+ "print \"Value via reference \",rNum\n",
+ "\n",
+ "#as python does not support pointers"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value direct 400\n",
+ "Value via reference 400\n",
+ "Address direct 0x27cd294\n",
+ "Address via reference 0x27cd294\n",
+ "Value direct 800\n",
+ "Value via reference 800\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7, Page No. 110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def writeOutput(value):\n",
+ " print \"Current Value: \",value\n",
+ "\n",
+ "def computeTriple(value):\n",
+ " value=value*3\n",
+ " print \"Current Value: \",value\n",
+ " \n",
+ "num=5\n",
+ "ref=num\n",
+ "writeOutput(num)\n",
+ "num=num+15\n",
+ "writeOutput(num)\n",
+ "computeTriple(num)\n",
+ "\n",
+ "#as python does not support pointers I dont have used pointer in this program"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current Value: 5\n",
+ "Current Value: 20\n",
+ "Current Value: 60\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.8, Page No.113"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def add(a,b):\n",
+ " total=a+b\n",
+ " print \"total:\",total\n",
+ "\n",
+ "num=100\n",
+ "sum=500\n",
+ "rNum=num\n",
+ "ptr=num\n",
+ "print \"Reference:\",rNum\n",
+ "print \"Pointer:\",ptr\n",
+ "ptr=sum\n",
+ "print \"Pointer now:\",ptr\n",
+ "add(rNum,ptr)\n",
+ "\n",
+ "\n",
+ "#as python does not support pointers I dont have used pointer in this progaram"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reference: 100\n",
+ "Pointer: 100\n",
+ "Pointer now: 500\n",
+ "total: 600\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |