| |||||||||||||
Basic set operations Description Example 'setops':
Source Files By clicking on a file name, a preview is opened at the bottom of this page.
setops.mos (!******************************************************* * Mosel Example Problems * * ====================== * * * * file setops.mos * * ``````````````` * * Example for the use of the Mosel language * * (Performing set operations with Mosel) * * * * (c) 2008 Fair Isaac Corporation * * author: S. Heipcke, 2001 * *******************************************************!) model Setops declarations ! Constant set definition: unchangeable set Cities={"rome", "bristol", "london", "paris", "liverpool"} Capitals, Ports: set of string ! Dynamic set definition: elements ! added (or deleted) later; the set ! declaration is optional end-declarations ! Assign elements to the (dynamic) sets Ports:={"plymouth", "bristol", "glasgow", "london", "calais", "liverpool"} Capitals:={"rome", "london", "paris", "madrid", "berlin"} writeln(" Ports: ", Ports, "\n Capitals: ", Capitals,"\n Cities: ", Cities) Places:= Cities+Ports+Capitals ! Create the union of all 3 sets writeln("\n Union of all places: ", Places) All_three:= Cities*Ports*Capitals ! Create the intersection of all 3 sets writeln(" Intersection of all three: ", All_three) Cities_not_cap:= Cities-Capitals ! Create the set of all cities that are ! not capitals writeln(" Cities that are not capitals: ", Cities_not_cap) ! Create the set of all ports with names ! that do not start with "l" forall (i in Ports | substr(i,1,1)<>"l" ) Ports_no_l += {i} writeln(" Ports that do not start with 'l': ", Ports_no_l, " (", Ports_no_l.size ," out of ", Ports.size, ")") end-model | |||||||||||||
© Copyright 2024 Fair Isaac Corporation. |