LabVIEW Liga Zadaniowa TYDZIEŃ 0 OMO WIEŃIE 1. Ogólne wrażenia Pomysł Pomysł uruchomienia Ligi Zadaniowej narodził się jako refleksja po warsztatach LabVIEW organizowanych na spotkaniach Studenckiego Koła Naukowego LabVIEW Fan Group. Zauważyliśmy, że nie wszyscy uczestnicy warsztatów biegle poruszają się w samym LabVIEW, nie wiedzą, na którym panelu wstawia się stałe, a na którym kontrolki, słowem widać jasno, iż niezbyt często otwierają środowisko w domu. Żeby zmotywować studentów do systematycznej pracy, pojawił się pomysł organizacji cyklicznego konkursu niezbyt trudnych zadań w których będziemy starać się nawiązywać do różnych możliwości pakietu LabVIEW. Potem, dość spontanicznie, postanowiliśmy rozszerzyć inicjatywę na chętnych studentów spoza naszego Koła. Wciąż szukamy złotego środka, dlatego formuła zadań może być optymalizowana. Mamy też nadzieję, iż już niedługo będziemy mogli pobudzić Waszą wyobraźnię nagrodami. Statystyka W rozruchowym tygodniu Ligi Zadaniowej wzięło udział 1 uczestników 1. Uważamy to za spory sukces i bardzo dziękujemy wszystkim, którzy zechcieli poświęcić czas na współpracę z nami. Z tej grupy, czterem osobom udało się zdobyć maksymalną ilość punktów - gratulujemy! Tabela 1. Ostateczne zestawienie wyników tygodnia 0 Rank Osoba Punkty 1 Patrycja Klimczak (AGH) 5 1 Mateusz Mikulski (PolŚl) 5 1 Rafał Pasiut (AGH) 5 1 Sławomir Polakowski (AGH) 5 5 Piotr Demski (PolŚl) 4 5 Mateusz Mąsior (AGH) 4 5 Jacek Ziora (LVFG) 4 8 Aleksandra Gładysz (LVFG) 3 8 Konrad Konopka (AGH) 3 8 Anna Kozioł (AGH) 3 8 Filip Radoń (AGH) 3 8 Adrian Wojak (LVFG) 3 8 Łukasz Zapotoczny (LVFG) 3 14 Radosław Malec (LVFG) 14 Ewelina Mleczko (AGH) 14 Mirosław Berg (LVFG) 14 Anna Pawłowska (LVFG) 14 Alicja Wedel (AGH) 14 Monika Zakrzewska (AGH) 0 Adrianna Tuchalska (LVFG) 1 1 Jakub Barański (LVFG) 0 1 Rozbieżność wynikała z awarii serwera pocztowego w pewnym okresie odbioru zadań, w imieniu PWR AASOC przepraszamy! Liga Zadaniowa LVFG tydz. 0 - omówienie 1
Liczba poprawnych odpowiedzi Liczba uczestnikóów dla punktacji 013 LVFG kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora Powyższa tabela pozwala wykreślić zależność ilości osób od ilości zdobytych punktów. Zależność ta prezentuje się następująco: Liczba osób / zdobyte punkty 7 5 4 3 1 0 3 1 1 0 1 3 4 5 Ilość uzyskanych punktów Najmniej trudności sprawiło Wam zadanie 3 i 4. Najmniej odpowiedzi otrzymaliśmy odnośnie zadania 1, najwięcej proponowanych diagramów odrzuciliśmy w zadaniu nr 5. Ilość osób, która poprawnie rozwiązała poszczególne zadania, przedstawia wykres: 18 1 14 1 10 8 4 0 Liczba poprawnie rozwiązanych zadań 17 15 11 5 1 3 4 5 Numer zadania. Informacje warte wzmianki Pierwszą osobą, która wysłała zadania, jest Adrian Wojak. Gratulujemy! Specjalną nagrodę za odwagę otrzymuje Jakub Barański. Gratulujemy! Liga Zadaniowa LVFG tydz. 0 - omówienie
3. Omówienie poszczególnych zadań Zadanie 1. Zadanie to jest jak mawiają Anglosasi evergreen em na egzaminach typu CLD/CLA. Niemal każdy egzamin praktyczny wymaga przygotowania takiego czy innego rodzaju timingu, a ten komponent bardzo dobrze spełnia swoją rolę czasomierza. W tym zadaniu, podstawowe błędy polegały na niezrozumieniu konceptu Functional Global Variable (otrzymywaliśmy rozwiązania stanowiące maszyny stanowe) i problem w przemyśleniu implementacji funkcji pause zwyczajnie, pauza nie zawsze poprawnie działała. Zachęcamy do testowania swojego kodu. W celu przemyślenia działania timera, zachęcamy do zapoznania się z https://decibel.ni.com/content/docs/doc-119. Zadanie. Rozwiązanie równania kwadratowego to świetny przykład typowej komputerówki licealny poziom matematyczny, za to świetnie sprawdzający umiejętność implementacji takich rozwiązań w LabVIEW. Wartą uwagi sytuacją jest poszukiwanie miejsca zerowego, gdy. Ponieważ to, czy mamy wtedy do czynienia w funkcją kwadratową jest sprawą mocno dyskusyjną, brak obsługi tego rozwiązania nie zaważył na punktacji. Ważną sprawą jednakże była liczba pierwiastków. Jeśli nie dało się jej ustalić na podstawie ilości elementów tablicy (pusta tablica zero rozwiązań, jeden pierwiastej jeden element, dwa pierwiastki dwa elementy), przyznawano zero punktów za zadanie. Na marginesie proszę, zwróćcie uwagę jak bardzo konieczność sprawdzania na zewnątrz, czy oba pierwiastki są jednakowe, obniża poziom użytkowy komponentu w większym kodzie Publikujemy przykładowe rozwiązanie autorstwa Jacka Ziory: Komputerówka kartkówka na komputerze na KMEiF Liga Zadaniowa LVFG tydz. 0 - omówienie 3
Zadanie 3. Z tym zadaniem wiele osób poradziło sobie dobrze. Sprytni skorzystali z wbudowanych funkcji LabVIEW, odważni po konwersji do U8 z tablicą ASCII w ręku dodawali i odejmowali odpowiednie znaki. Uznawaliśmy rozwiązania nie uwzględniające zmian wielkości polskich liter, gdyż nie było to wyraźnie powiedziane w treści zadnia - odrzucaliśmy jednak konwertery, w których zamieniane zostały inne znaki (na przykład, spacja na znak % ). Publikujemy przykładowe rozwiązanie autorstwa Mateusza Mikulskiego: Zadanie 4. W tym zadaniu postanowiliśmy sprawdzić, jak radzicie sobie z obsługą struktury typu Event. Ponieważ w treści zadania nie było jasno powiedziane, czy po zablokowaniu zamknięcia panelu frontowego aplikacja ma być wciąż uruchomiona czy nie, premiowaliśmy oba podejścia. To zadanie sprawiło trudności najmniejszej liczbie uczestników. Publikujemy przykładowe rozwiązanie autorstwa Filipa Radonia: Zadanie 5. Zadanie to nas zaskoczyło jest wierną kopią (podonie jak nr 3) zadania przedstawionego rok temu na Mistrzostwach Polski Programistów LabVIEW. Nad jego treścią dyskutowaliśmy naprawdę długo, by była optymalna. A jednak nie udało się rozwiać wszystkich wątpliwości. Podjęliśmy decyzję, by nie punktować rozwiązań nie sprawdzających długości znaków w wejściu. O ile dla wejść krótszych niż nr PESEL, typu ( 0 ), można bronić tezy, iż reszta znaków zwyczajnie jest zerami, o tyle pozytywna weryfikacja numerów dłuższych niż 11 znaków stanowczo dyskwalifikuje walidator. Rozumiemy, jeśli nie zgodzicie się z naszą interpetacją potraktujcie to wtedy tak samo jak błąd sędziego w meczu piłkarskim. W przyszłości będziemy dokładać wszelkich starań by precyzować interpretację poza tym, proszę korzystać z dobrodziejstw poczty elektronicznej w razie jakichkolwiek niejasności. Liga Zadaniowa LVFG tydz. 0 - omówienie 4
Nietypowe rozwiązanie zademonstrowała Aleksandra Gładysz (użycie formula node): 4. Refleksje końcowe W kolejnych tygodniach będziemy przykładać ogromną wagę do treści zadań aby była maksymalnie precyzyjna i jednoznaczna. W przeciwieństwie do krótkiego czasu konkursu, tygodniowy charakter zadań Ligi pozwala na rozwianie wątpliwości mailem do czego gorąco zachęcamy. W celu poprawy jasności zadań i usprawnienia testowania, od następnego tygodnia publikowany będzie jednolity connector pane dla VI, który należy wykorzystywać. Spodziewajcie się dodatkowych elementów umożliwiających weryfikację VI zestawu danych testowych lub gotowych VI z zaszyfrowanymi diagramami blokowymi. Zachęcamy do rozmawiania czekamy na sugestie zadań, usprawnienie procesu rozwiązań Wasze refleksje zachęcamy do korespondencji! Liga Zadaniowa LVFG tydz. 0 - omówienie 5