{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "# Chapter 3: Compass Traversing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3, section 3.10, pg85, problem 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "N 45 degrees 30.0 minutes E\n",
      "S 54 degrees 15.0 minutes E\n",
      "S 42 degrees 15.0 minutes W\n",
      "N 39 degrees 30.0 minutes W\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "#(a)\n",
    "WCB_AB=45+(30/60)\n",
    "QB_AB=WCB_AB\n",
    "mins=(QB_AB-int(QB_AB))*60\n",
    "deg=int(QB_AB)\n",
    "print \"N\",deg,\"degrees\",mins,\"minutes E\"\n",
    " \n",
    "#(b)\n",
    "WCB_BC=125+(45/60)\n",
    "QB_BC=180-WCB_BC\n",
    "mins=(QB_BC-int(QB_BC))*60\n",
    "deg=int(QB_BC)\n",
    "print \"S\",deg,\"degrees\",mins,\"minutes E\"\n",
    "\n",
    "#(c)\n",
    "WCB_CD=222+(15/60)\n",
    "QB_CD=WCB_CD-180\n",
    "deg=int(QB_CD)\n",
    "mins=(QB_CD-deg)*60\n",
    "print \"S\",deg,\"degrees\",mins,\"minutes W\"\n",
    "\n",
    "#(d)\n",
    "WCB_DE=320+(30/60)\n",
    "QB_DE=360-WCB_DE\n",
    "deg=int(QB_DE)\n",
    "mins=(QB_DE-deg)*60\n",
    "print \"N\",deg,\"degrees\",mins,\"minutes W\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3,section 3.10,problem 2,pg 85"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "216 degrees 30.0 minutes\n",
      "136 degrees 30.0 minutes\n",
      "26 degrees 45.0 minutes\n",
      "319 degrees 45.0 minutes\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "#(a)\n",
    "QB_AB=36+(30/60)\n",
    "WCB_AB=180+QB_AB\n",
    "mins=(WCB_AB-int(WCB_AB))*60\n",
    "deg=int(WCB_AB)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    " \n",
    "#(b)\n",
    "QB_BC=43+(30/60)\n",
    "WCB_BC=180-QB_BC\n",
    "mins=(WCB_BC-int(WCB_BC))*60\n",
    "deg=int(WCB_BC)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "\n",
    "#(c)\n",
    "QB_CD=26+(45/60)\n",
    "WCB_CD=QB_CD\n",
    "mins=(WCB_CD-int(WCB_CD))*60\n",
    "deg=int(WCB_CD)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "#(d)\n",
    "QB_DE=40+(15/60)\n",
    "WCB_DE=360-QB_DE\n",
    "mins=(WCB_DE-int(WCB_DE))*60\n",
    "deg=int(WCB_DE)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3,section 3.11,problem 1,pg 85"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "130 degrees 30.0 minutes\n",
      "325 degrees 15.0 minutes\n",
      "30 degrees 30.0 minutes\n",
      "240 degrees 45.0 minutes\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "#(a)\n",
    "FB_AB=310+(30/60)\n",
    "BB_AB=FB_AB-180\n",
    "mins=(BB_AB-int(BB_AB))*60\n",
    "deg=int(BB_AB)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    " \n",
    "#(b)\n",
    "FB_BC=145+(15/60)\n",
    "BB_BC=FB_BC+180\n",
    "mins=(BB_BC-int(BB_BC))*60\n",
    "deg=int(BB_BC)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "#(c)\n",
    "FB_CD=210+(30/60)\n",
    "BB_CD=FB_CD-180\n",
    "mins=(BB_CD-int(BB_CD))*60\n",
    "deg=int(BB_CD)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    "#(d)\n",
    "FB_DE=60+(45/60)\n",
    "BB_DE=FB_DE+180\n",
    "mins=(BB_DE-int(BB_DE))*60\n",
    "deg=int(BB_DE)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3,section 3.11,problem 2,pg 86"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "N 30 degrees 30.0 minutes W\n",
      "S 40 degrees 30.0 minutes E\n",
      "N 60 degrees 15.0 minutes E\n",
      "S 45 degrees 30.0 minutes W\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "#(a)\n",
    "FB_AB=30+(30/60)\n",
    "BB_AB=FB_AB\n",
    "mins=(BB_AB-int(BB_AB))*60\n",
    "deg=int(BB_AB)\n",
    "print \"N\",deg,\"degrees\",mins,\"minutes W\"\n",
    "\n",
    "#(b)\n",
    "FB_AB=40+(30/60)\n",
    "BB_AB=FB_AB\n",
    "mins=(BB_AB-int(BB_AB))*60\n",
    "deg=int(BB_AB)\n",
    "print \"S\",deg,\"degrees\",mins,\"minutes E\"\n",
    "\n",
    "#(c)\n",
    "FB_AB=60+(15/60)\n",
    "BB_AB=FB_AB\n",
    "mins=(BB_AB-int(BB_AB))*60\n",
    "deg=int(BB_AB)\n",
    "print \"N\",deg,\"degrees\",mins,\"minutes E\"\n",
    "\n",
    "#(d)\n",
    "FB_AB=45+(30/60)\n",
    "BB_AB=FB_AB\n",
    "mins=(BB_AB-int(BB_AB))*60\n",
    "deg=int(BB_AB)\n",
    "print \"S\",deg,\"degrees\",mins,\"minutes W\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "### chapter 3,section 3.11,problem 3,pg 86"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "220 degrees 30.0 minutes\n",
      "130 degrees 45.0 minutes\n",
      "325 degrees 45.0 minutes\n",
      "35 degrees 30.0 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "#(a)\n",
    "BB_AB=40+(30/60)\n",
    "FB_AB=BB_AB+180\n",
    "mins=(FB_AB-int(FB_AB))*60\n",
    "deg=int(FB_AB)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    " \n",
    "#(b)\n",
    "BB_BC=310+(45/60)\n",
    "FB_BC=BB_BC-180\n",
    "mins=(FB_BC-int(FB_BC))*60\n",
    "deg=int(FB_BC)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    " \n",
    "\n",
    "#(c)\n",
    "BB_CD=145+(45/60)\n",
    "FB_CD=BB_CD+180\n",
    "mins=(FB_CD-int(FB_CD))*60\n",
    "deg=int(FB_CD)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    " \n",
    "\n",
    "#(d)\n",
    "BB_DE=215+(30/60)\n",
    "FB_DE=BB_DE-180\n",
    "mins=(FB_DE-int(FB_DE))*60\n",
    "deg=int(FB_DE)\n",
    "print deg,\"degrees\",mins,\"minutes\"\n",
    " \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3,section 3.11,problem 4,pg 86"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "S 30 degrees 30.0 minutes E\n",
      "N 40 degrees 15.0 minutes W\n",
      "S 60 degrees 45.0 minutes W\n",
      "N 45 degrees 30.0 minutes E\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "#(a)\n",
    "BB_AB=30+(30/60)\n",
    "FB_AB=BB_AB\n",
    "mins=(FB_AB-int(FB_AB))*60\n",
    "deg=int(FB_AB)\n",
    "print \"S\",deg,\"degrees\",mins,\"minutes E\"\n",
    "\n",
    "#(b)\n",
    "BB_BC=40+(15/60)\n",
    "FB_BC=BB_BC\n",
    "mins=(FB_BC-int(FB_BC))*60\n",
    "deg=int(FB_BC)\n",
    "print \"N\",deg,\"degrees\",mins,\"minutes W\"\n",
    "\n",
    "#(c)\n",
    "BB_CD=60+(45/60)\n",
    "FB_CD=BB_CD\n",
    "mins=(FB_CD-int(FB_CD))*60\n",
    "deg=int(FB_CD)\n",
    "print \"S\",deg,\"degrees\",mins,\"minutes W\"\n",
    "\n",
    "#(d)\n",
    "BB_DE=45+(30/60)\n",
    "FB_DE=BB_DE\n",
    "mins=(FB_DE-int(FB_DE))*60\n",
    "deg=int(FB_DE)\n",
    "print \"N\",deg,\"degrees\",mins,\"minutes E\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3, section 3.12, pg87, problem 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "truebearing of AB= 130 degrees 15.0 minutes\n",
      "magnetic bearing of AB= 219 degrees 0.0 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "magneticbearing=135+0.5\n",
    "declination=5+0.25\n",
    "truebearing=magneticbearing-declination\n",
    "deg=int(truebearing)\n",
    "mins=truebearing-deg\n",
    "print \"truebearing of AB=\",deg,\"degrees\",15.0,\"minutes\"\n",
    "\n",
    "truebearing=210+(45/60)\n",
    "declination=8+(15/60)\n",
    "magnetic_bearing=truebearing+declination\n",
    "deg=int(magnetic_bearing)\n",
    "mins=magnetic_bearing-deg\n",
    "print \"magnetic bearing of AB=\",deg,\"degrees\",mins,\"minutes\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3, section 3.12, pg87, problem 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Required true bearing= S 40 degrees 30.0 minutes W\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "RB_CD=30+(15/60)\n",
    "WCB_CD=180+RB_CD\n",
    "declination=10+(15/60)\n",
    "TB=WCB_CD+declination\n",
    "truebearing=TB-180\n",
    "deg=int(truebearing)\n",
    "mins=(truebearing-deg)*60\n",
    "print \"Required true bearing=\",\"S\",deg,\"degrees\",mins,\"minutes\",\"W\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3, section 3.12, pg88, problem 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Magnetic bearing= 312 degrees 45.0 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "magneticbearing=320+(30/60)\n",
    "declination=3+(30/60)\n",
    "truebearing=magneticbearing-declination\n",
    "declination2=4+(15/60)\n",
    "MB=truebearing-declination2\n",
    "deg=int(MB)\n",
    "mins=(MB-deg)*60\n",
    "print \"Magnetic bearing=\",deg,\"degrees\",mins,\"minutes\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3, section 3.12, pg88, problem 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4 degrees 30.0 minutes E\n",
      "5 degrees 45.0 minutes W\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "#(a)\n",
    "magneticbearing=175+(30/60)\n",
    "magneticdeclination=180-magneticbearing\n",
    "deg=int(magneticdeclination)\n",
    "mins=(magneticdeclination-deg)*60\n",
    "print deg,\"degrees\",mins,\"minutes E\"\n",
    "\n",
    "#(b)\n",
    "\n",
    "magneticdeclination=5+(45/60)\n",
    "deg=int(magneticdeclination)\n",
    "mins=(magneticdeclination-deg)*60\n",
    "print deg,\"degrees\",mins,\"minutes W\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3, section 3.13, pg88, problem 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AngleAOB= 109 degrees 45.0 minutes\n",
      "AngleBOC= 80 degrees 30.0 minutes\n",
      "AngleCOD= 89 degrees 45.0 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "bearingOB=140+(15/60)\n",
    "bearingOA=30+(30/60)\n",
    "angleAOB=bearingOB-bearingOA\n",
    "deg=int(angleAOB)\n",
    "mins=(angleAOB-deg)*60\n",
    "print \"AngleAOB=\",deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "bearingOC=220+(45/60)\n",
    "angleBOC=bearingOC-bearingOB\n",
    "deg=int(angleBOC)\n",
    "mins=(angleBOC-deg)*60\n",
    "print \"AngleBOC=\",deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "bearingOD=310+(30/60)\n",
    "angleCOD=bearingOD-bearingOC\n",
    "deg=int(angleCOD)\n",
    "mins=(angleCOD-deg)*60\n",
    "print \"AngleCOD=\",deg,\"degrees\",mins,\"minutes\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### chapter 3, section 3.13, pg89, problem 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Interior angle B= 105 degrees 15.0 minutes\n",
      "Interior angle C= 99 degrees 45.0 minutes\n",
      "Exterior angle D= 260 degrees 15.0 minutes\n",
      "Interior angle D= 99 degrees 45.0 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "interiorB=(45+(30/60))+180-(120+(15/60))\n",
    "deg=int(interiorB)\n",
    "mins=(interiorB-deg)*60\n",
    "print \"Interior angle B=\",deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "interiorC=(120+(15/60))+180-(200+(30/60))\n",
    "deg=int(interiorC)\n",
    "mins=(interiorC-deg)*60\n",
    "print \"Interior angle C=\",deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "exteriorD=(280+(45/60))+180-(200+(30/60))\n",
    "deg=int(exteriorD)\n",
    "mins=(exteriorD-deg)*60\n",
    "print \"Exterior angle D=\",deg,\"degrees\",mins,\"minutes\"\n",
    "\n",
    "interiorD=360-(260+(15/60))\n",
    "deg=int(interiorD)\n",
    "mins=(interiorD-deg)*60\n",
    "print \"Interior angle D=\",deg,\"degrees\",mins,\"minutes\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### section 3.13, problem 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "80 degrees 30.0 minutes\n",
      "200 degrees 30.0 minutes\n",
      "320 degrees 30.0 minutes\n",
      "80 degrees 30.0 minutes\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "\n",
    "\n",
    "FB_AB=80+(30/60)\n",
    "FB_BC=FB_AB+180-60\n",
    "FB_CA=FB_BC-180+300\n",
    "\n",
    "\n",
    "deg1=int(FB_AB)\n",
    "mins1=(FB_AB-deg1)*60\n",
    "deg2=int(FB_BC)\n",
    "mins2=(FB_BC-deg2)*60\n",
    "deg3=int(FB_CA)\n",
    "mins3=(FB_CA-deg3)*60\n",
    "\n",
    "\n",
    "print deg1,\"degrees\",mins1,\"minutes\";\n",
    "print deg2,\"degrees\",mins2,\"minutes\";\n",
    "print deg3,\"degrees\",mins3,\"minutes\";\n",
    "print deg1,\"degrees\",mins1,\"minutes\";\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### section 3.13, problem 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "120 degrees 30.0 minutes\n",
      "210 degrees 30.0 minutes\n",
      "300 degrees 30.0 minutes\n",
      "30 degrees 30.0 minutes\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "\n",
    "\n",
    "FB_AB=120+(30/60)\n",
    "FB_BC=FB_AB+180-90\n",
    "FB_CD=FB_BC-180+270\n",
    "FB_DA=FB_CD-180-90\n",
    "\n",
    "deg1=int(FB_AB)\n",
    "mins1=(FB_AB-deg1)*60\n",
    "deg2=int(FB_BC)\n",
    "mins2=(FB_BC-deg2)*60\n",
    "deg3=int(FB_CD)\n",
    "mins3=(FB_CD-deg3)*60\n",
    "deg4=int(FB_DA)\n",
    "mins4=(FB_DA-deg4)*60\n",
    "\n",
    "print deg1,\"degrees\",mins1,\"minutes\";\n",
    "print deg2,\"degrees\",mins2,\"minutes\";\n",
    "print deg3,\"degrees\",mins3,\"minutes\";\n",
    "print deg4,\"degrees\",mins4,\"minutes\";\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### Chapter 3, section 3.13, pg 91, problem 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "30 degrees 0.0 minutes\n",
      "318 degrees 0.0 minutes\n",
      "246 degrees 0.0 minutes\n",
      "174 degrees 0.0 minutes\n",
      "102 degrees 0 minutes\n",
      "30 degrees 0 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "\n",
    "interiorB=540/5\n",
    "FB_AB=30+(0/60)\n",
    "FB_BC=FB_AB+180+interiorB\n",
    "FB_CD=FB_BC-180+interiorB\n",
    "FB_DE=FB_CD-180+interiorB\n",
    "FB_EA=FB_DE+180-360+interiorB\n",
    "FB_AB=FB_EA+180-360+interiorB\n",
    "deg1=int(FB_AB)\n",
    "mins1=(FB_AB-deg1)*60\n",
    "deg2=int(FB_BC)\n",
    "mins2=(FB_BC-deg2)*60\n",
    "deg3=int(FB_CD)\n",
    "mins3=(FB_CD-deg3)*60\n",
    "deg4=int(FB_DE)\n",
    "mins4=(FB_DE-deg4)*60\n",
    "deg5=int(FB_EA)\n",
    "mins5=0\n",
    "deg6=int(FB_AB)\n",
    "mins6=0\n",
    "print deg1,\"degrees\",mins1,\"minutes\"\n",
    "print deg2,\"degrees\",mins2,\"minutes\"\n",
    "print deg3,\"degrees\",mins3,\"minutes\"\n",
    "print deg4,\"degrees\",mins4,\"minutes\"\n",
    "print deg5,\"degrees\",mins5,\"minutes\"\n",
    "print deg6,\"degrees\",mins6,\"minutes\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "### pg 92, prob6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "exterior angle A 150 degrees 15 minutes\n",
      "interior angle A 209 degrees 45 minutes\n",
      "Exterior angle B 309 degrees 45 minutes\n",
      "interior angle B 50 degrees 15 minutes\n",
      "interior angle C 95 degrees 15 minutes\n",
      "interior angle D 102 degrees 15 minutes\n",
      "interior angle E 82 degrees 30 minutes\n",
      "540 degrees 540.0 degrees\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=330+(15/60)\n",
    "BB_BC=200+(30/60)\n",
    "BB_CD=115+(45/60)\n",
    "BB_DE=38+(0/60)\n",
    "BB_EA=300+(30/60)\n",
    "\n",
    "exteriorA=BB_EA-(150+(15/60))\n",
    "interiorA=360-exteriorA\n",
    "exteriorB=BB_AB-(20+(30/60))\n",
    "interiorB=360-exteriorB\n",
    "interiorC=(295+(45/60))-BB_BC\n",
    "interiorD=218-BB_CD\n",
    "interiorE=(120.5)-BB_DE\n",
    "\n",
    "deg1=int(exteriorA)\n",
    "mins1=int((exteriorA-deg1)*60)\n",
    "deg2=int(interiorA)\n",
    "mins2=int((interiorA-deg2)*60)\n",
    "deg3=int(exteriorB)\n",
    "mins3=int((exteriorB-deg3)*60)\n",
    "deg4=int(interiorB)\n",
    "mins4=int((interiorB-deg4)*60)\n",
    "deg5=int(interiorC)\n",
    "mins5=int((interiorC-deg5)*60)\n",
    "deg6=int(interiorD)\n",
    "mins6=int((interiorD-deg6)*60)\n",
    "deg7=int(interiorE)\n",
    "mins7=int((interiorE-deg7)*60)\n",
    "\n",
    "n=5\n",
    "check=(2*n-4)*90\n",
    "summ=interiorA+interiorB+interiorC+interiorD+interiorE\n",
    "\n",
    "print \"exterior angle A\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"interior angle A\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"Exterior angle B\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"interior angle B\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print \"interior angle C\",deg5,\"degrees\",mins5,\"minutes\"\n",
    "print \"interior angle D\",deg6,\"degrees\",mins6,\"minutes\"\n",
    "print \"interior angle E\",deg7,\"degrees\",mins7,\"minutes\"\n",
    "print check,\"degrees\",summ,\"degrees\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### pg 93, prob7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Interior angle A 58 degrees 45 minutes\n",
      "Interior angle B 105 degrees 30 minutes\n",
      "Interior angle C 109 degrees 30 minutes\n",
      "Interior angle D 86 degrees 15 minutes\n",
      "360 degrees 360.0 degrees\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "FB_AB=45+(30/60)\n",
    "FB_BC=60+(0/60)\n",
    "FB_CD=10+(30/60)\n",
    "FB_DA=75+(45/60)\n",
    "\n",
    "\n",
    "BB_AB=45+(30/60)\n",
    "BB_BC=60+(0/60)\n",
    "BB_CD=10+(30/60)\n",
    "BB_DA=75+(45/60)\n",
    "\n",
    "\n",
    "interiorA=180-(FB_AB+BB_DA)\n",
    "interiorB=(FB_BC+BB_AB)\n",
    "interiorC=180-(BB_BC+FB_CD)\n",
    "interiorD=(FB_DA+BB_CD)\n",
    "\n",
    "\n",
    "deg1=int(interiorA)\n",
    "mins1=int((interiorA-deg1)*60)\n",
    "deg2=int(interiorB)\n",
    "mins2=int((interiorB-deg2)*60)\n",
    "deg3=int(interiorC)\n",
    "mins3=int((interiorC-deg3)*60)\n",
    "deg4=int(interiorD)\n",
    "mins4=int((interiorD-deg4)*60)\n",
    "\n",
    "\n",
    "n=4\n",
    "check=(2*n-4)*90\n",
    "summ=interiorA+interiorB+interiorC+interiorD\n",
    "\n",
    "print \"Interior angle A\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"Interior angle B\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"Interior angle C\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"Interior angle D\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print check,\"degrees\",summ,\"degrees\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### pg 93, prob8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Interior angle A= 79 degrees 30 minutes\n",
      "Interior angle B= 99 degrees 30 minutes\n",
      "exterior angle C= 258 degrees 15 minutes\n",
      "Interior angle C= 101 degrees 45 minutes\n",
      "exterior angle D= 170 degrees 15 minutes\n",
      "Interior angle D= 189 degrees 45 minutes\n",
      "Interior angle E= 70 degrees 30 minutes\n",
      "540 degrees 541.0 degrees\n",
      "error= 1 degrees\n",
      "-12.0 minutes\n",
      "corrected values are:\n",
      "Interior angle A= 79 degrees 18.0 minutes\n",
      "Interior angle B= 99 degrees 18.0 minutes\n",
      "Interior angle C= 101 degrees 33.0 minutes\n",
      "Interior angle D= 189 degrees 33.0 minutes\n",
      "Interior angle E= 70 degrees 18.0 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=330+(0/60)\n",
    "BB_BC=48+(0/60)\n",
    "BB_CD=127+(45/60)\n",
    "BB_DE=120+(0/60)\n",
    "BB_EA=229+(30/60)\n",
    "\n",
    "FB_AB=150+(0/60)\n",
    "FB_BC=230+(30/60)\n",
    "FB_CD=306+(15/60)\n",
    "FB_DE=298+(0/60)\n",
    "FB_EA=49+(30/60)\n",
    "\n",
    "\n",
    "interiorA=BB_EA-FB_AB\n",
    "interiorB=BB_AB-FB_BC\n",
    "exteriorC=FB_CD-BB_BC\n",
    "interiorC=360-(258+(15/60))\n",
    "exteriorD=FB_DE-BB_CD\n",
    "interiorD=360-exteriorD\n",
    "interiorE=BB_DE-FB_EA\n",
    "\n",
    "deg1=int(interiorA)\n",
    "mins1=int((interiorA-deg1)*60)\n",
    "deg2=int(interiorB)\n",
    "mins2=int((interiorB-deg2)*60)\n",
    "deg3=int(exteriorC)\n",
    "mins3=int((exteriorC-deg3)*60)\n",
    "deg4=int(interiorC)\n",
    "mins4=int((interiorC-deg4)*60)\n",
    "deg5=int(exteriorD)\n",
    "mins5=int((exteriorD-deg5)*60)\n",
    "deg6=int(interiorD)\n",
    "mins6=int((interiorD-deg6)*60)\n",
    "deg7=int(interiorE)\n",
    "mins7=int((interiorE-deg7)*60)\n",
    "\n",
    "n=5\n",
    "check=(2*n-4)*90\n",
    "summ=interiorA+interiorB+interiorC+interiorD+interiorE\n",
    "\n",
    "print \"Interior angle A=\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"Interior angle B=\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"exterior angle C=\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"Interior angle C=\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print \"exterior angle D=\",deg5,\"degrees\",mins5,\"minutes\"\n",
    "print \"Interior angle D=\",deg6,\"degrees\",mins6,\"minutes\"\n",
    "print \"Interior angle E=\",deg7,\"degrees\",mins7,\"minutes\"\n",
    "print check,\"degrees\",summ,\"degrees\"\n",
    "\n",
    "error=541-540\n",
    "correction=(-60/5)\n",
    "print \"error=\",error,\"degrees\"\n",
    "print correction,\"minutes\"\n",
    "\n",
    "correctedvalue1=mins1+correction\n",
    "correctedvalue2=mins2+correction\n",
    "correctedvalue4=mins4+correction\n",
    "correctedvalue6=mins6+correction\n",
    "correctedvalue7=mins7+correction\n",
    "\n",
    "print \"corrected values are:\"\n",
    "print \"Interior angle A=\",deg1,\"degrees\",correctedvalue1,\"minutes\"\n",
    "print \"Interior angle B=\",deg2,\"degrees\",correctedvalue2,\"minutes\"\n",
    "print \"Interior angle C=\",deg4,\"degrees\",correctedvalue4,\"minutes\"\n",
    "print \"Interior angle D=\",deg6,\"degrees\",correctedvalue6,\"minutes\"\n",
    "print \"Interior angle E=\",deg7,\"degrees\",correctedvalue7,\"minutes\"\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### pg 95, prob1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Interior angle A= 44 degrees 0 minutes\n",
      "Interior angle B= 26 degrees 30 minutes\n",
      "exterior angle C= 200 degrees 15 minutes\n",
      "Interior angle C= 159 degrees 45 minutes\n",
      "Interior angle D= 42 degrees 15 minutes\n",
      "Interior angle E= 267 degrees 30 minutes\n",
      "540 degrees 540.0 degrees\n",
      "242.75 correct 330.25 correct\n",
      "corrected values are:\n",
      "FB_AB= 194 degrees 15 minutes\n",
      "FB_BC= 40 degrees 45 minutes\n",
      "FB_CD= 20 degrees 30 minutes\n",
      "FB_DE= 242 degrees 45 minutes\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=13+(0/60)\n",
    "BB_BC=222+(30/60)\n",
    "BB_CD=200+(30/60)\n",
    "BB_DE=62+(45/60)\n",
    "BB_EA=147+(45/60)\n",
    "\n",
    "FB_AB=191+(45/60)\n",
    "FB_BC=39+(30/60)\n",
    "FB_CD=22+(15/60)\n",
    "FB_DE=242+(45/60)\n",
    "FB_EA=330+(15/60)\n",
    "\n",
    "#(a)\n",
    "interiorA=FB_AB-BB_EA\n",
    "interiorB=FB_BC-BB_AB\n",
    "exteriorC=BB_BC-FB_CD\n",
    "interiorC=360-(200+(15/60))\n",
    "interiorD=FB_DE-BB_CD\n",
    "interiorE=FB_EA-BB_DE\n",
    "\n",
    "deg1=int(interiorA)\n",
    "mins1=int((interiorA-deg1)*60)\n",
    "deg2=int(interiorB)\n",
    "mins2=int((interiorB-deg2)*60)\n",
    "deg3=int(exteriorC)\n",
    "mins3=int((exteriorC-deg3)*60)\n",
    "deg4=int(interiorC)\n",
    "mins4=int((interiorC-deg4)*60)\n",
    "deg6=int(interiorD)\n",
    "mins6=int((interiorD-deg6)*60)\n",
    "deg7=int(interiorE)\n",
    "mins7=int((interiorE-deg7)*60)\n",
    "\n",
    "n=5\n",
    "check=(2*n-4)*90\n",
    "summ=interiorA+interiorB+interiorC+interiorD+interiorE\n",
    "\n",
    "print \"Interior angle A=\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"Interior angle B=\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"exterior angle C=\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"Interior angle C=\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print \"Interior angle D=\",deg6,\"degrees\",mins6,\"minutes\"\n",
    "print \"Interior angle E=\",deg7,\"degrees\",mins7,\"minutes\"\n",
    "print check,\"degrees\",summ,\"degrees\"\n",
    "\n",
    "#(b)\n",
    "\n",
    "print FB_DE,\"correct\",FB_EA,\"correct\"\n",
    "\n",
    "AB=FB_EA-180+interiorA\n",
    "BC=(194+(15/60))-180+interiorB\n",
    "CD=(40+(45/60))+180-exteriorC\n",
    "DE=(20+(30/60))+180+interiorD\n",
    "\n",
    "deg1=int(AB)\n",
    "mins1=int((AB-deg1)*60)\n",
    "deg2=int(BC)\n",
    "mins2=int((BC-deg2)*60)\n",
    "deg3=int(CD)\n",
    "mins3=int((CD-deg3)*60)\n",
    "deg4=int(DE)\n",
    "mins4=int((DE-deg4)*60)\n",
    "\n",
    "print \"corrected values are:\"\n",
    "print \"FB_AB=\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"FB_BC=\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"FB_CD=\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"FB_DE=\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### pg 95, prob1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "included angle A= 79 degrees 30 minutes\n",
      "included angle B= 99 degrees 30 minutes\n",
      "included angle C= 101 degrees 45 minutes\n",
      "exterior angle D= 171 degrees 15 minutes\n",
      "included angle D= 188 degrees 45 minutes\n",
      "exterior angle D= 289 degrees 30 minutes\n",
      "included angle E= 70 degrees 30 minutes\n",
      "540 degrees 540.0 degrees\n",
      "68.25 correct 148.75 correct 248.25 correct\n",
      "correction= 1\n",
      "corrected values are:\n",
      "FB_AB= 68 degrees 15 minutes\n",
      "FB_CD= 227 degrees 0 minutes\n",
      "BB_CD= 47 degrees 0 minutes\n",
      "FB_DE= 218 degrees 15 minutes\n",
      "BB_DE= 38 degrees 15 minutes\n",
      "AB=100m, BC=100m,CD=50m, scale=20m for plot\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=248+(15/60)\n",
    "BB_BC=326+(15/60)\n",
    "BB_CD=46+(0/60)\n",
    "BB_DE=38+(15/60)\n",
    "BB_EA=147+(45/60)\n",
    "\n",
    "FB_AB=68+(15/60)\n",
    "FB_BC=148+(45/60)\n",
    "FB_CD=224+(30/60)\n",
    "FB_DE=217+(15/60)\n",
    "FB_EA=327+(45/60)\n",
    "\n",
    "#(a)\n",
    "includedA=-FB_AB+BB_EA\n",
    "includedB=-FB_BC+BB_AB\n",
    "includedC=BB_BC-FB_CD\n",
    "includedD=360-(171+(15/60))\n",
    "exteriorD=FB_DE-BB_CD\n",
    "exteriorE=FB_EA-BB_DE\n",
    "includedE=360-(289+(30/60))\n",
    "\n",
    "deg1=int(includedA)\n",
    "mins1=int((includedA-deg1)*60)\n",
    "deg2=int(includedB)\n",
    "mins2=int((includedB-deg2)*60)\n",
    "deg3=int(includedC)\n",
    "mins3=int((includedC-deg3)*60)\n",
    "deg4=int(exteriorD)\n",
    "mins4=int((exteriorD-deg4)*60)\n",
    "deg5=int(includedD)\n",
    "mins5=int((includedD-deg5)*60)\n",
    "deg6=int(exteriorE)\n",
    "mins6=int((exteriorE-deg6)*60)\n",
    "deg7=int(includedE)\n",
    "mins7=int((includedE-deg7)*60)\n",
    "\n",
    "n=5\n",
    "check=(2*n-4)*90\n",
    "summ=includedA+includedB+includedC+includedD+includedE\n",
    "\n",
    "print \"included angle A=\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"included angle B=\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"included angle C=\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"exterior angle D=\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print \"included angle D=\",deg5,\"degrees\",mins5,\"minutes\"\n",
    "print \"exterior angle D=\",deg6,\"degrees\",mins6,\"minutes\"\n",
    "print \"included angle E=\",deg7,\"degrees\",mins7,\"minutes\"\n",
    "print check,\"degrees\",summ,\"degrees\"\n",
    "\n",
    "#(b)\n",
    "\n",
    "print FB_AB,\"correct\",FB_BC,\"correct\",BB_AB,\"correct\"\n",
    "\n",
    "\n",
    "FB_BC=(328+(45/60))-(326+(15/60))\n",
    "FB_CD=(224+(30/60))+FB_BC\n",
    "BB_CD=227-180\n",
    "correctionatD=1                     \n",
    "FB_DE=(217+(15/60))+1\n",
    "BB_DE=FB_DE-180\n",
    "\n",
    "deg1=int(FB_AB)\n",
    "mins1=int((FB_AB-deg1)*60)\n",
    "deg2=int(FB_CD)\n",
    "mins2=int((FB_CD-deg2)*60)\n",
    "deg3=int(BB_CD)\n",
    "mins3=int((BB_CD-deg3)*60)\n",
    "deg4=int(FB_DE)\n",
    "mins4=int((FB_DE-deg4)*60)\n",
    "deg5=int(BB_DE)\n",
    "mins5=int((BB_DE-deg5)*60)                    \n",
    "\n",
    "print \"correction=\",correctionatD\n",
    "print \"corrected values are:\"\n",
    "print \"FB_AB=\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"FB_CD=\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"BB_CD=\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"FB_DE=\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print \"BB_DE=\",deg5,\"degrees\",mins5,\"minutes\"\n",
    "print \"AB=100m, BC=100m,CD=50m, scale=20m for plot\"\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### pg 100, prob3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "59.0 correct 139.5 correct 239.0 correct\n",
      "correctionatC= 2.5\n",
      "correctionatD= 1.25\n",
      "correctionatE= 0.25\n",
      "corrected values are:\n",
      "BB_CD= 217.75  BB_DE= 209.25  BB_EA= 138.75\n",
      "FB_CD= 217 degrees 45 minutes\n",
      "FB_DE= 209 degrees 15 minutes\n",
      "FB_EA= 318 degrees 45 minutes\n",
      "declination= -10 degrees W\n",
      "true bearing values:\n",
      "BB_AB= 229.0\n",
      "BB_BC= 309.5\n",
      "BB_CD= 27.75\n",
      "BB_DE= 19.0\n",
      "BB_EA= 128.75\n",
      "FB_AB= 49\n",
      "FB_BC= 129.5\n",
      "FB_CD= 207.75\n",
      "FB_DE= 199.25\n",
      "FB_EA= 308.75\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=239+(00/60)\n",
    "BB_BC=317+(00/60)\n",
    "BB_CD=36+(30/60)\n",
    "BB_DE=29+(00/60)\n",
    "BB_EA=138+(45/60)\n",
    "\n",
    "FB_AB=59+(00/60)\n",
    "FB_BC=139+(30/60)\n",
    "FB_CD=215+(15/60)\n",
    "FB_DE=208+(0/60)\n",
    "FB_EA=318+(30/60)\n",
    "\n",
    "print FB_AB,\"correct\",FB_BC,\"correct\",BB_AB,\"correct\"\n",
    "\n",
    "correctionatC=2+(30/60)\n",
    "FB_CD=(215+(15/60))+correctionatC\n",
    "correctionatD=1+(15/60)\n",
    "FB_DE=208+correctionatD\n",
    "correctionatE=(15/60)\n",
    "FB_EA=(318+(30/60))+correctionatE\n",
    "\n",
    "\n",
    "deg2=int(FB_CD)\n",
    "mins2=int((FB_CD-deg2)*60)\n",
    "deg4=int(FB_DE)\n",
    "mins4=int((FB_DE-deg4)*60)\n",
    "deg5=int(FB_EA)\n",
    "mins5=int((FB_EA-deg5)*60)                    \n",
    "\n",
    "print \"correctionatC=\",correctionatC\n",
    "print \"correctionatD=\",correctionatD\n",
    "print \"correctionatE=\",correctionatE\n",
    "print \"corrected values are:\"\n",
    "print \"BB_CD=\",217.75,\" BB_DE=\",209.25,\" BB_EA=\",138.75\n",
    "print \"FB_CD=\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"FB_DE=\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print \"FB_EA=\",deg5,\"degrees\",mins5,\"minutes\"\n",
    "print \"declination=\",-10,\"degrees W\"\n",
    "\n",
    "BB_AB=239+(00/60)-10\n",
    "BB_BC=317+(00/60)-10+correctionatC\n",
    "BB_CD=36+(30/60)-10+correctionatD\n",
    "BB_DE=29+(00/60)-10\n",
    "BB_EA=138+(45/60)-10\n",
    "\n",
    "FB_AB=59-10\n",
    "FB_BC=(139+(30/60))-10\n",
    "FB_CD=(215+(15/60))-10+correctionatC\n",
    "FB_DE=(208+(0/60))-10+correctionatD\n",
    "FB_EA=(318+(30/60))-10+correctionatE\n",
    "\n",
    "print \"true bearing values:\"\n",
    "print \"BB_AB=\",BB_AB \n",
    "print \"BB_BC=\",BB_BC\n",
    "print \"BB_CD=\",BB_CD\n",
    "print \"BB_DE=\",BB_DE\n",
    "print \"BB_EA=\",BB_EA\n",
    "\n",
    "print \"FB_AB=\",FB_AB\n",
    "print \"FB_BC=\",FB_BC\n",
    "print \"FB_CD=\",FB_CD\n",
    "print \"FB_DE=\",FB_DE\n",
    "print \"FB_EA=\",FB_EA\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### pg 102, prob4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "45.5 correct 60.0 correct 45.5 correct\n",
      "correctionatC= 0.666666666667\n",
      "correctionatD= 1.5\n",
      "corrected values are:\n",
      "BB_CD=N 4.83 W  BB_BC=N 60 degrees W\n",
      "FB_CD=N 4.83 W  FB_DA=N 85 degrees W\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=45+(30/60)\n",
    "BB_BC=60+(40/60)\n",
    "BB_CD=3+(20/60)\n",
    "BB_DA=85+(00/60)\n",
    "\n",
    "\n",
    "FB_AB=45+(30/60)\n",
    "FB_BC=60+(0/60)\n",
    "FB_CD=5+(30/60)\n",
    "FB_DA=83+(30/60)\n",
    "\n",
    "\n",
    "print FB_AB,\"correct\",FB_BC,\"correct\",BB_AB,\"correct\"\n",
    "\n",
    "correctionatC=-0+(40/60)\n",
    "FB_CD=(5+(30/60))+correctionatC\n",
    "correctionatD=1+(30/60)\n",
    "FB_DA=83+(30/60)+correctionatD\n",
    "\n",
    "\n",
    "\n",
    "deg2=int(FB_CD)\n",
    "mins2=int((FB_CD-deg2)*60)\n",
    "deg4=int(FB_DA)\n",
    "mins4=int((FB_DA-deg4)*60)\n",
    "            \n",
    "\n",
    "print \"correctionatC=\",correctionatC;\n",
    "print \"correctionatD=\",correctionatD\n",
    "\n",
    "print \"corrected values are:\";\n",
    "print \"BB_CD=N\",4.83,\"W\",\" BB_BC=N\",60,\"degrees W\";\n",
    "print \"FB_CD=N\",4.83,\"W\",\" FB_DA=N\",85,\"degrees W\"\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### pg 102, prob4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "80.0 correct 40.5 correct 80.0 correct\n",
      "correctionatB= 0.75\n",
      "correctionatC= 0.5\n",
      "corrected values are:\n",
      "BB_AB=N 40.5 E  BB_BC=N 80 degrees E\n",
      "FB_CD=N 20 E  FB_DA=S 80 degrees E\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=41+(15/60)\n",
    "BB_BC=79+(30/60)\n",
    "BB_CD=20+(0/60)\n",
    "BB_DA=80+(00/60)\n",
    "\n",
    "\n",
    "FB_AB=40+(30/60)\n",
    "FB_BC=80+(45/60)\n",
    "FB_CD=19+(30/60)\n",
    "FB_DA=80+(00/60)\n",
    "\n",
    "\n",
    "print FB_DA,\"correct\",FB_AB,\"correct\",BB_DA,\"correct\";\n",
    "\n",
    "correctionatB=-0+(45/60)\n",
    "FB_BC=(80+(45/60))+correctionatB\n",
    "correctionatC=0+(30/60)\n",
    "FB_CD=19+(30/60)+correctionatC\n",
    "        \n",
    "\n",
    "print \"correctionatB=\",correctionatB;\n",
    "print \"correctionatC=\",correctionatC;\n",
    "\n",
    "print \"corrected values are:\";\n",
    "print \"BB_AB=N\",40.5,\"E\",\" BB_BC=N\",80,\"degrees E\";\n",
    "print \"FB_CD=N\",20,\"E\",\" FB_DA=S\",80,\"degrees E\"\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### pg 104, prob6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "included angle A= 79 degrees 45 minutes\n",
      "included angle B= 99 degrees 30 minutes\n",
      "included angle C= 101 degrees 45 minutes\n",
      "exterior angle D= 171 degrees 30 minutes\n",
      "included angle D= 188 degrees 30 minutes\n",
      "exterior angle D= 289 degrees 30 minutes\n",
      "included angle E= 70 degrees 30 minutes\n",
      "540 degrees 540.0 degrees\n",
      "59.0 correct 139.5 correct 239.0 correct\n",
      "correction= 1.25\n",
      "corrected values are:\n",
      "BB_BC= 319.5 BB_CD= 73.75 degrees BB_DE= 29.25 degrees\n",
      "FB_CD= 217.75 FB_DE= 209.25 degrees FB_EA= 318.75 degrees\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "BB_AB=239+(00/60)\n",
    "BB_BC=317+(0/60)\n",
    "BB_CD=36+(30/60)\n",
    "BB_DE=29+(00/60)\n",
    "BB_EA=138+(45/60)\n",
    "\n",
    "FB_AB=59+(0/60)\n",
    "FB_BC=139+(30/60)\n",
    "FB_CD=215+(15/60)\n",
    "FB_DE=208+(0/60)\n",
    "FB_EA=318+(30/60)\n",
    "\n",
    "#(a)\n",
    "includedA=-FB_AB+BB_EA\n",
    "includedB=-FB_BC+BB_AB\n",
    "includedC=BB_BC-FB_CD\n",
    "includedD=360-(171+(30/60))\n",
    "exteriorD=FB_DE-BB_CD\n",
    "exteriorE=FB_EA-BB_DE\n",
    "includedE=360-(289+(30/60))\n",
    "\n",
    "deg1=int(includedA)\n",
    "mins1=int((includedA-deg1)*60)\n",
    "deg2=int(includedB)\n",
    "mins2=int((includedB-deg2)*60)\n",
    "deg3=int(includedC)\n",
    "mins3=int((includedC-deg3)*60)\n",
    "deg4=int(exteriorD)\n",
    "mins4=int((exteriorD-deg4)*60)\n",
    "deg5=int(includedD)\n",
    "mins5=int((includedD-deg5)*60)\n",
    "deg6=int(exteriorE)\n",
    "mins6=int((exteriorE-deg6)*60)\n",
    "deg7=int(includedE)\n",
    "mins7=int((includedE-deg7)*60)\n",
    "\n",
    "n=5\n",
    "check=(2*n-4)*90\n",
    "summ=includedA+includedB+includedC+includedD+includedE\n",
    "\n",
    "print \"included angle A=\",deg1,\"degrees\",mins1,\"minutes\"\n",
    "print \"included angle B=\",deg2,\"degrees\",mins2,\"minutes\"\n",
    "print \"included angle C=\",deg3,\"degrees\",mins3,\"minutes\"\n",
    "print \"exterior angle D=\",deg4,\"degrees\",mins4,\"minutes\"\n",
    "print \"included angle D=\",deg5,\"degrees\",mins5,\"minutes\"\n",
    "print \"exterior angle D=\",deg6,\"degrees\",mins6,\"minutes\"\n",
    "print \"included angle E=\",deg7,\"degrees\",mins7,\"minutes\"\n",
    "print check,\"degrees\",summ,\"degrees\"\n",
    "\n",
    "#(b)\n",
    "\n",
    "print FB_AB,\"correct\",FB_BC,\"correct\",BB_AB,\"correct\"\n",
    "\n",
    "\n",
    "\n",
    "FB_CD=(215+(15/60))+(2+(30/60))\n",
    "BB_CD=(37+(45/60))\n",
    "correctionatD=(1+(15/60))                    \n",
    "FB_DE=(208+(0/60))+correctionatD\n",
    "FB_EA=(318+(30/60))+(0+(15/60))\n",
    "\n",
    "                 \n",
    "print \"correction=\",correctionatD;\n",
    "print \"corrected values are:\";\n",
    "print \"BB_BC=\",319.5, \"BB_CD=\",73.75,\"degrees\", \"BB_DE=\",29.25,\"degrees\";\n",
    "print \"FB_CD=\",217.75, \"FB_DE=\",209.25,\"degrees\", \"FB_EA=\",318.75,\"degrees\";\n",
    "\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}