07. januar 2008 - 18:14
Der er
3 kommentarer
lidt hjælp!
Hej! jeg er ikke så god til VDM notation så hvis der er nogen som kan fortælle mig hvad der står skal jeg nok skrive det om til en kode: (* er der bare for at der er indrykning og e mellem v og V betyder tilhør).
enum(A: Seq of By, V: Set of By)
begin
**if V = Ø then
*****print(A)
**else
****for v e V
*******enum(A -> [v] , V\{v})
****end-for
**end-if
end
På forhånd tak!!
07. januar 2008 - 18:58
#1
enum() udskriver samtlige sekvenser af de byer der er i mængden V til at starte med:
Input
A = []
V = { 'A', 'B', 'C' }
Resultat:
['A', 'B', 'C']
['A', 'C', 'B']
['B', 'A', 'C']
['B', 'C', 'A']
['C', 'A', 'B']
['C', 'B', 'A']
Den måde den gør det på:
enum(A: Seq of By, V: Set of By)
begin
// Hvis V er tom, er vi ved slutningen, og så skal ...
if V = Ø then
// ... sekvensen A udskrives
print(A)
// Og ellers ...
else
// ... løber vi igennem samtlige elementer v i mængden V
for v e V
// ... hvor vi forlænger sekvensen A med elementet v
// ... og bruger mængden V med elementet v fjernet
enum(A -> [v] , V\{v})
end-for
end-if
end