Autorské riešenie Ak si zakreslíme jednotlivé smery a pripíšeme k nim zadané čísla (1 - sever, 2 - severovýchod a tak ďalej), zistíme, že odstrániť zo záznamu trasy potrebujeme tie po sebe idúce dvojice čísel, ktorých rozdiel je v absolútnej hodnote 4. Záznam trasy je uložený v premennej jozef. Záznam obsahuje aspoň jeden prvok. Do premennej upravena presunieme prvý prvok zoznamu jozef. V cykle budeme prechádzať ostatnými prvkami premennej jozef a zisťovať, či sa absolútna hodnota rozdielu posledného prvku zoznamu upravena a prvého prvku zoznamu jozef rovná štyrom. Ak áno, obidva prvky odstránime. Ak nie, prvý prvok zoznamu jozef presunieme do zoznamu upravena. Pre prípad, že hneď prvé čísla budú nevyhovujúce, a teda premenná upravena ostane prázdna, vložíme do procedúry podmienku, v ktorej otestujeme, či nie je premenná upravena prázdna (inak by sme sa snažili zmazať jej posledný prvok, ktorý neexistuje, a procedúra by vyhlásila chybu). viem uprav_trasu Všimnite si najmä príkazy ak2 a abs, pomocou ktorých je možné niektoré komplikovanejšie zápisy, ktoré sa objavili vo vašich procedúrach, zapísať prehľadnejšie a jednoduchšie. Najčastejšie chyby, komentár k vašim riešeniam Najčastejším problémom bolo nesprávne porozumenie zadania úlohy (niektorí z vás to pochopili tak, že za sebou nemôžu ísť rovnaké smery trasy alebo vyrobili novú, kratšiu trasu vedúcu zo štartu na koniec). Milé bolo odporúčanie, ktoré sa objavilo v jednom z riešení: "Je naozaj nutné tie trasy opravovať? Mne sa to nechce a tím turistom neuškodí trocha pohybu. A aj samotná túra je únavná, tak nech si nevymýšľajú! ( tí turisti )" |
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |