summaryrefslogtreecommitdiff
path: root/C_Programming:_A_Modern_Approach_by_K.N._King/Chapter17.ipynb
diff options
context:
space:
mode:
authorhardythe12015-07-03 12:23:43 +0530
committerhardythe12015-07-03 12:23:43 +0530
commit5a86a20b9de487553d4ef88719fb0fd76a5dd6a7 (patch)
treedb67ac5738a18b921d9a8cf6e86f402703f30bdf /C_Programming:_A_Modern_Approach_by_K.N._King/Chapter17.ipynb
parent37d315828bbfc0f5cabee669d2b9dd8cd17b5154 (diff)
downloadPython-Textbook-Companions-5a86a20b9de487553d4ef88719fb0fd76a5dd6a7.tar.gz
Python-Textbook-Companions-5a86a20b9de487553d4ef88719fb0fd76a5dd6a7.tar.bz2
Python-Textbook-Companions-5a86a20b9de487553d4ef88719fb0fd76a5dd6a7.zip
add/remove books
Diffstat (limited to 'C_Programming:_A_Modern_Approach_by_K.N._King/Chapter17.ipynb')
-rwxr-xr-xC_Programming:_A_Modern_Approach_by_K.N._King/Chapter17.ipynb268
1 files changed, 268 insertions, 0 deletions
diff --git a/C_Programming:_A_Modern_Approach_by_K.N._King/Chapter17.ipynb b/C_Programming:_A_Modern_Approach_by_K.N._King/Chapter17.ipynb
new file mode 100755
index 00000000..f25aa999
--- /dev/null
+++ b/C_Programming:_A_Modern_Approach_by_K.N._King/Chapter17.ipynb
@@ -0,0 +1,268 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8ebda07d5e13c6b4a8132b67344e9246eeb8703f2dcc433e1b4e350db4cace07"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 17: Advanced Uses of Pointers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example remind2.c, Page 418"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "MAX_REMIND=50\n",
+ "MSG_LEN=60\n",
+ "reminders = [['' for i in xrange(MSG_LEN+3)] for i in xrange(MAX_REMIND)]\n",
+ "num_remind=0\n",
+ "while(1):\n",
+ " if(num_remind==MAX_REMIND):\n",
+ " print \"--No space left --\"\n",
+ " break\n",
+ " li=raw_input( \"Enter day and reminder: \")\n",
+ " li1=li.split()\n",
+ " day_str=li1[0]\n",
+ " if(day_str=='0'):\n",
+ " breakb n\n",
+ " msg_str=li1[1:]\n",
+ " i=0\n",
+ " for i in range(num_remind):\n",
+ " if(day_str<reminders[i]):\n",
+ " break\n",
+ " j=num_remind\n",
+ " while(j>i):\n",
+ " reminders[j]=reminders[j-1]\n",
+ " j=j-1\n",
+ " reminders[i]=day_str\n",
+ " reminders[i]=str(reminders[i])+str(msg_str)\n",
+ " \n",
+ " num_remind=num_remind+1\n",
+ "print \"\"\n",
+ "print \"Day Reminder\"\n",
+ "for i in range(num_remind):\n",
+ " print \"%s\"%reminders[i]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example inventory2.c, Page 434"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "NAME_LEN=25\n",
+ "MAX_PARTS=100\n",
+ "num_parts=0\n",
+ "number1=[0]*100\n",
+ "on_hand1=[0]*100\n",
+ "name1=[0]*100\n",
+ "def find_part(number):\n",
+ " i=0\n",
+ " for i in range (i,num_parts):\n",
+ " if(number1[i]==number):\n",
+ " return i\n",
+ " return -1\n",
+ "def insert():\n",
+ " num_parts=0\n",
+ " if(num_parts==MAX_PARTS):\n",
+ " print \"Database is full, cant add more parts\"\n",
+ " return\n",
+ " part_number=int(raw_input(\"Enter part number: \"))\n",
+ " if(find_part(part_number)>=0):\n",
+ " print \"Part already exists\"\n",
+ " return\n",
+ " number1[num_parts]=part_number\n",
+ " name1[num_parts]=raw_input(\"Enter part name: \")\n",
+ " on_hand1[num_parts]=raw_input(\"Enter quality on hand: \")\n",
+ " num_parts=num_parts+1\n",
+ " \n",
+ "def search():\n",
+ " number=int(raw_input(\"Enter part number: \"))\n",
+ " i=find_part(number)\n",
+ " if(i>=0):\n",
+ " print \"Part name: %s\" %name1[i]\n",
+ " print \"Quantity on hand: %d\"%on_hand1[i]\n",
+ " else:\n",
+ " print \"Part not found\"\n",
+ " \n",
+ "def update():\n",
+ " number=int(raw_input(\"Enter part number: \"))\n",
+ " i=find_part(number)\n",
+ " if(i>=0):\n",
+ " change=int(raw_input(\"Enter change in quantity on hand: \")) \n",
+ " on_hand1[i]=on_hand1[i]+change\n",
+ " else:\n",
+ " print \"Part not found\"\n",
+ "\n",
+ "while(1):\n",
+ " code=raw_input(\"Enter operation code: \")\n",
+ " if code=='i':\n",
+ " insert()\n",
+ " break\n",
+ " elif code=='s':\n",
+ " search()\n",
+ " break\n",
+ " elif code=='u':\n",
+ " update()\n",
+ " break\n",
+ " elif(code=='p'):\n",
+ " print()\n",
+ " break\n",
+ "\n",
+ "print \"\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example tabulate.c, Page 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "initial=float(raw_input(\"Enter initial value: \"))\n",
+ "final=float(raw_input(\"Enter final value: \"))\n",
+ "increment=float(raw_input(\"Enter increment: \"))\n",
+ "print \"\"\n",
+ "print \" x cos(x)\"\n",
+ "print \"-------------------------\"\n",
+ "\n",
+ "def tabulatec( first, last, incr):\n",
+ " num_intervals=int(math.ceil((last-first)/incr))\n",
+ " for i in range(num_intervals):\n",
+ " x=first+i*incr\n",
+ " print \"%10.5f %10.5f\"%(x,math.cos(x))\n",
+ "def tabulates( first, last, incr):\n",
+ " num_intervals=int(math.ceil((last-first)/incr))\n",
+ " for i in range(num_intervals):\n",
+ " x=first+i*incr\n",
+ " print \"%10.5f %10.5f\"%(x,math.sin(x))\n",
+ "def tabulatet( first, last, incr):\n",
+ " num_intervals=int(math.ceil((last-first)/incr))\n",
+ " for i in range(num_intervals):\n",
+ " x=first+i*incr\n",
+ " print \"%10.5f %10.5f\"%(x,math.tan(x))\n",
+ "\n",
+ " \n",
+ "tabulatec(initial,final, increment)\n",
+ "print \"\"\n",
+ "print \" x sin(x)\"\n",
+ "print \"\"\n",
+ "print \"-------------------------\"\n",
+ "tabulates(initial,final, increment)\n",
+ "print \"\"\n",
+ "print \" x tan(x)\"\n",
+ "print \"\"\n",
+ "print \"-------------------------\"\n",
+ "tabulatet(initial,final, increment)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter initial value: 0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter final value: .5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter increment: .1\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ " x cos(x)\n",
+ "--------------------------\n",
+ " 0.00000 1.00000\n",
+ " 0.10000 0.99500\n",
+ " 0.20000 0.98007\n",
+ " 0.30000 0.95534\n",
+ " 0.40000 0.92106\n",
+ "\n",
+ " x sin(x)\n",
+ "\n",
+ "-------------------------\n",
+ " 0.00000 0.00000\n",
+ " 0.10000 0.09983\n",
+ " 0.20000 0.19867\n",
+ " 0.30000 0.29552\n",
+ " 0.40000 0.38942\n",
+ "\n",
+ " x tan(x)\n",
+ "\n",
+ "-------------------------\n",
+ " 0.00000 0.00000\n",
+ " 0.10000 0.10033\n",
+ " 0.20000 0.20271\n",
+ " 0.30000 0.30934\n",
+ " 0.40000 0.42279\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file