{

   Include-betét a Hash-kódolás kipróbálásához:

        (egy táblázathoz, amelynek kulcsa teljes magyar (idegen) személy nevek)

   Exportfogalmak:

       Type     NevT    = NévTípus

       Function RandNev = a következô véletlen magyar (idegen) név

  }

  Const

    M=19; {max. névhossz}

  Type

    NevT = String[M];

 

    Const

      MV = 55; {összes vezetéknév}

      MKL= 25; MKF= 40; MK = MKL+MKF; {leány-, fiú- és összes keresztnév}

      R  = 5/55; {né=5} r2 = 3/55; {Valaminé X Y fajtájú név}

      Vezetek : Array [1..MV] of NevT=

                ('Nagy','Malgot','Timkó','Micu','Várnai',

                 'Lukács','Nyoszoli','Lázár','Simkó','Sófalvy',

                 'Váradi','Chák','Kárpáti','Fekete','Dadi',

                 'Kormos','Farkas','Czipot','Egri','Kima',

                 'Barna','Apkó','Balázs','Boér','Bujtor',

                 'Bukovszky','Gáspár','Jaszovszky','Ivacs','Kövi',

                 'Kulik','Borsos','Daku','Élô','Flanek',

                 'Földi','Farkas','Altai','Avar','Bradics',

                 'Majda','Pallos','Sebestyén','Szekeres','Szônyi',

                 'Vasi','Major','Méhi','Sárvári','Szatmári',

                 'Ady','Kiss','Tóth','Horváth','Nagy'

                 );

      Kereszt : Array [1..MK] of NevT= {elöl vannak, MKL-ig a leánynevek}

                ('Ćgota','Erika','Júlia','Andrea','Enikô',

                 'Éva','Zsuzsanna','Margit','Ćgnes','Nóra',

                 'Anna','Katalin','Gabriella','Irma','Anikó',

                 'Ćgnes','Kamilla','Éva','Tünde','Katalin',

                 'Zsuzsanna','Tünde','Dalma','Dorina','Gyöngyvér',

                 'Dezsô','Sándor','Gyula','Károly','Ernô',

                 'Elemér','Gábor','Ferenc','József','István',

                 'Aladár','Gábor','Gyula','Emil','Miklós',

                 'József','Lajos','Gyula','József','Endre',

                 'Ferenc','György','Attila','Pál','Antal',

                 'Ottó','János','Sándor','Lajos','László',

                 'István','Kálmán','Béla','József','Ferenc',

                 'Tódor','Teofil','Péter','Pál','János'

                 );

  Function RandomNev: NevT;

    {a telefonkönyv alapján összeszedett nevek:}

    Var

      iV,iK: Integer;  nev: NevT;

  Begin

    iV:=Random(MV)+1; nev:=Vezetek[iV];

    If Random<r then {asszonynév}

    Begin

      If Random<r2 then

      Begin

        iV:=Random(MV)+1; iK:=Random(MKL)+1;

        RandomNev:=nev+'né '+Vezetek[iV]+' '+Kereszt[iK];

      End

         Else

      Begin

        iK:=MKL+1+Random(MKF);

        RandomNev:=nev+' '+Kereszt[iK]+'né';

      End

    End

       Else          {normál: fiú- vagy leánynév}

    Begin

      iK:=Random(MK)+1;

      RandomNev:=nev+' '+Kereszt[iK];

    End;

  End;

 

  Type  TFajta=(utca,ut,krt,ter,dulo,setany);

  Const KFajta:Array [TFajta] of String=('utca','út','krt.','tér','dülô','sétány');

 

  Function RandomCim: NevT;

    Var sz,s:NevT;

        iK:Byte;

  Begin

    If Random<0.5 then

    Begin

      iK:=Random(MV)+1;

      sz:=Vezetek[iK];

    End

      Else

    Begin

      iK:=Random(MK)+1;

      sz:=Kereszt[iK];

    End;

    Str(Random(300)+1,s);

    RandomCim:=sz+' '+KFajta[TFajta(Random(Ord(setany)+1))]+' '+s+'.';

  End;

 

  Function RandomTel: NevT;

    Var sz:String;

        i:Byte;

  Begin

    sz:='';

    For i:=1 to 6 do sz:=sz+Chr(Random(10)+Ord('0'));

    RandomTel:=Chr(Random(9)+Ord('0')+1)+sz

  End;