spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

Joozty 9.4.2014, článok je súčasťou seriálu Programujeme v Lazaruse
Hodnoť článok:
1 1

Programujeme v Lazaruse – 9. časť

Dnes sa naučíme využívať pole. Najprv si zadefinujeme pojem pole. Naplníme ho náhodnými čísla a vypíšeme najväčšie a najmenšie číslo...

Čo budeme dnes robiť?

V dnešnej časti si vysvetlíme, čo je to dvojrozmerné pole. Potom si ho vytvoríme a uložíme doň náhodné čísla. Nakoniec vypíšeme najmenšie a najväčšie číslo.

Čo potrebujeme pred tým vedieť?

Najdôležitejšia je, samozrejme, definícia dvojrozmerného pola. Nesmieme si však zabudnúť spomenúť aj globálnu premennú, ktorú tiež veľmi využijeme.

Pole si môže predstaviť ako dvojstĺpcovú tabuľku. Prvý stĺpec je index a druhý stĺpec je ľubovolný dátový typ. Do pola sa však dá ukladať len rovnaký dátový typ. To znamená, že nemôžem mať v poli aj string aj integer.
Pole sa deklaruje nasledovne:

var pole_cisel : array [1..10] of integer;

Vysvetlenie:
pole_cisel – názov pola
array – znamená po anglicky pole. Musím napísať keď chcem vytvoriť pole.
[1..10] – veľkosť pola
of integer – dátový typ pola. (Aké údaje do pola ukladám.)

Doposiaľ sme používali len lokálne premenné, t. j. využívané len v procedúre. Keď procedúra skončí, premenné sa vymažú.
Globálne premenné
- sú viditeľné v celom programe. Môžeme k nim pristupovať v každej procedúre. Vytvoria sa na začiatku programu a z pamäte sa vymažú až na jeho konci. Nevýhodou ale je to, že zaberajú miesto v pamäti aj keď už nie sú potrebné.

Globálne premenné sa deklarujú v kóde na vrchu programu, kde sa deklaruje aj TForm
V tejto časti kódu:

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  cisla: array [1..20] of integer; //tu

implementation

Vytvorenie programu

1.Pustíme si Lazarus.
2.Klikneme na File – New - Application.
3.Zo záložky „Standard“ vyberieme položku panel a vložíme ju na formulár.
4.Do formulára vložíme taktiež zo záložky „Standard“ tri BUTTONy a jedno Memo.
5.Vo vlastnostiach buttonov zmeníme caption na „Naplň pole a vypíš ho“ , „Nájdi najväčšie číslo“, „Nájdi najmenšie číslo“ a captions panelu zmažeme.
6. Vo vlastnostiach mema vymažeme lines.

Grafickú stránku nášho programu máme hotovú. Môžeme sa pustiť do kódovania.

7.Klikneme dvakrát na button (Naplň pole a vypíš ho), pretože ideme programovať udalosť po kliknutí na button.
8. Zadeklarujeme si globálnu pole - cisla
var TForm:TForm;
cisla: array of integer;

9.Prvým úkonom, ktorý potrebujeme spraviť, je načítanie náhodných čísel do pola. K prvkom v poli sa pristupuje pomocou indexu v hranatých zátvorkách.
Pole[1]:=1 // do prvého prvku v poli priradí 1.
My si naplníme pole náhodným číslami pomocou cyklu for.

 randomize;
 for i:=1 to 20 do
  cisla[i]:=random(999);

10. Zapíšeme čísla do mema. Do každého riadku dáme jedno číslo

 for i:=1 to 20 do
  memo1.lines.add(IntToStr(cisla[i]));

11. Teraz naprogramujeme udalosť pre button2 („Nájdi najväčšie číslo“). Je to veľmi jednoduché. Zadeklarujeme si premennú najvacsie_cislo, do ktorej priradíme prvé číslo v poli. Následne si spustíme cyklus a prejdeme všetky čísla. Ak sa nájde číslo, ktoré je väčšie ako najvacsie_cislo, tak sa tam zapíše.

najvacsie_cislo:=cisla[1];
for i:=1 to 20 do
   begin
     if cisla[i]>najvacsie_cislo
       then
       najvacsie_cislo:=cisla[i];
    end;
Showmessage('Najvacsie cislo je '+IntToStr(najvacsie_cislo));

12. Button3 (najmensie_cislo) zvládnete aj sami. :)

13.Už to len uložíme a spustíme
File – Save as – Save

Kód by mal vyzerať nasledovne:

Hodnoť článok:
1 1

1 komentár k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

1 0 Mas Barto 17.5.2014 10:52:25
Prosím vás nevedeli by ste mi pomôcť že ako mám naprogramovať :
mam naprogramovať niečo ako písomku tak ze v poznámkovom bloku mám otázky a k a pri nich aj odpovede. A mam urobit program tak ze niekto uvidi tie otázky a odpovie nanich a potom ich ma program skontrolovať/opraviť a ma to aj bodovať.

Zajtra.sk > Programovanie > Seriály > Programujeme v Lazaruse – 9. časť


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama