Avatar billede liv1987 Nybegynder
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!!
Avatar billede nielle Nybegynder
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
Avatar billede nielle Nybegynder
14. januar 2008 - 19:27 #2
Hvad med noget respons?
Avatar billede nielle Nybegynder
21. januar 2008 - 20:20 #3
??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester