Omówienie zadań - LabVIEW Fan Group

Transkrypt

Omówienie zadań - LabVIEW Fan Group
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
LabVIEW – Liga Zadaniowa
TYDZIEŃ 0 – OMOWIEŃ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ł 21 uczestników1. 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
1
1
1
5
5
5
8
8
8
8
8
8
14
14
14
14
14
14
20
21
Patrycja Klimczak (AGH)
Mateusz Mikulski (PolŚl)
Rafał Pasiut (AGH)
Sławomir Polakowski (AGH)
Piotr Demski (PolŚl)
Mateusz Mąsior (AGH)
Jacek Ziora (LVFG)
Aleksandra Gładysz (LVFG)
Konrad Konopka (AGH)
Anna Kozioł (AGH)
Filip Radoń (AGH)
Adrian Wojak (LVFG)
Łukasz Zapotoczny (LVFG)
Radosław Malec (LVFG)
Ewelina Mleczko (AGH)
Mirosław Berg (LVFG)
Anna Pawłowska (LVFG)
Alicja Wedel (AGH)
Monika Zakrzewska (AGH)
Adrianna Tuchalska (LVFG)
Jakub Barański (LVFG)
5
5
5
5
4
4
4
3
3
3
3
3
3
2
2
2
2
2
2
1
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
© 2013 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 uczestnikóów dla punktacji
Liczba osób / zdobyte punkty
7
6
6
6
5
4
3
3
2
2
1
1
0
1
1
0
2
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:
Liczba poprawnych odpowiedzi
Liczba poprawnie rozwiązanych zadań
17
18
15
16
14
11
12
10
8
6
5
6
4
2
0
1
2
3
4
5
Numer zadania
2. 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
2
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
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-1192 .
Zadanie 2.
Rozwiązanie równania kwadratowego to świetny przykład typowej „komputerówki”2 – 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:
2
Komputerówka – „kartkówka na komputerze” na KMEiF
Liga Zadaniowa LVFG tydz. 0 - omówienie
3
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
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
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
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