5. Semigrafické úlohy

V tejto kapitole sa budeme venovať kresleniu jednoduchých útvarov. Jednotlivé obrázky sa budú skladať z hviezdičiek a budeme opäť využívať triedu Konzola.

Nakreslenie štvorca:

Najjednoduchším príkladom semigrafickej úlohy je nakreslenie jednoduchého štvorca pomocou hviezdičiek. Najprv si napíšeme program a potom si vo videu vysvetlíme ako presne program funguje.

public static void main(String[] args)
{
      int počet = (int)načítajCeléČíslo("Zadajte stranu"); // do premennej počet načíta stranu a = počet hviezdičiek

      for (int i = 0; i < počet; ++i) // vonkajší for cyklus
      {
          for (int j = 0; j < počet; ++j) // vnútorný for cyklus
          {
             System.out.print("* "); // vykreslenie hviezdičky na obrazovku
          }

          System.out.println(); // posunutie sa o riadok nižšie
      }
}

Nasledujúce video ukazuje ako tento program funguje, ako vykresľuje štvorec z hviezdičiek:

        

Úlohy na precvičenie:

Nakresli pravouhlý trojuholník opačne:
Trojuholník bude vyzerať takto a počet riadkov nech zadá používateľ na vstupe:

(Tip: Program sa bude skladať z načítania počtu riadkov a z dvoch for cyklov. Dôležité je uvedomiť si ako oba for cykly deklarujem; od akej hodnoty ho spustíme a pri akej hodnote ho zastavíme. Vnútorný for cyklus nám zabezpečuje vykreslenie hviezdičiek v danom riadku (pre estetickejší výsledok vykresľujte hviezdičku s medzerou) a vonkajší for cyklus zabezpečuje redukciu počtu riadkov až k počtu jedna.


Napíš program ktorý na obrazovku vykreslí domček z hviezdičiek:
Domček bude plne "vyfarbený" hviezdičkami, strecha bude z rovnoramenného trojuholníka a zvyšok domčeka bude tvoriť štvorec. Veľkosť domčeka si zvolí používateľ na vstupe sám a to zadaním počtu "poschodí" strechy.

(Tip: Program sa bude skladať z vykreslenia rovnoramenného trojuholníka a vykreslenia štvorca. V prípade rovnoramenného trojuholníka použijete tri for cykly. Prvý zabezpečí, aby sa vykreslilo toľko "poschodí", koľko zadá používateľ, druhý for cyklus zabezpečí, aby boli vykreslené prázdne miesta pri hviezdičkách z oboch strán (resp. cyklus iba zľava kreslí medzeru). A posledný cyklus zabezpečí samotné vykreslenie hviezdičiek.

V prípade štvorca si musíte uvedomiť dve veci. Po prvé koľko hviezdičiek sa má v riadku vykresliť, pretože ak chcete pekný plný domček, musíte vyrátať ako sa vykreslia hviezdičky v prípade rovnoramenného trojuholníka = koľko hviezdičiek bude tvoriť jeho podstavu. Po druhé koľko riadkov hviezdičiek sa má vykresliť, t.j. či rovnaký počet ako je "poschodí" strechy alebo nie.

Nezabudnite na prepojenie s triednou Konzola.)