\relax \@writefile{toc}{\contentsline {part}{VII\hspace {1em}Changing the State of Variables}{473}} \newlabel{part:state}{{VII}{474}} \@writefile{toc}{\contentsline {section}{\numberline {34}Memory for Functions}{474}} \newlabel{sec:memory}{{34}{474}} \@writefile{lof}{\contentsline {figure}{\numberline {91}{\ignorespaces A phonebook GUI}}{474}} \newlabel{fig:pb-gui}{{91}{474}} \@writefile{lof}{\contentsline {figure}{\numberline {92}{\ignorespaces The three stages of a traffic light canvas and its GUI}}{476}} \newlabel{fig:traffic-light}{{92}{476}} \@writefile{lof}{\contentsline {figure}{\numberline {93}{\ignorespaces Three stages in the hangman game and its GUI}}{477}} \newlabel{fig:hangman-again}{{93}{477}} \@writefile{toc}{\contentsline {section}{\numberline {35}Assignment to Variables}{478}} \newlabel{sec:set-bang}{{35}{478}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.1}Simple Assignments at Work}{479}} \newlabel{sec:simple-set}{{35.1}{479}} \newlabel{ex:set-syntax}{{35.1.1}{480}} \newlabel{ex:set-simple0}{{35.1.2}{480}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.2}Sequencing Expression Evaluations}{481}} \newlabel{sec:seq-time}{{35.2}{481}} \newlabel{ex:set-simple1}{{35.2.1}{482}} \newlabel{ex:set-simple2}{{35.2.2}{483}} \newlabel{ex:set-simple3}{{35.2.3}{483}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.3}Assignments and Functions}{484}} \newlabel{sec:assign-func}{{35.3}{484}} \newlabel{ex:set-syntax2}{{35.3.1}{485}} \newlabel{ex:set-simple4}{{35.3.2}{485}} \newlabel{ex:set-simple5}{{35.3.3}{486}} \newlabel{ex:set-simple6}{{35.3.4}{486}} \@writefile{toc}{\contentsline {subsection}{\numberline {35.4}A First Useful Example}{486}} \newlabel{sec:state-example}{{35.4}{486}} \@writefile{lof}{\contentsline {figure}{\numberline {94}{\ignorespaces The basic address-book program}}{487}} \newlabel{fig:ab}{{94}{487}} \newlabel{ex:set-pb-remove}{{35.4.1}{489}} \newlabel{ex:set-pb-gui}{{35.4.2}{489}} \@writefile{toc}{\contentsline {section}{\numberline {36}Designing Functions with Memory}{490}} \newlabel{sec:design-memory}{{36}{490}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.1}The Need for Memory}{490}} \newlabel{sec:state-need}{{36.1}{490}} \@writefile{lof}{\contentsline {figure}{\numberline {95}{\ignorespaces Organizational charts for programs with memory}}{492}} \newlabel{fig:set-chart}{{95}{492}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.2}Memory and State Variables}{492}} \newlabel{sec:state-variables}{{36.2}{492}} \newlabel{pg:next-color}{{36.2}{494}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.3}Functions that Initialize Memory}{494}} \newlabel{sec:state-init}{{36.3}{494}} \@writefile{toc}{\contentsline {subsection}{\numberline {36.4}Functions that Change Memory}{495}} \newlabel{sec:design-change}{{36.4}{495}} \@writefile{lof}{\contentsline {figure}{\numberline {96}{\ignorespaces The design recipe for state variables: a complete example}}{496}} \newlabel{fig:sv-recipe1-example}{{96}{496}} \newlabel{ex:traffic-state}{{36.4.1}{501}} \@writefile{lof}{\contentsline {figure}{\numberline {97}{\ignorespaces The design recipe for state variables: a second example}}{502}} \newlabel{fig:sv-recipe2-example}{{97}{502}} \newlabel{ex:pb-state}{{36.4.2}{502}} \@writefile{toc}{\contentsline {section}{\numberline {37}Examples of Memory Usage}{503}} \newlabel{sec:state-many-examples}{{37}{503}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.1}Initializing State}{503}} \newlabel{sec:color-state}{{37.1}{503}} \@writefile{lof}{\contentsline {figure}{\numberline {98}{\ignorespaces Guessing colors}}{504}} \newlabel{fig:master}{{98}{504}} \@writefile{lof}{\contentsline {figure}{\numberline {99}{\ignorespaces Guessing colors (Part 2)}}{505}} \newlabel{fig:master2}{{99}{505}} \newlabel{ex:master-diagram}{{37.1.1}{506}} \newlabel{ex:master-pick}{{37.1.2}{506}} \newlabel{ex:master-count}{{37.1.3}{506}} \newlabel{ex:master-reset}{{37.1.4}{506}} \newlabel{ex:master-gui}{{37.1.5}{506}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.2}State Changes from User Interactions}{506}} \newlabel{sec:count-state}{{37.2}{506}} \@writefile{lof}{\contentsline {figure}{\numberline {100}{\ignorespaces Hangman Basics}}{507}} \newlabel{fig:hangman-state}{{100}{507}} \@writefile{lof}{\contentsline {figure}{\numberline {101}{\ignorespaces Hangman Basics (Part 2)}}{509}} \newlabel{fig:hangman-state2}{{101}{509}} \newlabel{ex:status-plain}{{37.2.1}{510}} \newlabel{ex:status-build-list}{{37.2.2}{510}} \@writefile{lof}{\contentsline {figure}{\numberline {102}{\ignorespaces Hangman Basics (Part 3)}}{515}} \newlabel{fig:hangman-state3}{{102}{515}} \newlabel{ex:hangman-diagram}{{37.2.3}{515}} \newlabel{ex:hangman-test}{{37.2.4}{515}} \newlabel{ex:hangman-gui}{{37.2.5}{516}} \newlabel{ex:hangman-progress}{{37.2.6}{516}} \newlabel{ex:hangman-rev-effect}{{37.2.7}{516}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.3}State Changes from Recursion}{516}} \newlabel{sec:repeat-state}{{37.3}{516}} \newlabel{ex:hangman-diagram2}{{37.3.1}{520}} \newlabel{ex:reveal-one-O}{{37.3.2}{520}} \newlabel{ex:hangman-new-knowledge}{{37.3.3}{520}} \newlabel{ex:hangman-uk-let}{{37.3.4}{520}} \@writefile{lof}{\contentsline {figure}{\numberline {103}{\ignorespaces Two ways of switching traffic lights}}{522}} \newlabel{fig:switching}{{103}{522}} \newlabel{ex:route-set}{{37.3.5}{522}} \newlabel{ex:files-set}{{37.3.6}{523}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.4}Finger Exercises on State Changes}{523}} \newlabel{sec:finger-state}{{37.4}{523}} \newlabel{ex:number-guess}{{37.4.1}{523}} \newlabel{ex:taskQ}{{37.4.2}{523}} \newlabel{ex:move-pic-set}{{37.4.3}{524}} \newlabel{ex:intersection}{{37.4.4}{524}} \newlabel{ex:repl}{{37.4.5}{525}} \@writefile{lof}{\contentsline {figure}{\numberline {104}{\ignorespaces A tour of a university}}{526}} \newlabel{fig:rice-tour}{{104}{526}} \@writefile{toc}{\contentsline {subsection}{\numberline {37.5}Extended Exercise: Exploring Places}{526}} \newlabel{sec:explore-state}{{37.5}{526}} \newlabel{ex:tour-data}{{37.5.1}{527}} \newlabel{ex:tour-showme}{{37.5.2}{527}} \newlabel{ex:tour-trade}{{37.5.3}{527}} \@writefile{lof}{\contentsline {figure}{\numberline {105}{\ignorespaces Take the tour}}{528}} \newlabel{fig:rice-tour2}{{105}{528}} \@setckpt{curriculum6}{ \setcounter{page}{529} \setcounter{equation}{0} \setcounter{enumi}{3} \setcounter{enumii}{2} \setcounter{enumiii}{0} \setcounter{enumiv}{0} \setcounter{footnote}{71} \setcounter{mpfootnote}{0} \setcounter{part}{7} \setcounter{section}{37} \setcounter{subsection}{5} \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} \setcounter{figure}{105} \setcounter{table}{0} \setcounter{lpart}{0} \setcounter{lchapter}{0} \setcounter{lsection}{0} \setcounter{lsubsection}{0} \setcounter{lsubsubsection}{0} \setcounter{lparagraph}{0} \setcounter{lsubparagraph}{0} \setcounter{lsubsubparagraph}{0} \setcounter{lequation}{0} \setcounter{foops}{80} \setcounter{exercise}{3} }