Results 1 to 4 of 4

Thread: een probleem van een newbie

  1. #1
    Registered User
    Join Date
    May 2001
    Location
    Leeuwarden
    Posts
    2

    Unhappy een probleem van een newbie

    Hallo allemaal!

    Ik zal me eerst even voorstellen:
    naam: Marjan
    leeftijd: 21
    beroep: studente Wiskunde/Informatica

    Voor mijn studie moet ik een programma maken in Delphi 3. Nu krijgen wij daar geen colleges in, dus mogen we alles zelf uitzoeken met als (logisch..) gevolg dat ik vastloop met mijn opdracht (zelfs de docent weet niet een oplossing voor mijn opdracht...)
    De opdracht is als volgt:
    schrijf een programma dat voor een telefoonmaatschappij een zo kort mogelijk netwerk van telefoonlijnen ontwerpt, zodat elk tweetal van een aantal gegeven plaatsen onderling bereikbaar is via één of andere route. ga ervan uit dat zo'n route tussen twee plaatsen bestaat uit een pad via de andere gegeven plaatsen.
    Wiskundig gezien is dit te modelleren als een grafentheoretish probleem. De plaatsen en de mogelijke verbindingen vormen een samenhangende gewogen graaf. Elke lijn in de graaf heeft een gewicht dat de lengte van de verbinding voorstelt. De graaf is volledig want elke verbinding tussen 2 punten is in principe mogelijk Het zo kort mogelijke netwerk is een minimaal opspannende boom van de graaf.
    De gebruiker moet de plaatsen kunnen invoeren in het programma. Elke plaats heeft een naam (letter), en een x-coordinaat en een y-coordinaat. Deze coordinaten geven de locatie aan, gerekend in kilometers ten opzichte van een zekere oorsprong (het centrale punt in het netwerk bijvoorbeeld). Het programma rekent de lengten van de mogelijke verbindingen zelf uit, door de hemelsbrede afstand tussen de plaatsen te nemen. Voor de x-coordinaat is er een onder- en bovengrens (constanten in het programma); evenzo voor de y-coordinaat. ga uit van maximaal 20 plaatsen
    De invoer:
    het moet ook mogelijk zijn dat het programma zelf de plaatsen en hun coordinaten willekeurig genereert; het aantal plaatsen geeft de gebruiker dan zelf op.
    De uitvoer:
    *een overzicht van de gegevens van de ingevoerde, of willekeurige gegenereerde plaatsen;
    *een grafische weergave van de ligging van de plaatsen (alleen de punten tekenen is voldoende; de letters hoeven er niet perse bij)
    *daarin getekend de gevonden minimaal opspannende boom (dus het zo kort mogelijke netwerk)
    *en de lengte van dit netwerk

    Sorry voor dit lange verhaal

    Ik vraag niet om een pasklaar programma ofzo, alleen om tips hoe ik hier nu mee moet beginnen. Ik heb geen lessen gehad en mijn docent weet het eigenlijk ook niet.
    Ik ben vooral opzoek naar een oplossing hoe ik die plaatsen coordinaten kan geven en dat ze grafisch worden weergegeven.
    Als iemand mij opweg kan helpen, ben ik diegene heeeel erg dankbaar!! Het schijnt dat Delphi een heel mooi programma is, maar ik zie er de lol nu even niet meer van in...

    Als iemand nog tips heeft voor boeken over Delphi3 dan hou ik me ook aanbevolen!

    Groeten
    Marjan
    Een wanhopige studente

  2. #2
    Registered User
    Join Date
    Mar 2001
    Location
    Elsloo
    Posts
    16

    Willekeurige co?Ârdinaten

    Aloha

    Ik heb er ff-tjes naar gekeken ...
    Voor dat willekeurig vullen van coordinaten bestaat een relatief eenvoudige oplossing ...
    Deze kan er zo uitzien ...

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    const
      maxLengte = 100;
      maxAantal = 5;
      indexAlfabet: array [0..25] of char = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
                                             'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
                                             'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
                                             'y', 'z');
    var
      x,            // x-co?Ârdinaat
      y,            // y-co?Ârdinaat
      i: integer;   // teller
      letter: char; // de letter
      // array met aantal plaatsen
      coordinaat: array [0..maxAantal-1] of string;
    -begin
      // initialisatie
      for i := 0 to maxAantal-1 do
             coordinaat[i] := '';
      try    for i := 0 to StrToInt(edit1.Text)-1 do
             begin x := Random(maxLengte);  // willekeurige x
                   y := Random(maxLengte);  // willekeurige y
                   letter := indexAlfabet[Random(26)];
                   coordinaat[i] := letter + ' ' + IntToStr(x) + ',' + IntToStr(y);
                   showMessage(coordinaat[i]);
             end;
      except ShowMessage('Invoer is geen getal');
      end;
    end; // Button1Click
    
    initialization
      Randomize;
    end. // unit1
    Ik geef toe, dat stuk waar de letter bepaald wordt is niet erg fraai, maar ik wist op het korte tijdsbestek geen betere oplossing ...

    Hopelijk kun je hier al wat mee ...

    Als ik tijd heb dit weekend zal ik ook nog wel ff naar de rest kijken
    Dit zal dan wel tussen 2 glazen bier door moeten gebeuren dus al te veel hoop moet je ook niet krijgen ...

    Voor nu suc6 verder
    en een fijn weekend ...

    Peter
    "Resistance is useless!" bellowed the guard.

  3. #3
    Registered User
    Join Date
    May 2001
    Location
    Leeuwarden
    Posts
    2
    Merci beaucoup!!!

    Hier kan ik in ieder geval al wat mee!
    Het leven wordt in één keer een stukje zonniger

    Marjan
    Een wanhopige studente

  4. #4
    Old Navigator Matthijs's Avatar
    Join Date
    Mar 2001
    Location
    Ede, NL. Delphi: Delphi 7/2005 :). Matthijs schrijf je Matthijs
    Posts
    2,199
    Het bepalen van een willekeurige letter kan ook op de volgende manier:
    Code:
    begin
      randomize;
      letter := chr(96 + random(26));
    end;
    Heb je dus helemaal gaan array van letters nodig!
    What's in a sig?

    Would my posting be less valuable if it didnot have a sig? (Vrij naar William S.)

    Let op de kleine lettertjes. For all postings: e&oe!
    This program performed an illegal function, the police are on their way

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •