opět pascal

Vše co se točí kolem počítačů, her, mobilů a elektroniky

Moderátor: Rudi

milosh
Administrátor
Příspěvky: 8033
Registrován: 03 úno 2004 13:57

Re: opět pascal

Příspěvek od milosh »

presunuto

Uživatelský avatar
ddt
Administrátor
Příspěvky: 23
Registrován: 09 čer 2004 10:14
Kontaktovat uživatele:

Příspěvek od ddt »

Perlicka na bednu... programy ktere tisknu samy svuj zdrojak... (zadne nacitani zdrojaku ze souboru)

http://www.nyx.net/~gthompso/self_pasc.txt
Čas na hrdinské činy nastane zítra...

Ondras
Moderátor
Příspěvky: 2146
Registrován: 15 dub 2004 13:41
Bydliště: !!!
Kontaktovat uživatele:

Re: opět pascal

Příspěvek od Ondras »

milosh píše:presunuto
Dobrý nápad 8)
|\/| /\ '|' | '/. ~ < | \/ | < ~ \/ | |< <> |\|

Ritchma
Moderátor
Příspěvky: 9432
Registrován: 11 úno 2004 21:38

Příspěvek od Ritchma »

Ježiši ten pascal mě všude pronásleduje, přelejzám z aplikační informatiky na jinej obor a on je pascal znova i tady
Build shit car, call everyone haters....
Function > Form

Ondras
Moderátor
Příspěvky: 2146
Registrován: 15 dub 2004 13:41
Bydliště: !!!
Kontaktovat uživatele:

Příspěvek od Ondras »

ddt píše:Perlicka na bednu... programy ktere tisknu samy svuj zdrojak... (zadne nacitani zdrojaku ze souboru)

http://www.nyx.net/~gthompso/self_pasc.txt
Kurňa, to je už vyšší dívčí. To mi celkem připomíná sebemodifikující a sebe kontrolujícíc kód ve strojáku Z80. Když byl ve smyčce vykonáván kód v určitém místě paměti, vždy dělal něco jiného. Byl to trik, který mohl pěkně zamotat hlavu tzv. Snapshotu, kdy se po stisku tlačítka nemaskovatelného přerušení měla uložit celá paměť vč. stavu registrů. Obvykle se to používalo na ukládání her na disketu apod. V sebemodifikující smyčce se už většinou nepodařilo takový snapshot znovu spustit.

Jinak já jsem ten stroják moc nedával a to nejlepší, co jsem napsal, byl ovladač k primitivnímu A/D převodníku. Perličkou je, že to bylo pro automotive využití - ZX Spectrum (resp. Didaktik Kompakt) pak bylo centrum stolice na testování tlumičů - jak na autě, demontovaných.
|\/| /\ '|' | '/. ~ < | \/ | < ~ \/ | |< <> |\|

Uživatelský avatar
jim.vw
Příspěvky: 1402
Registrován: 28 lis 2004 20:13
Bydliště: libervwec
Kontaktovat uživatele:

Příspěvek od jim.vw »

v těch dobách jsem ještě čůral do plenek a hrál si s panenkama a nějaký počítače mi byli u zadek :lol:

k tomu vypisování vlastního zdrojáku, snad jen :poklona:
.slow Obrázek
head&shoulders power...

Uživatelský avatar
Hans
Příspěvky: 638
Registrován: 08 led 2005 20:02
Bydliště: Havířov
Kontaktovat uživatele:

Příspěvek od Hans »

Sice to do tohoto tématu nepatří, ale nedá mi to nezeptat se:

Dá se vůbec v C++ převést string na int a jak? Je na to už nějaká metoda?Spěchá to, please... :help:

Uživatelský avatar
jim.vw
Příspěvky: 1402
Registrován: 28 lis 2004 20:13
Bydliště: libervwec
Kontaktovat uživatele:

Příspěvek od jim.vw »

v pascalu v pohodě, ale C++ se zatím úspěšně vyhýbám :)
Zkus kouknout to nápovědy, tam se dívam pokaždý když něco nevim 8)
.slow Obrázek
head&shoulders power...

Uživatelský avatar
BlackHole
Příspěvky: 198
Registrován: 08 zář 2004 18:05
Bydliště: 49°50'45"N, 16°17'14"E

Příspěvek od BlackHole »

To jsou hustokódy :shock: a to jsem si na vejšce myslel, kdovíjak ten Pascal neovládám... Ale tohle :poklona:
BTW, dodnes občas Pascal používám. Jeden kolega (absolvent VUT) nedá dopustit na Javu, já ji sice rok dělal, ale nějakej jednoúčelovej kludge dřív spáchám v Pascalu. Je to sice OT, ale jak jste na tom vy?

Jinak bublání jsme dělali takhle

Kód: Vybrat vše

unit Se05U;

interface
 const MaxVek = 20000;                           {velikost vektoru}
 type Vektor = array[1..MaxVek] of Real;         {pracovní typ}
 procedure VybNej(N:Integer;var V:Vektor);       {třídění výběr největšího}
 procedure Bubl(N:Integer;var V:Vektor);         {třídění probubláváním}

implementation
  procedure VybNej(N:Integer;var V:Vektor);
  {třídění vektoru V o počtu prvků N<=MaxVek od nejmenšího do největšího}
  var i,j:Integer; x:Real;
  begin
    for i:=N downto 2 do
      begin
        x:=V[i];                                 {označ poslední největší}
        for j:=1 to i-1 do
          if V[j]>x then
            begin
              x:=V[j]; V[j]:=V[i]; V[i]:=x;      {nový největší}
            end;
      end;
  end;                                           {procedury VybNej}

  procedure Bubl(N:Integer;var V:Vektor);
  {třídění vektoru V o počtu prvků N<=MaxVek od nejmenšího do největšího}
  var i,nk:Integer; x:Real; f:Boolean;
  begin
    nk:=N-1;                                     {aktuální délka vektoru}
    repeat
      f:=False;                                  {příznak přehození}
      for i:=1 to nk do
        if V[i]>V[i+1] then
          begin
            x:=V[i]; V[i]:=V[i+1]; V[i+1]:=x;
            f:=True;
          end;
      nk:=nk-1;
    until NOT f;
  end;                                           {procedury Bubl}
end.
A klasika je

Kód: Vybrat vše

unit trideniun;     {pretrideni puvodniho vektoru}
{projet radu cisel, najit max, hodit na konec,
projet zbytek bez posledniho, najit max, hodit na konec,  atd.}

interface
  const MaxVek = 2000;   {max. velikost vektoru - pro vetsi trva dlouho}
  type Vektor = array[1..MaxVek] of Real; {vlastni typ - nelze jen array}
  procedure VybNej(N:Integer;var V:Vektor); {var - volani odkazem}
  procedure Bubl(N:Integer;var V:Vektor);

implementation
  procedure VybNej(N:Integer;var V:Vektor);
    {třídění V velikosti N<=MaxVek od nejmenšího}
    var i,j:Integer; x:Real;
    begin
      for i:=N downto 2 do      {do 2 protoze ve druhem cyklu je i-1}
      begin  x:=V[i];   {označ poslední největší}
        for j:=1 to i-1 do
          if V[j]>x then
            begin                 {nový největší}
              x:=V[j]; V[j]:=V[i]; V[i]:=x;
            end;
      end;
    end;                       {procedury VybNej}
  procedure Bubl(N:Integer;var V:Vektor);
   {třídění V velikosti N<=MaxVek od nejmenšího }
    var i,nk:Integer; x:Real; f:Boolean;      {typ Boolean - hodnota A / N}
    begin  nk:=N-1;      {aktuální délka vektoru}
      repeat
        f:=False;             {příznak přehození}
        for i:=1 to nk do
          if V[i]>V[i+1] then
            begin  f:=True;
              x:=V[i]; V[i]:=V[i+1]; V[i+1]:=x;
            end;
        nk:=nk-1;
A netlemte se, my jsem nehráli na efektivitu ani dýlku kódu, ju? :oops:
Mazda3 2.0i 150PS/6000ot. & 187Nm/4500 ot.

Uživatelský avatar
SPEEDY
Příspěvky: 4731
Registrován: 06 srp 2004 11:06
Bydliště: Brno / Praha
Kontaktovat uživatele:

Re: opět pascal

Příspěvek od SPEEDY »

Ježiši, buď jsou tädy všichni křáplí do palice, nebo já su momentálně zaostalej :lol:
EXPRESNÍ PŘEPRAVA KUSOVÝCH ZÁSILEK NA TRASE BRNO - PRAHA - BRNO TÝŽ DEN OD PODÁNÍ - INFO: 608 771 206

Uživatelský avatar
Kessler
Příspěvky: 20
Registrován: 12 pro 2005 21:26
Bydliště: Brno

Příspěvek od Kessler »

L.A.M.A: bubl s dynamickými proměnnými :shock: Bože...to musí bejt nářez...

BTW: Pro ty co znají docenta Pelikána: He is da best :lol:
Škoda Felicia LX

Uživatelský avatar
SPEEDY
Příspěvky: 4731
Registrován: 06 srp 2004 11:06
Bydliště: Brno / Praha
Kontaktovat uživatele:

Re: opět pascal

Příspěvek od SPEEDY »

Já měl Packal 2 roky a už z něj vím úplný hov*no :lol:
EXPRESNÍ PŘEPRAVA KUSOVÝCH ZÁSILEK NA TRASE BRNO - PRAHA - BRNO TÝŽ DEN OD PODÁNÍ - INFO: 608 771 206

Odpovědět

Zpět na „IT sekce“