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

   nika.blog.matfyz.sk

04 – Record

Pri riešení nasledujúcich úloh používajte vytváranie nového typu pomocou Record.

1. Asistentka riaditeľa firmy si vedie zoznam o jeho celodennej činnosti. U nej ľudia zistia, či má riaditeľ nejaký termín ešte voľný a kedy sa s ním môžu stretnúť.

– Napíšte program, ktorý načíta hodinu jedného pracovného dňa (od 7 do 19), načíta a zapamätá si meno človeka, ktorý ide za riaditeľom a načíta a zapamätá si počet ďalších ľudí, ktorí sa stretnutia zúčastnia. (Button1)

– Načíta hodinu a podľa nej stretnutie riaditeľa zo zoznamu odstráni. (Button2)

– Načíta hodinu a podľa nej vypíše program riaditeľa. (Button3)

– Načíta dve hodiny – od-do a vypíše program riaditeľa v zadanom časovom intervale.

 

 

2. Do auta môžeme naložiť najviac 15 predmetov s maximálnou spoločnou hmotnosťou 100 kg. Napíšte program, ktorý

– načíta názov a hmotnosť nakladaného predmetu a zapamätá si ich

– ak prekročíme povolený počet alebo hmotnosť, vypíše oznam „KONIEC“

– ak budeme chcieť naložiť predmet s hmotnosťou, s ktorou by už bola povolená hmotnosť prekročená, vypíše oznam „Nalož predmet s menšou hmotnosťou.“

– po kliknutí na tlačidlo VYPIS vypíše zoznam naložených predmetov

 

3. Kartová hru „Väčšia berie“ pre dvoch hráčov je založená na náhode. Poradie kariet nemôžeme zmeniť a ani vyberať kartu, s ktorou zahráme. Hra prebieha s „nekonečnými“ kartami s hodnotami 7, 8, 9, 10 (hodnoty sa môžu vyskytovať ľubovoľne). Napíšte program, ktorý

  • vygeneruje a zobrazí kartu každého hráča
  • vypíše, ktorý hráč karty berie – pozor, myslite aj na možnosť remízy – vtedy karty neberie nik
  • koniec hry nastal v situácii, keď jeden hráč príde o kartu 10 – krát
  • vypíše štatistiku celej hry – ktorý z hráčov vyhral, koľko kôl prebehlo a aké karty padli v jednotlivých kolách

V tejto úlohe smelo doporučujem použiť typ Record na to, aby ste si pamätali jednotlivé karty v každom kole a tiež funkciu function kontrola(poc:integer):boolean;, ktorá overí, čí hodnota „poc“ už nemá hodnotu 10 – ak má, nastaví svoj result na true, inak bude mať result hodnotu false.

 

4. Napíšte program, ktorý bude kresliť guľôčky, ktoré sa pohybujú vo vertikálnom smere, pričom sa odrážajú od hornej a dolnej strany image-u.

  • guľôčok bude 100
  • o každej si budete pamätať jej pozíciu, farbu a rýchlosť+smer (tieto dve veličiny budú zapamätané v jednej premennej, ktorá ak bude mať buď zápornú alebo kladnú hodnotu – to určuje smer, samotná hodnota určuje rýchlosť)
  • guľôčky budú na začiatku rovnomerne rozložené po celej šírke image-u v rôznych výškach
  • nastavte im farbu na rgbToColor(x,y,100); //x, y je pozícia konkrétnej guľôčky
  • vygenerujte im náhodnú rýchlosť (každá guľôčka bude mať svoju vlastnú rýchlosť, ktorá sa v priebehu programu nebude meniť)
  • pri každom tiknutí timera sa guľôčka posunie vo svojom smere a svojou rýchlosťou, pričom sa bude odrážať od hrán image-u (smer sa zo záporného stane kladným alebo z kladného záporným)

 

5. Z anglickej abecedy vyberie hra 7 hlások a z nich hráč tvorí rôzne slová. Napíšte program, ktorý

  • vygeneruje 7 rôznych hlások
  • po zadaní poradových čísel dvoch hlások im zamení poradie
  • vniknuté slovo zapíše do súboru
  • po kliknutí na tlačidlo VYPIS vypíše všetky vytvorené slová
  • umožní pridávať nové slová do súboru aj po kliknutí na VYPIS

 

6. Napíšte program, ktorý nakreslí z čísel histogram. Vygeneruje 10 hodnôt od 1 do 10:

  • rovnomerne do celej šírky obrazovky nakreslí 10 modrých obdĺžnikov, ktorých výška bude zodpovedať generovaným hodnotám (napr 1 bude zodpovedať 30 obrazovým bodom)
  • pre maximum zobrazí červený obdĺžnik.
  • do každého obdĺžnika vpíše príslušnú číselnú hodnotu.

 

7. Na letisku čakajú cestujúcich príbuzní a sledujú tabuľu letov. V textovom súbore letisko.txt (nájdete na google disku pri ostatných súboroch) sú zapísané informácie o letoch (je ich maximálne 100) v tvare: číslo linky, čas príletu, letecká spoločnosť.

– Vytvorte program, ktorý načíta zo súboru informácie o letoch (ideálne do recordu).
– Informácie o letoch program postupne vypíše na tabuľu letov (úplne obyčajný výpis do image-u, nič komplikované).
– Na tabuli je miesto len pre 10 oznamov. Ak je záznamov viac ako desať, prvý zápis program vymaže (teda musíte vedieť, koľko záznamov idete vypisovať a ak ich je viac ako desať, nezobrazia sa prvé zo zoznamu, ale posledné).
–  Po každom použití funkcie (toto nemusí byť skutočná funkcia ako sme robili na poslednej hodine) meškanie (linka, minúty) program na tabuli k príslušnému letu pripíše aj jeho meškanie (do jedného editu napíšete číslo letu, do druhého napíšete meškanie, a tento údaj sa zobrazí v príslušnom riadku v image-i).

 

8. Treba si zopakovať dvojrozmerné polia, preto táto úloha:

Napíšte program, ktorý kreslí hrací plán hry Piškvorky. Program

  • vykreslí štvorčekový hrací plán
  • do plánu náhodne rozdelí a zapamätá si hodnotu x alebo o alebo n.
  • hodnoty zakreslí do štvorčekovej siete
  • políčko s hodnotou n zostane prázdne.

 

Domáce úlohy za 3+3+3 body, deadline posunutý na 5.3.2017

Úloha č. 4, úloha č. 6 a úloha č. 7.

 

BONUS, deadline 26.2.2017

Úloha č. 5.

2 komentáre so far.

  1. m. píše:

    Pani profesorka, prosim, kde su tie subory na google disku, (letisko.txt), ja som nasiel v priecinku „Zdielane so mnou“ iba dva textove dokumenty z 20.2.
    Dakujem.

  2. admin píše:

    Uz to mate nazdielane.

Pridaj komentár

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