1iai2: Rozdiel medzi revíziami

Z Pascal
Prejsť na: navigácia, hľadanie
 
(12 intermediate revisions by the same user not shown)
Riadok 1: Riadok 1:
 
{{Nadpis0|cvičenia pre 1iai2}}__NOTOC__
 
{{Nadpis0|cvičenia pre 1iai2}}__NOTOC__
  
 
<!-- -->
 
 
== aktuálna nepovinná domáca úloha ==
 
 
{{Podnadpis1|1. ndú z 15.2.2013}}
 
<!--
 
* predpokladáme, že už je definovaná trieda '''TMojRobot''', ktorá vie nakresliť binárny strom úrovne '''NN''' a veľkosti '''DD''' (tieto dve hodnoty sa inicializujú v konštruktore: náhodné '''NN''' z intervalu <3, 7>, '''DD''' z intervalu <30, 60>):
 
{{Prog}}
 
type
 
  TMojRobot = class(TRobot)
 
    NN, DD: Integer;
 
    constructor Create(XX, YY: Integer);
 
    procedure Strom(N: Integer; D: Real);
 
    procedure Kresli;
 
  end;
 
|}
 
-->
 
  
 
<!-- -->
 
<!-- -->
Riadok 24: Riadok 6:
 
== bodovanie ==
 
== bodovanie ==
  
<!--
+
 
 
{| width="100%" class="wikitable" style="text-align: center;"
 
{| width="100%" class="wikitable" style="text-align: center;"
 
|- align="center"
 
|- align="center"
 
! width="80" | ||width="20"| 1 ||width="20"| d1 ||width="20"| 2 ||width="20"| d2 ||width="20"| 3 ||width="20"| d3 ||width="20"| 4 ||width="20"| d4 ||width="20"| 5 ||width="20"| d5 ||width="20"| 6 ||width="20"| d6 ||width="20"| 7 ||width="20"| d7 ||width="20"| 8 ||width="20"| d8 ||width="20"| 9 ||width="20"| d9 ||width="20"| 10 ||width="20"| d10 ||width="20"| 11 ||width="20"| d11 ||width="20"| &sum;
 
! width="80" | ||width="20"| 1 ||width="20"| d1 ||width="20"| 2 ||width="20"| d2 ||width="20"| 3 ||width="20"| d3 ||width="20"| 4 ||width="20"| d4 ||width="20"| 5 ||width="20"| d5 ||width="20"| 6 ||width="20"| d6 ||width="20"| 7 ||width="20"| d7 ||width="20"| 8 ||width="20"| d8 ||width="20"| 9 ||width="20"| d9 ||width="20"| 10 ||width="20"| d10 ||width="20"| 11 ||width="20"| d11 ||width="20"| &sum;
|-
 
! Baláži Tomáš
 
| 4 || 1 || 5 || 1 || 1 || || 2 ||0.5|| 1 || || 1 || || 4 || || || || 4 || || || || || || 25
 
 
|-
 
|-
 
! Belica Martin
 
! Belica Martin
| 4 || 1 || 5 || 1 || 5 || 1 || 4 ||0.5|| 5 || 1 || 5 || 1 ||4.5|| 1 || 2 || 1 ||4.5|| 1 || 4 || || || || '''40'''
+
| 2 || 1 ||4.5|| 1 || 5 || 1 || 4.5 || 1 || 3 || || 4 || 1 ||3.5|| 2 || 2 || || 5 ||0.5|| 5 || || || || {{Red|40}}
 
|-
 
|-
 
! Bucha Samuel
 
! Bucha Samuel
| 4 || 1 || 5 || 1 || 3 || 0 || 2 || 1 || 5 || || || || || 1 || 4 || 1 || 1 || || 3 || 2 || 4 || || 37
+
|0.5||0.5||0.5|| || 4 || || 2 || || 2 || || - || || 2 || || 2 || ||1.5|| || 1 || ||0.5|| || 15.5
|-
+
! Cisárik Michal
+
| 5 || 1 || 6 || 1 || 2 || || 0 || || || || || || 1 || || || ||4.5|| || || || || || 20
+
 
|-
 
|-
 
! Dobiáš Dominik
 
! Dobiáš Dominik
| 4 || 1 || 5 || 1 || 5 || 1 || 2 ||0.5|| 3 || || 1 || 1 || 3 ||0.5|| 4  || 1 || 4.5 || || 3 || 2 || 4 || || '''40'''
+
| 2 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 4 || || - || || 2 || ||3.5|| || 3 || 2 || || || {{Red|40}}
|-
+
! Floch Peter
+
| 5 || 1 || 5 || 1 ||3.5|| || 0 || || || || || || 2 || || || || 4 || || || || || || 22
+
 
|-
 
|-
 
! Hanzlík Roman
 
! Hanzlík Roman
| 5 || 1 || 5 || 0 || 4 || 0 || 5 ||0.5|| 5 || || 2 || || 4.5 || || 5 || || 4 || || 1 || || || || 39
+
| 5 || || - || || 1 || || 1 || || 2 || || 1 || || 2 || || - || || - || || 3 || ||0.5|| || 15.5
 
|-
 
|-
 
! Hervay Ákos
 
! Hervay Ákos
| 4 || || 5 ||0.5|| ||0.5|| 5 ||0.5|| || 0 || 1 || 1 || 4 ||0.5|| 4 ||0.5|| || || || || 4 || || 31
+
| - || || - || ||3.5|| ||2.5|| ||3.5||0.5|| 3 || || - ||0.5|| 2 || || 1 || ||4.5|| ||4.5|| || 25.5
|-
+
! Ivan Róbert
+
| 4 || || 5 || 1 || 3 || || 2 || || 4 || || 4 || ||4.5|| || 3 || || 2 || || 3 || || || || 32
+
 
|-
 
|-
 
! Jankovič Erik
 
! Jankovič Erik
| 5 || 1 || 5 || 1 || 4 ||0.5|| 2 || || || 0 || 2 || || ||0.5|| 4 || ||4.5|| 1 || 3 || || 2 || 1 || 35
+
| - || 1 ||4.5|| 1 || - ||0.5|| 1 || 1 ||3.5|| || - || || 5 || 1 ||4.5|| 1 || 5 || ||4.5|| 2 || || 1 || 36.5
 
|-
 
|-
 
! Knechta Dominik
 
! Knechta Dominik
| 5 || 1 || 4 || 1 ||4.5|| || 1 ||0.5|| 3 || || 1 || 1 || 1 || || 2 || ||3.5|| || 4 || || 2 || || 32
+
| 3 || ||4.5|| || 4 || ||0.5|| || - || || 1 || || 2 || || 2 || ||1.5|| || 2 || || 2 || || 21
 
|-
 
|-
 
! Kováč Matúš
 
! Kováč Matúš
| 5 || 1 || 4 || 1 || 5 || || 4 || || 2 || || 2 || || || || 3 || || 1 || || 2 || || || || 29
+
| 5 || ||4.9|| || 1 || || 1 || || 3 || || 1 || ||2.5|| || 2 || ||4.5|| || 3 || || 5 || || 24.9
 
|-
 
|-
! Kúdora Dávid
+
! Krampl Werner
| 5 || 1 || 5 || 1 || ||0.5|| 5 ||0.5|| || 0 || 1 || || || ||4.5|| || || || || || || || 24
+
|4.5|| 1 || 5 || || 5 || ||4.5|| 1 || 2 ||0.5|| 2 || 1 ||3.5|| 1 || 5 || 1 || 5 || 1 || 5 || || 5 || || {{Red|40}}
|-
+
! Kužel Marek
+
| 5 || 1 || 5 || 1 ||4.5|| || 0 || || || || || || 1 || || || ||4.5|| || || || || || 22
+
|-
+
! Martinka Marek
+
| 5 || 1 || 5 || 1 || 3 || || || || 1 || 0 || 1 || || 2 || 1 ||2.5|| || 2 || || 1 || || || || 25
+
|-
+
! Polakovič Luboš
+
| 5 || 1 || 5 || 1 || 3 || 0 || 5 || || || || 4 || || 3 || || || || 4 || || || || || || 31
+
|-
+
! Potisk Martin
+
| - || 1 || 5 || || 3 || 1 || ||0.5|| || 0 || 2 || || 3.5 ||0.5|| 4 || || 4.5 || || || || || || 25
+
|-
+
! Prékop Tomáš
+
| 4 || 1 || 5 || || || 1 || 2 || 1 || 1 || || || || || 0 ||1.5|| 1 || 1 ||0.5|| 4 || 1 || 4 || || 28
+
 
|-
 
|-
 
! Sedláček Jakub
 
! Sedláček Jakub
| 5 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 4 || 1 ||4.5|| || 4 || || || || '''40'''
+
| - || ||4.5|| ||2.5|| || 2 || || 2 || || - || || - || || 2 || || - || || 3 || ||1.5|| || 17.5
 
|-
 
|-
 
! Sedláček Peter
 
! Sedláček Peter
| 5 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 4 || 1 || 5 || 1 || 5 ||0.5|| 5 || 1 || 4 || 1 || 5 || || || || '''40'''
+
|4.5|| ||4.5|| ||4.5|| ||3.5|| ||2.5|| || - || || - || || 5 || || - || || 5 || ||1.5|| || 31
|-
+
! Siraň Radovan
+
| 5 || || 5 || 1 || 3 || 1 || 1 ||0.5|| 0 ||0.5|| 2 || 1 || 1 ||0.5|| 3 ||0.5||4.5|| ||3.5|| 0.5 || 3 || || 35
+
 
|-
 
|-
 
! Sklenčár Viktor
 
! Sklenčár Viktor
| 4 || 1 || 5 || 1 ||4.5|| 1 || 5 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 3 || 1 || 5 || 1 ||3.5|| || 3 || || '''40'''
+
| 5 || 1 ||2.5|| 1 ||3.5|| 1 || 5 || 1 || 3 || || 1 || 1 || 3 || 1 || 2 || 1 || 5 || 1 || 5 || 2 || || || {{Red|40}}
|-
+
! Sopko Martin
+
| 4 || 1 || - || || 3 || 1 || 1 || || 3 || || || || 4 || ||2.5|| || 4 || || 1 || || || || 25
+
|-
+
! Šifra Matej
+
| 5 || 1 || 5 || 1 ||2.5|| 1 || || 1 || 1 || || 1 || || ||0.5|| 3 || || || || 1 || 0 || 2 || || 25
+
 
|-
 
|-
 
! Šiškovič Joachim
 
! Šiškovič Joachim
| 5 || 1 || 5 || 1 || 5 || 1 || 1 || || 4 || 1 || 3 || 1 ||0.5|| 1 || 3 ||0.5||4.5|| ||3.5|| || 3.5 || || '''40'''
+
| - || ||4.5|| 1 || - || || 5 || ||3.5|| || 3 || ||4.5|| 2 || 1 || || 4 || || 3 || || 5 || || 35.5
 
|-
 
|-
 
! Šuník Martin
 
! Šuník Martin
| 4 || 1 || 5 || 1 || 5 || 1 || 5 || 1 || 1 || 1 || || 1 || 5 || 1 || 5 || 1 || 5 || ||4.5|| || 5 || || '''40'''
+
| - || 1 || 5 || 1 || - || 1 ||4.5|| 1 || 5 || || 5 || 1 || 5 || 1 || 5 || 1 || 5 || || 5 || || || || {{Red|40}}
 
|-
 
|-
 
! Tóthová Gabriela
 
! Tóthová Gabriela
| 5 || 1 || - || 1 || 4 || 1 || 5 ||0.5|| 1 || 0 || 2 || 1 || || 1 || 5 || 1 || || ||2.5|| 1 || 2 || || 34
+
| 1 || 0 ||4 || 1 || 2 || 1 ||3.5||0.5|| 2 || || 1 ||1.5|| 1 || || 1 || ||3.5|| || 3 || ||2.5|| || 25.5
|}
+
<!--
 +
|-
 +
! Šišková Patrícia
 +
| - || || - || || 4 || || - || || || || || || || || || || || || || || || || 4
 +
|-
 +
! Štefanisko Jozef
 +
| - || || 5 || || - || || - || || || || || || || || || || || || || || || || 0
 
-->
 
-->
 +
|}
  
 
<!-- -->
 
<!-- -->
Riadok 119: Riadok 72:
  
 
{{Podnadpis1|1. ndú z 15.2.2013}}
 
{{Podnadpis1|1. ndú z 15.2.2013}}
*
 
  
 +
* napíšte program, ktorý vytvorí binárny súbor z riadkov textového súboru '''studenti.txt''', tento súbor obsahuje riadky tvaru
 +
{{Prog}}
 +
meno;rocnik priemer
 +
|}
 +
* treba to prečítať do záznamu:
 +
{{Prog}}
 +
type
 +
  TStudent = record
 +
    Meno: string[15];
 +
    Rocnik: Byte;
 +
    Priemer: Real;
 +
  end;
 +
|}
 +
* každý prečítaný záznam sa zapíše do súboru
 +
:* v hex-editore sa pozrite, ako je to uložené, koľko bajtov zaberá jeden záznam (SizeOf(TStudent))
 +
* NDÚ odovzdávať len text projektu (napr. project1.lpr)
 +
 +
 +
{{Podnadpis1|2. ndú z 22.2.2013}}
 +
 +
* napíšte procedúru '''VyhodDuplikaty''', ktorá vyhodí zo spájaného zoznamu všetky ďalšie výskyty tej iste hodnoty
 +
{{Prog}}
 +
procedure VyhodDuplikaty(Z: PVrchol);
 +
|}
 +
* napr. zo zoznamu
 +
{{Prog}}
 +
1 -> 2 -> 3 -> 2 -> 4 -> 1 -> 2 -> 5 ->
 +
|}
 +
* spraví zoznam
 +
{{Prog}}
 +
1 -> 2 -> 3 -> 4 -> 5 ->
 +
|}
 +
 +
 +
{{Podnadpis1|3. ndú z 1.3.2013}}
 +
 +
* Vytvorte triedu '''TSlovnik''', ktorá do spájaného zoznamu načíta zo súboru (napr. '''slovnik.txt''') zoznam dvojíc slov (slovenské anglické), napr.
 +
{{Prog}}
 +
pes dog
 +
macka cat
 +
...
 +
|}
 +
* trieda '''TSlovnik''' je spájaným zoznamom, ktorý bude mať vrcholy utriedené podľa anglických slovíčok, napr.
 +
{{Prog}}
 +
TVrchol = class
 +
  Slov, Angl: string;
 +
  Next: TVrchol;
 +
  ...
 +
end;
 +
&nbsp;
 +
TSlovnik = class
 +
  Z: Tvrchol;
 +
  constructor Create(Subor: string);
 +
  procedure Vloz(S, A: string);    ''// vloží do zoznamu na správne miesto ďalšiu dvojicu slov''
 +
  ...
 +
end;
 +
|}
 +
 +
 +
{{Podnadpis1|4. ndú z 8.3.2013}}
 +
 +
* vygenerovať a nakresliť náhodný strom s číslami vo vrcholoch od 1 do 20
 +
:* klikanie myšou na ľubovoľný vrchol zvýši číslo v tomto vrchole o 1 (a prekreslí vrchol alebo celý strom)
 +
 +
 +
{{Podnadpis1|5. ndú z 15.3.2013}}
 +
 +
* konštruktor (alebo funkcia, ktorá vráti koreň stromu) pre aritmetický strom, ktorý ako parameter dostáva '''string''' so zápisom aritmetického stromu v prefixe oddelený medzerami a vytvorí tento strom
 +
'+ * 4 5 - 712 9'
 +
: zrejme budeme musieť použiť rekurziu
 +
: čísla môžu byť aj viacciferné
 +
: napr.
 +
Astrom := Vytvor('+ * 4 5 - 7 9');
  
 
<!-- -->
 
<!-- -->

Aktuálna revízia z 11:15, 22. máj 2013

cvičenia pre 1iai2



bodovanie

1 d1 2 d2 3 d3 4 d4 5 d5 6 d6 7 d7 8 d8 9 d9 10 d10 11 d11
Belica Martin 2 1 4.5 1 5 1 4.5 1 3 4 1 3.5 2 2 5 0.5 5 40
Bucha Samuel 0.5 0.5 0.5 4 2 2 - 2 2 1.5 1 0.5 15.5
Dobiáš Dominik 2 1 5 1 5 1 5 1 5 1 4 - 2 3.5 3 2 40
Hanzlík Roman 5 - 1 1 2 1 2 - - 3 0.5 15.5
Hervay Ákos - - 3.5 2.5 3.5 0.5 3 - 0.5 2 1 4.5 4.5 25.5
Jankovič Erik - 1 4.5 1 - 0.5 1 1 3.5 - 5 1 4.5 1 5 4.5 2 1 36.5
Knechta Dominik 3 4.5 4 0.5 - 1 2 2 1.5 2 2 21
Kováč Matúš 5 4.9 1 1 3 1 2.5 2 4.5 3 5 24.9
Krampl Werner 4.5 1 5 5 4.5 1 2 0.5 2 1 3.5 1 5 1 5 1 5 5 40
Sedláček Jakub - 4.5 2.5 2 2 - - 2 - 3 1.5 17.5
Sedláček Peter 4.5 4.5 4.5 3.5 2.5 - - 5 - 5 1.5 31
Sklenčár Viktor 5 1 2.5 1 3.5 1 5 1 3 1 1 3 1 2 1 5 1 5 2 40
Šiškovič Joachim - 4.5 1 - 5 3.5 3 4.5 2 1 4 3 5 35.5
Šuník Martin - 1 5 1 - 1 4.5 1 5 5 1 5 1 5 1 5 5 40
Tóthová Gabriela 1 0 4 1 2 1 3.5 0.5 2 1 1.5 1 1 3.5 3 2.5 25.5


predchádzajúce nepovinné domáce úlohy

1. ndú z 15.2.2013


  • napíšte program, ktorý vytvorí binárny súbor z riadkov textového súboru studenti.txt, tento súbor obsahuje riadky tvaru
meno;rocnik priemer
  • treba to prečítať do záznamu:
type
  TStudent = record
    Meno: string[15];
    Rocnik: Byte;
    Priemer: Real;
  end;
  • každý prečítaný záznam sa zapíše do súboru
  • v hex-editore sa pozrite, ako je to uložené, koľko bajtov zaberá jeden záznam (SizeOf(TStudent))
  • NDÚ odovzdávať len text projektu (napr. project1.lpr)



2. ndú z 22.2.2013


  • napíšte procedúru VyhodDuplikaty, ktorá vyhodí zo spájaného zoznamu všetky ďalšie výskyty tej iste hodnoty
procedure VyhodDuplikaty(Z: PVrchol);
  • napr. zo zoznamu
1 -> 2 -> 3 -> 2 -> 4 -> 1 -> 2 -> 5 -> 
  • spraví zoznam
1 -> 2 -> 3 -> 4 -> 5 -> 



3. ndú z 1.3.2013


  • Vytvorte triedu TSlovnik, ktorá do spájaného zoznamu načíta zo súboru (napr. slovnik.txt) zoznam dvojíc slov (slovenské anglické), napr.
pes dog
macka cat
... 
  • trieda TSlovnik je spájaným zoznamom, ktorý bude mať vrcholy utriedené podľa anglických slovíčok, napr.
TVrchol = class
  Slov, Angl: string;
  Next: TVrchol;
  ...
end;
 
TSlovnik = class
  Z: Tvrchol;
  constructor Create(Subor: string);
  procedure Vloz(S, A: string);     // vloží do zoznamu na správne miesto ďalšiu dvojicu slov
  ...
end;



4. ndú z 8.3.2013


  • vygenerovať a nakresliť náhodný strom s číslami vo vrcholoch od 1 do 20
  • klikanie myšou na ľubovoľný vrchol zvýši číslo v tomto vrchole o 1 (a prekreslí vrchol alebo celý strom)



5. ndú z 15.3.2013


  • konštruktor (alebo funkcia, ktorá vráti koreň stromu) pre aritmetický strom, ktorý ako parameter dostáva string so zápisom aritmetického stromu v prefixe oddelený medzerami a vytvorí tento strom
'+ * 4 5 - 712 9'
zrejme budeme musieť použiť rekurziu
čísla môžu byť aj viacciferné
napr.
Astrom := Vytvor('+ * 4 5 - 7 9');




Aktualizované: 20.2.2013