Veronika Dropčová
veronika.dropcova(at)gmail.com

   nika.blog.matfyz.sk

04 – dvojrozmerné polia

  1. Napíšte program, ktorý vygeneruje dvojrozmerné pole 3×3, pričom bude naplnené číslami z rozsahu 10-100. Vygenerované pole vypíšte do image-u.
  2. Ďalej napíšte program, ktorý do mema vypíše súčet čísel v prvom stĺpci a tiež súčet čísel v prvom riadku.
  3. Doplňte výpis súčtu čísel na hlavnej diagonále.
  4. A pridajme výpis súčtu čísel na vedľajšej diagonále.

 

5. V obchode je na pulte v 3 radoch položených 12 košíkov, v každom rade sú teda 4 košíky s ovocím.

Napíšte program, ktorý vykreslí týchto 12 košíkov (ako kruhy), vygeneruje počet kusov ovocia v každom z nich (0-15ks) a vypíše ho do košíka.

Program pomôže obchodníkom zistiť, kam sa zákazníci najčastejšie dívajú (do ktorého radu). Ak v niektorom košíku nebude žiadne ovocie, košík vykreslí zelenou farbou (zákazníci najviac siahajú po tomto košíku).

Ak v niektorom košíku bude 15ks ovocia, košík vykreslí červenou farbou (po tomto košíku zákazníci siahajú najmenej).

Zároveň program spočíta celkový počet kusov ovocia v každom rade a vypíše, ktorý rad má najmenej kusov ovocia (zákazníci berú najviac z neho) a ktorý má najviac kusov ovocia (zákazníci ho „vidia najmenej“).

 

———————— Opakovanie ———————-

 

Funkcia copy(čo, od_ktorého_indexu, koľko_znakov) má vo výsledku tiež string, napríklad ak máme:s:=’slovicko’;

s:=copy(s,3,6); //vo výsledku bude s = ‘ovicko’;

s:=copy(s,1,3); //vo výsledku bude s = ‘slo’;

Procedúra delete(z_čoho,od_ktorého_indexu,koľko_znakov) zmení zadaný string tak, že z neho vymaže požadovaný počet znakov, napríklad ak máme:

s:=’slovicko’;

delete(s,3,2); //vo výsledku bude s = ‘slicko’;

delete(s,1,3); //vo výsledku bude s = ‘vicko’;

 

————————– Koniec opakovania ——————————

 

6. Napíšte program, ktorý bude mať dve tlačidlá:

Prvé – read and write a matrix – načíta maticu zadanú v meme, ktorá sa bude skladať z deviatich cifier (3×3) bez medzier. Vyzerať bude napríklad takto:

111

222

333

Po načítaní ju vypíše do image-u.

Druhé tlačidlo – draw image – vykreslí obrázok zložený z deviatich štvorcov (3×3), pričom každý štvorec bude mať takú farbu, aká mu bola zadaná v matici, ktorú ste načítali. Napr. ak v matici na pozícii [2,2] bola cifra „3“, prostredný štvorec bude mať červenú farbu (výber farieb pre jednotlivé cifry nechávam na vás).

 

Domáca úloha, deadline 16.10.2016 o 23:59

Napíšte program, ktorý bude simulovať piškvorky (bez vyhodnocovania). Vytvorte si pole 10×15 a zároveň vykreslite štvorčekovú sieť s týmito rozmermi. Celé pole najskôr inicializujte (napr. na nuly).

Hodnoty v poli sa budú meniť po kliknutí do hracej plochy

  • ak kliknete na nejaké políčko pravým tlačidlom myši, vykreslí sa na danom mieste krížik a na príslušné indexy v poli sa zapíše „x„;
  • ak kliknete na nejaké políčko ľavým tlačidlom myši, vykreslí sa na danom mieste krúžok a na príslušné indexy v poli sa zapíše „o„.

Pozor, ak kliknem mimo plochy, neudeje sa nič! (Nič sa nevykreslí, nič sa nikam nezapíše).

Bonusové úlohy:

  • za 0,5 bodov: zabezpečte, aby sa políčko, v ktorom je už krížik alebo krúžok, nedalo prepísať (ak je tam už raz vykreslený jeden symbol a v poli zapísaná jedna hodnota, už sa to nedá zmeniť)
  • za 1 bod: oznámenie o ukončení hry (keď je celé hracie pole zaplnené symbolmi „krížik“ alebo „krúžok“).
  • za 3 body: pridajte vyhodnocovanie – tri rovnaké symboly v riadku, stĺpci alebo na diagonále budú preškrtnuté a hráč získa bod, na konci hry bude oznámené, ktorý hráč vyhral.

Ak sa rozhodnote riešiť bonusové časti, musia byť v kóde jasne označené (pre jednoduchšie čítanie kódu).

 

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *