(************** Content-type: application/mathematica ************** Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 69814, 3009]*) (*NotebookOutlinePosition[ 77544, 3254]*) (* CellTagsIndexPosition[ 75893, 3197]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{Cell["System Operations", "Title", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Index", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "This index gives a list of keywords that are associated with various cells \ in this Notebook. If you Command-Double-click one of the keywords below, ", StyleBox["Mathematica", FontSlant->"Italic"], " will find the cell associated with that keyword, select it, and display \ it in the center of your window." }], "Text", AspectRatioFixed->False, ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ AbsoluteTime CForm Character Characters Copy Date DeleteFile Directory Encode File`append File`display File`output File`reading FileDate FileNames Files`finding Files`manipulating Files`reading`data Files`splicing Files`writing FindList FortranForm FullForm Get InputForm MatrixForm ReadList ReNameFile Save SessionTime SetDirectory Short Sort Splice StringDrop StringInsert StringJoin StringLength StringPosition StringReplace StringReverse Strings`manipulating Strings`reading Strings`searching StringTake TableForm TeXForm TimeUsed TimeZone Timing TreeForm Word \ \>", "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Special Output Forms", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Syntax (see pages 182 and 343)", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["CForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"CForm"], Cell[TextData[{ StyleBox["CForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " writes out ", StyleBox["expr", FontSlant->"Italic"], " in a form that can be used in a C program." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["FortranForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"FortranForm"], Cell[TextData[{ StyleBox["FortranForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "writes out ", StyleBox["expr", FontSlant->"Italic"], " for Fortran." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["TeXForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"TeXForm"], Cell[TextData[{ StyleBox["TeXForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " writes out ", StyleBox["expr", FontSlant->"Italic"], " in TeX input form." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["FullForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"FullForm"], Cell[TextData[{ StyleBox["FullForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the explicit form of ", StyleBox["expr", FontSlant->"Italic"], " in functional notation." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["TreeForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"TreeForm"], Cell[TextData[{ StyleBox["TreeForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives a representation of the expression tree for ", StyleBox["expr", FontSlant->"Italic"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["InputForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"InputForm"], Cell[TextData[{ StyleBox["InputForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives a one-dimensional form suitable for input to ", StyleBox["Mathematica", FontSlant->"Italic"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Short", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Short"], Cell[TextData[{ StyleBox["Short[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " shows a one-line outline of ", StyleBox["expr", FontSlant->"Italic"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["TableForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"TableForm"], Cell[TextData[{ StyleBox["TableForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["list ", FontSlant->"Italic"], StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " prints the list in tabular form." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["MatrixForm", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"MatrixForm"], Cell[TextData[{ StyleBox["MatrixForm[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["list", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " prints the list in matrix form." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["TeXForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["TeXForm[ x^5 / 7 + y^3 - Log[y] ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {{{x^5}}\\over 7} + {y^3} - \\log (y)\ \>", "\<\ {{{x^5}}\\over 7} + {y^3} - \\log (y)\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["CForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["CForm[ x^5 / 7 + y^3 - Log[y] ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ Power(x,5)/7 + Power(y,3) - Log(y)\ \>", "\<\ Power(x,5)/7 + Power(y,3) - Log(y)\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["FortranForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FortranForm[ x^5 / 7 + y^3 - Log[y] ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ x**5/7 + y**3 - Log(y)\ \>", "\<\ x**5/7 + y**3 - Log(y)\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["FullForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FullForm[ x^2 / 3 + 1 / y^2 ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ FullForm[x^2/3 + y^(-2)]\ \>", "\<\ Plus[Times[Rational[1, 3], Power[x, 2]], Power[y, -2]]\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["TreeForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["TreeForm[ x^2 / 3 + 1 / y^2 ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ TreeForm[x^2/3 + y^(-2)]\ \>", "\<\ Plus[| , | ] Times[| , | ] Power[y, -2] Rational[1, 3] Power[x, 2]\ \>"], "Output", LineSpacing->{1, 0}, ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "A Note on ", StyleBox["FullForm", FontFamily->"Courier"], " and ", StyleBox["TreeForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "In most output formats, the way ", StyleBox["Mathematica", FontSlant->"Italic"], " prints a particular expression often bears little relation to the way in \ which it stores that expression internally. For most purposes, you never need \ to know exactly how an expression is stored. But if you want to manipulate \ the structure of an expression, particularly as part of a progam, you may \ need to see what its internal form is. You can do this using an output \ format such as ", StyleBox["FullForm", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " or ", StyleBox["TreeForm", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "." }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["InputForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["InputForm", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " allows you to generate a textual form for any ", StyleBox["Mathematica", FontSlant->"Italic"], " expression, suitable for editing or other kinds of textual manipulation. \ Note that in a ", StyleBox["Mathematica", FontSlant->"Italic"], " notebook you can typically switch between output form and input form \ versions of a particular cell by choosing the \"formatted\" and \"unformatted\ \" options for the cell." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["x^4 / 4 + 1 / y^2", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ x^4/4 + y^(-2)\ \>", "\<\ 4 x -2 -- + y 4\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["InputForm[%]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ InputForm[x^4/4 + y^(-2)]\ \>", "\<\ x^4/4 + y^(-2)\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["Short", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The second input shows how to use ", StyleBox["Short", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " in a \"postfix form\"." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Short[ Expand[(1 + x + y)^12]]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ Short[\"<<>>\"]\ \>", "\<\ 2 12 1 + 12 x + 66 x + <<87>> + y\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Expand[(1 + x + y)^12] // Short", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ Short[\"<<>>\"]\ \>", "\<\ 2 12 1 + 12 x + 66 x + <<87>> + y\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["TableForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["tab = Table[(i + 45)^j, {i, 3}, {j, 3}];", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["TableForm[tab]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ TableForm[{{46, 2116, 97336}, {47, 2209, 103823}, {48, 2304, 110592}}]\ \>", "\<\ 46 2116 97336 47 2209 103823 48 2304 110592\ \>"], "Output", LineSpacing->{1, 0}, ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["MatrixForm", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["MatrixForm", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " displays the list as a matrix, in which each \"cell\" has the same size." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["tab = Table[(i + 45)^j, {i, 3}, {j, 3}];", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["MatrixForm[tab]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ MatrixForm[{{46, 2116, 97336}, {47, 2209, 103823}, {48, 2304, 110592}}]\ \>", "\<\ 46 2116 97336 47 2209 103823 48 2304 110592\ \>"], "Output", LineSpacing->{1, 0}, ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Working with External Files", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ Note: Some of these examples are for demonstration purposes only; they are \ machine-specific, and will yield different output (or none) on your computer.\ \ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}, FontSize->12], Cell[CellGroupData[{Cell[TextData[{ "Reading and Writing ", StyleBox["Mathematica", FontSlant->"Italic"], " Files" }], "Subsection", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Files`writing"], Cell[CellGroupData[{Cell["Syntax (see pages 178 and 477)", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["Read in a File", "Special3", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"File`reading"], Cell[TextData[{ StyleBox["<<", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["filename ", FontSlant->"Italic"], " reads in a plain text file of ", StyleBox["Mathematica", FontSlant->"Italic"], " input." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Output a File", "Special3", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"File`output"], Cell[TextData[{ StyleBox["expr", FontSlant->"Italic"], " ", StyleBox[">>", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["filename", FontSlant->"Italic"], " outputs ", StyleBox["expr", FontSlant->"Italic"], " to a file as plain text." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Append a File", "Special3", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"File`append"], Cell[TextData[{ StyleBox["expr", FontSlant->"Italic"], " ", StyleBox[">>>", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["filename", FontSlant->"Italic"], " appends ", StyleBox["expr", FontSlant->"Italic"], " to a file." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Display a File", "Special3", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"File`display"], Cell[TextData[{ StyleBox["!!", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["filename", FontSlant->"Italic"], " displays the contents of a plain text file." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Save", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Save"], Cell[TextData[{ StyleBox["Save[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["filename ", FontSlant->"Italic"], StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["f", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["g", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ...", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " saves definitions for variables or functions in a file." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Encode", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->{"Encode", "Get"}], Cell[TextData[{ StyleBox["Encode[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["source", FontSlant->"Italic"], " ", StyleBox["\",\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["dest", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " writes an encoded version of the file source to the file ", StyleBox["dest ", FontSlant->"Italic"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["<<", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["dest", FontSlant->"Italic"], " reads in an encoded file." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["Encode[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["source", FontSlant->"Italic"], " ", StyleBox["\",\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["dest", FontSlant->"Italic"], " ", StyleBox["\",\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["key", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " encodes with a specific key." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["Get[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["dest", FontSlant->"Italic"], " ", StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["key", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " reads in a file that was encoded with a key." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Reading, Displaying and Writing to Files", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["Expand[ (x + y)^3 ] >> tmp", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!tmp", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["x^3 + 3*x^2*y + 3*x*y^2 + y^3", "Print", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["<PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ x^3 + 3*x^2*y + 3*x*y^2 + y^3\ \>", "\<\ 3 2 2 3 x + 3 x y + 3 x y + y\ \>"], "Output", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Appending to a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["Expand[ (x + y) ^ 4] >>> tmp", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!tmp", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ x^3 + 3*x^2*y + 3*x*y^2 + y^3 x^4 + 4*x^3*y + 6*x^2*y^2 + 4*x*y^3 + y^4\ \>", "Print", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Input from a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "It is sometimes useful to prepare input in an external file using a text \ editor and then read in the file. The first line shows the contents of the \ file ", StyleBox["gdef", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox[" ", FontSlant->"Italic"], "and the second line inputs this file into ", StyleBox["Mathematica", FontSlant->"Italic"], "." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!gdef", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["g[x_] := Cos[x^2] + Sin[x^3]/Tan[7*x]", "Print", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["<PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["g[.23]", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0.998123897430719\ \>", "\<\ 0.998124\ \>"], "Output", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Saving Definitions", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "Note that ", StyleBox["Mathematica", FontSlant->"Italic"], " automatically saves both the actual definition of ", StyleBox["f", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], ", and the definition of ", StyleBox["c", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " on which it depends. In a later session, you can reinstate the \ definitions you saved simply by reading in the file ", StyleBox["fdef", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["f[x_] := x^2 + c", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["c = 17", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 17\ \>", "\<\ 17\ \>"], "Output", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["Save[\"fdef\", f]", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["Clear[f]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!fdef", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ f[x_] := x^2 + c c = 17\ \>", "Print", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["<{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 17\ \>", "\<\ 17\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["f[3]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 26\ \>", "\<\ 26\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Encoding a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["Factor[x^2 - 1] >> tmp2", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["Encode[\"tmp2\", \"tmp2.x\"]", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!tmp2.x", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ (*!1N!*)mcm _QZ9tcI1cfre*Wo8:) P\ \>", "Print", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["<PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ (-1 + x)*(1 + x)\ \>", "\<\ (-1 + x) (1 + x)\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Encoding a File Using a Key", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["Encode[\"tmp2\", \"tmp3.x\", \"secret\"]", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!tmp3.x", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ (*!1N!*)/*4 9salC?XJn3r{9.)cv@:h\ \>", "Print", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Get[\"tmp3.x\", \"secret\"]", "Input", PageWidth->PaperWidth, ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ (-1 + x)*(1 + x)\ \>", "\<\ (-1 + x) (1 + x)\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Finding and Manipulating Files", "Subsection", ImageRegion->{{0, 1}, {0, 1}}, CellTags->{"Files`finding", "Files`manipulating"}], Cell[CellGroupData[{Cell["Syntax (see pages 180, 489, 492 and 500)", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["Directory", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Directory"], Cell[TextData[{ StyleBox["Directory[ ]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives your current working directory." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["SetDirectory", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"SetDirectory"], Cell[TextData[{ StyleBox["SetDirectory[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["dir", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " sets your current working directory." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["FileNames", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"FileNames"], Cell[TextData[{ StyleBox["FileNames[ ]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " lists the files in your current working directory." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["FileNames[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["form", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " lists all files in your current working directory whose names match the \ string pattern form." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Copy", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Copy"], Cell[TextData[{ StyleBox["Copy[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file1", FontSlant->"Italic"], " ", StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file2", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " copies ", StyleBox["file1", FontSlant->"Italic"], " to ", StyleBox["file2", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["ReNameFile", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"ReNameFile"], Cell[TextData[{ StyleBox["ReNameFile[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file1", FontSlant->"Italic"], " ", StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file2", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives ", StyleBox["file1", FontSlant->"Italic"], " the name ", StyleBox["file2", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["DeleteFile", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"DeleteFile"], Cell[TextData[{ StyleBox["DeleteFile[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " deletes a file." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["FileDate", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"FileDate"], Cell[TextData[{ StyleBox["FileDate[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the last modification date for a file." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["FindList", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"FindList"], Cell[TextData[{ StyleBox["FindList[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file", FontSlant->"Italic"], " ", StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["text", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives a list of all lines in a file that contain the specified text." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["FindList[FileNames[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["], \"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["text", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " searches all files in your current directory." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["Directory", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Directory[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"MacII:Mathematica\"\ \>", "\<\ MacII:Mathematica\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Setting Your Directory", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["SetDirectory[\"Examples\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"MacII:Mathematica:Examples\"\ \>", "\<\ MacII:Mathematica:Examples\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Listing the File Names in the Directory", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FileNames[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {numbers, OldTest.m, paper.mtex, Special.m, Test1.m, Test1.ma, Test2.m, Test3.m, Test4.m}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Listing File Names of a Specified Form", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FileNames[ \"Test*.m\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {Test1.m, Test2.m, Test3.m, Test4.m}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Copying a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["CopyFile[\"Test3.m\", \"NewTest.m\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ NewTest.m\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["FileNames[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {NewTest.m, numbers, OldTest.m, paper.mtex, Special.m, Test1.m, Test1.ma, Test2.m, Test3.m, Test4.m}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Renaming a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["RenameFile[\"Test4.m\", \"TransformTest.m\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ TransformTest.m\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["FileNames[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {NewTest.m, numbers, OldTest.m, paper.mtex, Special.m, Test1.m, Test1.ma, Test2.m, Test3.m, TransformTest.m}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Deleting a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["DeleteFile[\"Test1.m\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FileNames[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {NewTest.m, numbers, OldTest.m, paper.mtex, Special.m, Test1.ma, Test2.m, Test3.m, TransformTest.m}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Getting the Modification Date of a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FileDate[\"Test2.m\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {1991, 1, 8, 16, 34, 42}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Finding Text in a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FindList[\"TransformTest.m\", \"Laplace\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {a new package for the Laplace Transform is, it computes the Laplace transform of}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Reading Data Files", "Subsection", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Files`reading`data"], Cell[CellGroupData[{Cell["Syntax (see pages 181 and 493) ", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["ReadList[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["filename ", FontSlant->"Italic"], StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["Number]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " reads numbers from a file, and returns a ", StyleBox["Mathematica", FontSlant->"Italic"], " list of them." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"ReadList"], Cell[TextData[{ StyleBox["ReadList[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["filename ", FontSlant->"Italic"], StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["{Number,", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["Number}]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " reads numbers from a file, putting each successive pair in a list." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["ReadList[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["filename ", FontSlant->"Italic"], StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["Number, RecordLists -> True]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " reads numbers from a file, making a separate list for each line in the \ file." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Reading a List of Numbers", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The first line displays the contents of the file ", StyleBox["numbers.data", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!numbers.data", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ 56.5 -23 14 23 78 12.78\ \>", "Print", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["ReadList[\"numbers.data\", Number]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {56.5, -23, 14, 23, 78, 12.78}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Reading Pairs of Numbers", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["ReadList[\"numbers.data\", {Number, Number}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {{56.5, -23}, {14, 23}, {78, 12.78}}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Making Each Line a Separate List", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ ReadList[\"numbers.data\", Number, RecordLists -> True ]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {{56.5, -23, 14}, {23, 78, 12.78}}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Splicing into External Files", "Subsection", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Files`splicing"], Cell[CellGroupData[{Cell["Syntax (see pages 184", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["Splice[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["infile", FontSlant->"Italic"], " ", StyleBox["\",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox[" ", FontSize->12], StyleBox["\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["outfile", FontSlant->"Italic"], " ", StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " splices ", StyleBox["Mathematica", FontSlant->"Italic"], " output into ", StyleBox["infile ", FontSlant->"Italic"], ", sending the output to ", StyleBox["outfile ", FontSlant->"Italic"], ". " }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Splice"]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["Splice", FontFamily->"Courier"] }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The file extension ", StyleBox[".mtex ", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "causes the ", StyleBox["Mathematica", FontSlant->"Italic"], " output to be put in a form suitable for input into the TeX typesetting \ system (see note below). " }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!paper.mtex", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ if we compute <* Integrate[Sin[x]^2, x] *> we see that ....\ \>", "Print", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Splice[\"paper.mtex\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ paper.mtex\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["!!paper.tex", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ if we compute {x\\over 2} - {{\\sin (2\\,x)}\\over 4} we see that ....\ \>", "Print", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["A Note on Splice", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "Text in the input file not enclosed between ", StyleBox["<*", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " and", StyleBox[" ", FontFamily->"Courier", FontWeight->"Bold"], StyleBox["*>", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " is copied without change to the output file. Text between ", StyleBox["<*", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " and ", StyleBox["*>", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " is treated as ", StyleBox["Mathematica", FontSlant->"Italic"], " input and is evaluated. The default format for ", StyleBox["Mathematica", FontSlant->"Italic"], " output is determined by the extension of the input file name: ", StyleBox["name ", FontSlant->"Italic"], StyleBox[".mc", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives output formated by ", StyleBox["CForm", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], ", ", StyleBox["name", FontSlant->"Italic"], StyleBox[" ", FontFamily->"Courier", FontSize->12, FontWeight->"Bold", FontSlant->"Italic"], StyleBox[".mf", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " by ", StyleBox["FortranForm", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], ", and ", StyleBox["name", FontSlant->"Italic"], StyleBox[" ", FontFamily->"Courier", FontSize->12, FontWeight->"Bold", FontSlant->"Italic"], StyleBox[".mtex", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " by ", StyleBox["TeXForm", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "." }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Date and Time Functions", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Syntax (see page 523)", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["Date", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Date"], Cell[TextData[{ StyleBox["Date[ ]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the current local date and time in the form ", StyleBox["{", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["year", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["month", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["day", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["hour", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["minute", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["second", FontSlant->"Italic"], " ", StyleBox["}", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["Date[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["z", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the current date and time in time zone ", StyleBox["z ", FontSlant->"Italic"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["TimeZone", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"TimeZone"], Cell[TextData[{ StyleBox["TimeZone[ ]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the time zone assumed by your computer." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["AbsoluteTime", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"AbsoluteTime"], Cell[TextData[{ StyleBox["AbsoluteTime[ ]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the total number of seconds since the beginning of January 1, \ 1900." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["SessionTime", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"SessionTime"], Cell[TextData[{ StyleBox["SessionTime[ ]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the total number of seconds elapsed since the beginning of your ", StyleBox["Mathematica", FontSlant->"Italic"], " session." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["TimeUsed", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"TimeUsed"], Cell[TextData[{ StyleBox["TimeUsed[ ]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the total number of seconds used in your current ", StyleBox["Mathematica", FontSlant->"Italic"], " session." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Timing", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Timing"], Cell[TextData[{ StyleBox["Timing[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["expr", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " evaluates ", StyleBox["expr ", FontSlant->"Italic"], ", and returns a list of the CPU time needed, together with the result \ obtained." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["Date", FontFamily->"Courier"], " " }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Date[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {1993, 6, 1, 13, 5, 50}\ \>", "\<\ {1993, 6, 1, 13, 5, 50}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["TimeZone", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["TimeZone[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ -5\ \>", "\<\ -5\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["The Date in Another Time Zone", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ This gives the current time and date in time zone +9, the time zone for \ Japan.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Date[9]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {1993, 6, 2, 3, 10, 38}\ \>", "\<\ {1993, 6, 2, 3, 10, 38}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["AbsoluteTime", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["AbsoluteTime[ ] ", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 2.947929047190995*10^9\ \>", "\<\ 9 2.947929047190995 10\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["SessionTime", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["SessionTime[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 7743.854195\ \>", "\<\ 7743.854195\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["TimeUsed", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["TimeUsed[ ]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 99.6\ \>", "\<\ 99.6\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["Timing", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "Note that the semicolon causes the result of the calculation to be given \ as ", StyleBox["Null", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], "." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Timing[ 1000!;]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {0.3166666666666629*Second, Null}\ \>", "\<\ {0.316667 Second, Null}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Operations on Strings ", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Manipulating Strings", "Subsection", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Strings`manipulating"], Cell[CellGroupData[{Cell["Syntax (see page 376)", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringLength", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringLength"], Cell[TextData[{ StyleBox["StringLength[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives the number of characters in a string." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringJoin", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringJoin"], Cell[TextData[{ StyleBox["s1", FontSlant->"Italic"], " ", StyleBox["<> ", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["s2", FontSlant->"Italic"], " ", StyleBox["<>", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ... or ", StyleBox["StringJoin[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s1", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["s2", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ...", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " joins several strings together." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringReverse", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringReverse"], Cell[TextData[{ StyleBox["StringReverse[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], " ", StyleBox["] ", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " reverses the characters in a string." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringTake", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringTake"], Cell[TextData[{ StyleBox["StringTake[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["n", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " makes a string by taking the first ", StyleBox["n", FontSlant->"Italic"], " characters from ", StyleBox["s", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["StringTake[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["{", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["n", FontSlant->"Italic"], " ", StyleBox["}]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " takes the ", StyleBox["n", FontSlant->"Italic"], " th character of ", StyleBox["s", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["StringTake[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["{", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["n1", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["n2", FontSlant->"Italic"], " ", StyleBox["}]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " takes characters ", StyleBox["n1", FontSlant->"Italic"], " to ", StyleBox["n2", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringDrop", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringDrop"], Cell[TextData[{ StyleBox["StringDrop[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["n", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " makes a string by dropping the first ", StyleBox["n", FontSlant->"Italic"], " characters in ", StyleBox["s ", FontSlant->"Italic"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["StringDrop[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["{", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["n1", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["n2", FontSlant->"Italic"], " ", StyleBox["}]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " drops characters ", StyleBox["n1", FontSlant->"Italic"], " through ", StyleBox["n2", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringInsert", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringInsert"], Cell[TextData[{ StyleBox["StringInsert[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["snew", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["n", FontSlant->"Italic"], StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " inserts the string ", StyleBox["snew", FontSlant->"Italic"], " at position ", StyleBox["n", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringPosition", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringPosition"], Cell[TextData[{ StyleBox["StringPosition[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["sub", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives a list of the starting and ending positions at which ", StyleBox["sub", FontSlant->"Italic"], " appears as a substring of ", StyleBox["s", FontSlant->"Italic"], " ." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["StringReplace", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"StringReplace"], Cell[TextData[{ StyleBox["StringReplace[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["{", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s1", FontSlant->"Italic"], " ", StyleBox["->", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["sp1", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["s2", FontSlant->"Italic"], " ", StyleBox["->", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["sp2", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ...", StyleBox["}]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " replaces the ", StyleBox["si", FontSlant->"Italic"], " by the corresponding ", StyleBox["spi ", FontSlant->"Italic"], " whenever they occur as substrings of ", StyleBox["s ", FontSlant->"Italic"], "." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Characters", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Characters"], Cell[TextData[{ StyleBox["Characters[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s", FontSlant->"Italic"], " ", StyleBox["]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives a list of the characters in a string." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["Sort", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"Sort"], Cell[TextData[{ StyleBox["Sort[{", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["s1", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["s2", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ...", StyleBox["}]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " sorts a list of strings into standard \"dictionary\" order." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Joining Strings", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\"aaaa\" <> \"bbbbb\" <> \"ccccc\"", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"aaaabbbbbccccc\"\ \>", "\<\ aaaabbbbbccccc\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["StringLength", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["alpha = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\ \>", "\<\ ABCDEFGHIJKLMNOPQRSTUVWXYZ\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringLength[alpha]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 26\ \>", "\<\ 26\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["StringReverse", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "Note that ", StyleBox["alpha", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " was defined in the previous example." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["StringReverse[alpha]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"ZYXWVUTSRQPONMLKJIHGFEDCBA\"\ \>", "\<\ ZYXWVUTSRQPONMLKJIHGFEDCBA\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["StringTake", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ Note that negative positions are counted from the end of the string.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["StringTake[alpha, 5]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"ABCDE\"\ \>", "\<\ ABCDE\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringTake[alpha, {5}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"E\"\ \>", "\<\ E\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringTake[alpha, {-10, -2}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"QRSTUVWXY\"\ \>", "\<\ QRSTUVWXY\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["StringDrop", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ Note that negative positions are counted from the end of the string.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["StringDrop[alpha, 5]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"FGHIJKLMNOPQRSTUVWXYZ\"\ \>", "\<\ FGHIJKLMNOPQRSTUVWXYZ\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringDrop[alpha, -5]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"ABCDEFGHIJKLMNOPQRSTU\"\ \>", "\<\ ABCDEFGHIJKLMNOPQRSTU\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringDrop[alpha, {10, 15}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"ABCDEFGHIPQRSTUVWXYZ\"\ \>", "\<\ ABCDEFGHIPQRSTUVWXYZ\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["StringInsert", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ Note that negative positions are counted from the end of the string.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["StringInsert[alpha, \"XXX\", 3]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"ABXXXCDEFGHIJKLMNOPQRSTUVWXYZ\"\ \>", "\<\ ABXXXCDEFGHIJKLMNOPQRSTUVWXYZ\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringInsert[alpha, \"XXX\", -3]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"ABCDEFGHIJKLMNOPQRSTUVWXXXXYZ\"\ \>", "\<\ ABCDEFGHIJKLMNOPQRSTUVWXXXXYZ\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["StringPosition", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["newstr = \"abcdabcdaabcabcd\"", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"abcdabcdaabcabcd\"\ \>", "\<\ abcdabcdaabcabcd\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringPosition[newstr, \"abc\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {{1, 3}, {5, 7}, {10, 12}, {13, 15}}\ \>", "\<\ {{1, 3}, {5, 7}, {10, 12}, {13, 15}}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell[TextData[{ "Using ", StyleBox["StringReplace", FontFamily->"Courier"], "" }], "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "Note that ", StyleBox["newstr", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox[" ", FontSlant->"Italic"], "was defined in the previous example." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ StringReplace[newstr, {\"a\" -> \"XX\", \"bc\" -> \"Y\"}]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"XXYdXXYdXXXXYXXYd\"\ \>", "\<\ XXYdXXYdXXXXYXXYd\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Converting a String to a List", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ In doing some kinds of string manipulation, you may find it useful to convert \ strings into lists of characters, and then perform operations on these lists.\ \ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Characters[\"abcdefg\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {\"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\"}\ \>", "\<\ {a, b, c, d, e, f, g}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["RotateLeft[%]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {\"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"a\"}\ \>", "\<\ {b, c, d, e, f, g, a}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["StringJoin[%]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \"bcdefga\"\ \>", "\<\ bcdefga\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Sorting a String", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Sort[{\"cat\", \"fish\", \"catfish\", \"Cat\"}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {\"cat\", \"Cat\", \"catfish\", \"fish\"}\ \>", "\<\ {cat, Cat, catfish, fish}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Searching and Reading Strings", "Subsection", ImageRegion->{{0, 1}, {0, 1}}, CellTags->{"Strings`searching", "Strings`reading"}], Cell[CellGroupData[{Cell["Syntax (see pages 494 and 504) ", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["ReadList", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->{"ReadList", "Character", "Word"}], Cell[TextData[{ StyleBox["ReadList[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["Character]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " reads a sequence of characters from a file, and puts them in a ", StyleBox["Mathematica", FontSlant->"Italic"], " list." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["ReadList[", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file", FontSlant->"Italic"], StyleBox[",", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " ", StyleBox["Word]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " reads a sequence of words from a file, and puts them in a ", StyleBox["Mathematica", FontSlant->"Italic"], " list." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}], Cell["FindList", "Special2", ImageRegion->{{0, 1}, {0, 1}}, CellTags->"FindList"], Cell[TextData[{ StyleBox["FindList[\"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["file ", FontSlant->"Italic"], StyleBox["\", \"", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], StyleBox["text ", FontSlant->"Italic"], StyleBox["\"]", FontFamily->"Courier", FontSize->12, FontWeight->"Bold"], " gives a list of all lines in a file that contain the specified text." }], "SmallText", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Reading Characters from a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["The first line displays the contents of the file strings.", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["!!strings ", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ Here is some text. And some more. A little more is possible.\ \>", "Print", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["ReadList[\"strings\", Character]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {H, e, r, e, , i, s, , s, o, m, e, , t, e, x, t, ., , A, n, d, , s, o, m, e, , m, o, r, e, ., , A, , l, i, t, t, l, e, , m, o, r, e, , i, s, , p, o, s, s, i, b, l, e, ., }\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Reading Words from a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["ReadList[\"strings\", Word]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {Here, is, some, text., And, some, more., A, little, more, is, possible.}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Finding Strings in a File", "Subsubsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FindList[\"strings\", \"is\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ \ \>", "\<\ {Here is some text., A little more is possible.}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]]}, Open]]}, Open]] }, FrontEndVersion->"4.1 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 695}}, WindowToolbars->{}, CellGrouping->Manual, WindowSize->{499, 599}, WindowMargins->{{Automatic, 40}, {23, Automatic}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False} ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{ "CForm"->{ Cell[3242, 131, 79, 2, 70, "Special2", CellTags->"CForm"]}, "FortranForm"->{ Cell[3733, 154, 91, 2, 70, "Special2", CellTags->"FortranForm"]}, "TeXForm"->{ Cell[4211, 177, 83, 2, 70, "Special2", CellTags->"TeXForm"]}, "FullForm"->{ Cell[4684, 200, 85, 2, 70, "Special2", CellTags->"FullForm"]}, "TreeForm"->{ Cell[5182, 223, 85, 2, 70, "Special2", CellTags->"TreeForm"]}, "InputForm"->{ Cell[5678, 246, 87, 2, 70, "Special2", CellTags->"InputForm"]}, "Short"->{ Cell[6185, 269, 79, 2, 70, "Special2", CellTags->"Short"]}, "TableForm"->{ Cell[6650, 292, 87, 2, 70, "Special2", CellTags->"TableForm"]}, "MatrixForm"->{ Cell[7073, 311, 89, 2, 70, "Special2", CellTags->"MatrixForm"]}, "Files`writing"->{ Cell[14813, 623, 185, 7, 70, "Subsection", CellTags->"Files`writing"]}, "File`reading"->{ Cell[15112, 635, 95, 2, 70, "Special3", CellTags->"File`reading"]}, "File`output"->{ Cell[15519, 653, 93, 2, 70, "Special3", CellTags->"File`output"]}, "File`append"->{ Cell[15973, 675, 93, 2, 70, "Special3", CellTags->"File`append"]}, "File`display"->{ Cell[16414, 697, 95, 2, 70, "Special3", CellTags->"File`display"]}, "Save"->{ Cell[16768, 712, 77, 2, 70, "Special2", CellTags->"Save"]}, "Encode"->{ Cell[17575, 750, 90, 2, 70, "Special2", CellTags->{"Encode", "Get"}]}, "Get"->{ Cell[17575, 750, 90, 2, 70, "Special2", CellTags->{"Encode", "Get"}]}, "Files`finding"->{ Cell[25356, 1082, 138, 2, 70, "Subsection", CellTags->{"Files`finding", "Files`manipulating"}]}, "Files`manipulating"->{ Cell[25356, 1082, 138, 2, 70, "Subsection", CellTags->{"Files`finding", "Files`manipulating"}]}, "Directory"->{ Cell[25618, 1089, 87, 2, 70, "Special2", CellTags->"Directory"]}, "SetDirectory"->{ Cell[25916, 1102, 93, 2, 70, "Special2", CellTags->"SetDirectory"]}, "FileNames"->{ Cell[26361, 1122, 87, 2, 70, "Special2", CellTags->"FileNames"]}, "Copy"->{ Cell[27077, 1152, 77, 2, 70, "Special2", CellTags->"Copy"]}, "ReNameFile"->{ Cell[27817, 1190, 89, 2, 70, "Special2", CellTags->"ReNameFile"]}, "DeleteFile"->{ Cell[28580, 1228, 89, 2, 70, "Special2", CellTags->"DeleteFile"]}, "FileDate"->{ Cell[28999, 1248, 85, 2, 70, "Special2", CellTags->"FileDate"]}, "FindList"->{ Cell[29441, 1268, 85, 2, 70, "Special2", CellTags->"FindList"], Cell[67590, 2927, 85, 2, 70, "Special2", CellTags->"FindList"]}, "Files`reading`data"->{ Cell[34629, 1476, 107, 2, 70, "Subsection", CellTags->"Files`reading`data"]}, "ReadList"->{ Cell[34851, 1483, 542, 22, 70, "SmallText", CellTags->"ReadList"], Cell[66427, 2877, 108, 2, 70, "Special2", CellTags->{"ReadList", "Character", "Word"}]}, "Files`splicing"->{ Cell[38061, 1614, 113, 2, 70, "Subsection", CellTags->"Files`splicing"]}, "Splice"->{ Cell[38279, 1621, 809, 37, 70, "SmallText", CellTags->"Splice"]}, "Date"->{ Cell[42433, 1800, 77, 2, 70, "Special2", CellTags->"Date"]}, "TimeZone"->{ Cell[44053, 1879, 85, 2, 70, "Special2", CellTags->"TimeZone"]}, "AbsoluteTime"->{ Cell[44356, 1892, 93, 2, 70, "Special2", CellTags->"AbsoluteTime"]}, "SessionTime"->{ Cell[44701, 1906, 91, 2, 70, "Special2", CellTags->"SessionTime"]}, "TimeUsed"->{ Cell[45106, 1922, 85, 2, 70, "Special2", CellTags->"TimeUsed"]}, "Timing"->{ Cell[45487, 1938, 81, 2, 70, "Special2", CellTags->"Timing"]}, "Strings`manipulating"->{ Cell[49201, 2104, 111, 2, 70, "Subsection", CellTags->"Strings`manipulating"]}, "StringLength"->{ Cell[49417, 2111, 93, 2, 70, "Special2", CellTags->"StringLength"]}, "StringJoin"->{ Cell[49863, 2131, 89, 2, 70, "Special2", CellTags->"StringJoin"]}, "StringReverse"->{ Cell[50819, 2178, 95, 2, 70, "Special2", CellTags->"StringReverse"]}, "StringTake"->{ Cell[51262, 2198, 89, 2, 70, "Special2", CellTags->"StringTake"]}, "StringDrop"->{ Cell[53389, 2304, 89, 2, 70, "Special2", CellTags->"StringDrop"]}, "StringInsert"->{ Cell[54874, 2378, 93, 2, 70, "Special2", CellTags->"StringInsert"]}, "StringPosition"->{ Cell[55676, 2417, 97, 2, 70, "Special2", CellTags->"StringPosition"]}, "StringReplace"->{ Cell[56411, 2450, 95, 2, 70, "Special2", CellTags->"StringReplace"]}, "Characters"->{ Cell[57780, 2517, 89, 2, 70, "Special2", CellTags->"Characters"]}, "Sort"->{ Cell[58220, 2537, 77, 2, 70, "Special2", CellTags->"Sort"]}, "Strings`searching"->{ Cell[66174, 2870, 138, 2, 70, "Subsection", CellTags->{"Strings`searching", "Strings`reading"}]}, "Strings`reading"->{ Cell[66174, 2870, 138, 2, 70, "Subsection", CellTags->{"Strings`searching", "Strings`reading"}]}, "Character"->{ Cell[66427, 2877, 108, 2, 70, "Special2", CellTags->{"ReadList", "Character", "Word"}]}, "Word"->{ Cell[66427, 2877, 108, 2, 70, "Special2", CellTags->{"ReadList", "Character", "Word"}]} } *) (*CellTagsIndex CellTagsIndex->{ {"CForm", 70620, 3033}, {"FortranForm", 70709, 3036}, {"TeXForm", 70800, 3039}, {"FullForm", 70888, 3042}, {"TreeForm", 70977, 3045}, {"InputForm", 71067, 3048}, {"Short", 71154, 3051}, {"TableForm", 71241, 3054}, {"MatrixForm", 71333, 3057}, {"Files`writing", 71429, 3060}, {"File`reading", 71531, 3063}, {"File`output", 71628, 3066}, {"File`append", 71724, 3069}, {"File`display", 71821, 3072}, {"Save", 71911, 3075}, {"Encode", 71995, 3078}, {"Get", 72087, 3081}, {"Files`finding", 72189, 3084}, {"Files`manipulating", 72322, 3087}, {"Directory", 72446, 3090}, {"SetDirectory", 72542, 3093}, {"FileNames", 72638, 3096}, {"Copy", 72726, 3099}, {"ReNameFile", 72815, 3102}, {"DeleteFile", 72910, 3105}, {"FileDate", 73003, 3108}, {"FindList", 73094, 3111}, {"Files`reading`data", 73269, 3116}, {"ReadList", 73373, 3119}, {"Files`splicing", 73571, 3124}, {"Splice", 73669, 3127}, {"Date", 73757, 3130}, {"TimeZone", 73844, 3133}, {"AbsoluteTime", 73939, 3136}, {"SessionTime", 74037, 3139}, {"TimeUsed", 74131, 3142}, {"Timing", 74220, 3145}, {"Strings`manipulating", 74321, 3148}, {"StringLength", 74431, 3151}, {"StringJoin", 74528, 3154}, {"StringReverse", 74626, 3157}, {"StringTake", 74724, 3160}, {"StringDrop", 74819, 3163}, {"StringInsert", 74916, 3166}, {"StringPosition", 75017, 3169}, {"StringReplace", 75119, 3172}, {"Characters", 75217, 3175}, {"Sort", 75306, 3178}, {"Strings`searching", 75402, 3181}, {"Strings`reading", 75533, 3184}, {"Character", 75658, 3187}, {"Word", 75769, 3190} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1727, 52, 67, 1, 70, "Title"], Cell[CellGroupData[{ Cell[1817, 55, 57, 1, 70, "Section"], Cell[1877, 58, 410, 9, 70, "Text"], Cell[2290, 69, 734, 54, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[3056, 125, 72, 1, 70, "Section"], Cell[CellGroupData[{ Cell[3151, 128, 88, 1, 70, "Subsubsection"], Cell[3242, 131, 79, 2, 70, "Special2", CellTags->"CForm"], Cell[3324, 135, 406, 17, 70, "SmallText"], Cell[3733, 154, 91, 2, 70, "Special2", CellTags->"FortranForm"], Cell[3827, 158, 381, 17, 70, "SmallText"], Cell[4211, 177, 83, 2, 70, "Special2", CellTags->"TeXForm"], Cell[4297, 181, 384, 17, 70, "SmallText"], Cell[4684, 200, 85, 2, 70, "Special2", CellTags->"FullForm"], Cell[4772, 204, 407, 17, 70, "SmallText"], Cell[5182, 223, 85, 2, 70, "Special2", CellTags->"TreeForm"], Cell[5270, 227, 405, 17, 70, "SmallText"], Cell[5678, 246, 87, 2, 70, "Special2", CellTags->"InputForm"], Cell[5768, 250, 414, 17, 70, "SmallText"], Cell[6185, 269, 79, 2, 70, "Special2", CellTags->"Short"], Cell[6267, 273, 380, 17, 70, "SmallText"], Cell[6650, 292, 87, 2, 70, "Special2", CellTags->"TableForm"], Cell[6740, 296, 330, 13, 70, "SmallText"], Cell[7073, 311, 89, 2, 70, "Special2", CellTags->"MatrixForm"], Cell[7165, 315, 336, 14, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[7533, 331, 136, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[7692, 339, 83, 1, 70, "Input"], Cell[7778, 342, 161, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[7980, 349, 134, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[8137, 357, 81, 1, 70, "Input"], Cell[8221, 360, 155, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[8417, 367, 140, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[8580, 375, 87, 1, 70, "Input"], Cell[8670, 378, 131, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[8842, 385, 137, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[9002, 393, 79, 1, 70, "Input"], Cell[9084, 396, 165, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[9290, 403, 137, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[9450, 411, 79, 1, 70, "Input"], Cell[9532, 414, 281, 8, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[9854, 424, 203, 9, 70, "Subsubsection"], Cell[10060, 435, 758, 21, 70, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[10850, 458, 138, 6, 70, "Subsubsection"], Cell[10991, 466, 590, 16, 70, "Text"], Cell[CellGroupData[{ Cell[11604, 484, 67, 1, 70, "Input"], Cell[11674, 487, 121, 8, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[11827, 497, 62, 1, 70, "Input"], Cell[11892, 500, 126, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[12059, 507, 134, 6, 70, "Subsubsection"], Cell[12196, 515, 218, 8, 70, "Text"], Cell[CellGroupData[{ Cell[12437, 525, 80, 1, 70, "Input"], Cell[12520, 528, 163, 6, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[12715, 536, 81, 1, 70, "Input"], Cell[12799, 539, 163, 6, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[13003, 547, 138, 6, 70, "Subsubsection"], Cell[13144, 555, 90, 1, 70, "Input"], Cell[CellGroupData[{ Cell[13257, 558, 64, 1, 70, "Input"], Cell[13324, 561, 243, 12, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[13608, 575, 139, 6, 70, "Subsubsection"], Cell[13750, 583, 233, 7, 70, "Text"], Cell[13986, 592, 90, 1, 70, "Input"], Cell[CellGroupData[{ Cell[14099, 595, 65, 1, 70, "Input"], Cell[14167, 598, 262, 12, 70, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[14479, 612, 79, 1, 70, "Section"], Cell[14561, 615, 229, 6, 70, "Text"], Cell[CellGroupData[{ Cell[14813, 623, 185, 7, 70, "Subsection", CellTags->"Files`writing"], Cell[CellGroupData[{ Cell[15021, 632, 88, 1, 70, "Subsubsection"], Cell[15112, 635, 95, 2, 70, "Special3", CellTags->"File`reading"], Cell[15210, 639, 306, 12, 70, "SmallText"], Cell[15519, 653, 93, 2, 70, "Special3", CellTags->"File`output"], Cell[15615, 657, 355, 16, 70, "SmallText"], Cell[15973, 675, 93, 2, 70, "Special3", CellTags->"File`append"], Cell[16069, 679, 342, 16, 70, "SmallText"], Cell[16414, 697, 95, 2, 70, "Special3", CellTags->"File`display"], Cell[16512, 701, 253, 9, 70, "SmallText"], Cell[16768, 712, 77, 2, 70, "Special2", CellTags->"Save"], Cell[16848, 716, 724, 32, 70, "SmallText"], Cell[17575, 750, 90, 2, 70, "Special2", CellTags->{"Encode", "Get"}], Cell[17668, 754, 561, 24, 70, "SmallText"], Cell[18232, 780, 230, 9, 70, "SmallText"], Cell[18465, 791, 620, 28, 70, "SmallText"], Cell[19088, 821, 580, 26, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[19700, 849, 99, 1, 70, "Subsubsection"], Cell[19802, 852, 101, 2, 70, "Input"], Cell[CellGroupData[{ Cell[19926, 856, 80, 2, 70, "Input"], Cell[20009, 860, 104, 2, 70, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[20145, 864, 80, 2, 70, "Input"], Cell[20228, 868, 191, 7, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[20460, 877, 77, 1, 70, "Subsubsection"], Cell[20540, 880, 103, 2, 70, "Input"], Cell[CellGroupData[{ Cell[20666, 884, 80, 2, 70, "Input"], Cell[20749, 888, 154, 5, 70, "Print"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[20944, 895, 75, 1, 70, "Subsubsection"], Cell[21022, 898, 460, 15, 70, "Text"], Cell[CellGroupData[{ Cell[21505, 915, 81, 2, 70, "Input"], Cell[21589, 919, 87, 1, 70, "Print"] }, Closed]], Cell[21688, 922, 81, 2, 70, "Input"], Cell[CellGroupData[{ Cell[21792, 926, 81, 2, 70, "Input"], Cell[21876, 930, 137, 6, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[22054, 938, 76, 1, 70, "Subsubsection"], Cell[22133, 941, 608, 22, 70, "Text"], Cell[22744, 965, 91, 2, 70, "Input"], Cell[CellGroupData[{ Cell[22858, 969, 81, 2, 70, "Input"], Cell[22942, 973, 116, 6, 70, "Output"] }, Closed]], Cell[23070, 981, 92, 2, 70, "Input"], Cell[23165, 985, 58, 1, 70, "Input"], Cell[CellGroupData[{ Cell[23246, 988, 81, 2, 70, "Input"], Cell[23330, 992, 108, 6, 70, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[23470, 1000, 56, 1, 70, "Input"], Cell[23529, 1003, 91, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[23652, 1010, 54, 1, 70, "Input"], Cell[23709, 1013, 91, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[23841, 1020, 73, 1, 70, "Subsubsection"], Cell[23917, 1023, 98, 2, 70, "Input"], Cell[24018, 1027, 103, 2, 70, "Input"], Cell[CellGroupData[{ Cell[24144, 1031, 83, 2, 70, "Input"], Cell[24230, 1035, 115, 5, 70, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[24377, 1042, 83, 2, 70, "Input"], Cell[24463, 1046, 119, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[24623, 1053, 85, 1, 70, "Subsubsection"], Cell[24711, 1056, 115, 2, 70, "Input"], Cell[CellGroupData[{ Cell[24849, 1060, 83, 2, 70, "Input"], Cell[24935, 1064, 115, 5, 70, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[25082, 1071, 102, 2, 70, "Input"], Cell[25187, 1075, 119, 5, 70, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[25356, 1082, 138, 2, 70, "Subsection", CellTags->{"Files`finding", "Files`manipulating"}], Cell[CellGroupData[{ Cell[25517, 1086, 98, 1, 70, "Subsubsection"], Cell[25618, 1089, 87, 2, 70, "Special2", CellTags->"Directory"], Cell[25708, 1093, 205, 7, 70, "SmallText"], Cell[25916, 1102, 93, 2, 70, "Special2", CellTags->"SetDirectory"], Cell[26012, 1106, 346, 14, 70, "SmallText"], Cell[26361, 1122, 87, 2, 70, "Special2", CellTags->"FileNames"], Cell[26451, 1126, 218, 7, 70, "SmallText"], Cell[26672, 1135, 402, 15, 70, "SmallText"], Cell[27077, 1152, 77, 2, 70, "Special2", CellTags->"Copy"], Cell[27157, 1156, 657, 32, 70, "SmallText"], Cell[27817, 1190, 89, 2, 70, "Special2", CellTags->"ReNameFile"], Cell[27909, 1194, 668, 32, 70, "SmallText"], Cell[28580, 1228, 89, 2, 70, "Special2", CellTags->"DeleteFile"], Cell[28672, 1232, 324, 14, 70, "SmallText"], Cell[28999, 1248, 85, 2, 70, "Special2", CellTags->"FileDate"], Cell[29087, 1252, 351, 14, 70, "SmallText"], Cell[29441, 1268, 85, 2, 70, "Special2", CellTags->"FindList"], Cell[29529, 1272, 609, 26, 70, "SmallText"], Cell[30141, 1300, 457, 19, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[30630, 1321, 138, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[30791, 1329, 62, 1, 70, "Input"], Cell[30856, 1332, 125, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[31022, 1339, 80, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[31125, 1342, 76, 1, 70, "Input"], Cell[31204, 1345, 143, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[31388, 1352, 97, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[31508, 1355, 62, 1, 70, "Input"], Cell[31573, 1358, 180, 7, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[31794, 1367, 96, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[31913, 1370, 73, 1, 70, "Input"], Cell[31989, 1373, 123, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[32153, 1380, 72, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[32248, 1383, 86, 1, 70, "Input"], Cell[32337, 1386, 96, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[32465, 1393, 62, 1, 70, "Input"], Cell[32530, 1396, 191, 7, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[32762, 1405, 73, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[32858, 1408, 94, 1, 70, "Input"], Cell[32955, 1411, 102, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[33089, 1418, 62, 1, 70, "Input"], Cell[33154, 1421, 199, 7, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[33394, 1430, 73, 1, 70, "Subsubsection"], Cell[33470, 1433, 73, 1, 70, "Input"], Cell[CellGroupData[{ Cell[33566, 1436, 62, 1, 70, "Input"], Cell[33631, 1439, 190, 7, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[33862, 1448, 97, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[33982, 1451, 71, 1, 70, "Input"], Cell[34056, 1454, 111, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[34208, 1461, 80, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[34311, 1464, 92, 1, 70, "Input"], Cell[34406, 1467, 173, 7, 70, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[34629, 1476, 107, 2, 70, "Subsection", CellTags->"Files`reading`data"], Cell[CellGroupData[{ Cell[34759, 1480, 89, 1, 70, "Subsubsection"], Cell[34851, 1483, 542, 22, 70, "SmallText", CellTags->"ReadList"], Cell[35396, 1507, 571, 23, 70, "SmallText"], Cell[35970, 1532, 503, 19, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[36505, 1553, 83, 1, 70, "Subsubsection"], Cell[36591, 1556, 218, 8, 70, "Text"], Cell[CellGroupData[{ Cell[36832, 1566, 64, 1, 70, "Input"], Cell[36899, 1569, 94, 4, 70, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[37025, 1575, 84, 1, 70, "Input"], Cell[37112, 1578, 117, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[37270, 1585, 82, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[37375, 1588, 94, 1, 70, "Input"], Cell[37472, 1591, 123, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[37636, 1598, 90, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[37749, 1601, 138, 4, 70, "Input"], Cell[37890, 1607, 121, 5, 70, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[38061, 1614, 113, 2, 70, "Subsection", CellTags->"Files`splicing"], Cell[CellGroupData[{ Cell[38197, 1618, 79, 1, 70, "Subsubsection"], Cell[38279, 1621, 809, 37, 70, "SmallText", CellTags->"Splice"] }, Closed]], Cell[CellGroupData[{ Cell[39120, 1660, 129, 5, 70, "Subsubsection"], Cell[39252, 1667, 351, 12, 70, "Text"], Cell[CellGroupData[{ Cell[39626, 1681, 62, 1, 70, "Input"], Cell[39691, 1684, 117, 5, 70, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[39840, 1691, 72, 1, 70, "Input"], Cell[39915, 1694, 97, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[40044, 1701, 61, 1, 70, "Input"], Cell[40108, 1704, 128, 5, 70, "Print"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[40277, 1711, 74, 1, 70, "Subsubsection"], Cell[40354, 1714, 1849, 78, 70, "Text"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[42253, 1794, 75, 1, 70, "Section"], Cell[CellGroupData[{ Cell[42351, 1797, 79, 1, 70, "Subsubsection"], Cell[42433, 1800, 77, 2, 70, "Special2", CellTags->"Date"], Cell[42513, 1804, 1143, 54, 70, "SmallText"], Cell[43659, 1860, 391, 17, 70, "SmallText"], Cell[44053, 1879, 85, 2, 70, "Special2", CellTags->"TimeZone"], Cell[44141, 1883, 212, 7, 70, "SmallText"], Cell[44356, 1892, 93, 2, 70, "Special2", CellTags->"AbsoluteTime"], Cell[44452, 1896, 246, 8, 70, "SmallText"], Cell[44701, 1906, 91, 2, 70, "Special2", CellTags->"SessionTime"], Cell[44795, 1910, 308, 10, 70, "SmallText"], Cell[45106, 1922, 85, 2, 70, "Special2", CellTags->"TimeUsed"], Cell[45194, 1926, 290, 10, 70, "SmallText"], Cell[45487, 1938, 81, 2, 70, "Special2", CellTags->"Timing"], Cell[45571, 1942, 444, 18, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[46047, 1962, 134, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[46204, 1970, 57, 1, 70, "Input"], Cell[46264, 1973, 133, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[46438, 1980, 137, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[46598, 1988, 61, 1, 70, "Input"], Cell[46662, 1991, 91, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[46794, 1998, 87, 1, 70, "Subsubsection"], Cell[46884, 2001, 137, 4, 70, "Text"], Cell[CellGroupData[{ Cell[47044, 2007, 57, 1, 70, "Input"], Cell[47104, 2010, 133, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[47278, 2017, 141, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[47442, 2025, 66, 1, 70, "Input"], Cell[47511, 2028, 151, 6, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[47703, 2036, 140, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[47866, 2044, 64, 1, 70, "Input"], Cell[47933, 2047, 109, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[48083, 2054, 137, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[48243, 2062, 61, 1, 70, "Input"], Cell[48307, 2065, 95, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[48443, 2072, 135, 6, 70, "Subsubsection"], Cell[48581, 2080, 239, 9, 70, "Text"], Cell[CellGroupData[{ Cell[48843, 2091, 65, 1, 70, "Input"], Cell[48911, 2094, 143, 5, 70, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[49104, 2101, 74, 1, 70, "Section"], Cell[CellGroupData[{ Cell[49201, 2104, 111, 2, 70, "Subsection", CellTags->"Strings`manipulating"], Cell[CellGroupData[{ Cell[49335, 2108, 79, 1, 70, "Subsubsection"], Cell[49417, 2111, 93, 2, 70, "Special2", CellTags->"StringLength"], Cell[49513, 2115, 347, 14, 70, "SmallText"], Cell[49863, 2131, 89, 2, 70, "Special2", CellTags->"StringJoin"], Cell[49955, 2135, 861, 41, 70, "SmallText"], Cell[50819, 2178, 95, 2, 70, "Special2", CellTags->"StringReverse"], Cell[50917, 2182, 342, 14, 70, "SmallText"], Cell[51262, 2198, 89, 2, 70, "Special2", CellTags->"StringTake"], Cell[51354, 2202, 590, 27, 70, "SmallText"], Cell[51947, 2231, 651, 31, 70, "SmallText"], Cell[52601, 2264, 785, 38, 70, "SmallText"], Cell[53389, 2304, 89, 2, 70, "Special2", CellTags->"StringDrop"], Cell[53481, 2308, 591, 27, 70, "SmallText"], Cell[54075, 2337, 796, 39, 70, "SmallText"], Cell[54874, 2378, 93, 2, 70, "Special2", CellTags->"StringInsert"], Cell[54970, 2382, 703, 33, 70, "SmallText"], Cell[55676, 2417, 97, 2, 70, "Special2", CellTags->"StringPosition"], Cell[55776, 2421, 632, 27, 70, "SmallText"], Cell[56411, 2450, 95, 2, 70, "Special2", CellTags->"StringReplace"], Cell[56509, 2454, 1268, 61, 70, "SmallText"], Cell[57780, 2517, 89, 2, 70, "Special2", CellTags->"Characters"], Cell[57872, 2521, 345, 14, 70, "SmallText"], Cell[58220, 2537, 77, 2, 70, "Special2", CellTags->"Sort"], Cell[58300, 2541, 585, 25, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[58917, 2568, 73, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[59013, 2571, 84, 1, 70, "Input"], Cell[59100, 2574, 119, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[59260, 2581, 141, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[59424, 2589, 88, 1, 70, "Input"], Cell[59515, 2592, 143, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[59690, 2599, 69, 1, 70, "Input"], Cell[59762, 2602, 91, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[59894, 2609, 142, 6, 70, "Subsubsection"], Cell[60039, 2617, 208, 8, 70, "Text"], Cell[CellGroupData[{ Cell[60270, 2627, 70, 1, 70, "Input"], Cell[60343, 2630, 143, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[60527, 2637, 139, 6, 70, "Subsubsection"], Cell[60669, 2645, 125, 3, 70, "Text"], Cell[CellGroupData[{ Cell[60817, 2650, 70, 1, 70, "Input"], Cell[60890, 2653, 101, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[61023, 2660, 72, 1, 70, "Input"], Cell[61098, 2663, 93, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[61223, 2670, 78, 1, 70, "Input"], Cell[61304, 2673, 109, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[61454, 2680, 139, 6, 70, "Subsubsection"], Cell[61596, 2688, 125, 3, 70, "Text"], Cell[CellGroupData[{ Cell[61744, 2693, 70, 1, 70, "Input"], Cell[61817, 2696, 133, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[61982, 2703, 71, 1, 70, "Input"], Cell[62056, 2706, 133, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[62221, 2713, 77, 1, 70, "Input"], Cell[62301, 2716, 131, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[62473, 2723, 141, 6, 70, "Subsubsection"], Cell[62617, 2731, 125, 3, 70, "Text"], Cell[CellGroupData[{ Cell[62765, 2736, 81, 1, 70, "Input"], Cell[62849, 2739, 149, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[63030, 2746, 82, 1, 70, "Input"], Cell[63115, 2749, 149, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[63305, 2756, 143, 6, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[63471, 2764, 79, 1, 70, "Input"], Cell[63553, 2767, 123, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[63708, 2774, 81, 1, 70, "Input"], Cell[63792, 2777, 159, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[63992, 2784, 142, 6, 70, "Subsubsection"], Cell[64137, 2792, 250, 10, 70, "Text"], Cell[CellGroupData[{ Cell[64410, 2804, 134, 4, 70, "Input"], Cell[64547, 2810, 125, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[64713, 2817, 87, 1, 70, "Subsubsection"], Cell[64803, 2820, 216, 5, 70, "Text"], Cell[CellGroupData[{ Cell[65042, 2827, 73, 1, 70, "Input"], Cell[65118, 2830, 157, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[65307, 2837, 63, 1, 70, "Input"], Cell[65373, 2840, 157, 5, 70, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[65562, 2847, 63, 1, 70, "Input"], Cell[65628, 2850, 105, 5, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[65774, 2857, 74, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[65871, 2860, 97, 1, 70, "Input"], Cell[65971, 2863, 153, 5, 70, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[66174, 2870, 138, 2, 70, "Subsection", CellTags->{"Strings`searching", "Strings`reading"}], Cell[CellGroupData[{ Cell[66335, 2874, 89, 1, 70, "Subsubsection"], Cell[66427, 2877, 108, 2, 70, "Special2", CellTags->{"ReadList", "Character", "Word"}], Cell[66538, 2881, 528, 21, 70, "SmallText"], Cell[67069, 2904, 518, 21, 70, "SmallText"], Cell[67590, 2927, 85, 2, 70, "Special2", CellTags->"FindList"], Cell[67678, 2931, 508, 19, 70, "SmallText"] }, Closed]], Cell[CellGroupData[{ Cell[68218, 2952, 88, 1, 70, "Subsubsection"], Cell[68309, 2955, 106, 1, 70, "Text"], Cell[CellGroupData[{ Cell[68438, 2958, 60, 1, 70, "Input"], Cell[68501, 2961, 118, 5, 70, "Print"] }, Closed]], Cell[CellGroupData[{ Cell[68651, 2968, 82, 1, 70, "Input"], Cell[68736, 2971, 275, 9, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[69052, 2982, 83, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[69158, 2985, 77, 1, 70, "Input"], Cell[69238, 2988, 164, 7, 70, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[69443, 2997, 83, 1, 70, "Subsubsection"], Cell[CellGroupData[{ Cell[69549, 3000, 79, 1, 70, "Input"], Cell[69631, 3003, 135, 5, 70, "Output"] }, Closed]] }, Closed]] }, Closed]] }, Closed]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)