Przykładowy Egzamin CLAD
Strona 1 z 24
Egzamin Certified LabVIEW Associate Developer
Zeszyt Testowy
Uwaga: Korzystanie z komputera lub innych źródeł jest zabronione przez cały czas trwania egzaminu.
Instrukcje:
Jeśli egzamin nie został dostarczony w zapieczętowanej kopercie opatrzonej pieczęcią "NI Certification", proszę
NIE AKCEPTOWAĆ tego dokumentu. Należy natychmiast zwrócid arkusze do osoby nadzorującej egzamin.
Wydany zostanie dokument zastępczy.
Proszę nie usuwad zszywki łączącej wszystkie części egzaminu ze sobą. W przypadku braku
którejkolwiek części dokumentu lub gdy zwrócony egzamin nie będzie w jednej części, egzamin
będzie uznany za zakooczony niepowodzeniem.
Proszę nie zwracad się z prośbą o pomoc do osoby nadzorującej egzamin. W przypadku jakichkolwiek
wątpliwości w znaczenie pytania, należy opisad na arkuszu swoje wątpliwości i argumenty wyboru
odpowiedzi na pytanie.
Niniejszy zestaw arkuszy nie może byd zabrany z miejsca, gdzie egzamin się odbywa, ani powielany w
jakiejkolwiek formie. Po zakooczeniu egzaminu musi on byd zwrócony w całości przez osobę
egzaminowaną.
Zasady egzaminu:
Czas przeznaczony: 1 godzina
Rodzaj zadao: pytania z odpowiedziami wielokrotnego wyboru
Liczba zadao: 40 pytao
Zaliczenie: 70%
UWAGA: Po zakooczeniu egzaminu arkusze należy umieścid w dostarczonej kopercie i ją
ZAPIECZĘTOWAĆ. Proszę zwrócid zapieczętowaną kopertę do osoby nadzorującej egzamin.
Przykładowy Egzamin CLAD
Strona 2 z 24
Arkusz odpowiedzi:
Aby móc szybko porównad własne odpowiedzi z odpowiedziami w części Rozwiązania, zaleca się umieścid
odpowiedzi w niniejszym arkuszu. Należy odłączyd ten arkusz od reszty egzaminu i zapisywad na nim swoje
odpowiedzi. W rzeczywistym egzaminie CLAD niniejsza strona nie występuje i została dodana jedynie ze
względów praktycznych. Rozwiązania zostały umieszczone na koocu części Przykładowy egzamin.
1. _____
2. _____
3. _____
4. _____
5. _____
6. _____
7. _____
8. _____
9. _____
10. _____
11. _____
12. _____
13. _____
14. _____
15. _____
16. _____
17. _____
18. _____
19. _____
20. _____
21. _____
22. _____
23. _____
24. _____
25. _____
26. _____
27. _____
28. _____
29. _____
30. _____
31. _____
32. _____
33. _____
34. _____
35. _____
36. _____
37. _____
38. _____
39. _____
40. _____
Przykładowy Egzamin CLAD
Strona 3 z 24
Przykładowy egzamin:
1. Które z poniższych jest prawdą, gdy wykonany będzie podany kod?
a. Pętla wykona 51 iteracji.
b. Pętla wykona 50 iteracji.
c. Pętla wykona 49 iteracji.
d. Pętla for z podłączona wartością 50 do terminalu count (N) wykona tę samą operację.
2. Które z poniższych spowoduje przechwycenie zdarzenia przez strukturę event w LabVIEW?
a. Zmiana wartości kontrolki na panelu czołowym przez kliknięcie kursorem myszy.
b. Aktualizacja kontrolki na panelu czołowym przy pomocy property node.
c. Programowa aktualizacja kontrolki na panelu czołowym przez referencję kontrolki.
d. Aktualizacja kontrolki na panelu czołowym przy pomocy VI Server.
3. Jaką wartośd będzie miał wskaźnik Result, gdy poniższy kod zakooczy działanie?
a. Czas wyrażony w milisekundach, który upłynął podczas wykonywania subVI.
b. Zero
c. Liczba sekund, która upłynęła od 1 stycznia 1970 roku.
d. Czas wyrażony w milisekundach, który upłynął podczas wykonywania struktury
sekwencji.
Przykładowy Egzamin CLAD
Strona 4 z 24
4. Dany jest VI, w którym należy programowo zmodyfikowad jedną z właściwości kontrolki na
panelu czołowym. Który z następujących sposobów jest najlepszym rozwiązaniem?
a. Stworzenie powiązanego property node i wybranie właściwości.
b. Stworzenie referencji do kontrolki, przekazanie jej do property node i wybranie
właściwości.
c. Stworzenie powiązanej zmiennej współdzielonej i wybranie właściwości.
d. Stworzenie zmiennej lokalnej i wybranie właściwości.
5. Najbardziej wydajną metodą tworzenia tablic jest:
a. Umieszczenie funkcji build array w pętli while.
b. Inicjalizacja tablicy, a następnie zastępowanie jej elementów w pętli while.
c. Użycie pętli for z autoindeksowanym tunelem.
d. Użycie pętli while z autoindeksowanym tunelem.
6. Która funkcja będzie najlepsza do sterowania zależnościami czasowymi aplikacji działającej
przez długi czas?
a.
b.
c.
d.
Przykładowy Egzamin CLAD
Strona 5 z 24
7. W przedstawionym poniżej VI została wyłączona automatyczna obsługa błędów. Czy pojawi
się okno dialogowe z informacją o błędzie, jeśli C:\data.txt nie istnieje?
a. Tak, za każdym razem, gdy funkcja Open/Create/Replace File zwraca błąd.
b. Tak, za każdym razem, gdy pętla zakooczy iterację.
c. Tak, ale tylko raz, nie po w każdej iteracji pętli.
d. Nie.
8. Które z poniższych są prawdą, jeśli nazwa wejścia do subVI w oknie pomocy kontekstowej
jest przedstawiona wytłuszczoną czcionką? (Przynajmniej jedna poprawna odpowiedź.)
a. Wejściem musi byd skalar.
b. Parametr wejściowy jest zalecany, ale niewymagany.
c. Parametr wejściowy jest wymagany.
d. VI będzie miał złamaną strzałkę (Run), jeśli wejście jest niepodłączone.
9. Wyjściem funkcji Array Size na diagramie poniżej jest
a. Jednowymiarowa tablica {2, 3}
b. Jednowymiarowa tablica {3, 2}
c. 2
d. Żadne z powyższych
Przykładowy Egzamin CLAD
Strona 6 z 24
10. Który fragment kodu poniżej wykona zapis na dysk najmniejszej porcji danych?
a.
b.
c.
Przykładowy Egzamin CLAD
Strona 7 z 24
d.
11. Która opcja służy do ustawienia skrótów klawiszowych do obiektów na panelu czołowym?
a. Key Focus
b. Key Navigation
c. Radix
d. Distribute Objects
12. Jaki będzie wynik w new string po wykonaniu danego kodu?
a. Hello to you!
b. Hello Wto you!
c. Hello to you!!
d. Helloto you!
13. Jaką funkcjonalnośd dostarczają referencje do obiektów panelu czołowego?
a. Możliwośd programistycznego dodawania kontrolek i wskaźników do VI
b. Dostęp do właściwości obiektów panelu czołowego w subVI
c. Sterowanie wieloma wejściami DAQ poprzez nazwy typu alias
d. Możliwośd połączenia obiektów panelu czołowego funkcji i subVI
Przykładowy Egzamin CLAD
Strona 8 z 24
14. Jaką wartośd wyświetli wskaźnik Numeric po wykonaniu danego kodu?
a. 0
b. 4
c. 8
d. Pętla while będzie wykonywad się w nieskooczonośd
15. Powstaje subVI, który ma tylko wyjścia i trzeba go użyd w głównym VI. Które z poniższych
jest najlepszym sposobem wymuszenia przepływu danych w taki sposób, aby kontrolowad
wykonanie subVI?
a. Umieszczenie subVI w strukturze sekwencji.
b. Zmodyfikowanie subVI przez dodanie zbędnych wejśd, które będą użyte przez
zewnętrzny VI.
c. Zmodyfikowanie subVI przez dodanie wejścia i wyjścia klastra błędu, które będą użyte
przez zewnętrzny VI.
d. Zmodyfikowanie subVI w taki sposób, aby korzystał ze zmiennej globalnej, i użycie jej w
zewnętrznym VI.
Przykładowy Egzamin CLAD
Strona 9 z 24
16. Plik C:\data.txt nie istnieje, ale VI nie zgłasza błędu. Który fragment kodu wyświetli
informacje o błędzie i zatrzyma aplikację?
a.
b.
c.
Przykładowy Egzamin CLAD
Strona 10 z 24
d.
17. Czy można użyd przewodu, żeby przekazad dane pomiędzy pętlami, które mają działad
równolegle?
a. Tak
b. Nie
18. Wymagana jest programowa zmiana wartości kontrolki numerycznej. Który sposób jest
najlepszy?
a. Przy pomocy funkcyjnej zmiennej globalnej.
b. Przy pomocy zmiennej lokalnej.
c. Poprzez ustawienie żądanej wartości, jako wartości domyślnej.
d. Przy pomocy data value reference.
19. Które z poniższych są zaletami zmiennej globalnej nad zmienną lokalną?
a. Zmienna globalna może przekazywad dane między dwoma równolegle działającymi VI.
b. Tylko zmienna globalna może przekazywad dane, zmienna lokalna nie.
c. Zmienna globalna opiera sie o model przepływu danych i w związku z tym nie powoduje
zjawiska wyścigów.
d. Zmienna globalna nie potrzebuje własnych etykiet do pracy.
Przykładowy Egzamin CLAD
Strona 11 z 24
20. Który przebieg zmieni kolor jako pierwszy?
a. Przebieg 1, ponieważ właściwości są wykonywane od góry w dół.
b. Przebieg 0, ponieważ właściwości są zaimplementowane w kolejności numerycznej
zaczynając od zera.
c. Obydwa przebiegi zostaną zmienione jednocześnie dzięki wielowątkowości.
d. Jest to niemożliwe do stwierdzenia, ponieważ LabVIEW wykonuje operacje w formie
przepływu danych.
21. Który z poniższych pozwoli na wyświetlenie wielu przebiegów na Waveform Graph?
a. Użycie funkcji bundle na dwóch tablicach jednowymiarowych danych X i Y dla każdego
przebiegu. Następnie stworzenie tablicy klastrów i podłączenie jej do wskaźnika
Waveform Graph.
b. Zbudowanie n wymiarowej tablicy z danymi dla każdego przebiegu w osobnym rzędzie
(lub kolumnie) i podłączenie jej do wskaźnika Waveform Graph.
c. Użycie funkcji bundle na każdej danej waveform, aby zbudowad klaster, a następnie
zbudowanie tablicy tych klastrów i podłączenie jej do wskaźnika Waveform Graph.
d. Odpowiedzi B i C są poprawne.
22. Które stwierdzenie najlepiej opisuje zdarzenie Notify, takie jak na przykład zmiana wartości
kontrolki Boolean?
a. Oznacza, że zdarzenie miało miejsce i LabVIEW nie przetworzyło tego zdarzenia.
b. Oznacza, że zdarzenie miało miejsce i było odrzucone przez użytkownika.
c. Oznacza, że zdarzenie miało miejsce i LabVIEW przetworzyło to zdarzenie.
d. Oznacza, że zdarzenie nie miało miejsca, ale zdarzenie timeout zostało wykonane z
uwagi na przekroczenie limitu czasu.
Przykładowy Egzamin CLAD
Strona 12 z 24
23. Stworzono własną kontrolkę z opcją Type Def. ustawioną na Control, którą zapisano do pliku
.ctl. Potem instancja kontrolki została wykorzystana na panelu czołowym. Czy kontrolka na
panelu czołowym ulegnie zmianie, jeśli kontrolka w pliku .ctl zostanie zmodyfikowana?
a. Tak
b. Nie
24. Jak długo pokazana na rysunku funkcja Dequeue Element czeka na odbiór danych?
a. 1 milisekunda (z uwagi na brak połączenia wartośd domyślna)
b. 1 sekunda (z uwagi na brak połączenia wartośd domyślna)
c. W nieskooczonośd
d. Nie czeka, otrzymuje je natychmiast.
25. Jaką wartośd przyjmie wskaźnik Result F2 po wykonaniu kodu zawierającego strukturę
stacked sequence?
a. 0
b. 25
c. 40
d. 65
Przykładowy Egzamin CLAD
Strona 13 z 24
26. Które z poniższych precyzyjnie opisuje wynik wyjściowy po wykonaniu podanej pętli?
a. Zostaną wyświetlone ostatnie trzy wartości wyjściowe funkcji Random Number.
b. Wyświetlona zostanie średnia ruchoma wszystkich pomiarów.
c. Wyświetlona zostanie średnia ostatnich czterech pomiarów.
d. Żadne z powyższych
27. Kiedy jest lepiej skorzystad raczej z narzędzia Probe niż Highlight Execution?
a. Aby pokazad przepływ danych
b. Aby w czasie rzeczywistym podejrzed wartośd przewodu
c. Aby zajrzed do SubVI, gdy aplikacja jest wykonywana
d. Aby zwolnid działanie VI i pokazad wartości przechowywane w połączeniach
Przykładowy Egzamin CLAD
Strona 14 z 24
28. Poniższy obrazek przedstawia wszystkie strony tej samej struktury case. Jaką wartośd
przyjmie wskaźnik Result po wykonaniu kodu?
a. 5
b. 7
c. 12
d. 36
29. Następujący breakpoint sprawi, że
a. działanie VI zostanie przerwane.
b. działanie VI zostanie wstrzymane.
c. VI wykona jeden krok nad funkcją add.
d. VI wykona jeden krok nad wskaźnikiem.
Przykładowy Egzamin CLAD
Strona 15 z 24
30. Jaka wartośd zostanie wyświetlona we wskaźniku Result po wykonaniu kodu?
a. Tablica 1-D {-25, 25, 50}
b. Tablica 1-D {-25, 25}
c. Tablica 2-D {{-25, -50, -50} , {50, 25, 25}}
d. Tablica 1-D {75, -50, 25}
31. Który tryb mechaniczny kontrolki Boolean należy wybrad, aby uzyskad działanie takie, jak
przycisku w oknie dialogowym w Windows?
a. Switch Until Released
b. Switch When Released
c. Latch Until Released
d. Latch When Released
32. Które z poniższych nie jest ważnym elementem funkcyjnej zmiennej globalnej?
a. Przechowywanie danych w rejestrach przesuwnych.
b. Włączenie opcji Reentrant we właściwościach VI.
c. Włączenie opcji inline we właściwościach VI.
d. Zatrzymanie pętli while po jednej iteracji.
33. Który tryb pracy Waveform Chart powinien byd ustawiony, aby uzyskad efekt jak EKG
(elektrokardiogram), w którym stare dane są odseparowane od nowych pionową linią i
można je wizualnie porównad.
a. Strip Chart
b. Scope Chart
c. Sweep Chart
d. Step Chart
Przykładowy Egzamin CLAD
Strona 16 z 24
34. Który wzorzec programowania w LabVIEW przedstawia poniższy diagram?
a. Wielostronicowa struktura case
b. Ogólny VI
c. VI z maszyną stanów
d. VI z równoległą pętlą
35. Przeznaczeniem klastrów jest:
a. Zbieranie danych różnych typów w struktury logiczne.
b. Przedstawianie danych na panelu czołowym przy pomocy chart i graph.
c. Umożliwienie rozróżnienia typów danych na diagramie blokowym.
d. Odseparowanie obiektów różnych typów danych na panelu czołowym.
36. Kropka koercji wskazuje, że
a. typy danych są spójne.
b. na danych zostanie przeprowadzona operacja polimorficzna.
c. stworzony jest bufor, żeby obsłużyd konwersję danych.
d. wartości są wymuszone, ponieważ znalazły się poza zakresem typu danych.
37. Która kombinacja prawidłowo wypełnia następujące stwierdzenie? W przeciwieostwie do
_____ Property Node, aby pracowad poprawnie _____ Property Node wymaga _____ na
wejściu.
a. Explicit; Implicit; Data Value Reference
b. Implicit; Explicit; Data Value Reference
c. Explicit; Implicit; Control Reference
d. Implicit; Explicit; Control Reference
Przykładowy Egzamin CLAD
Strona 17 z 24
38. Jaka jest wada architektury maszyny stanu?
a. VI stworzony na bazie architektury maszyny stanu może zmieniad stany tylko w
określonym porządku.
b. Jeśli nastąpi zmiana dwóch stanów jednocześnie, to tylko pierwszy z nich będzie
obsłużony, a drugi zostanie utracony.
c. Diagram aplikacji staje się dużo większy przy wykorzystaniu architektury maszyny stanu
zamiast architektury ogólnej w postaci jednej pętli.
d. Maszyna stanu nie może rejestrowad danych lub korzystad z funkcji DAQ.
39. Która kombinacja prawidłowo wypełnia następujące stwierdzenie? ______________
wskazuje całkowitą liczbę iteracji, którą pętla wykona, natomiast ______________ zwraca
liczbę iteracji, które zostały już wykonane pomniejszoną o jeden.
a. count terminal,
; conditional terminal,
b. conditional terminal,
; iteration terminal,
c. count terminal,
; iteration terminal
d. conditional terminal,
; count terminal,
40. Które stwierdzenie opisuje plik LabVIEW Project (.lvproj)?
a. Specjalny folder, który zawiera wszystkie pliki danej aplikacji.
b. Plik zawierający panel czołowy i diagram blokowy, w którym można stworzyd program.
c. Skompilowana wersja kodu, przeważnie używana w koocowym etapie instalacji aplikacji.
d. Plik, który zawiera referencje do wszystkich plików aplikacji i pozwala nimi zarządzad.
Przykładowy Egzamin CLAD
Strona 18 z 24
Rozwiązania:
Poniżej umieszczono odpowiedzi do pytao oraz odnośniki do dodatkowych materiałów dotyczących egzaminu
CLAD. Wszystkie odnośniki pochodzą z Pomocy LabVIEW. Najłatwiejszym sposobem sprawdzenia swoich
wyników jest umieszczenie odpowiedzi na arkuszu odpowiedzi, oddzielenie go od reszty egzaminu i porównanie
z rozwiązaniami kładąc obok. W rzeczywistym egzaminie CLAD niniejsza strona nie występuje i została dodana
jedynie ze względów praktycznych.
1. Poprawna odpowiedź: A
Temat: Pętle
Wyjaśnienie: Terminal iteracji w pętlach while i for zawsze rozpoczyna liczenie od zera. Zwraca wartośd
0 w pierwszej iteracji, wartośd 1 w drugiej iteracji, itd. Pętla while jest skonfigurowana tak, aby
zakooczyd działanie, gdy terminal iteracji zwróci wartośd większą lub równą 50. Taki warunek zostanie
spełniony w iteracji pięddziesiątej pierwszej.
Odniesienie: For Loop and While Loop Structures
2. Poprawna odpowiedź: A
Temat: Struktura event
Wyjaśnienie: Jakakolwiek możliwa odpowiedź odnosi się do zdarzenia Value Change. Najczęściej
zdarzenie Value Change jest wynikiem interakcji użytkownika z panelem czołowym.
Odniesienie: Available Events, Using Events in LabVIEW
3. Poprawna odpowiedź: A
Temat: Zależności czasowe
Wyjaśnienie: Funkcja Tick Count (ms) podczas wywołania zwraca wartośd licznika w milisekundach.
Przez wywołanie tej funkcji dwukrotnie i obliczenie różnicy uzyskanych wartości powstaje czas, który
upłynął pomiędzy ich wywołaniami. W danym przykładzie SubVI jest wywołany pomiędzy wywołaniami
funkcji Tick Count (ms), więc odpowiedź A jest prawidłowa.
Odniesienie: Case and Sequence Structures, Tick Count (ms) Function
4. Poprawna odpowiedź: A
Temat: VI Server
Wyjaśnienie: Property Nodes służą do programowej modyfikacji obiektów panelu czołowego.
Odpowiedzi C i D nie są poprawne, ponieważ zmienne nie służą do modyfikacji obiektów panelu
czołowego. W tym przypadku subVI nie są wykorzystywane, więc odpowiedź A jest lepsza niż odpowiedź
B.
Odniesienie: Controlling Front Panel Objects Programmatically from a SubVI, VI Server Reference
5. Poprawna odpowiedź: C
Temat: Tablice i klastry
Wyjaśnienie: Pętla for jest bardziej wydajna w tworzeniu tablic niż pętla while, ponieważ pętla for
wykonuje ustaloną liczbę iteracji. Dzięki temu LabVIEW może zaalokowad potrzebą pamięd zanim pętla
for rozpocznie działanie.
Doniesienie: For Loop, VI Memory Usage
Przykładowy Egzamin CLAD
Strona 19 z 24
6. Poprawna odpowiedź: C
Temat: Zależności czasowe
Wyjaśnienie: Odpowiedzi A i B zwracają wartości w milisekundach. Pytanie jest o aplikacje, które mają
działad przez długi okres czasu, więc powinna byd zastosowana funkcja o większym zakresie, aby
zminimalizowad ryzyko przepełnienia licznika. Ponadto odpowiedź B po prostu dodaje opóźnienie do
wykonywanego kodu. Nie byłoby to wydajne z punktu widzenia działania aplikacji przez długi okres
czasu. Lepszą metodą jest porównywanie bieżącego czasu do czasu doniesienia, aby określid czy
właściwy okres czasu już upłynął. Wobec powyższego najlepszą metodą jest C.
Odniesienie: Tick Count (ms) Function, Timing VIs and Functions
7. Poprawna odpowiedź: D
Temat: Obsługa błędów
Wyjaśnienie: Nawet, gdy automatyczna obsługa błędów jest włączona, wszystkie funkcje mają
podłączone klastry błędów. To uniemożliwia LabVIEW przerwanie działania i wyświetlenie okna
dialogowego użytkownikowi nawet wtedy, gdy błąd wystąpi. LabVIEW wstrzyma wykonywanie
programu i wyświetli okno dialogowe, jeśli którakolwiek z funkcji nie będzie miała podłączonego klastra
błędu.
Odniesienie: Handling Errors
8. Poprawna odpowiedź: C, D
Temat: Dokumentacja
Wyjaśnienie: Wytłuszczone wejście w oknie pomocy kontekstowej wskazuje na wejście wymagane. Z
uwagi na naturę wejśd wymaganych, VI będzie miał pękniętą strzałkę Run, jeśli to wejście będzie
niepodłączone.
Odniesienie: Setting Required, Recommended, and Optional Inputs and Outputs
9. Poprawna odpowiedź: A
Temat: Tablice i klastry
Wyjaśnienie: W przypadku tablicy wielowymiarowej funkcja Array Size zwróci jednowymiarową tablicę
zawierającą rozmiary. W rozmiarach najpierw podawana jest liczba rzędów, następnie kolumn. Zatem
poprawną odpowiedzią jest A, gdzie podano 2 rzędy i 3 kolumny.
Odniesienie: Array Size Function
10. Poprawna odpowiedź: A
Temat: Operacje na plikach
Wyjaśnienie: Wartośd typu boolean zajmuje w pamięci tylko 1 bajt. Odpowiedź A jest prawidłowa,
ponieważ funkcja Boolean Array to Number konwertuje 8 wartości typu boolean na jedną wartośd 8-
bitową, czyli 1 bajt. Zatem zapisany zostaje 1 bajt. Odpowiedź B zapisuje 1 bajt dla każdej wartości typu
boolean, zaś odpowiedzi C i D zapisują daną typu string. Każdy znak w danej typu string używa 1 bajt,
więc odpowiedzi C i D zapisują do pliku więcej bajtów.
Odniesienie: Flattened Data, Creating Binary Files, How LabVIEW Stores Data in Memory
11. Poprawna odpowiedź: B
Temat: Środowisko LabVIEW
Wyjaśnienie: Key Navigation jest właściwością każdej kontrolki, która pozwala programiście przypisad
skrót klawiszowy do kontrolki. Key Focus jest właściwością, która określa czy kontrolka jest w danym
momencie wybrana czy nie. Radix jest składnikiem wyświetlanym w kontrolce, który pozwala
użytkownikowi na wybranie reprezentacji dziesiętnej, binarnej, szesnastkowej lub ósemkowej. Distribute
Przykładowy Egzamin CLAD
Strona 20 z 24
Objects jest narzędziem do organizowania panelu czołowego.
Odniesienie: Key Navigation Page (Properties Dialog Box)
12. Poprawna odpowiedź: A
Temat: Typy danych
Wyjaśnienie: Funkcja Replace Substring zamienia w danym ciągu znaków string oryginalny zestaw
znaków w lokalizacji podanej przez offset ciągiem substring.
Odniesienie: Replace Substring Function
13. Poprawna odpowiedź: B
Temat: VI Server
Wyjaśnienie: Przekazując referencje do kontrolek do innych VI programiści zezwalają subVI na dostęp
do właściwości i metod obiektów głównego VI.
Odniesienie: Controlling Front Panel Objects Programmatically from a SubVI, VI Server Reference
14. Poprawna odpowiedź: C
Temat: Pętle
Wyjaśnienie: Funkcja feedback node działa w sposób podobny do rejestru przesuwnego. W podanym
przykładnie feedback node jest inicjalizowana wartością 4. Pętla while wykonuje jedną iterację, w
wyniku czego do wartości 4 jest dodawana wartośd z feedback node, dając wynik 8.
Odniesienie: For Loop and While Loop Structures, Feedback Node
15. Poprawna odpowiedź: C
Temat: Zasady Programowania LabVIEW
Wyjaśnienie: Najlepszym sposobem wymuszenia kolejności wykonywania się kodu jest stosowanie
klastra błędu, zachowując przy okazji odpowiednią obsługę błędów.
Odniesienie: Handling Errors, Block Diagram Data Flow
16. Poprawna odpowiedź: C
Temat: Obsługa błędów
Wyjaśnienie: Odpowiedzi A i B zgłaszają błąd, ale nie kooczą działania. Odpowiedź D kooczy działanie.
Odpowiedź C jest jedynym dopuszczalnym rozwiązaniem.
Odniesienie: Handling Errors
17. Poprawna odpowiedź: B
Temat: Zasady Programowania LabVIEW
Wyjaśnienie: Aby pętle wykonywały się równolegle nie może pomiędzy nimi byd zależności danych.
Przewód przebiegający z jednej pętli do drugiej sprawia, że jedna z nich zależy od drugiej ze względu na
zasady przepływu danych. Więc jeśli użyto przewodu pomiędzy pętlami, to nie mogą pracowad
równolegle.
Odniesienie: For Loop and While Loop Structures, Block Diagram Data Flow
18. Poprawna odpowiedź: B
Temat: Zmienne lokalne
Wyjaśnienie: Funkcyjna zmienna globalna nie zadziała, ponieważ nie posiada mechanizmów
manipulowania panelem czołowym. Data Value Reference nie znajduje tutaj zastosowania. Ustawianie
wartości domyślnej nie jest sposobem programowej aktualizacji kontrolki. Jedyną realną odpowiedzą
Przykładowy Egzamin CLAD
Strona 21 z 24
jest B.
Odniesienie: Local Variables, Using Local and Global Variables Carefully
19. Poprawna odpowiedź: A
Temat: Synchronizacja i komunikacja
Wyjaśnienie: Główną zaletą zmiennych globalnych jest ich zdolnośd to przekazywania danych pomiędzy
wieloma VI.
Odniesienie: Global Variables, Using Local and Global Variables Carefully
20. Poprawna odpowiedź: A
Temat: Property node
Wyjaśnienie: Property node zawsze jest wykonywany od góry w dół. Plot 1 jest wybrany jako pierwszy,
zatem zmieni kolor również jako pierwszy.
Odniesienie: Property Node
21. Poprawna odpowiedź: D
Temat: Wykresy Chart i Graph
Wyjaśnienie: Waveform Graph jako dane przyjmują wielowymiarowe tablice lub jednowymiarową
tablicę klastrów zawierających dane typu waveform. Waveform Graph nie przyjmuje przeplecionych
danych X i Y w jednowymiarowej tablicy, jak sugeruje odpowiedź A.
Odniesienie: Graphing Waveform Data, Customizing Graphs and Charts
22. Poprawna odpowiedź: C
Temat: Struktura Event
Wyjaśnienie: Notify events zwyczajnie informuje LabVIEW, że wystąpiło zdarzenie i zostało
przetworzone. Filter events pozwala na programowe zignorowanie zdarzenia.
Odniesienie: Notify and Filter Events, Using Events in LabVIEW
23. Poprawna odpowiedź: B
Temat: Zasady programowania LabVIEW
Wyjaśnienie: Zmiany w pliku .ctl nie zaktualizują instancji kontrolki, ponieważ została ona zapisana jako
Control, a nie jako Type Def., ani Strict Type Def.
Odniesienie: Creating Type Definitions and Strict Type Definitions, Creating Custom Controls, Indicators,
and Type Definitions
24. Poprawna odpowiedź: C
Temat: Synchronizacja i komunikacja
Wyjaśnienie: Domyślnie funkcja Dequeue Element oczekuje na dane. Kooczy oczekiwanie, gdy dane są
dostępne lub gdy kolejka zostanie usunięta. Taka funkcjonalnośd jest ważna z punktu widzenia wzorca
Producent/Konsument.
Odniesienie: Dequeue Element Function
25. Poprawna odpowiedź: C
Temat: Struktura Sequence
Wyjaśnienie: Zmienne lokalne sekwencji przechowują dane pomiędzy ramkami struktury stacked
sequence. Zmienna lokalna sekwencji jest zapisywana tylko w ramce 0. Zatem zawartośd ramki 1 nie ma
wpływu na ramkę 2. Wartośd w Result F2 wynosi 8 razy 5, czyli 40.
Odniesienie: Case and Sequence Structures, Adding and Removing Sequence Local Terminals
Przykładowy Egzamin CLAD
Strona 22 z 24
26. Poprawna odpowiedź: C
Temat: Pętle
Wyjaśnienie: Spiętrzony rejestr przesuwny pamięta wartości wpisane z kilku ostatnich iteracji. Węzeł na
górze przechowuje najnowszą wartośd. Patrząc na kod łatwo wywnioskowad, że jest obliczana i
wyświetlana średnia ostatnich czterech wartości.
Odniesienie: For Loop and While Loop Structures, Transferring Values between Loop Iterations
27. Poprawna odpowiedź: B
Temat: Znajdowanie błędów
Wyjaśnienie: Narzędzie probe pozwala programistom podejrzed wartośd przewodu podczas
wykonywania programu, ale nie ma wpływu na prędkośd wykonywania się programu. Highlight
Execution spowalnia wykonywanie programu i wyświetla przepływ danych, natomiast Single-Stepping
sprawia, że programista może podejrzed wykonywanie kodu w subVI.
Odniesienie: Using the Probe Tool, Execution Highlighting
28. Poprawna odpowiedź: D
Temat: Struktura case
Wyjaśnienie: Wykonywana jest strona domyślna, ponieważ wartośd doprowadzona do terminala
selektora nie odpowiada żadnej innej stronie. Zatem odpowiedź to 6
2
, czyli 36.
Odniesienie: Case and Sequence Structures
29. Poprawna odpowiedź: B
Temat: Znajdowanie błędów
Wyjaśnienie: Breakpoint sprawia, że wykonywanie VI zostaje wstrzymane i LabVIEW czeka, aż
programista zdecyduje się wykorzystad single-stepping lub wznowi działanie programu.
Odniesienie: Managing Breakpoints
30. Poprawna odpowiedź: B
Temat: Tablice i klastry
Wyjaśnienie: Wykonując operacje arytmetyczne na tablicach LabVIEW wymusza rozmiar tablicy
wynikowej do rozmiaru najmniejszej tablicy. W takim razie wynikiem operacji będzie jednowymiarowa
tablica z dwoma elementami. Elementami są 75-100 i 50-25, czyli {-25, 25}.
Odniesienie: Polymorphic Functions, Subtract Functions, Grouping Data with Arrays and Clusters
31. Poprawna odpowiedź: D
Temat: Zachowanie Kontrolek Boolean
Wyjaśnienie: Przyciski dialogowe w oknach Windows czekają, aż użytkownik zwolni przycisk, zanim
przystąpią do obsługi zdarzenia. Po kliknięciu i zwolnieniu przycisk wraca do domyślnego stanu. W
LabVIEW to zachowanie jest określane, jako Latch When Released.
Odniesienie: Changing the Mechanical Action of a Boolean Object
32. Poprawna odpowiedź: C
Temat: Funkcyjne zmienna globalna
Wyjaśnienie: Nie ma konieczności wpisywad "inline" funkcyjnej zmiennej globalnej w wywołującego ją
VI. Dodatkowo opcja inline wymaga, aby opcja reentrant była włączona, co jest zabronione dla
funkcyjnej zmiennej globalnej.
Odniesienie: Suggestions for Execution Systems and Priorities
Przykładowy Egzamin CLAD
Strona 23 z 24
33. Poprawna odpowiedź: A
Temat: Chart i Graph
Wyjaśnienie: Strip chart rozpoczyna kreślenie danych od lewej do prawej i będzie kontynuował
przesuwanie danych podczas kreślenia. Scope chart rozpoczyna kreślenie od lewej do prawej aż zostanie
wypełniony. Następnie chart jest czyszczony i kreślenie ponownie rozpoczyna się od lewej. Sweep chart
kreśli podobnie do scope chart, jednak, gdy zostanie zapełniony nie czyści przebiegu, lecz ponownie
rozpoczyna od lewej nadpisując poprzedni. Step chart nie istnieje w LabVIEW, jest zmyślony.
Odniesienie: Customizing Graphs and Charts
34. Poprawna odpowiedź: C
Temat: Wzorce aplikacji
Wyjaśnienie: Maszyna stanów zawiera pętlę while, strukturę case, rejestr przesuwny i kod, który określa
zmiany stanów.
Odniesienie: Creating VIs from Templates, Case Structure
35. Poprawna odpowiedź: A
Temat: Tablice i klastry
Wyjaśnienie: Klastry grupują dane w struktury. Pozwala to na utrzymanie uporządkowanego diagramu
aplikacji przez zminimalizowanie liczby potrzebnych terminali i połączeo. Typy danych mogą byd
mieszane ze sobą w klastrach.
Odniesienie: Grouping Data with Arrays and Clusters
36. Poprawna odpowiedź: C
Temat: Typy danych
Wyjaśnienie: Kropka koercji wskazuje, że podłączony typ danych jest inny niż typ danych terminala,
jednak jest z nim kompatybilny. W takiej sytuacji LabVIEW konwertuje dane do większego typu danych.
Do konwersji jest wymagany bufor, w którym przechowywana będzie dana w większym typie.
Odniesienie: Numeric Conversion, Using Wires to Link Block Diagram Objects
37. Poprawna odpowiedź: D
Temat: Property Node
Wyjasnienie: Implicit Property Nodes są podłączone do pewnej określonej kontrolki lub wskaźnika. Nie
są wymagane żadne referencje. Explicit Property Nodes wymaga referencji identyfikującej kontrolkę,
której właściwości są zmieniane przez property node. Data Value Referencesnie ma nic wspólnego z
property node.
Odniesienie: Property Node, Creating Properties and Methods, Creating Control Reference SubVIs from
Property Nodes and Invoke Nodes
38. Poprawna odpowiedź: B
Temat: Wzorce aplikacji
Wyjaśnienie: Prosta maszyna stanów nie posiada bufora do przechowywania przejśd pomiędzy stanami,
które mogłyby wystąpid podczas wykonania poprzedniego stanu, na przykład wciśnięcie przycisku przez
użytkownika. Wobec tego, jeśli nastąpi sytuacja, w której mogłaby nastąpid więcej niż jedna zmiana
stanu, wykonana zostania ostania, pozostałe przepadną.
Odniesienie: Synchronization VIs and Functions, Creating VIs from Templates, Case Structure
Przykładowy Egzamin CLAD
Strona 24 z 24
39. Poprawna odpowiedź: C
Temat: Pętle
Wyjaśnienie: Terminal count wskazuje ile iteracji zostanie wykonanych przez pętlę for. Terminal
warunkowy pętli while wpływa na to, ile iteracji zostanie wykonanych, lecz nie ma sposobu na określenie
tej liczby przed wykonaniem pętli. Terminal iteration zwraca liczbę dotychczas wykonanych iteracji
pomniejszoną o jeden.
Odniesienie: For Loop and While Loop Structures
40. Poprawna odpowiedź: D
Temat: Środowisko LabVIEW
Wyjaśnienie: Projekty LabVIEW nie przechowują plików tak jak foldery. Projekty tylko zarządzają nimi,
jako częściami tej samej aplikacji.
Odniesienie: Managing a Project in LabVIEW