Na tomto seminári si zjednodušíme zadávanie prvkov do dvojrozmerného poľa napísaním krátkeho úseku kódu. Ten využíva funkcie a procedúry k stringom, ktoré sú už v Lazaruse predpripravené.
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‘;
1. 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).
2. 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“).
Domáca úloha, deadline 4.11.2015 o 22,00
Stiahnite si ukážkový exe súbor. Naprogramujte program, ktorý z mema načíta maticu celých čísel 3×5 (3 stĺpce, 5 riadkov). Po načítaní ju vypíše do image-u. (1 bod)
Ďalej doprogramujte tlačidlo „draw“. Po kliknutí naň sa vykreslí 3×5 štvorcov (veľkosť strany napr. 50), pričom ich farba bude zodpovedať číslu z matice, aké reprezentujú: ak je číslo párne, štvorec bude červený, inak bude modrý. (1,5 bodov)
Ďalej doprogramujte klikanie do image-u. Keď kliknem na hociktorý štvorec, prefarbí sa na zeleno (na jeho mieste sa vykreslí nový štvorec, ktorý bude mať zelenú farbu). (0,5 bodov)
Tip: aby ste nemuseli zakaždým vpisovať nejaké čísla do mema, vpíšte napr. tento príkaz:
memo1.Text:=’212’+#13#10+’121’+#13#10+’154’+#13#10+’167’+#13#10+’222′; (pozor – nestačí skopírovať – skopíruje vám to ako zlé apostrofy…)
do FormCreate-u (kamkoľvek vo forme dvojkliknem a vygeneruje sa mi procedúra FormCreate, kam to vpíšem).
BONUS (za 1 bod):
Do predchádzajúcej úlohy doprogramujte to, aby ak kliknem na niektorý nakreslený štvorec ľavým tlačidlom myši, nech sa tento štvorec prefarbí na zeleno; a ak naň kliknem pravým tlačidlom, nech sa prefarbí na žlto.
Najnovšie články
Najnovšie komentáre
- Kaťa komentoval 08 – Hodnotená aktivita z hardware-u
- Alica komentoval 08 – Hodnotená aktivita z hardware-u
- Daniel komentoval 08 – Hodnotená aktivita z hardware-u
- Marek komentoval 08 – Hodnotená aktivita z hardware-u
- kaja komentoval 08 – Hodnotená aktivita z hardware-u
nika.blog.matfyz.sk
Join Us On Facebook
Join Us On Twitter
Join Us On In.com
Subscribe to RSS
Follow Us On Google+
Subscribe Us On Youtube
Follow Us On Pinterest
Follow Us On Instagram
Follow Us On Tumblr
Subscribe Us On Flickr