AMiTsys Expert 2014

   Letošní ročník mě zklamal malou účastí škol, ale potěšil kvalitou předložených prací. Přestože vím, že teorie je něco jiného než praxe, ale zároveň je chyba vždy na obou stranách, tak bych chtěl poprosit kantory k větší motivaci studentů. Dvě práce o level převýšili ostatní a je jasné, že s takovými studenty je radost pracovat, ale z vlastní zkušenosti vím, že neustálím motivováním lze dosáhnout dobrých výsledků i u línějších lidí. Abych nebyl jen „kecal“, tak nabízím pomoc. Sice nevím zatím s čím, ale pokud přijdete s námětem k pomoci, tak v rámci svých možností pomohu. Pokud chcete znát mé hodnocení k svým soutěžním pracím i školám, tak je k doptání v AMiTu nebo případně u mě.
   Když se podívám na software z „gramatického“ hlediska, tak bych přidal pár doporučení:
• Pro logické operace je výhodné použití procesu v režimu RS. Je to názornější, lépe se hledají chyby a zároveň si člověk udělá představu o řešení problému soustavou relé, které uplatní při řešení jednoduchého problému v aplikacích, kde není rentabilní či jinak nevhodné osazení řídicího systému.
• Protože se mi zdála většina SW „přeifovaná“ a zároveň některé konstrukce se mi zdály kostrbaté, tak připojím pár doporučení k modulu Let.
   a) Do jedno Let modulu můžeme vložit více příkazů oddělených středníkem např.
   Let @jedna = true; @dva = false
   b) Ve většině logických výrazů není potřeba používat příkaz If. Příklad zbytečně složité konstrukce:
   Let @pom9 = if(ubehly_cas3 == 0,true,false)
   zde stačí:
   Let @pom9 = ubehly_cas3 == 0
   c) V logických konstrukcích používat logické operátory:
   Let @bit0 = not @obj_delka3 and not @obj_delka2 and not @obj_delka1
   na místo:
   Let @bit0 = if ((@obj_delka3==false) and (@obj_delka2==false) and (@obj_delka1==false), true, false)
   Závěrem bych opět popřál všem soutěžícím hodně úspěchů v dalším profesním životě a chci znovu připomenout, že člověk, který dělá něco navíc, není divný nebo hloupý, jak si jejich vrstevníci někdy myslí, ale je o krok napřed před ostatními a s tímto přístupem nebudou mít problém v budoucím zaměstnání i životě.

Komentáře

Dělení nulou

Tak mě při čtení tohoto příspěvku napadlo, že je potřeba dávat pozor na dělení nulou. Abych řekl pravdu, tak fakt nevím jak si s tím Amit poradí. Prostě proto, že nulou se dělit nesmí a rovnou automaticky píšu konstrukci, která to ošetří. Takže konstrukci vždy tvořím Let prom0=if (prom1==0, tak 0, jinak výpočet). Kdysi jsem se to naučil díky Excelu, který pak psal myslím něco jako DIV. Používala se pak konstrukce IF, která byla i později přejmenována na překvapivě KDYŽ.

Dělení nulou - náhrada

Souhlasím,
obecně doporučuji co nejvíce se vyhýbat dělení a raději ho nahradit násobením.
(X / 10) je to též jako (X * 0.1)
Poté se hlídat dělení nulou nemusí, ale ne vždy jde tato rovnocenná konstrukce použít.