Power set: Difference between revisions

m
→‎[[Power set#ALGOL 68]]: fix pre tag - segregate test
(J: explain last example)
m (→‎[[Power set#ALGOL 68]]: fix pre tag - segregate test)
Line 103:
</pre>
=={{header|ALGOL 68}}==
{{works with|ALGOL 68|Revision 1 - no extensions to language used}}
 
{{works with|ALGOL 68G|Any - tested with release [http://sourceforge.net/projects/algol68/files/algol68g/algol68g-1.18.0/algol68g-1.18.0-9h.tiny.el5.centos.fc11.i386.rpm/download 1.18.0-9h.tiny]}}
{{wont work with|ELLA ALGOL 68|Any (with appropriate job cards) - tested with release [http://sourceforge.net/projects/algol68/files/algol68toc/algol68toc-1.8.8d/algol68toc-1.8-8d.fc9.i386.rpm/download 1.8-8d] - due to extensive use of FORMATted transput}}
 
Requires: ALGOL 68g mk14.1+
<lang algol68>MODE MEMBER = INT;
Line 121 ⟶ 126:
r[upb r] := s;
r
);</lang>
# Example: #
test:(
<lang algol68> [][]MEMBER set = power set((1, 2, 4));
FOR member TO UPB set DO
INTFOR upbmember =TO UPB set[member]; DO
INT upb = UPB set[member];
FORMAT repr set = $"("f( upb=0 | $$ | $n(upb-1)(d", ")d$ )");"$;
printf(($"set["d"] = "$,member, repr set, set[member],$l$))
OD</lang>
OD
OD)</lang>
Output:
<pre>
<lang algol68>set[1] = ();
set[2] = (1);
set[3] = (2);
Line 137 ⟶ 145:
set[6] = (1, 4);
set[7] = (2, 4);
set[8] = (1, 2, 4);</lang>
</pre>
 
=={{header|AutoHotkey}}==
ahk [http://www.autohotkey.com/forum/viewtopic.php?t=44657&postdays=0&postorder=asc&start=147 discussion]