\begin{patch}{ugLangLoopsWhilePagePatch1} \begin{paste}{ugLangLoopsWhilePageFull1}{ugLangLoopsWhilePageEmpty1} \pastebutton{ugLangLoopsWhilePageFull1}{\hidepaste} \tab{5}\spadcommand{i := 1\bound{i }} \indentrel{3}\begin{verbatim} (1) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty1} \begin{paste}{ugLangLoopsWhilePageEmpty1}{ugLangLoopsWhilePagePatch1} \pastebutton{ugLangLoopsWhilePageEmpty1}{\showpaste} \tab{5}\spadcommand{i := 1\bound{i }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch2} \begin{paste}{ugLangLoopsWhilePageFull2}{ugLangLoopsWhilePageEmpty2} \pastebutton{ugLangLoopsWhilePageFull2}{\hidepaste} \tab{5}\spadcommand{while i < 1 repeat output "hello" i := i + 1 \free{i }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty2} \begin{paste}{ugLangLoopsWhilePageEmpty2}{ugLangLoopsWhilePagePatch2} \pastebutton{ugLangLoopsWhilePageEmpty2}{\showpaste} \tab{5}\spadcommand{while i < 1 repeat output "hello" i := i + 1 \free{i }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch3} \begin{paste}{ugLangLoopsWhilePageFull3}{ugLangLoopsWhilePageEmpty3} \pastebutton{ugLangLoopsWhilePageFull3}{\hidepaste} \tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }} \indentrel{3}\begin{verbatim} (3) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty3} \begin{paste}{ugLangLoopsWhilePageEmpty3}{ugLangLoopsWhilePagePatch3} \pastebutton{ugLangLoopsWhilePageEmpty3}{\showpaste} \tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch4} \begin{paste}{ugLangLoopsWhilePageFull4}{ugLangLoopsWhilePageEmpty4} \pastebutton{ugLangLoopsWhilePageFull4}{\hidepaste} \tab{5}\spadcommand{while x < 4 and y < 10 repeat output [x,y] x := x + 1 y := y + 2 \free{x y }} \indentrel{3}\begin{verbatim} [1,1] [2,3] [3,5] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty4} \begin{paste}{ugLangLoopsWhilePageEmpty4}{ugLangLoopsWhilePagePatch4} \pastebutton{ugLangLoopsWhilePageEmpty4}{\showpaste} \tab{5}\spadcommand{while x < 4 and y < 10 repeat output [x,y] x := x + 1 y := y + 2 \free{x y }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch5} \begin{paste}{ugLangLoopsWhilePageFull5}{ugLangLoopsWhilePageEmpty5} \pastebutton{ugLangLoopsWhilePageFull5}{\hidepaste} \tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }} \indentrel{3}\begin{verbatim} (5) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty5} \begin{paste}{ugLangLoopsWhilePageEmpty5}{ugLangLoopsWhilePagePatch5} \pastebutton{ugLangLoopsWhilePageEmpty5}{\showpaste} \tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch6} \begin{paste}{ugLangLoopsWhilePageFull6}{ugLangLoopsWhilePageEmpty6} \pastebutton{ugLangLoopsWhilePageFull6}{\hidepaste} \tab{5}\spadcommand{while x < 4 while y < 10 repeat if x + y > 7 then break output [x,y] x := x + 1 y := y + 2 \free{x1 y1 }} \indentrel{3}\begin{verbatim} [1,1] [2,3] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty6} \begin{paste}{ugLangLoopsWhilePageEmpty6}{ugLangLoopsWhilePagePatch6} \pastebutton{ugLangLoopsWhilePageEmpty6}{\showpaste} \tab{5}\spadcommand{while x < 4 while y < 10 repeat if x + y > 7 then break output [x,y] x := x + 1 y := y + 2 \free{x1 y1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch7} \begin{paste}{ugLangLoopsWhilePageFull7}{ugLangLoopsWhilePageEmpty7} \pastebutton{ugLangLoopsWhilePageFull7}{\hidepaste} \tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} \indentrel{3}\begin{verbatim} Ú21 37 53 14 ¿ ³ ³ ³8 - 24 22 - 16³ (7) ³ ³ ³2 10 15 14 ³ ³ ³ À26 33 55 - 13Ù Type: Matrix Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty7} \begin{paste}{ugLangLoopsWhilePageEmpty7}{ugLangLoopsWhilePagePatch7} \pastebutton{ugLangLoopsWhilePageEmpty7}{\showpaste} \tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch8} \begin{paste}{ugLangLoopsWhilePageFull8}{ugLangLoopsWhilePageEmpty8} \pastebutton{ugLangLoopsWhilePageFull8}{\hidepaste} \tab{5}\spadcommand{r := 1\bound{r }} \indentrel{3}\begin{verbatim} (8) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty8} \begin{paste}{ugLangLoopsWhilePageEmpty8}{ugLangLoopsWhilePagePatch8} \pastebutton{ugLangLoopsWhilePageEmpty8}{\showpaste} \tab{5}\spadcommand{r := 1\bound{r }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch9} \begin{paste}{ugLangLoopsWhilePageFull9}{ugLangLoopsWhilePageEmpty9} \pastebutton{ugLangLoopsWhilePageFull9}{\hidepaste} \tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} \indentrel{3}\begin{verbatim} (9) 4 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty9} \begin{paste}{ugLangLoopsWhilePageEmpty9}{ugLangLoopsWhilePagePatch9} \pastebutton{ugLangLoopsWhilePageEmpty9}{\showpaste} \tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePagePatch10} \begin{paste}{ugLangLoopsWhilePageFull10}{ugLangLoopsWhilePageEmpty10} \pastebutton{ugLangLoopsWhilePageFull10}{\hidepaste} \tab{5}\spadcommand{while r <= lastrow repeat c := 1 -- index of first column while c <= lastcol repeat if elt(m,r,c) < 0 then output [r, c, elt(m,r,c)] r := lastrow break -- don't look any further c := c + 1 r := r + 1 \free{m2 r lastrow lastcol }} \indentrel{3}\begin{verbatim} [2,2,- 24] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsWhilePageEmpty10} \begin{paste}{ugLangLoopsWhilePageEmpty10}{ugLangLoopsWhilePagePatch10} \pastebutton{ugLangLoopsWhilePageEmpty10}{\showpaste} \tab{5}\spadcommand{while r <= lastrow repeat c := 1 -- index of first column while c <= lastcol repeat if elt(m,r,c) < 0 then output [r, c, elt(m,r,c)] r := lastrow break -- don't look any further c := c + 1 r := r + 1 \free{m2 r lastrow lastcol }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNPagePatch1} \begin{paste}{ugLangLoopsForInNPageFull1}{ugLangLoopsForInNPageEmpty1} \pastebutton{ugLangLoopsForInNPageFull1}{\hidepaste} \tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)} \indentrel{3}\begin{verbatim} 15 16 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNPageEmpty1} \begin{paste}{ugLangLoopsForInNPageEmpty1}{ugLangLoopsForInNPagePatch1} \pastebutton{ugLangLoopsForInNPageEmpty1}{\showpaste} \tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPagePatch1} \begin{paste}{ugLangLoopsForInNMPageFull1}{ugLangLoopsForInNMPageEmpty1} \pastebutton{ugLangLoopsForInNMPageFull1}{\hidepaste} \tab{5}\spadcommand{for i in 10..12 repeat output(i**3)} \indentrel{3}\begin{verbatim} 1000 1331 1728 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPageEmpty1} \begin{paste}{ugLangLoopsForInNMPageEmpty1}{ugLangLoopsForInNMPagePatch1} \pastebutton{ugLangLoopsForInNMPageEmpty1}{\showpaste} \tab{5}\spadcommand{for i in 10..12 repeat output(i**3)} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPagePatch2} \begin{paste}{ugLangLoopsForInNMPageFull2}{ugLangLoopsForInNMPageEmpty2} \pastebutton{ugLangLoopsForInNMPageFull2}{\hidepaste} \tab{5}\spadcommand{a := [1,2,3]\bound{a }} \indentrel{3}\begin{verbatim} (2) [1,2,3] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPageEmpty2} \begin{paste}{ugLangLoopsForInNMPageEmpty2}{ugLangLoopsForInNMPagePatch2} \pastebutton{ugLangLoopsForInNMPageEmpty2}{\showpaste} \tab{5}\spadcommand{a := [1,2,3]\bound{a }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPagePatch3} \begin{paste}{ugLangLoopsForInNMPageFull3}{ugLangLoopsForInNMPageEmpty3} \pastebutton{ugLangLoopsForInNMPageFull3}{\hidepaste} \tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }} \indentrel{3}\begin{verbatim} 1 2 3 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPageEmpty3} \begin{paste}{ugLangLoopsForInNMPageEmpty3}{ugLangLoopsForInNMPagePatch3} \pastebutton{ugLangLoopsForInNMPageEmpty3}{\showpaste} \tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPagePatch4} \begin{paste}{ugLangLoopsForInNMPageFull4}{ugLangLoopsForInNMPageEmpty4} \pastebutton{ugLangLoopsForInNMPageFull4}{\hidepaste} \tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }} \indentrel{3}\begin{verbatim} Ú1 2¿ ³ ³ (4) ³4 3³ ³ ³ À9 0Ù Type: Matrix Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPageEmpty4} \begin{paste}{ugLangLoopsForInNMPageEmpty4}{ugLangLoopsForInNMPagePatch4} \pastebutton{ugLangLoopsForInNMPageEmpty4}{\showpaste} \tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPagePatch5} \begin{paste}{ugLangLoopsForInNMPageFull5}{ugLangLoopsForInNMPageEmpty5} \pastebutton{ugLangLoopsForInNMPageFull5}{\hidepaste} \tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }} \indentrel{3}\begin{verbatim} [1,2] [4,3] [9,0] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPageEmpty5} \begin{paste}{ugLangLoopsForInNMPageEmpty5}{ugLangLoopsForInNMPagePatch5} \pastebutton{ugLangLoopsForInNMPageEmpty5}{\showpaste} \tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPagePatch6} \begin{paste}{ugLangLoopsForInNMPageFull6}{ugLangLoopsForInNMPageEmpty6} \pastebutton{ugLangLoopsForInNMPageFull6}{\hidepaste} \tab{5}\spadcommand{for i in 1..5 repeat if odd?(i) then iterate output(i) } \indentrel{3}\begin{verbatim} 2 4 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMPageEmpty6} \begin{paste}{ugLangLoopsForInNMPageEmpty6}{ugLangLoopsForInNMPagePatch6} \pastebutton{ugLangLoopsForInNMPageEmpty6}{\showpaste} \tab{5}\spadcommand{for i in 1..5 repeat if odd?(i) then iterate output(i) } \end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPagePatch1} \begin{paste}{ugLangLoopsReturnPageFull1}{ugLangLoopsReturnPageEmpty1} \pastebutton{ugLangLoopsReturnPageFull1}{\hidepaste} \tab{5}\spadcommand{f() == i := 1 repeat if factorial(i) > 1000 then return i i := i + 1 \bound{f }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPageEmpty1} \begin{paste}{ugLangLoopsReturnPageEmpty1}{ugLangLoopsReturnPagePatch1} \pastebutton{ugLangLoopsReturnPageEmpty1}{\showpaste} \tab{5}\spadcommand{f() == i := 1 repeat if factorial(i) > 1000 then return i i := i + 1 \bound{f }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPagePatch2} \begin{paste}{ugLangLoopsReturnPageFull2}{ugLangLoopsReturnPageEmpty2} \pastebutton{ugLangLoopsReturnPageFull2}{\hidepaste} \tab{5}\spadcommand{f()\free{f }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPageEmpty2} \begin{paste}{ugLangLoopsReturnPageEmpty2}{ugLangLoopsReturnPagePatch2} \pastebutton{ugLangLoopsReturnPageEmpty2}{\showpaste} \tab{5}\spadcommand{f()\free{f }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPagePatch3} \begin{paste}{ugLangLoopsReturnPageFull3}{ugLangLoopsReturnPageEmpty3} \pastebutton{ugLangLoopsReturnPageFull3}{\hidepaste} \tab{5}\spadcommand{f() == i := 1 repeat if factorial(i) > 1000 then return i i := i + 1 0 \bound{f1 }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPageEmpty3} \begin{paste}{ugLangLoopsReturnPageEmpty3}{ugLangLoopsReturnPagePatch3} \pastebutton{ugLangLoopsReturnPageEmpty3}{\showpaste} \tab{5}\spadcommand{f() == i := 1 repeat if factorial(i) > 1000 then return i i := i + 1 0 \bound{f1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPagePatch4} \begin{paste}{ugLangLoopsReturnPageFull4}{ugLangLoopsReturnPageEmpty4} \pastebutton{ugLangLoopsReturnPageFull4}{\hidepaste} \tab{5}\spadcommand{f()\free{f1 }} \indentrel{3}\begin{verbatim} (4) 7 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsReturnPageEmpty4} \begin{paste}{ugLangLoopsReturnPageEmpty4}{ugLangLoopsReturnPagePatch4} \pastebutton{ugLangLoopsReturnPageEmpty4}{\showpaste} \tab{5}\spadcommand{f()\free{f1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInXLPagePatch1} \begin{paste}{ugLangLoopsForInXLPageFull1}{ugLangLoopsForInXLPageEmpty1} \pastebutton{ugLangLoopsForInXLPageFull1}{\hidepaste} \tab{5}\spadcommand{l := [0,-5,3]\bound{l }} \indentrel{3}\begin{verbatim} (1) [0,- 5,3] Type: List Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInXLPageEmpty1} \begin{paste}{ugLangLoopsForInXLPageEmpty1}{ugLangLoopsForInXLPagePatch1} \pastebutton{ugLangLoopsForInXLPageEmpty1}{\showpaste} \tab{5}\spadcommand{l := [0,-5,3]\bound{l }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInXLPagePatch2} \begin{paste}{ugLangLoopsForInXLPageFull2}{ugLangLoopsForInXLPageEmpty2} \pastebutton{ugLangLoopsForInXLPageFull2}{\hidepaste} \tab{5}\spadcommand{for x in l repeat output(x)\free{l }} \indentrel{3}\begin{verbatim} 0 - 5 3 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInXLPageEmpty2} \begin{paste}{ugLangLoopsForInXLPageEmpty2}{ugLangLoopsForInXLPagePatch2} \pastebutton{ugLangLoopsForInXLPageEmpty2}{\showpaste} \tab{5}\spadcommand{for x in l repeat output(x)\free{l }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInXLPagePatch3} \begin{paste}{ugLangLoopsForInXLPageFull3}{ugLangLoopsForInXLPageEmpty3} \pastebutton{ugLangLoopsForInXLPageFull3}{\hidepaste} \tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)} \indentrel{3}\begin{verbatim} [factor= 2,exponent= 8] [factor= 3,exponent= 1] [factor= 5,exponent= 5] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInXLPageEmpty3} \begin{paste}{ugLangLoopsForInXLPageEmpty3}{ugLangLoopsForInXLPagePatch3} \pastebutton{ugLangLoopsForInXLPageEmpty3}{\showpaste} \tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)} \end{paste}\end{patch} \begin{patch}{ugLangIfPagePatch1} \begin{paste}{ugLangIfPageFull1}{ugLangIfPageEmpty1} \pastebutton{ugLangIfPageFull1}{\hidepaste} \tab{5}\spadcommand{x + 1 = y} \indentrel{3}\begin{verbatim} (1) x + 1= y Type: Equation Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangIfPageEmpty1} \begin{paste}{ugLangIfPageEmpty1}{ugLangIfPagePatch1} \pastebutton{ugLangIfPageEmpty1}{\showpaste} \tab{5}\spadcommand{x + 1 = y} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMSPagePatch1} \begin{paste}{ugLangLoopsForInNMSPageFull1}{ugLangLoopsForInNMSPageEmpty1} \pastebutton{ugLangLoopsForInNMSPageFull1}{\hidepaste} \tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)} \indentrel{3}\begin{verbatim} 1 3 5 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMSPageEmpty1} \begin{paste}{ugLangLoopsForInNMSPageEmpty1}{ugLangLoopsForInNMSPagePatch1} \pastebutton{ugLangLoopsForInNMSPageEmpty1}{\showpaste} \tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMSPagePatch2} \begin{paste}{ugLangLoopsForInNMSPageFull2}{ugLangLoopsForInNMSPageEmpty2} \pastebutton{ugLangLoopsForInNMSPageFull2}{\hidepaste} \tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)} \indentrel{3}\begin{verbatim} 5 3 1 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInNMSPageEmpty2} \begin{paste}{ugLangLoopsForInNMSPageEmpty2}{ugLangLoopsForInNMSPagePatch2} \pastebutton{ugLangLoopsForInNMSPageEmpty2}{\showpaste} \tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)} \end{paste}\end{patch} \begin{patch}{ugLangLoopsIteratePagePatch1} \begin{paste}{ugLangLoopsIteratePageFull1}{ugLangLoopsIteratePageEmpty1} \pastebutton{ugLangLoopsIteratePageFull1}{\hidepaste} \tab{5}\spadcommand{i := 0\bound{i }} \indentrel{3}\begin{verbatim} (1) 0 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsIteratePageEmpty1} \begin{paste}{ugLangLoopsIteratePageEmpty1}{ugLangLoopsIteratePagePatch1} \pastebutton{ugLangLoopsIteratePageEmpty1}{\showpaste} \tab{5}\spadcommand{i := 0\bound{i }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsIteratePagePatch2} \begin{paste}{ugLangLoopsIteratePageFull2}{ugLangLoopsIteratePageEmpty2} \pastebutton{ugLangLoopsIteratePageFull2}{\hidepaste} \tab{5}\spadcommand{repeat i := i + 1 if i > 5 then break if odd?(i) then iterate output(i) \free{i }} \indentrel{3}\begin{verbatim} 2 4 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsIteratePageEmpty2} \begin{paste}{ugLangLoopsIteratePageEmpty2}{ugLangLoopsIteratePagePatch2} \pastebutton{ugLangLoopsIteratePageEmpty2}{\showpaste} \tab{5}\spadcommand{repeat i := i + 1 if i > 5 then break if odd?(i) then iterate output(i) \free{i }} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch1} \begin{paste}{ugLangItsPageFull1}{ugLangItsPageEmpty1} \pastebutton{ugLangItsPageFull1}{\hidepaste} \tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }} \indentrel{3}\begin{verbatim} (1) [1,2,3,4,5,6,7,8,9,10] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty1} \begin{paste}{ugLangItsPageEmpty1}{ugLangItsPagePatch1} \pastebutton{ugLangItsPageEmpty1}{\showpaste} \tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch2} \begin{paste}{ugLangItsPageFull2}{ugLangItsPageEmpty2} \pastebutton{ugLangItsPageFull2}{\hidepaste} \tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }} \indentrel{3}\begin{verbatim} (2) [1,2,3,4,5,6,7,8,9,10,...] Type: Stream PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty2} \begin{paste}{ugLangItsPageEmpty2}{ugLangItsPagePatch2} \pastebutton{ugLangItsPageEmpty2}{\showpaste} \tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch3} \begin{paste}{ugLangItsPageFull3}{ugLangItsPageEmpty3} \pastebutton{ugLangItsPageFull3}{\hidepaste} \tab{5}\spadcommand{[i for i in 1..10 | prime? i]} \indentrel{3}\begin{verbatim} (3) [2,3,5,7] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty3} \begin{paste}{ugLangItsPageEmpty3}{ugLangItsPagePatch3} \pastebutton{ugLangItsPageEmpty3}{\showpaste} \tab{5}\spadcommand{[i for i in 1..10 | prime? i]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch4} \begin{paste}{ugLangItsPageFull4}{ugLangItsPageEmpty4} \pastebutton{ugLangItsPageFull4}{\hidepaste} \tab{5}\spadcommand{[i for i in 1.. | prime? i]} \indentrel{3}\begin{verbatim} (4) [2,3,5,7,11,13,17,19,23,29,...] Type: Stream PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty4} \begin{paste}{ugLangItsPageEmpty4}{ugLangItsPagePatch4} \pastebutton{ugLangItsPageEmpty4}{\showpaste} \tab{5}\spadcommand{[i for i in 1.. | prime? i]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch5} \begin{paste}{ugLangItsPageFull5}{ugLangItsPageEmpty5} \pastebutton{ugLangItsPageFull5}{\hidepaste} \tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]} \indentrel{3}\begin{verbatim} (5) [1,2,3,4,5,6,7,8,9,10] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty5} \begin{paste}{ugLangItsPageEmpty5}{ugLangItsPagePatch5} \pastebutton{ugLangItsPageEmpty5}{\showpaste} \tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch6} \begin{paste}{ugLangItsPageFull6}{ugLangItsPageEmpty6} \pastebutton{ugLangItsPageFull6}{\hidepaste} \tab{5}\spadcommand{[i for i in 1.. while i*i < 700]} \indentrel{3}\begin{verbatim} (6) [1,2,3,4,5,6,7,8,9,10,...] Type: Stream PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty6} \begin{paste}{ugLangItsPageEmpty6}{ugLangItsPagePatch6} \pastebutton{ugLangItsPageEmpty6}{\showpaste} \tab{5}\spadcommand{[i for i in 1.. while i*i < 700]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch7} \begin{paste}{ugLangItsPageFull7}{ugLangItsPageEmpty7} \pastebutton{ugLangItsPageFull7}{\hidepaste} \tab{5}\spadcommand{matrix [[x**i+j for i in 1..3] for j in 10..12]} \indentrel{3}\begin{verbatim} Ú 2 3 ¿ ³x + 10 x + 10 x + 10³ ³ ³ (7) ³ 2 3 ³ ³x + 11 x + 11 x + 11³ ³ ³ ³ 2 3 ³ Àx + 12 x + 12 x + 12Ù Type: Matrix Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty7} \begin{paste}{ugLangItsPageEmpty7}{ugLangItsPagePatch7} \pastebutton{ugLangItsPageEmpty7}{\showpaste} \tab{5}\spadcommand{matrix [[x**i+j for i in 1..3] for j in 10..12]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch8} \begin{paste}{ugLangItsPageFull8}{ugLangItsPageEmpty8} \pastebutton{ugLangItsPageFull8}{\hidepaste} \tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]} \indentrel{3}\begin{verbatim} (8) [[2,3,4,5,6,7,8,9,10,11,...], 3 5 7 9 11 [Ä,2,Ä,3,Ä,4,Ä,5,ÄÄ,6,...], 2 2 2 2 2 4 5 7 8 10 11 13 [Ä,Ä,2,Ä,Ä,3,ÄÄ,ÄÄ,4,ÄÄ,...], 3 3 3 3 3 3 3 5 3 7 9 5 11 13 7 [Ä,Ä,Ä,2,Ä,Ä,ÄÄ,3,ÄÄ,Ä,...], 4 2 4 4 2 4 4 2 6 7 8 9 11 12 13 14 [Ä,Ä,Ä,Ä,2,ÄÄ,ÄÄ,ÄÄ,ÄÄ,3,...], 5 5 5 5 5 5 5 5 7 4 3 5 11 13 7 5 8 [Ä,Ä,Ä,Ä,ÄÄ,2,ÄÄ,Ä,Ä,Ä,...], 6 3 2 3 6 6 3 2 3 8 9 10 11 12 13 15 16 17 [Ä,Ä,ÄÄ,ÄÄ,ÄÄ,ÄÄ,2,ÄÄ,ÄÄ,ÄÄ,...], 7 7 7 7 7 7 7 7 7 9 5 11 3 13 7 15 17 9 [Ä,Ä,ÄÄ,Ä,ÄÄ,Ä,ÄÄ,2,ÄÄ,Ä,...], 8 4 8 2 8 4 8 8 4 10 11 4 13 14 5 16 17 19 [ÄÄ,ÄÄ,Ä,ÄÄ,ÄÄ,Ä,ÄÄ,ÄÄ,2,ÄÄ,...], 9 9 3 9 9 3 9 9 9 11 6 13 7 3 8 17 9 19 [ÄÄ,Ä,ÄÄ,Ä,Ä,Ä,ÄÄ,Ä,ÄÄ,2,...], ...] 10 5 10 5 2 5 10 5 10 Type: Stream Stream Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty8} \begin{paste}{ugLangItsPageEmpty8}{ugLangItsPagePatch8} \pastebutton{ugLangItsPageEmpty8}{\showpaste} \tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch9} \begin{paste}{ugLangItsPageFull9}{ugLangItsPageEmpty9} \pastebutton{ugLangItsPageFull9}{\hidepaste} \tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]} \indentrel{3}\begin{verbatim} 3 13 23 33 43 53 63 73 83 93 (9) [Ä,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,...] 2 3 4 5 6 7 8 9 10 11 Type: Stream Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty9} \begin{paste}{ugLangItsPageEmpty9}{ugLangItsPagePatch9} \pastebutton{ugLangItsPageEmpty9}{\showpaste} \tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch10} \begin{paste}{ugLangItsPageFull10}{ugLangItsPageEmpty10} \pastebutton{ugLangItsPageFull10}{\hidepaste} \tab{5}\spadcommand{[i**j for i in 1..7 for j in 2.. ]} \indentrel{3}\begin{verbatim} (10) [1,8,81,1024,15625,279936,5764801] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty10} \begin{paste}{ugLangItsPageEmpty10}{ugLangItsPagePatch10} \pastebutton{ugLangItsPageEmpty10}{\showpaste} \tab{5}\spadcommand{[i**j for i in 1..7 for j in 2.. ]} \end{paste}\end{patch} \begin{patch}{ugLangItsPagePatch11} \begin{paste}{ugLangItsPageFull11}{ugLangItsPageEmpty11} \pastebutton{ugLangItsPageFull11}{\hidepaste} \tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]} \indentrel{3}\begin{verbatim} (11) [[[11,17],[13,17]], [[11,19],[13,19]], [[11,21],[13,21]], [[11,22],[13,22]]] Type: List List List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangItsPageEmpty11} \begin{paste}{ugLangItsPageEmpty11}{ugLangItsPagePatch11} \pastebutton{ugLangItsPageEmpty11}{\showpaste} \tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch1} \begin{paste}{ugLangStreamsPrimesPageFull1}{ugLangStreamsPrimesPageEmpty1} \pastebutton{ugLangStreamsPrimesPageFull1}{\hidepaste} \tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]} \indentrel{3}\begin{verbatim} (1) [2,3,5,7,11,13,17,19,23,29,...] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty1} \begin{paste}{ugLangStreamsPrimesPageEmpty1}{ugLangStreamsPrimesPagePatch1} \pastebutton{ugLangStreamsPrimesPageEmpty1}{\showpaste} \tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch2} \begin{paste}{ugLangStreamsPrimesPageFull2}{ugLangStreamsPrimesPageEmpty2} \pastebutton{ugLangStreamsPrimesPageFull2}{\hidepaste} \tab{5}\spadcommand{primes := generate(nextPrime,2)} \indentrel{3}\begin{verbatim} (2) [2,3,5,7,11,13,17,19,23,29,...] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty2} \begin{paste}{ugLangStreamsPrimesPageEmpty2}{ugLangStreamsPrimesPagePatch2} \pastebutton{ugLangStreamsPrimesPageEmpty2}{\showpaste} \tab{5}\spadcommand{primes := generate(nextPrime,2)} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch3} \begin{paste}{ugLangStreamsPrimesPageFull3}{ugLangStreamsPrimesPageEmpty3} \pastebutton{ugLangStreamsPrimesPageFull3}{\hidepaste} \tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }} \indentrel{3}\begin{verbatim} (3) [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty3} \begin{paste}{ugLangStreamsPrimesPageEmpty3}{ugLangStreamsPrimesPagePatch3} \pastebutton{ugLangStreamsPrimesPageEmpty3}{\showpaste} \tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch4} \begin{paste}{ugLangStreamsPrimesPageFull4}{ugLangStreamsPrimesPageEmpty4} \pastebutton{ugLangStreamsPrimesPageFull4}{\hidepaste} \tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }} \indentrel{3}\begin{verbatim} (4) [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty4} \begin{paste}{ugLangStreamsPrimesPageEmpty4}{ugLangStreamsPrimesPagePatch4} \pastebutton{ugLangStreamsPrimesPageEmpty4}{\showpaste} \tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch5} \begin{paste}{ugLangStreamsPrimesPageFull5}{ugLangStreamsPrimesPageEmpty5} \pastebutton{ugLangStreamsPrimesPageFull5}{\hidepaste} \tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }} \indentrel{3}\begin{verbatim} (5) [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty5} \begin{paste}{ugLangStreamsPrimesPageEmpty5}{ugLangStreamsPrimesPagePatch5} \pastebutton{ugLangStreamsPrimesPageEmpty5}{\showpaste} \tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch6} \begin{paste}{ugLangStreamsPrimesPageFull6}{ugLangStreamsPrimesPageEmpty6} \pastebutton{ugLangStreamsPrimesPageFull6}{\hidepaste} \tab{5}\spadcommand{complete \%} \indentrel{3}\begin{verbatim} (6) [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty6} \begin{paste}{ugLangStreamsPrimesPageEmpty6}{ugLangStreamsPrimesPagePatch6} \pastebutton{ugLangStreamsPrimesPageEmpty6}{\showpaste} \tab{5}\spadcommand{complete \%} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch7} \begin{paste}{ugLangStreamsPrimesPageFull7}{ugLangStreamsPrimesPageEmpty7} \pastebutton{ugLangStreamsPrimesPageFull7}{\hidepaste} \tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]} \indentrel{3}\begin{verbatim} (7) [[3,5], [5,7], [11,13], [17,19], [29,31], [41,43], [59,61], [71,73], [101,103], [107,109], ...] Type: Stream List Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty7} \begin{paste}{ugLangStreamsPrimesPageEmpty7}{ugLangStreamsPrimesPagePatch7} \pastebutton{ugLangStreamsPrimesPageEmpty7}{\showpaste} \tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch8} \begin{paste}{ugLangStreamsPrimesPageFull8}{ugLangStreamsPrimesPageEmpty8} \pastebutton{ugLangStreamsPrimesPageFull8}{\hidepaste} \tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]} \indentrel{3}\begin{verbatim} (8) [3,5,11,17,29,41,59,71,101,107,...] Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty8} \begin{paste}{ugLangStreamsPrimesPageEmpty8}{ugLangStreamsPrimesPagePatch8} \pastebutton{ugLangStreamsPrimesPageEmpty8}{\showpaste} \tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch9} \begin{paste}{ugLangStreamsPrimesPageFull9}{ugLangStreamsPrimesPageEmpty9} \pastebutton{ugLangStreamsPrimesPageFull9}{\hidepaste} \tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];} \indentrel{3}\begin{verbatim} Type: Stream Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty9} \begin{paste}{ugLangStreamsPrimesPageEmpty9}{ugLangStreamsPrimesPagePatch9} \pastebutton{ugLangStreamsPrimesPageEmpty9}{\showpaste} \tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch10} \begin{paste}{ugLangStreamsPrimesPageFull10}{ugLangStreamsPrimesPageEmpty10} \pastebutton{ugLangStreamsPrimesPageFull10}{\hidepaste} \tab{5}\spadcommand{firstTriplets.1} \indentrel{3}\begin{verbatim} (10) 3 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty10} \begin{paste}{ugLangStreamsPrimesPageEmpty10}{ugLangStreamsPrimesPagePatch10} \pastebutton{ugLangStreamsPrimesPageEmpty10}{\showpaste} \tab{5}\spadcommand{firstTriplets.1} \end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPagePatch11} \begin{paste}{ugLangStreamsPrimesPageFull11}{ugLangStreamsPrimesPageEmpty11} \pastebutton{ugLangStreamsPrimesPageFull11}{\hidepaste} \tab{5}\spadcommand{primes.2045} \indentrel{3}\begin{verbatim} (11) 17837 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangStreamsPrimesPageEmpty11} \begin{paste}{ugLangStreamsPrimesPageEmpty11}{ugLangStreamsPrimesPagePatch11} \pastebutton{ugLangStreamsPrimesPageEmpty11}{\showpaste} \tab{5}\spadcommand{primes.2045} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInPredPagePatch1} \begin{paste}{ugLangLoopsForInPredPageFull1}{ugLangLoopsForInPredPageEmpty1} \pastebutton{ugLangLoopsForInPredPageFull1}{\hidepaste} \tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n} \indentrel{3}\begin{verbatim} 1 3 Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInPredPageEmpty1} \begin{paste}{ugLangLoopsForInPredPageEmpty1}{ugLangLoopsForInPredPagePatch1} \pastebutton{ugLangLoopsForInPredPageEmpty1}{\showpaste} \tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n} \end{paste}\end{patch} \begin{patch}{ugLangLoopsForInPredPagePatch2} \begin{paste}{ugLangLoopsForInPredPageFull2}{ugLangLoopsForInPredPageEmpty2} \pastebutton{ugLangLoopsForInPredPageFull2}{\hidepaste} \tab{5}\spadcommand{for i in 1..50 repeat for j in 1..50 | factorial(i+j) < 25 repeat output [i,j] } \indentrel{3}\begin{verbatim} [1,1] [1,2] [1,3] [2,1] [2,2] [3,1] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsForInPredPageEmpty2} \begin{paste}{ugLangLoopsForInPredPageEmpty2}{ugLangLoopsForInPredPagePatch2} \pastebutton{ugLangLoopsForInPredPageEmpty2}{\showpaste} \tab{5}\spadcommand{for i in 1..50 repeat for j in 1..50 | factorial(i+j) < 25 repeat output [i,j] } \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch1} \begin{paste}{ugLangLoopsBreakMorePageFull1}{ugLangLoopsBreakMorePageEmpty1} \pastebutton{ugLangLoopsBreakMorePageFull1}{\hidepaste} \tab{5}\spadcommand{i := 0\bound{i }} \indentrel{3}\begin{verbatim} (1) 0 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty1} \begin{paste}{ugLangLoopsBreakMorePageEmpty1}{ugLangLoopsBreakMorePagePatch1} \pastebutton{ugLangLoopsBreakMorePageEmpty1}{\showpaste} \tab{5}\spadcommand{i := 0\bound{i }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch2} \begin{paste}{ugLangLoopsBreakMorePageFull2}{ugLangLoopsBreakMorePageEmpty2} \pastebutton{ugLangLoopsBreakMorePageFull2}{\hidepaste} \tab{5}\spadcommand{repeat i := i + 1 if i**2 > 100 then break \free{i }\bound{i1 }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty2} \begin{paste}{ugLangLoopsBreakMorePageEmpty2}{ugLangLoopsBreakMorePagePatch2} \pastebutton{ugLangLoopsBreakMorePageEmpty2}{\showpaste} \tab{5}\spadcommand{repeat i := i + 1 if i**2 > 100 then break \free{i }\bound{i1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch3} \begin{paste}{ugLangLoopsBreakMorePageFull3}{ugLangLoopsBreakMorePageEmpty3} \pastebutton{ugLangLoopsBreakMorePageFull3}{\hidepaste} \tab{5}\spadcommand{i\free{i1 }} \indentrel{3}\begin{verbatim} (3) 11 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty3} \begin{paste}{ugLangLoopsBreakMorePageEmpty3}{ugLangLoopsBreakMorePagePatch3} \pastebutton{ugLangLoopsBreakMorePageEmpty3}{\showpaste} \tab{5}\spadcommand{i\free{i1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch4} \begin{paste}{ugLangLoopsBreakMorePageFull4}{ugLangLoopsBreakMorePageEmpty4} \pastebutton{ugLangLoopsBreakMorePageFull4}{\hidepaste} \tab{5}\spadcommand{i := 0\bound{i2 }} \indentrel{3}\begin{verbatim} (4) 0 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty4} \begin{paste}{ugLangLoopsBreakMorePageEmpty4}{ugLangLoopsBreakMorePagePatch4} \pastebutton{ugLangLoopsBreakMorePageEmpty4}{\showpaste} \tab{5}\spadcommand{i := 0\bound{i2 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch5} \begin{paste}{ugLangLoopsBreakMorePageFull5}{ugLangLoopsBreakMorePageEmpty5} \pastebutton{ugLangLoopsBreakMorePageFull5}{\hidepaste} \tab{5}\spadcommand{repeat i := i + 1 i**2 > 100 => break \free{i2 }\bound{i3 }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty5} \begin{paste}{ugLangLoopsBreakMorePageEmpty5}{ugLangLoopsBreakMorePagePatch5} \pastebutton{ugLangLoopsBreakMorePageEmpty5}{\showpaste} \tab{5}\spadcommand{repeat i := i + 1 i**2 > 100 => break \free{i2 }\bound{i3 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch6} \begin{paste}{ugLangLoopsBreakMorePageFull6}{ugLangLoopsBreakMorePageEmpty6} \pastebutton{ugLangLoopsBreakMorePageFull6}{\hidepaste} \tab{5}\spadcommand{i\free{i3 }} \indentrel{3}\begin{verbatim} (6) 11 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty6} \begin{paste}{ugLangLoopsBreakMorePageEmpty6}{ugLangLoopsBreakMorePagePatch6} \pastebutton{ugLangLoopsBreakMorePageEmpty6}{\showpaste} \tab{5}\spadcommand{i\free{i3 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch7} \begin{paste}{ugLangLoopsBreakMorePageFull7}{ugLangLoopsBreakMorePageEmpty7} \pastebutton{ugLangLoopsBreakMorePageFull7}{\hidepaste} \tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }} \indentrel{3}\begin{verbatim} (7) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty7} \begin{paste}{ugLangLoopsBreakMorePageEmpty7}{ugLangLoopsBreakMorePagePatch7} \pastebutton{ugLangLoopsBreakMorePageEmpty7}{\showpaste} \tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch8} \begin{paste}{ugLangLoopsBreakMorePageFull8}{ugLangLoopsBreakMorePageEmpty8} \pastebutton{ugLangLoopsBreakMorePageFull8}{\hidepaste} \tab{5}\spadcommand{repeat if i > n then break f := f * i i := i + 1 \bound{f1 }\bound{i5 }\free{f i4 n }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty8} \begin{paste}{ugLangLoopsBreakMorePageEmpty8}{ugLangLoopsBreakMorePagePatch8} \pastebutton{ugLangLoopsBreakMorePageEmpty8}{\showpaste} \tab{5}\spadcommand{repeat if i > n then break f := f * i i := i + 1 \bound{f1 }\bound{i5 }\free{f i4 n }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch9} \begin{paste}{ugLangLoopsBreakMorePageFull9}{ugLangLoopsBreakMorePageEmpty9} \pastebutton{ugLangLoopsBreakMorePageFull9}{\hidepaste} \tab{5}\spadcommand{f\free{f1 }} \indentrel{3}\begin{verbatim} (9) 933262154439441526816992388562667004907159682643816214_ 68592963895217599993229915608941463976156518286253697_ 920827223758251185210916864000000000000000000000000 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty9} \begin{paste}{ugLangLoopsBreakMorePageEmpty9}{ugLangLoopsBreakMorePagePatch9} \pastebutton{ugLangLoopsBreakMorePageEmpty9}{\showpaste} \tab{5}\spadcommand{f\free{f1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch10} \begin{paste}{ugLangLoopsBreakMorePageFull10}{ugLangLoopsBreakMorePageEmpty10} \pastebutton{ugLangLoopsBreakMorePageFull10}{\hidepaste} \tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} \indentrel{3}\begin{verbatim} Ú21 37 53 14 ¿ ³ ³ ³8 - 24 22 - 16³ (10) ³ ³ ³2 10 15 14 ³ ³ ³ À26 33 55 - 13Ù Type: Matrix Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty10} \begin{paste}{ugLangLoopsBreakMorePageEmpty10}{ugLangLoopsBreakMorePagePatch10} \pastebutton{ugLangLoopsBreakMorePageEmpty10}{\showpaste} \tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch11} \begin{paste}{ugLangLoopsBreakMorePageFull11}{ugLangLoopsBreakMorePageEmpty11} \pastebutton{ugLangLoopsBreakMorePageFull11}{\hidepaste} \tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }} \indentrel{3}\begin{verbatim} (11) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty11} \begin{paste}{ugLangLoopsBreakMorePageEmpty11}{ugLangLoopsBreakMorePagePatch11} \pastebutton{ugLangLoopsBreakMorePageEmpty11}{\showpaste} \tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch12} \begin{paste}{ugLangLoopsBreakMorePageFull12}{ugLangLoopsBreakMorePageEmpty12} \pastebutton{ugLangLoopsBreakMorePageFull12}{\hidepaste} \tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} \indentrel{3}\begin{verbatim} (12) 4 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty12} \begin{paste}{ugLangLoopsBreakMorePageEmpty12}{ugLangLoopsBreakMorePagePatch12} \pastebutton{ugLangLoopsBreakMorePageEmpty12}{\showpaste} \tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePagePatch13} \begin{paste}{ugLangLoopsBreakMorePageFull13}{ugLangLoopsBreakMorePageEmpty13} \pastebutton{ugLangLoopsBreakMorePageFull13}{\hidepaste} \tab{5}\spadcommand{repeat if r > lastrow then break c := 1 repeat if c > lastcol then break if elt(m,r,c) < 0 then output [r, c, elt(m,r,c)] r := lastrow break -- don't look any further c := c + 1 r := r + 1 \free{m2 r c lastrow lastcol }} \indentrel{3}\begin{verbatim} [2,2,- 24] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakMorePageEmpty13} \begin{paste}{ugLangLoopsBreakMorePageEmpty13}{ugLangLoopsBreakMorePagePatch13} \pastebutton{ugLangLoopsBreakMorePageEmpty13}{\showpaste} \tab{5}\spadcommand{repeat if r > lastrow then break c := 1 repeat if c > lastcol then break if elt(m,r,c) < 0 then output [r, c, elt(m,r,c)] r := lastrow break -- don't look any further c := c + 1 r := r + 1 \free{m2 r c lastrow lastcol }} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch1} \begin{paste}{ugLangBlocksPageFull1}{ugLangBlocksPageEmpty1} \pastebutton{ugLangBlocksPageFull1}{\hidepaste} \tab{5}\spadcommand{a := i := gcd(234,672) i := 3*i**5 - i + 1 1 / i } \indentrel{3}\begin{verbatim} 1 (1) ÄÄÄÄÄ 23323 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty1} \begin{paste}{ugLangBlocksPageEmpty1}{ugLangBlocksPagePatch1} \pastebutton{ugLangBlocksPageEmpty1}{\showpaste} \tab{5}\spadcommand{a := i := gcd(234,672) i := 3*i**5 - i + 1 1 / i } \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch2} \begin{paste}{ugLangBlocksPageFull2}{ugLangBlocksPageEmpty2} \pastebutton{ugLangBlocksPageFull2}{\hidepaste} \tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i**5 - i + 1; 1 / i)} \indentrel{3}\begin{verbatim} 1 (2) ÄÄÄÄÄ 23323 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty2} \begin{paste}{ugLangBlocksPageEmpty2}{ugLangBlocksPagePatch2} \pastebutton{ugLangBlocksPageEmpty2}{\showpaste} \tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i**5 - i + 1; 1 / i)} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch3} \begin{paste}{ugLangBlocksPageFull3}{ugLangBlocksPageEmpty3} \pastebutton{ugLangBlocksPageFull3}{\hidepaste} \tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }} \indentrel{3}\begin{verbatim} (3) [1,2,3] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty3} \begin{paste}{ugLangBlocksPageEmpty3}{ugLangBlocksPagePatch3} \pastebutton{ugLangBlocksPageEmpty3}{\showpaste} \tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch4} \begin{paste}{ugLangBlocksPageFull4}{ugLangBlocksPageEmpty4} \pastebutton{ugLangBlocksPageFull4}{\hidepaste} \tab{5}\spadcommand{d := c := a**2 + b**2 sqrt(c * 1.3) \free{a b }} \indentrel{3}\begin{verbatim} (4) 2.5495097567 96392415 Type: Float \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty4} \begin{paste}{ugLangBlocksPageEmpty4}{ugLangBlocksPagePatch4} \pastebutton{ugLangBlocksPageEmpty4}{\showpaste} \tab{5}\spadcommand{d := c := a**2 + b**2 sqrt(c * 1.3) \free{a b }} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch5} \begin{paste}{ugLangBlocksPageFull5}{ugLangBlocksPageEmpty5} \pastebutton{ugLangBlocksPageFull5}{\hidepaste} \tab{5}\spadcommand{h := 2.1 + 1.0 3.5 \bound{h }} \indentrel{3}\begin{verbatim} (5) 5.6 Type: Float \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty5} \begin{paste}{ugLangBlocksPageEmpty5}{ugLangBlocksPagePatch5} \pastebutton{ugLangBlocksPageEmpty5}{\showpaste} \tab{5}\spadcommand{h := 2.1 + 1.0 3.5 \bound{h }} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch6} \begin{paste}{ugLangBlocksPageFull6}{ugLangBlocksPageEmpty6} \pastebutton{ugLangBlocksPageFull6}{\hidepaste} \tab{5}\spadcommand{eval(x**2 - x*y**2, z := \%pi/2.0 - exp(4.1) x = z ) } \indentrel{3}\begin{verbatim} (6) 2 58.7694912705 67072878 y + 3453.8531042012 59382 Type: Polynomial Float \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty6} \begin{paste}{ugLangBlocksPageEmpty6}{ugLangBlocksPagePatch6} \pastebutton{ugLangBlocksPageEmpty6}{\showpaste} \tab{5}\spadcommand{eval(x**2 - x*y**2, z := \%pi/2.0 - exp(4.1) x = z ) } \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch7} \begin{paste}{ugLangBlocksPageFull7}{ugLangBlocksPageEmpty7} \pastebutton{ugLangBlocksPageFull7}{\hidepaste} \tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }} \indentrel{3}\begin{verbatim} (7) 1.0 Type: Float \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty7} \begin{paste}{ugLangBlocksPageEmpty7}{ugLangBlocksPagePatch7} \pastebutton{ugLangBlocksPageEmpty7}{\showpaste} \tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch8} \begin{paste}{ugLangBlocksPageFull8}{ugLangBlocksPageEmpty8} \pastebutton{ugLangBlocksPageFull8}{\hidepaste} \tab{5}\spadcommand{if h > 3.1 then 1.0 else z := cos(h) max(z,0.5) \free{h }} \indentrel{3}\begin{verbatim} (8) 1.0 Type: Float \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty8} \begin{paste}{ugLangBlocksPageEmpty8}{ugLangBlocksPagePatch8} \pastebutton{ugLangBlocksPageEmpty8}{\showpaste} \tab{5}\spadcommand{if h > 3.1 then 1.0 else z := cos(h) max(z,0.5) \free{h }} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch9} \begin{paste}{ugLangBlocksPageFull9}{ugLangBlocksPageEmpty9} \pastebutton{ugLangBlocksPageFull9}{\hidepaste} \tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)} \indentrel{3}\begin{verbatim} (9) 482630400 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty9} \begin{paste}{ugLangBlocksPageEmpty9}{ugLangBlocksPagePatch9} \pastebutton{ugLangBlocksPageEmpty9}{\showpaste} \tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)} \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch10} \begin{paste}{ugLangBlocksPageFull10}{ugLangBlocksPageEmpty10} \pastebutton{ugLangBlocksPageFull10}{\hidepaste} \tab{5}\spadcommand{a := b := factorial(12) c := d := eulerPhi(22) factorial(d) b+c } \indentrel{3}\begin{verbatim} (10) 482630400 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty10} \begin{paste}{ugLangBlocksPageEmpty10}{ugLangBlocksPagePatch10} \pastebutton{ugLangBlocksPageEmpty10}{\showpaste} \tab{5}\spadcommand{a := b := factorial(12) c := d := eulerPhi(22) factorial(d) b+c } \end{paste}\end{patch} \begin{patch}{ugLangBlocksPagePatch11} \begin{paste}{ugLangBlocksPageFull11}{ugLangBlocksPageEmpty11} \pastebutton{ugLangBlocksPageFull11}{\hidepaste} \tab{5}\spadcommand{a := c := factorial 10 d := fibonacci 10 c + d = 3628855 => c d } \indentrel{3}\begin{verbatim} (11) 3628800 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangBlocksPageEmpty11} \begin{paste}{ugLangBlocksPageEmpty11}{ugLangBlocksPagePatch11} \pastebutton{ugLangBlocksPageEmpty11}{\showpaste} \tab{5}\spadcommand{a := c := factorial 10 d := fibonacci 10 c + d = 3628855 => c d } \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch1} \begin{paste}{ugLangAssignPageFull1}{ugLangAssignPageEmpty1} \pastebutton{ugLangAssignPageFull1}{\hidepaste} \tab{5}\spadcommand{a := 1\bound{a }} \indentrel{3}\begin{verbatim} (1) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty1} \begin{paste}{ugLangAssignPageEmpty1}{ugLangAssignPagePatch1} \pastebutton{ugLangAssignPageEmpty1}{\showpaste} \tab{5}\spadcommand{a := 1\bound{a }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch2} \begin{paste}{ugLangAssignPageFull2}{ugLangAssignPageEmpty2} \pastebutton{ugLangAssignPageFull2}{\hidepaste} \tab{5}\spadcommand{b := a\free{a }\bound{b }} \indentrel{3}\begin{verbatim} (2) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty2} \begin{paste}{ugLangAssignPageEmpty2}{ugLangAssignPagePatch2} \pastebutton{ugLangAssignPageEmpty2}{\showpaste} \tab{5}\spadcommand{b := a\free{a }\bound{b }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch3} \begin{paste}{ugLangAssignPageFull3}{ugLangAssignPageEmpty3} \pastebutton{ugLangAssignPageFull3}{\hidepaste} \tab{5}\spadcommand{a := 2\bound{a2 }} \indentrel{3}\begin{verbatim} (3) 2 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty3} \begin{paste}{ugLangAssignPageEmpty3}{ugLangAssignPagePatch3} \pastebutton{ugLangAssignPageEmpty3}{\showpaste} \tab{5}\spadcommand{a := 2\bound{a2 }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch4} \begin{paste}{ugLangAssignPageFull4}{ugLangAssignPageEmpty4} \pastebutton{ugLangAssignPageFull4}{\hidepaste} \tab{5}\spadcommand{b\free{b }} \indentrel{3}\begin{verbatim} (4) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty4} \begin{paste}{ugLangAssignPageEmpty4}{ugLangAssignPagePatch4} \pastebutton{ugLangAssignPageEmpty4}{\showpaste} \tab{5}\spadcommand{b\free{b }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch5} \begin{paste}{ugLangAssignPageFull5}{ugLangAssignPageEmpty5} \pastebutton{ugLangAssignPageFull5}{\hidepaste} \tab{5}\spadcommand{a == 1\bound{ad }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty5} \begin{paste}{ugLangAssignPageEmpty5}{ugLangAssignPagePatch5} \pastebutton{ugLangAssignPageEmpty5}{\showpaste} \tab{5}\spadcommand{a == 1\bound{ad }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch6} \begin{paste}{ugLangAssignPageFull6}{ugLangAssignPageEmpty6} \pastebutton{ugLangAssignPageFull6}{\hidepaste} \tab{5}\spadcommand{b == a\free{ad }\bound{bd }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty6} \begin{paste}{ugLangAssignPageEmpty6}{ugLangAssignPagePatch6} \pastebutton{ugLangAssignPageEmpty6}{\showpaste} \tab{5}\spadcommand{b == a\free{ad }\bound{bd }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch7} \begin{paste}{ugLangAssignPageFull7}{ugLangAssignPageEmpty7} \pastebutton{ugLangAssignPageFull7}{\hidepaste} \tab{5}\spadcommand{a\free{ad }} \indentrel{3}\begin{verbatim} (7) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty7} \begin{paste}{ugLangAssignPageEmpty7}{ugLangAssignPagePatch7} \pastebutton{ugLangAssignPageEmpty7}{\showpaste} \tab{5}\spadcommand{a\free{ad }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch8} \begin{paste}{ugLangAssignPageFull8}{ugLangAssignPageEmpty8} \pastebutton{ugLangAssignPageFull8}{\hidepaste} \tab{5}\spadcommand{b\free{bd }} \indentrel{3}\begin{verbatim} (8) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty8} \begin{paste}{ugLangAssignPageEmpty8}{ugLangAssignPagePatch8} \pastebutton{ugLangAssignPageEmpty8}{\showpaste} \tab{5}\spadcommand{b\free{bd }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch9} \begin{paste}{ugLangAssignPageFull9}{ugLangAssignPageEmpty9} \pastebutton{ugLangAssignPageFull9}{\hidepaste} \tab{5}\spadcommand{a == 2\bound{ad2 }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty9} \begin{paste}{ugLangAssignPageEmpty9}{ugLangAssignPagePatch9} \pastebutton{ugLangAssignPageEmpty9}{\showpaste} \tab{5}\spadcommand{a == 2\bound{ad2 }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch10} \begin{paste}{ugLangAssignPageFull10}{ugLangAssignPageEmpty10} \pastebutton{ugLangAssignPageFull10}{\hidepaste} \tab{5}\spadcommand{a\free{ad2 }} \indentrel{3}\begin{verbatim} (10) 2 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty10} \begin{paste}{ugLangAssignPageEmpty10}{ugLangAssignPagePatch10} \pastebutton{ugLangAssignPageEmpty10}{\showpaste} \tab{5}\spadcommand{a\free{ad2 }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch11} \begin{paste}{ugLangAssignPageFull11}{ugLangAssignPageEmpty11} \pastebutton{ugLangAssignPageFull11}{\hidepaste} \tab{5}\spadcommand{b\free{bd ad2 }} \indentrel{3}\begin{verbatim} (11) 2 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty11} \begin{paste}{ugLangAssignPageEmpty11}{ugLangAssignPagePatch11} \pastebutton{ugLangAssignPageEmpty11}{\showpaste} \tab{5}\spadcommand{b\free{bd ad2 }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch12} \begin{paste}{ugLangAssignPageFull12}{ugLangAssignPageEmpty12} \pastebutton{ugLangAssignPageFull12}{\hidepaste} \tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }} \indentrel{3}\begin{verbatim} (12) 2 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty12} \begin{paste}{ugLangAssignPageEmpty12}{ugLangAssignPagePatch12} \pastebutton{ugLangAssignPageEmpty12}{\showpaste} \tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch13} \begin{paste}{ugLangAssignPageFull13}{ugLangAssignPageEmpty13} \pastebutton{ugLangAssignPageFull13}{\hidepaste} \tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }} \indentrel{3}\begin{verbatim} (13) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty13} \begin{paste}{ugLangAssignPageEmpty13}{ugLangAssignPagePatch13} \pastebutton{ugLangAssignPageEmpty13}{\showpaste} \tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch14} \begin{paste}{ugLangAssignPageFull14}{ugLangAssignPageEmpty14} \pastebutton{ugLangAssignPageFull14}{\hidepaste} \tab{5}\spadcommand{x\free{swap }} \indentrel{3}\begin{verbatim} (14) 2 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty14} \begin{paste}{ugLangAssignPageEmpty14}{ugLangAssignPagePatch14} \pastebutton{ugLangAssignPageEmpty14}{\showpaste} \tab{5}\spadcommand{x\free{swap }} \end{paste}\end{patch} \begin{patch}{ugLangAssignPagePatch15} \begin{paste}{ugLangAssignPageFull15}{ugLangAssignPageEmpty15} \pastebutton{ugLangAssignPageFull15}{\hidepaste} \tab{5}\spadcommand{y\free{swap }} \indentrel{3}\begin{verbatim} (15) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangAssignPageEmpty15} \begin{paste}{ugLangAssignPageEmpty15}{ugLangAssignPagePatch15} \pastebutton{ugLangAssignPageEmpty15}{\showpaste} \tab{5}\spadcommand{y\free{swap }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch1} \begin{paste}{ugLangLoopsParPageFull1}{ugLangLoopsParPageEmpty1} \pastebutton{ugLangLoopsParPageFull1}{\hidepaste} \tab{5}\spadcommand{l := [1,3,5,7]\bound{l }} \indentrel{3}\begin{verbatim} (1) [1,3,5,7] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty1} \begin{paste}{ugLangLoopsParPageEmpty1}{ugLangLoopsParPagePatch1} \pastebutton{ugLangLoopsParPageEmpty1}{\showpaste} \tab{5}\spadcommand{l := [1,3,5,7]\bound{l }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch2} \begin{paste}{ugLangLoopsParPageFull2}{ugLangLoopsParPageEmpty2} \pastebutton{ugLangLoopsParPageFull2}{\hidepaste} \tab{5}\spadcommand{m := [100,200]\bound{m }} \indentrel{3}\begin{verbatim} (2) [100,200] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty2} \begin{paste}{ugLangLoopsParPageEmpty2}{ugLangLoopsParPagePatch2} \pastebutton{ugLangLoopsParPageEmpty2}{\showpaste} \tab{5}\spadcommand{m := [100,200]\bound{m }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch3} \begin{paste}{ugLangLoopsParPageFull3}{ugLangLoopsParPageEmpty3} \pastebutton{ugLangLoopsParPageFull3}{\hidepaste} \tab{5}\spadcommand{sum := 0\bound{sum }} \indentrel{3}\begin{verbatim} (3) 0 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty3} \begin{paste}{ugLangLoopsParPageEmpty3}{ugLangLoopsParPagePatch3} \pastebutton{ugLangLoopsParPageEmpty3}{\showpaste} \tab{5}\spadcommand{sum := 0\bound{sum }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch4} \begin{paste}{ugLangLoopsParPageFull4}{ugLangLoopsParPageEmpty4} \pastebutton{ugLangLoopsParPageFull4}{\hidepaste} \tab{5}\spadcommand{for x in l for y in m repeat sum := sum + x*y \bound{doit }\free{sum l m }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty4} \begin{paste}{ugLangLoopsParPageEmpty4}{ugLangLoopsParPagePatch4} \pastebutton{ugLangLoopsParPageEmpty4}{\showpaste} \tab{5}\spadcommand{for x in l for y in m repeat sum := sum + x*y \bound{doit }\free{sum l m }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch5} \begin{paste}{ugLangLoopsParPageFull5}{ugLangLoopsParPageEmpty5} \pastebutton{ugLangLoopsParPageFull5}{\hidepaste} \tab{5}\spadcommand{sum\free{doit }} \indentrel{3}\begin{verbatim} (5) 700 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty5} \begin{paste}{ugLangLoopsParPageEmpty5}{ugLangLoopsParPagePatch5} \pastebutton{ugLangLoopsParPageEmpty5}{\showpaste} \tab{5}\spadcommand{sum\free{doit }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch6} \begin{paste}{ugLangLoopsParPageFull6}{ugLangLoopsParPageEmpty6} \pastebutton{ugLangLoopsParPageFull6}{\hidepaste} \tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }} \indentrel{3}\begin{verbatim} (6) [2,3,5,7,11,13,17,19,23,29,31,37] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty6} \begin{paste}{ugLangLoopsParPageEmpty6}{ugLangLoopsParPagePatch6} \pastebutton{ugLangLoopsParPageEmpty6}{\showpaste} \tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch7} \begin{paste}{ugLangLoopsParPageFull7}{ugLangLoopsParPageEmpty7} \pastebutton{ugLangLoopsParPageFull7}{\hidepaste} \tab{5}\spadcommand{sum := 0\bound{sum1 }} \indentrel{3}\begin{verbatim} (7) 0 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty7} \begin{paste}{ugLangLoopsParPageEmpty7}{ugLangLoopsParPagePatch7} \pastebutton{ugLangLoopsParPageEmpty7}{\showpaste} \tab{5}\spadcommand{sum := 0\bound{sum1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch8} \begin{paste}{ugLangLoopsParPageFull8}{ugLangLoopsParPageEmpty8} \pastebutton{ugLangLoopsParPageFull8}{\hidepaste} \tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty8} \begin{paste}{ugLangLoopsParPageEmpty8}{ugLangLoopsParPagePatch8} \pastebutton{ugLangLoopsParPageEmpty8}{\showpaste} \tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch9} \begin{paste}{ugLangLoopsParPageFull9}{ugLangLoopsParPageEmpty9} \pastebutton{ugLangLoopsParPageFull9}{\hidepaste} \tab{5}\spadcommand{sum\free{doit1 }} \indentrel{3}\begin{verbatim} (9) 407 Type: NonNegativeInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty9} \begin{paste}{ugLangLoopsParPageEmpty9}{ugLangLoopsParPagePatch9} \pastebutton{ugLangLoopsParPageEmpty9}{\showpaste} \tab{5}\spadcommand{sum\free{doit1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsParPagePatch10} \begin{paste}{ugLangLoopsParPageFull10}{ugLangLoopsParPageEmpty10} \pastebutton{ugLangLoopsParPageFull10}{\hidepaste} \tab{5}\spadcommand{for i in 1..10 for j in 151..160 | odd? j while i + j < 160 repeat output [i,j] } \indentrel{3}\begin{verbatim} [1,151] [3,153] Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsParPageEmpty10} \begin{paste}{ugLangLoopsParPageEmpty10}{ugLangLoopsParPagePatch10} \pastebutton{ugLangLoopsParPageEmpty10}{\showpaste} \tab{5}\spadcommand{for i in 1..10 for j in 151..160 | odd? j while i + j < 160 repeat output [i,j] } \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPagePatch1} \begin{paste}{ugLangLoopsBreakPageFull1}{ugLangLoopsBreakPageEmpty1} \pastebutton{ugLangLoopsBreakPageFull1}{\hidepaste} \tab{5}\spadcommand{f() == i := 1 repeat if factorial(i) > 1000 then break i := i + 1 i \bound{f1 }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPageEmpty1} \begin{paste}{ugLangLoopsBreakPageEmpty1}{ugLangLoopsBreakPagePatch1} \pastebutton{ugLangLoopsBreakPageEmpty1}{\showpaste} \tab{5}\spadcommand{f() == i := 1 repeat if factorial(i) > 1000 then break i := i + 1 i \bound{f1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPagePatch2} \begin{paste}{ugLangLoopsBreakPageFull2}{ugLangLoopsBreakPageEmpty2} \pastebutton{ugLangLoopsBreakPageFull2}{\hidepaste} \tab{5}\spadcommand{f()\free{f1 }} \indentrel{3}\begin{verbatim} (2) 7 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPageEmpty2} \begin{paste}{ugLangLoopsBreakPageEmpty2}{ugLangLoopsBreakPagePatch2} \pastebutton{ugLangLoopsBreakPageEmpty2}{\showpaste} \tab{5}\spadcommand{f()\free{f1 }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPagePatch3} \begin{paste}{ugLangLoopsBreakPageFull3}{ugLangLoopsBreakPageEmpty3} \pastebutton{ugLangLoopsBreakPageFull3}{\hidepaste} \tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }} \indentrel{3}\begin{verbatim} (3) 1 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPageEmpty3} \begin{paste}{ugLangLoopsBreakPageEmpty3}{ugLangLoopsBreakPagePatch3} \pastebutton{ugLangLoopsBreakPageEmpty3}{\showpaste} \tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }} \end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPagePatch4} \begin{paste}{ugLangLoopsBreakPageFull4}{ugLangLoopsBreakPageEmpty4} \pastebutton{ugLangLoopsBreakPageFull4}{\hidepaste} \tab{5}\spadcommand{repeat repeat if (i + j) > 10 then break j := j + 1 if (i + j) > 10 then break i := i + 1 \free{i j }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{ugLangLoopsBreakPageEmpty4} \begin{paste}{ugLangLoopsBreakPageEmpty4}{ugLangLoopsBreakPagePatch4} \pastebutton{ugLangLoopsBreakPageEmpty4}{\showpaste} \tab{5}\spadcommand{repeat repeat if (i + j) > 10 then break j := j + 1 if (i + j) > 10 then break i := i + 1 \free{i j }} \end{paste}\end{patch}