Close Panel

15

aug

2009

Calculator de bioritm

By DarkByte. Posted in Delphi, IT thingies | 3 Comments »

Destul de recent, am primit linkuri pe site-uri care-ți calculau bioritmul și afișau graficele și mi s-a părut destul de interesant, așa că … m-am apucat să-mi fac un program care să-mi afișeze bioritmul, fără să fie nevoie să intru pe vreun site sau să am măcar conexiune la Internet.

Cu toate acestea, ce trebuie să ştiţi este că aceste cicluri bioritmice nu sunt dovedite ştiinţific, ba chiar, mai curând, infirmate. Pentru detalii, vedeţi ce zice Wikipedia.

Acestea fiind spuse, să trecem la partea tehnică și informatică din spatele acestui program.

Probabil că știți că pentru a desena o sinusoidală pe calculator, calculezi o serie de puncte, care le unești prin linii. O treabă foarte ușoară în Delphi. Ceea ce probabil că nu știți e faptul că există o funcție în Delphi, care unește o serie de puncte prin linii mult mai rapid decât dacă ai face o buclă, desenând liniile una câte una. Funcția se numește PolyLine (o puteți căuta în Help).

Mai exact, un cod de forma

begin
   MoveTo(0, F(0));
   for i := 1 to 100 do
      LineTo(i, F(i));
end;

ar putea fi optimizat cu codul următor:

var lPoints: array of TPoint;
begin
   SetLength(lPoints, 101 );
 
   for i := 0 to 100 do
      with lPoints[i] do
      begin
         X := i;
         Y := F(i);
      end;
 
   Polyline(lPoints);
end;

În afară de acest lucru, restul codului este ușor de înțeles, fiind și parțial comentat. Sursa este scrisă în Delphi 7, dar probabil că va compila și cu alte versiuni de Delphi (mai vechi sau mai noi).

Download : Sursa :: Executabil :: Screenshot

Comentarii, bug-uri, sugestii : binevenite. Also, partea grafică a programului m-a interesat doar din punctul de vedere al graficelor, deci … știu că poate fi îmbunătățit designul.


DarkByte is
Email this author | All posts by DarkByte | Subscribe to Entries (RSS)

 

3 Responses to “Calculator de bioritm”

  1. 1
    lupzburator Says:

    Dragut si util programelul. E senzatie faina sa faci ceva util, nu-i asa? Imi aminteste de un joculet de poker in JustBasic. Ma uimea modul cum se pot genera numere aleatoare. Si ma bucuram de parca eu faceam operatiile, nu CPU-ulhappy.
    Cat despre ciclurile bioritmice, tind sa le bag in aceasi oala cu horoscopul. Amuzante de citit, dar de o veridicitate indoielnica.

  2. 2
    DarkByte Says:

    Experimentez senzatia aia “faina” de fiecare data cand termin un programel … asta m-a si convins sa ma orientez spre programare (in viata) dupa primul an de liceu happy

    Well … ciclurile astea bioritmice sunt infirmate stiintific (cel putin in forma asta), iar horoscopului … eu ii spun “microscop” (si mai calc pe nervi pe cate unul – una cu ocazia asta big grin) … so, am facut programul just for the heck of it happy

    P.S. mult noroc si tie happy esti primul comentator … al unui post big grin

  3. 3
    poker spielen Says:

    excellent points and the details are more specific than elsewhere, thanks.

    - Murk

 

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">