Jump to content

Wat doet dit programma?


Recommended Posts

Geplaatst: (bewerkt)

EDIT: Sorry dat probleem is opgelost. Blijkbaar zet het \'m in een typfout bij het declareren van de variabelen... :duh:

Volgende probleem:

Ik snap niks van Pascal

Nu heb ik dus een stuk code hier, maar ik snap niet echt hoe ik het moet gebruiken. Iemand die me hier mee kan helpen?

// compiler: [url="http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.var"]http://www.freepascal.org/down/i386/win32-...epascal.org.var[/url]

{$mode Delphi}

uses
sysUtils;

var
buffer,bscram,pick,scramword,s:string;
uscram,scram:textfile;
found:boolean;
i,pos,cline:integer;

procedure p(a,b:string; size:integer);  // where most of the work is done.
var                                     // it permunations basicly rearanges the letters in every possable order until a match is found in unscramble
T:word;                      // the process can take a while on longer words 8 letter words have that have 40,320 combonations and take up to
temp1,temp2:string;                // 5 seconds at least on my computer.

begin
       inc(cline);
   if length(b) = size -size then 
          begin
         if found = true then exit;
             assignfile(uscram,paramstr(1));
           Reset(uscram); //case sentive
           while not EoF(uscram) do
               Begin
                   Readln(uscram,buffer);
                       if buffer = a then                //if line in unscambled text matches generated word
                           begin 
                               writeln(\',\'+a  );      //write to screen matching word
                                   pick:= pick+\',\'+ a;    // add to final output
                               found := true;         // stop looking for any more combos for this word.
                           end;  
               end;
          close(uscram);
       end
   else
       for T := 1 to length(b) do
           begin

               if found = true then 
                   begin
                   //    found:=false;
                       Break;
                   end;
               temp1 := b;
               temp2 := a + temp1[T];
                         Delete(temp1,T,1);
               p(temp2,temp1,size);
                end;
end;

begin


cline:=1;
// asign a text file with scrambled words
//take out all the dead space and get just the words.

assignfile(scram,(paramstr(2)));
Reset(scram);
   while not eof(scram) do       // loop to read every line of file in the scrambled words file
       begin

           readln(scram,bscram);   // read line
               if cline = 1 then // there was this werid thing first word would be one space less than the rest this is my workaround.
                   begin
                   scramword :=copy(bscram,3,length(bscram));
                   end
               else
                       begin
                   scramword := copy(bscram,4,length(bscram));
                   end;
           pos:= 1;
           while pos >  0 do
               begin
                   pos:=ansipos(\' \',scramword);
                   scramword := copy(scramword,pos+1,length(scramword));
               end;

           writeln(\'\'+\',\'+ scramword+\',\'+inttostr(length(scramword)  ));
               found :=false;    
           p(\'\',scramword,length(scramword));
       end;
//close(scram);
{ for i:=2 to paramcount do      // how I did it when I call the words as parameters I can\'t type quit enough though. 
begin
found :=false;
p(\'\',paramstr(i),length(paramstr(i)));
end;}
delete(pick,1,1); // delete the first \',\' in pick so it appears as is needed. 
writeln(pick); // print unscrambled words
close(scram); 
end.

Het doel van het programma is dat het een lijstje krijgt met een aantal woorden die door elkaar gehusseld zijn (dus bijvoorbeeld gtaforum werd mutafogr) en deze dan weer goed zet, door ze te vergelijken met woorden in een woordenlijst. Nu is mijn vraag eigenlijk; waar laat ik de woordenlijst, waar voer ik de gehusselde woorden in en waar komt de output? Er worden 2 textfiles gedeclareerd, dus ik gok dat ik een scram.txt file moet maken met daarin iets, en een uscram.txt ofzo.

Hoe ga ik nu verder?

EDIT (10-4): Ik snap dat dit niet echt een alledaagse programmeertaal is, maar toch hoop ik dat er iemand is die dit een beetje kan ontcijferen. Ik snap er namelijk nog steeds niet veel van. Topictitel slaat trouwens al nergens meer op...

Bewerkt: door SummerBase
  • 3 weken later...
Geplaatst:

(Ik heb toestemming van SummerBase om dit topic te bumpen.)

Ik wil nog steeds antwoord eigenlijk. Ik snap dat er weinig mensen met Pascal-ervaringen rond zullen lopen hier, maar desondanks is er misschien toch iemand die, als ie zo eens naar de code kijkt, eruit kan halen wat er gedaan zou kunnen worden.

Iemand dus toch een idee?

Geplaatst:

Er zit helemaal geen fout meer in. Dat was eerst wel het geval, maar dat bleek achteraf door een typfoutje te komen. Even aangepast en ik kom het programma goed compileren. Nu zit ik echter met een programma, waarvan ik niet weet hoe het werkt, wanneer ik het uitvoer. Wanneer ik het uitvoer zie ik namelijk een knipperend schermpje, waarna het weer afsluit. Verder niks. Ik neem aan dat ik een bepaalde input in een textfile moet stoppen en dan het programma moet uitvoeren, om vervolgens de output uit een ander tekstbestandje moet halen. Het lukt me echter niet echt en nou vroeg ik me af hoe ik het moet gebruiken in de praktijk.

  • 2 weken later...
Geplaatst:

Laatste poging om dit topic nieuw leven in te blazen. Ik wacht nog steeds op een antwoord, en zoals ik al gezegd heb, hoef je geen Pascal programmeur te zijn om dit een beetje te begrijpen. Kijk er aub nog eens naar, want ik wil t echt weten hoe dit nou werkt. :cya:

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...