background image

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.  

background image

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. _____ 

background image

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. 

background image

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. 

 

 

background image

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 

 

background image

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. 

 

background image

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 

 

background image

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. 

 

background image

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. 

 

background image

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. 

 

background image

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.  

 

background image

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 

 

background image

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 

 

background image

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. 

 

background image

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 

 

background image

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 

 

background image

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. 

background image

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

 

 

background image

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 

background image

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ą 

background image

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 

background image

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 

background image

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 

 

background image

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