Autorské riešenie
Pri zostavovaní náhodných viet si môžeme všimnúť, že aj
keď sú slová vo vetách náhodné, každá veta má rovnakú štruktúru,
pozostavajúcu z týchto 4 častí: Ak by sme nehľadeli na gramatickú správnosť
zostavených viet, tak by sme tie vety zostavovali tak, akoby sme vyťahovali
lístočky zo 4 rôznych vrecúšok označených ako:
V našom prípade však namiesto jedného vrecúška
<činnosť> budeme používať až dve vrecúška:
<činnosť1> pre sloveso v jednotnom čísle a <činnosťX>
pre sloveso v množnom čísle. A rovnako namiesto jedného vrecúška
<povolanie> budeme používať až dve vrecúška:
<povolanie1> pre podstatné meno v jednotnom čísle a
<povolanieX> pre podstatné meno v množnom čísle.
Pri riešení úlohy budeme postupovať tak, že si najprv hodíme kockou. Ak padne číslo 1, tak vetu zostavíme z postupnosti vrecúšok a číslovky 1: <miesto>, <činnosť1>, 1 ,<povolanie1>. Ak padne číslo 0, tak vetu zostavíme z postupnosti vrecúšok: <miesto> <činnosťX> <počet> <povolanieX>, kde namiesto hodnoty vrecúška <počet> vygenerujeme náhodné prirodzené číslo väčšie ako 1. Okrem nami uvedenej konštrukcie vety typu "Na lúke sa hrali 5 chlapci." sa v prípade životných podstatných mien mužského rodu pripúšťa aj použitie konštrukcie vety typu: "Na lúke sa hralo 5 chlapcov". Riešenie úlohy zapísané v jazyku Imagine Logo môže vyzerať nasledovne: ;Imagine Logo
viem vytvor_vety urobTu "miesto [|Na lúke| |V škole| |Pred domom| |Na ihrisku| |V divadle|] urobTu "cinnost1 [spieva |sa pripravuje| tancuje číta |sa smeje| |sa hraje|] urobTu "cinnostX [spievajú |sa pripravujú| tancujú čítajú |sa smejú| |sa hrajú|] urobTu "povolanie1 [chlapec futbalista kúzelník reper kamarát hokejista] urobTu "povolanieX [chlapci futbalisti kúzelníci reperi kamaráti hokejisti] opakuj 10 [ ak2 náhodne 2 = 1 [ urobTu "veta (slovo ?prvok :miesto "| | ?prvok :cinnost1 "| 1 | ?prvok :povolanie1 ".) ][ urobTu "pocet 2 + náhodne 10 urobTu "veta (slovo ?prvok :miesto "| | ?prvok :cinnostX "| | :pocet "| | ?prvok :povolanieX ".) ] pis :veta ] koniec Táto súťažná úloha je zameraná na:
Vaše zaujímavé riešenia a najčastejšie chyby Do riešenia tejto úlohy sa zapojilo 14 tímov kategórie PROFÍK. Plný počet 5 bodov získali 2 tímy Pcmasters a LuckaIsTheBestRybyca, k čomu im gratulujeme. Tím Pcmasters ako použil komentáre na sprehľadnenie programového kódu Tím Masters_of_Imagine v svojom riešení zostavoval náhodné vety pre tri prípady - pre číslovku 1, pre číslovky 2 až 4 a pre číslovky 5 a viac. Len 4 tímy zo 14 použili na vygenerovanie náhodného čísla funkciu náhodne, ostatní použili funkciu ?prvok na výber náhodného prvku zo zoznamu s uvedenými konkrétnymi číslami. V riešeniach sme zaregistrovali nasledovné chyby:
|
|||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |