summaryrefslogtreecommitdiff
path: root/Beginning_C_By_Ivon_Horton/chapter10.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Beginning_C_By_Ivon_Horton/chapter10.ipynb')
-rw-r--r--Beginning_C_By_Ivon_Horton/chapter10.ipynb846
1 files changed, 846 insertions, 0 deletions
diff --git a/Beginning_C_By_Ivon_Horton/chapter10.ipynb b/Beginning_C_By_Ivon_Horton/chapter10.ipynb
new file mode 100644
index 00000000..fd052668
--- /dev/null
+++ b/Beginning_C_By_Ivon_Horton/chapter10.ipynb
@@ -0,0 +1,846 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10: Essential Input and Output"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.1, page no. 400 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Exercising formatted input\n",
+ "\"\"\"\n",
+ "\n",
+ "import sys\n",
+ "\n",
+ "def try_input(prompt, format):\n",
+ " value_count = 5\n",
+ " print prompt\n",
+ " fp1 = float(raw_input(\"fp1: \"))\n",
+ " i = int(raw_input(\"i: \"))\n",
+ " j = int(raw_input(\"j: \"))\n",
+ " word1 = raw_input()\n",
+ " size_word1 = sys.getsizeof(word1)\n",
+ " word2 = raw_input()\n",
+ " size_word2 = sys.getsizeof(word2)\n",
+ " print \"The input format string for scanf_s() is: \\\"%s\\\"\" %format\n",
+ " print \"Count of bytes read = \", (size_word1 + size_word2)\n",
+ " print \"Count of values read = %d\" % value_count\n",
+ " print \"fp1 = %f i = %d j = %d\" %(fp1, i, j)\n",
+ " print \"word1 = %s word2 = %s\" %(word1, word2)\n",
+ " \n",
+ "try_input(\"Enter as input: -2.35 15 25 ready2go \", \"%f %d %d %[abcdefghijklmnopqrstuvwxyz] %*1d %s%n\" )\n",
+ "try_input(\"Enter the same input again: \", \"%4f %4d %d %*d %[abcdefghijklmnopqrstuvwxyz] %*1d %[^o]%n\")\n",
+ "try_input(\"Enter as input: -2.3 15 25 ready2go\\n\",\"%4f %4d %d %*d %[abcdefghijklmnopqrstuvwxyz] %*1d %[^o]%n\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter as input: -2.35 15 25 ready2go \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fp1: -2.35\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i: 15\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "j: 25\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ready2\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "go\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input format string for scanf_s() is: \"%f %d %d %[abcdefghijklmnopqrstuvwxyz] %*1d %s%n\"\n",
+ "Count of bytes read = 82\n",
+ "Count of values read = 5\n",
+ "fp1 = -2.350000 i = 15 j = 25\n",
+ "word1 = ready2 word2 = go\n",
+ "Enter the same input again: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fp1: -2.35\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i: 15\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "j: 25\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ready 2go\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "2go\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input format string for scanf_s() is: \"%4f %4d %d %*d %[abcdefghijklmnopqrstuvwxyz] %*1d %[^o]%n\"\n",
+ "Count of bytes read = 86\n",
+ "Count of values read = 5\n",
+ "fp1 = -2.350000 i = 15 j = 25\n",
+ "word1 = ready 2go word2 = 2go\n",
+ "Enter as input: -2.3 15 25 ready2go\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fp1: -2.35\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i: 15\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "j: 225\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ready2\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "go\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input format string for scanf_s() is: \"%4f %4d %d %*d %[abcdefghijklmnopqrstuvwxyz] %*1d %[^o]%n\"\n",
+ "Count of bytes read = 82\n",
+ "Count of values read = 5\n",
+ "fp1 = -2.350000 i = 15 j = 225\n",
+ "word1 = ready2 word2 = go\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.2, page no. 403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Characters in the format control string\n",
+ "\"\"\"\n",
+ "\n",
+ "\n",
+ "value_count = 2\n",
+ "print \"Enter: fp1 = 3.14159 i = 7 j = 8\"\n",
+ "print \"Input: \"\n",
+ "fp1 = float(raw_input(\"fp1: \"))\n",
+ "i = int(raw_input(\"i: \"))\n",
+ "j = int(raw_input(\"j: \"))\n",
+ "\n",
+ "print \"Output:\"\n",
+ "print \"Count of values read = \", value_count\n",
+ "print \"fp1 = %f\\ti = %d\\tj = %d \" %(fp1, i, j)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter: fp1 = 3.14159 i = 7 j = 8\n",
+ "Input: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fp1: 3.13159\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i: 7\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "j: 8\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output:\n",
+ "Count of values read = 2\n",
+ "fp1 = 3.131590\ti = 7\tj = 8 \n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.3, page no. 405"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Floating-Point Input\n",
+ "note: the way it is given in textbook is not possible in python. Just showing a\n",
+ "sample float input.\n",
+ "\"\"\"\n",
+ "\n",
+ "value_count = 3\n",
+ "print \"Enter: 3.14 3.14 3.14\"\n",
+ " \n",
+ "print \"Input: \"\n",
+ "\n",
+ "fp1 = float(raw_input(\"fp1: \"))\n",
+ "fp2 = float(raw_input(\"fp2: \"))\n",
+ "fp3 = float(raw_input(\"fp3: \"))\n",
+ "\n",
+ "print \"Output: \"\n",
+ "print \"Number of values read = \", value_count\n",
+ "print \"fp1 = %f fp2 = %f fp3 = %f\" %(fp1, fp2, fp3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter: 3.14 3.14 3.14\n",
+ "Input: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fp1: 3.14\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fp2: 3.14\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fp3: 3.14\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output: \n",
+ "Number of values read = 3\n",
+ "fp1 = 3.140000 fp2 = 3.140000 fp3 = 3.140000\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.4, page no. 406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Reading hexadecimal and octal values\n",
+ "\"\"\"\n",
+ "\n",
+ "print \"Enter three integer values: \"\n",
+ "n = 3\n",
+ "i = int(raw_input())\n",
+ "j = int(raw_input(), 16)\n",
+ "k = int(raw_input(), 8)\n",
+ " \n",
+ "print \"Output:\"\n",
+ "print \"%d values read.\" % n\n",
+ "print \"i = %d j = %d k = %d \" %(i, j, k )"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter three integer values: \n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "8\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "6\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output:\n",
+ "3 values read.\n",
+ "i = 5 j = 8 k = 6 \n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.5, page no. 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Reading characters with scanf_s()\n",
+ "\"\"\"\n",
+ "\n",
+ "print \"Enter your first initial: \",\n",
+ "initial = raw_input()\n",
+ "print \"Enter your first name: \",\n",
+ "name = raw_input()\n",
+ "\n",
+ "if(initial != name[0]):\n",
+ " print \"%s, you got your initial wrong. \" % name\n",
+ "else:\n",
+ " print \"Hi, %s. Your initial is correct. Well done! \" %name \n",
+ " print \"Enter your full name and your age separated by a comma: \", \n",
+ " name_age = raw_input()\n",
+ " print \"Your name is %s and you are %s years old.\" %(name_age.split(',')[0], name_age.split(',')[1])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter your first initial: "
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Enter your first name: "
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Michael\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Hi, Michael. Your initial is correct. Well done! \n",
+ "Enter your full name and your age separated by a comma: "
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Michael, 35\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Your name is Michael and you are 35 years old.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ " Program 10.6, page no. 410"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Reading a string with gets_s()\n",
+ "\"\"\"\n",
+ "\n",
+ "print \"Enter your first initial: \",\n",
+ "initial = raw_input()\n",
+ "print \"Enter your first name: \",\n",
+ "name = raw_input()\n",
+ "\n",
+ "if(initial != name[0]):\n",
+ " print \"%s, you got your initial wrong. \" % name\n",
+ "else:\n",
+ " print \"Hi, %s. Your initial is correct. Well done! \" %name \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter your first initial: "
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "M\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Enter your first name: "
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Nichael\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Nichael, you got your initial wrong. \n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.7, page no. 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Reading and unreading characters\n",
+ "\"\"\"\n",
+ "\n",
+ "print \"Enter a sequence of integers and alphabetic names in a single line(separated by spaces): \",\n",
+ "text = raw_input()\n",
+ "split_text = text.split(' ')\n",
+ "for element in split_text:\n",
+ " if element.isdigit():\n",
+ " print \"Integer Value: \", element\n",
+ " elif element.isalpha():\n",
+ " print \"Name: \", element\n",
+ " else:\n",
+ " pass "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Enter a sequence of integers and alphabetic names in a single line(separated by spaces): "
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Fred 22 34 Mary Jack 89 Jane\n"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Name: Fred\n",
+ "Integer Value: 22\n",
+ "Integer Value: 34\n",
+ "Name: Mary\n",
+ "Name: Jack\n",
+ "Integer Value: 89\n",
+ "Name: Jane\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.8, page no. 419"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Ineger output variations\n",
+ "\"\"\"\n",
+ "\n",
+ "i = 15\n",
+ "j = 345\n",
+ "k = 4567\n",
+ "li = 56789\n",
+ "lj = 67891234567\n",
+ "lk = 23456789\n",
+ "\n",
+ "print \"i = %d j = %d k = %d li = %6.3d lj = %6.3d lk = %6.3d\" %(i ,j, k, i, j, k)\n",
+ "print \"i = %-d j = %+d k = %-d i = %-6.3d j = %-6.3d k = %-6.3d \" %(i ,j, k, i, j, k)\n",
+ "print \"li = %d lj = %d lk = %d \" %(li, lj, lk)\n",
+ "print \"li = %d lj = %d lk = %d \" %(li, lj, lk)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i = 15 j = 345 k = 4567 li = 015 lj = 345 lk = 4567\n",
+ "i = 15 j = +345 k = 4567 i = 015 j = 345 k = 4567 \n",
+ "li = 56789 lj = 67891234567 lk = 23456789 \n",
+ "li = 56789 lj = 67891234567 lk = 23456789 \n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.9, page no. 421"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Variations on a single integer\n",
+ "\"\"\"\n",
+ "\n",
+ "k = \"678\"\n",
+ "hex_k = int(k, 16)\n",
+ "oct_k = int(oct(int(k)))\n",
+ "k = 678\n",
+ "print \"%%d %%o %%x %%X \"\n",
+ "print \"%d %d %d %d \" %(k, oct_k, hex_k, hex_k)\n",
+ "print \"|%%8d \\t|%%-8d \\t|%%+8d \\t|%%08d \\t|%%-+8d\"\n",
+ "print \"|%8d |%-8d |%+8d |%08d |%-+8d |\" %(k, k, k, k, k)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "%%d %%o %%x %%X \n",
+ "678 1246 1656 1656 \n",
+ "|%%8d \t|%%-8d \t|%%+8d \t|%%08d \t|%%-+8d\n",
+ "| 678 |678 | +678 |00000678 |+678 |\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.10, page no. 422"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "Outputting floating-point values\n",
+ "\"\"\"\n",
+ "\n",
+ "fp1 = 345.678\n",
+ "fp2 = 1.234E6\n",
+ "fp3 = 234567898.0\n",
+ "fp4 = 11.22334455e-6\n",
+ " \n",
+ "print \"%f %+f %-10.4f %6.4f\" %(fp1, fp2, fp1, fp2)\n",
+ "print \"%e %+E\\n\" %(fp1, fp2)\n",
+ "print \"%f %g %#+f %8.4f %10.4g \" %(fp3,fp3, fp3, fp3, fp4)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "345.678000 +1234000.000000 345.6780 1234000.0000\n",
+ "3.456780e+02 +1.234000E+06\n",
+ "\n",
+ "234567898.000000 2.34568e+08 +234567898.000000 234567898.0000 1.122e-05 \n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Program 10.11, page no. 423"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\"\"\"\n",
+ "print printable characters\n",
+ "\"\"\"\n",
+ "\n",
+ "import string\n",
+ "\n",
+ "count = 0\n",
+ "print \"The printable characters are the following: \"\n",
+ "printable = string.printable\n",
+ "for char in printable:\n",
+ " if count % 32 == 0:\n",
+ " print \"\"\n",
+ " print char,\n",
+ " count += 1"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The printable characters are the following: \n",
+ "\n",
+ "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v \n",
+ "w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ! \" \n",
+ "# $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~ \t\n",
+ "\n",
+ "\r",
+ "\u000b",
+ "\f"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file