background image

Przykładowy Egzamin CLAD  

Strona 1 z 21 

 

 

Egzamin Certified LabVIEW Associate Developer 

 

Zeszyt Testowy 

 

Pouczenie: 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 AKCEPTOWAD
 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 jasnośd 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 jednokrotnego oraz wielokrotnego wyboru 

 

Liczba zadao: 40 pytao 

 

Zaliczenie: 70% 

 

 
UWAGA: Po zakooczeniu egzaminu arkusze należy umieścid w dostarczonej kopercie i ją 
ZAPIECZĘTOWAD.  Proszę zwrócid zapieczętowaną kopertę do osoby nadzorującej egzamin.  

background image

Przykładowy Egzamin CLAD  

Strona 2 z 21 

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 21 

Przykładowy egzamin: 
 

1.  W budowaniu aplikacji opartych na diagramach stanu, które pozwalają na przyszłe rozszerzanie 

funkcjonalności, najlepszym wyborem podstawowej struktury jest

 

 
a.  Struktura sekwencji 
b.  Struktura case 
c.  Funkcja formula node 
d.  Struktura zorientowana obiektowo

 

 

2.  Klikając przycisk _________ pozwala ominąd węzeł diagramu blokowego bez konieczności 

wykonywania jego zawartości krok po kroku. 
 
a.  Step Into 
b.  Step Over 
c.  Step Out 
d.  Step Through 

 

3.  Które z niżej wymienionych odnosi się do Property Node?  (Przynajmniej jedna poprawna 

odpowiedź.)

 

 
a.  Funkcje Property Node pozwalają na programistyczne manipulowanie parametrami 

obiektów na panelu czołowym. 

b.  Funkcje Property Node pozwalają zmieniad wartości obiektów na panelu czołowym. 
c.  Więcej niż jedna funkcja Property Node może byd wykorzystana dla pojedynczego 

obiektu na panelu czołowym. 

d.  Użycie funkcji Property Node w subVI sprawia, że panel czołowy będzie zawsze 

ładowany do pamięci. 

 
4.  Dana jest kontrolka na panelu czołowym głównego VI, która ma byd manipulowana z 

wewnątrz subVI. Co musi byd przekazane do danego subVI? 
 
a.  Właściwości kontrolki 
b.  Metody kontrolki 
c.  Referencję do kontrolki 
d.  Typ danych kontrolki 

 

background image

Przykładowy Egzamin CLAD  

Strona 4 z 21 

5.  Jaką wartośd będzie miała kontrolka Value Out po zakooczeniu działania VI? 

 

 

 

a.  0 
b.  4 
c.  5 
d.  6 

 
6.  Breakpoint został ustawiony w kodzie zawartym na stronie False struktury case. Czy 

wykonywanie VI zostanie wstrzymane, jeśli wykona się kod na stronie True struktury case? 

 

a.  Tak 
b.  Nie 

 
7.  Która właściwośd zmieniana za pomocą funkcji Property Node zmienia atrybuty koloru 

tekstu dowolnego obiektu numerycznego w subVI? 
 

a. 

 

b. 

 

c. 

 

d. 

 

 

background image

Przykładowy Egzamin CLAD  

Strona 5 z 21 

8.  Który z trybów wyświetlania waveform chart powinien byd włączony, aby dane w sposób 

ciągły były przesuwane od lewej do prawej? 

 

a.  Strip Chart 
b.  Scope Chart 
c.  Sweep Chart 
d.  Step Chart 

 
9.  Które z poniższych nie spełnia paradygmatu programowania przepływu danych? 
 

a.  Rejestry przesuwne 
b.  Tunele 
c.  SubVI 
d.  Zmienne lokalne 

 
10. O ile to możliwe, struktura sekwencji powinna byd zastępowana: 
 

a.  Strukturą event 
b.  Pętlą for 
c.  Maszyną stanów 
d.  Pętlą while 

 
11. Które z poniższych stwierdzeo jest PRAWDĄ dla danego diagramu blokowego? 
 

 

 

a.  Pętla wykona się raz i wskaźnik Iteration wyświetli wartośd jeden. 
b.  Pętla wykona się raz i wskaźnik Iteration wyświetli wartośd zero. 
c.  Pętla będzie się wykonywad w nieskooczonośd i program będzie musiał byd przerwany. 
d.  Pętla nie wykona się i wskaźnik Iteration wyświetli wartośd zero. 

 

background image

Przykładowy Egzamin CLAD  

Strona 6 z 21 

12. Które równanie odpowiada zaprezentowanemu kodowi? 
 

 

 

a. 

 

 

b. 

 

 

c. 

 

 

d. 

 

 
13. W VI została włączona automatyczna obsługa błędów. VI wywołuje subVI, w którym 

automatyczna obsługa błędów jest wyłączona. Terminal wyjściowy Error Out w subVI jest 
niepodłączony w wywołującym VI. SubVI zwraca błąd do głównego VI. Czy w związku z 
automatyczną obsługą błędów pojawi się okno dialogowe z informacją o błędzie? 

  

a.  Nie, ponieważ subVI ma wyłączoną automatyczną obsługę błędów. 
b.  Tak, ponieważ subVI ma wyłączoną automatyczną obsługę błędów. 
c.  Nie, ponieważ terminal Error Out w subVI nie jest podłączony wewnątrz głównego VI.  
d.  Tak, ponieważ terminal Error Out w subVI nie jest podłączony wewnątrz głównego VI.  

 
14. Które z niżej wymienionych wyrażeo jest NIEPRAWDZIWE?

 

 
a.  Konektor subVI definiuje gdzie będą podłączane wejścia i wyjścia. 
b.  Kolor na konektorze subVI odpowiada połączonemu typowi danych. 
c.  Ikona i konektor są niezbędne, aby użyd VI jako subVI. 
d.  Ikona subVI może byd edytowana z poziomu palety funkcji. 

 
15. Które z poniższych nie mogą byd wykorzystane do przekazywania danych?

 

 
a.  Semafory 
b.  Kolejki 
c.  Notifier 
d.  Zmienne lokalne 

 

background image

Przykładowy Egzamin CLAD  

Strona 7 z 21 

16. Lista błędów przedstawia wszystkie z poniższych, Oprócz:

a.  Elementów z błędami 
b.  Błędy i ostrzeżenia 
c.  Szczegóły ostrzeżeo 
d.  Kody błędów 

 
17. Autoindeksowanie na krawędziach pętli jest cechą, która pozwala na: (Przynajmniej jedna 

poprawna odpowiedź.) 

 

a.  Automatyczne przemierzanie tablic z iteracji na iterację. 
b.  Automatyczne indeksowanie elementów tablic przy pomocy funkcji tablicowych. 
c.  W funkcjach, które operują na tablicach, do ich automatycznego indeksowania. 
d.   Automatyczne akumulowanie tablic na krawędziach pętli. 

 
18. Co jest na wyjściu funkcji Initilize Array po wykonaniu się poniższego kodu? 
 

 

 

a.  Tablica 1-D {3, 3, 3, 3} 
b.  Tablica 1-D {4, 4, 4} 
c.  Tablica 1-D {3, 4} 
d.  Tablica 1-D {4, 3} 

 
19. Które z poniższych spowoduje przechwycenie zdarzenia przez strukturę event? 
 

a.  Zmiana wartości kontrolki na panelu czołowym poprzez klik kursora myszy na kontrolce. 
b.  Zmiana wartości kontrolki na panelu czołowym przez property node. 
c.  Zmiana wartości kontrolki na panelu czołowym przez referencję do kontrolki i property 

node. 

d.  Zmiana wartości kontrolki na panelu czołowym przez zmienną lokalną. 

 
20. Która zmienna jest wykorzystywana do eliminacji zjawiska wyścigu przez uniemożliwienie 

dostępu do kodu lub danych z wielu miejsc? 
 
a.  Funkcyjna zmienna globalna 
b.  Zmienna lokalna 
c.  Zmienna globalna 
d.  Zmienna współdzielona 

 

background image

Przykładowy Egzamin CLAD  

Strona 8 z 21 

21. Jaka będzie wartośd w Shift Register Answer po wykonaniu danego kodu? 
 

 

 

a.  16 
b.  24 
c.  32 
d.  10 

 
22. Jaki będzie wynik w subarray po wykonaniu danego kodu? 
 

 

 

a.  Tablica 1-D {8, 5, 7} 
b.  Tablica 1-D {10, 8, 5} 
c.  Tablica 1-D {10, 8, 5, 7} 
d.  Tablica 1-D {7, 10, 8, 5} 

 
23. W jaki sposób należy dokumentowad VI, aby opis pojawiał się w oknie pomocy 

kontekstowej?

 

 
a.  Używad kategorii dokumentacja w oknie właściwości VI. 
b.  Wpisywad opis w okno pomocy kontekstowej. 
c.  Stworzyd etykietę (label) na panelu czołowym. 
d.  Edytowad pliki pomocy LabVIEW. 

 
24. Który z poniższych terminali steruje liczbą wykonanych iteracji pętli for? 
 

a. 

 

b. 

 

c. 

 

d. 

 

 

background image

Przykładowy Egzamin CLAD  

Strona 9 z 21 

25. Czy poniższy kod przedstawia właściwy sposób użycia property node?  

 

 
a.  Tak, ponieważ wpisywanie wartości przez property node zużywa mniej pamięci niż 

pisanie do terminala. 

b.  Tak, ponieważ wpisywanie wartości przez property node pozwala na obsługę błędów. 
c.  Nie, ponieważ należy zawsze, gdy to możliwe wpisywad dane bezpośrednio do 

wskaźników. 

d.  Nie, ponieważ property node powinno byd używane tylko z bardziej złożonymi typami 

danych. 

 
26. Funkcja Wait Until Next ms Multiple: 
 

a.  Rozpoczyna działanie na starcie programu i kooczy w wielokrotnośd zegara 

systemowego. 

b.  Rozpoczyna działanie po wykonaniu kodu w pętli i wygasa wraz z wygaśnięciem 

wielokrotności czasu określonego przez parametr użytkownika. 

c.  Rozpoczyna działanie po wykonaniu kodu w pętli i wygasa wraz z zakooczeniem 

wielokrotności czasu określonego przez parametr użytkownika. 

d.  Rozpoczyna działanie na starcie programu i czeka, dopóki kod w pętli nie zakooczy 

działania. 

 
27. Który mechanizm wymiany danych zapewnia bezstratny przepływ danych, nawet, jeżeli 

źródło danych produkuje dane szybciej niż odbiorca jest w stanie odebrad? 
 
a.  Notifier 
b.  Kolejka 
c.  Semafor 
d.  Zmienna lokalna 

 
28. Które z niżej wymienionych wyrażeo jest NIEPRAWDZIWE: 

 
a.  Można stworzyd klaster klastrów. 
b.  Można stworzyd tablicę tablic. 
c.  Można stworzyd klaster tablic. 
d.  Można stworzyd tablicę klastrów. 

 
29. Który z wymienionych typów danych nie jest akceptowany przez terminal wyboru struktury 

case? 
 

background image

Przykładowy Egzamin CLAD  

Strona 10 z 21 

a.  Tablice 
b.  Typy enumerowane 
c.  String 
d.  Całkowite numeryczne 

 
30. Ile bajtów LabVIEW zapisze do pliku, kiedy wykonany zostanie poniższy kod? 

 

 

 
a.  9 bajtów 
b.  11 bajtów 
c.  13 bajtów 
d.  17 bajtów 

 
31. Dlaczego terminal zmiennej lokalnej sekwencji jest wyświetlony jako niepodłączony w 

Ramce 0 struktury stacked sequence? 

 

 

a.  Twórca aplikacji zdecydował się nie podłączad jakiejkolwiek wartości do jakiegokolwiek 

terminala w tej ramce. 

b.  Wartośd dostępna jest tylko dla ramek o wartości 1 i wyżej. 
c.  Typ danych terminala jest niekompatybilny z typem danych obiektu Value. 
d.  Twórca aplikacji wyłączył terminal. 

 
32. Funkcja Wait może by dodana do pętli while: 

 
a.  Aby zwolnid pamięd. 
b.  Aby zaalokowad pamięd używaną przez procesor. 

background image

Przykładowy Egzamin CLAD  

Strona 11 z 21 

c.  Aby pozwolid procesorowi wykonad pozostałe zadania. 
d.  Aby zarezerwowad procesor, na którym kod jest uruchomiony. 

 
33. Typ danych ring może byd dowolnego dostępnego typu, natomiast numeryczna 

reprezentacja typu enumerowanego może byd tylko bez znaku. 

 

a.  Prawda 
b.  Fałsz 

 
34. Ile razy nastąpi wywołanie funkcji Increment , gdy użytkownik kliknie kontrolkę Button?  

 

 

a.  0  
b.  1 
c.  2 
d.  3 

 
35. Dlaczego LabVIEW jest językiem programowania opartym o przepływ danych? 

 
a.  Ponieważ zamiast tekstu, do tworzenia aplikacji używa ikon. 
b.  Ponieważ wykonywanie się programu jest określone przepływem danych przez węzły 

diagramu blokowego. 

c.  Ponieważ nie posiada instrukcji skoku (Goto). 
d.  Ponieważ lokalizacja danych w pamięci zmienia się z każdą iteracją. 

 
36. Jeżeli wartośd a to 2 oraz wartośd to 128, to jaką wartośd wyświetli wskaźnik Result po 

wykonaniu VI? 

 

 

a.  -128 

background image

Przykładowy Egzamin CLAD  

Strona 12 z 21 

b.  0 
c.  255 
d.  256 

 
37. Który VI jest typowo wykorzystywany na zakooczeniu klastra błędu, aby wyświetlid 

ewentualne błędy? 
 
a.  Merge Errors 
b.  One Button Dialog/Two Button Dialog 
c.  Generate Front Panel Activity 
d.  Simple Error Handler  

 
38. Która z poniższych metod stworzy XY Graph z dwoma przebiegami? 

 
a.  Stworzenie pojedynczego klastra z dwóch tablic wartości X oraz klastra z dwoma 

tablicami wartości Y w układzie X, Y, X, Y. 

b.  Połączenie par tablic X i Y w dwa klastry i stworzenie z nich tablicy dwóch klastrów. 
c.  Połączenie par tablic X i Y w dwa klastry i stworzenie z nich klastra zawierającego dwa 

klastry. 

d.  Stworzenie pojedynczej tablicy każdej z tablic X i Y w układzie X, Y, X, Y. 

 
39. W czasie wykonywania się VI użytkownik wciska i zwalnia Kontrolkę Boolean działającą w 

trybie Switch Until Released. Jaka będzie wartośd wyświetlona przez wskaźnik Result  po 
zakooczeniu działania programu, zakładając, że wartością początkową  Kontrolki Boolean 
jest FALSE? 

 

 

 

 

a.  0 
b.  1 
c.  2 
d.  3 

background image

Przykładowy Egzamin CLAD  

Strona 13 z 21 

 

background image

Przykładowy Egzamin CLAD  

Strona 14 z 21 

40. Która z niżej wymienionych jest najlepszą metodą aktualizowania wskaźnika na panelu 

czołowym?

 

 
a.  Przy pomocy property node. 
b.  Przewodem bezpośrednio na terminalu wskaźnika. 
c.  Przy pomocy zmiennej lokalnej. 
d.  Przy pomocy funkcyjnej zmiennej globalnej. 

background image

Przykładowy Egzamin CLAD  

Strona 15 z 21 

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 2011. 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ź: B

 

Temat: Wzorce Aplikacji

 

Wyjaśnienie: W LabVIEW prosta maszyna stanów zawiera pętlę while i strukturę case. Dzięki strukturze 
case możliwe jest w sposób programowy podjęcie decyzji o następnym stanie.. Jest również skalowalna, 
ponieważ w prosty sposób można dodad nowe strony do struktury case.

 

Odniesienie: Creating VIs from Templates, Case Structure

 

 

2.  Poprawna odpowiedź: B

 

Temat:  Usuwanie błędów

 

Wyjaśnienie: Kliknięcie przyciski Step Into spowoduje, że LabVIEW otworzy dany węzeł lub subVI. 
Przycisk Step Out  spowoduje zakooczenie działania w subVI i powrót do głównego VI w wykonywaniu 
krokowym. Nie ma przycisku Step Through. Step Over wykonuje operację opisaną w pytaniu.

 

Odniesienie: Single-Stepping through a VI

 

 

3.  Poprawna: A, B, C, D 

Temat: Property Node

 

Wyjaśnienie: Wszystkie stwierdzenia o Property Node są prawdziwe.

 

Odniesienie: Property Node

 

 

4.  Poprawna odpowiedź: C

 

Temat: VI Server

 

Wyjaśnienie: Jedyne co może zostad przekazane do subVI to referencja do kontrolki. Następnie 
referencja może byd wykorzystana przez property node i invoke node do wywoływania odpowiednio 
właściwości i metod. Typ danych jest właściwością kontrolki.

 

Odniesienie: Controlling Front Panel Objects Programmatically from a SubVI, VI Server Reference

 

 

5.  Poprawna odpowiedź: C

 

Temat: Pętle

 

Wyjaśnienie: Tablica jest podłączona do pętli for przy pomocy autoindeksowanego tunelu. To sprawia, 
że pętla for wykona jedną iterację na każdy element tablicy, których w tym przypadku jest zero. Pomimo 
tego, że do rejestru przesuwnego jest podłączona wartośd 5, to pętla wykonując zero iteracji zwróci tę 
samą wartośd na wyjściu: 5.

 

Odniesienie: For Loop, Passing Multiple Values to the Next Loop Iteration, Using Shift Registers to 
Remember Iteration Values 
(Z pomocy LabVIEW 2010)

 

 

background image

Przykładowy Egzamin CLAD  

Strona 16 z 21 

6.  Poprawna odpowiedź: B

 

Temat: Znajdowanie błędów

 

Wyjaśnienie: Kod, który zawiera breakpoint będzie wykonywany normalnie dopóki nie zostanie 
napotkany przewód, na który breakpoint jest umieszczony. Wtedy LabVIEW wstrzymuje wykonywanie. 
Aby aktywowad breakpoint, zawierająca go sekcja kodu musi byd wywołana. W danym przypadku przy 
każdym wywołaniu wykonywana będzie ta sama strona struktury case. Wykonywanie nie zostanie 
wstrzymane, ponieważ strona case zawierająca breakpoint nie zostanie wykonana.

 

Odniesienie: Managing Breakpoints

 

 

7.  Poprawna odpowiedź: B

 

Temat: VI Server

 

Wyjaśnienie: Strict property nodes wymaga precyzyjnej informacji o reprezentacji numerycznej. Strict 
peoperty node nie jest wystarczający, ponieważ pytanie dotyczy zmiany koloru tekstu dowolnej 
kontrolki. Powiązany (bez referencji) property node (C) może byd używany tylko lokalnie. Odpowiedź D 
przedstawia property node, który odnosi się do innej właściwości. Więc najlepszą odpowiedzią będzie 
odpowiedź B.

 

Odniesienie: Switching Between Strictly Typed and Weakly Typed Control Refnums, Property Nodes

 

 

8.  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 LabVIEW, jest zmyślony.

 

Odniesienie: Customizing Graphs and Charts

 

 

9.  Poprawna odpowiedź: D

 

Temat: Zmienne lokalne

 

Wyjaśnienie: Zmienne lokalne nie są zgodne paradygmatem programowania z przepływem danych, 
ponieważ komunikują się przez referencję, a nie przez wartośd. Podstawową przesłanką użycia 
zmiennych lokalnych jest umożliwienie transferu danych tam, gdzie jest to niemożliwe przy pomocy 
przewodu. Jest to obejście paradygmatu programowania z przepływem danych.

 

Odniesienie: Block Diagram Data Flow, Local Variables, Using Local and Global Variables Carefully

 

 

10. Poprawna odpowiedź: C

 

Temat: Wzorce aplikacji

 

Wyjaśnienie: Przy pomocy maszyny stanów można osiągnąd tę samą funkcjonalnośd jak przy pomocy 
sekwencji. Jednak maszyna stanów pozwala programiście na określenie kolejności sekwencji w sposób 
programowy w czasie działania programu. Wobec tego implementacja w maszynie stanów jest bardziej 
skalowalna.

 

Odniesienie: Case and Sequence Structures

 

 

11. Poprawna odpowiedź: C

 

Temat: Pętle

 

Wyjaśnienie: Do terminala warunkowego w trybie Stop if TRUE pętli while jest podłączona stała boolean 
o wartości FALSE. Wobec tego warunek zatrzymania pętli while nie jest spełniony. Zatem pętla while 
będzie wykonywana w nieskooczonośd i jej działanie musi zostad przerwane.

 

background image

Przykładowy Egzamin CLAD  

Strona 17 z 21 

Odniesienie: For Loop and While Loop Structures, While Loop

 

 

12. Poprawna odpowiedź: A

 

Temat: Zasady programowania w LabVIEW

 

Wyjaśnienie: LabVIEW jest językiem programowania z przepływem danych, więc przepływ danych może 
byś śledzony w diagramie blokowym w celu określenia, która funkcja zostanie wykonana jako pierwsza, 
drug, trzecia, itd.

 

Odniesienie: Block Diagram Data Flow

 

 

13. Poprawna odpowiedź: D

 

Temat: Obsługa błędów

 

Wyjaśnienie: LabVIEW automatycznie obsłuży błąd przez wyświetlenie okna dialogowego, ponieważ 
automatyczna obsługa błędów jest włączona w głównym VI i terminale błędu subVI są niepodłączone.

 

Odniesienie: Handling Errors

 

 

14. Poprawna odpowiedź: D

 

Temat: Środowisko LabVIEW

 

Wyjaśnienie: Ikony nie mogą byd edytowane z palety funkcji. Ikona subVI może byd edytowana przez 
kliknięcie prawym klawiszem myszy w górnej prawej części VI i wybraniu Edit Icon.

 

Odniesienie: Creating a VI Icon

 

 

15. Poprawna odpowiedź: A

 

Temat: Synchronizacja i komunikacja

 

Wyjaśnienie: Kolejka, notifier i zmienna lokalna służą do transferu danych. Semafory nie przekazują 
danych. Ich jedynym zastosowaniem jest zapobieganie wykonaniu określonego kodu, podczas gdy inna 
sekcja kodu krytycznego jest wykonywana.

 

Referencja: Synchronization VIs and Functions

 

 

16. Poprawna odpowiedź: D

 

Temat: Środowisko LabVIEW

 

Wyjaśnienie: Aby uzyskad kod błędu, należy sprawdzid wyjście klastra błędu lub okno dialogowe z 
informacją o błędzie.

 

Odniesienie: Error List Window

 

 

17. Poprawna odpowiedź: A, D

 

Temat: Tablice i klastry

 

Wyjaśnienie: Autoindeksowanie do funkcja w pętlach operujących na tablicach. Funkcje tablic same w 
sobie nie posiadają funkcjonalności autoindeksowania.

 

Odniesienie: For Loop and While Loop Structures, Passing Elements in an Array through a Loop, Enabling 
Auto-Indexing for Loops 
(Z pomocy LabVIEW 2010) 

 

18. Poprawna odpowiedź: A

 

Temat: Tablice i klastry

 

Wyjaśnienie: Funkcja Initilize Array tworzy tablicę o określonym rozmiarze (dimension size). Wartośd 
każdego elementu jest określona przez parametr element. Aby zainicjalizowad wielowymiarowe tablice, 
wystarczy rozszerzyd funkcję Initilize Array w dół, aby dodad wejścia dla kolejnych wymiarów tablicy.

 

Odniesienie: Initialize Array Function 

 

background image

Przykładowy Egzamin CLAD  

Strona 18 z 21 

19. Poprawna odpowiedź: A

 

Temat: Struktura event

 

Wyjaśnienie: Jakakolwiek możliwa odpowiedź musi się odnosid do zdarzenia Value Change. Zdarzenie 
Value Change może byd wygenerowane przez interakcję użytkownika z panelem czołowym albo przez 
wywołanie właściwości Value (Signaling). Wywołanie właściwości Value nie wygeneruje zdarzenia.

 

Odniesienie:  Available Events, Using Events in LabVIEW 

 

20. Poprawna odpowiedź: A

 

Temat: Funkcyjna zmienna flobalna

 

Wyjaśnienie: Krytyczne dane lub sekcje kodu mogą byd umieszczone w funkcyjnej zmiennej globalnej. 
Ryzyko zjawiska wyścigu jest wyeliminowane, ponieważ funkcyjna zmienna globalna jest VI typu non-
reentrant.

 

Odniesienie: Suggestions for Using Execution Systems and Priorities 

 

21. Poprawna odpowiedź: C

 

Temat: Pętle

 

Wyjaśnienie: Pętla for wykona 5 iteracji. Zaczynając z wartością 1, wynik poprzedniej iteracji jest 
mnożony przez 2. Po pięciu iteracjach wartośd osiągnie 1x2x2x2x2x2  (2

5

) czyli 32.

 

Odniesienie: Passing Multiple Values to the Next Loop Iteration, Using Shift Registers to Remember 
Iteration Values
 (Z pomocy LabVIEW 2010) 

 

22. Poprawna odpowiedź: C

 

Temat: Tablice i klastry

 

Wyjaśnienie: Funkcja Array Subset pobiera tablicę wejściową i zwraca jej częśd na podstawie 
parametrów wejściowych: zaczynając od index o długości length. Indeks ma wartośd 3, co wskazuje na 
czwarty element tablicy, czyli 10. Długośd ma wartośd 4, co skutkuje w tablicy wynikowej: {10, 8, 5, 7}.

 

Odniesienie: Array Subset Function 

 

23. Poprawna odpowiedź: A

 

Temat: Dokumentacja

 

Wyjaśnienie: Jedynym miejscem, gdzie można edytowad treśd pomocy pojawiającą się oknie pomocy 
kontekstowej, jest okno właściwości VI, kategoria Documentation.

 

Odniesienie: VI Description Property, Documentation Page (VI Properties Dialog Box) 

 

24. Poprawna odpowiedź: D

 

Temat: Pętle

 

Wyjaśnienie: Pętla for odnosi się do terminalu liczby iteracji N aby określid ile iteracji pętli wykonad. 

 

Odniesienie: For Loop 

 

25. Poprawna odpowiedź: C

 

Temat: Property node

 

Wyjaśnienie: Należy podłączyd przewód z daną bezpośrednio do terminalu indykatora zamiast korzystad 
z property node, ponieważ indykator nie jest odizolowany od źródła danej i jest w zasięgu przewodu. 
Najlepszą praktyką jest podłączanie przewodów bezpośrednio gdy jest to możliwe, ponieważ korzystanie 
z property node lub zmiennej lokalnej może powodowad zjawisko wyścigu.

 

Odniesienie: Block Diagram Data Flow, Using Local and Global Variables Carefully 

background image

Przykładowy Egzamin CLAD  

Strona 19 z 21 

26. Poprawna odpowiedź: A

 

Temat: Zależności czasowe

 

Wyjaśnienie: Odpowiedzi B i D są niepoprawne, ponieważ funkcja Wait Until Next ms Multiple jest 
wykonywana zanim iteracja pętli jest zakooczona. Odpowiedź C jest niepoprawna, ponieważ opisuje 
funkcjonalnośd funkcji Wait (ms).

 

Odniesienie: Wait Until Next ms Multiple Function 

 

27. Prawidłowa odpowiedź: B

 

Temat: Synchronizacja i komunikacja

 

Wyjaśnienie: Odpowiedź C jest niepoprawna, ponieważ semafory nie przekazują danych. Odpowiedź A 
jest niepoprawna, ponieważ notifier przekazuje dane, ale tylko jeden element. Dane mogą byd 
nadpisane i utracone, jeśli program wysyła notifier częściej niż odczytuje. Odpowiedź D jest 
niepoprawna, ponieważ zmienne lokalne nie posiadają mechanizmu powiadamiania o nowych danych, 
więc nie ma sposobu na określenie czy zmienna ma nową wartośd czy nie. Kolejki mogą zawierad wiele 
elementów jednocześnie na zasadzie FIFO, więc nie utracenie danych jest gwarantowane.

 

Odniesienie: Synchronization VIs and Functions 

 

28. Poprawna odpowiedź: B

 

Temat: Tablice i klastry

 

Wyjaśnienie: Nie ma potrzeby tworzenia tablicy tablic, ponieważ można zwyczajnie dodad wymiary do 
istniejącej tablicy.

 

Odniesienie: Changing Array Dimensions 

 

29. Poprawna odpowiedź: A

 

Temat: Struktura case

 

Wyjaśnienie: Terminal selektora struktury case wymaga wartości skalarnych, użycie tablicy jest 
niemożliwe.

 

Odniesienie: Creating Case Structures 

 

30. Poprawna odpowiedź: D

 

Temat: Operacje na plikach

 

Wyjaśnienie: W LabVIEW tablice są przechowywane jako ciąg bajtów zawierających nagłówek i dane. 
Nagłówek zawiera czterobajtową liczbę całkowitą dla każdego wymiaru, która określa gługośd wymiaru. 
Za nagłówkiem znajdują się dane w tablicy. W pytanie tablica posiada dwa wymiary. 4 bajty na każdy 
wymiar to razem 8 bajtów nagłówka. Tablica zawiera elementy jednobajtowe, więc razem tablica 
zawiera 9 bajtów danych. Razem jest zapisywanych 17 bajtów danych.

 

Odniesienie: Flattened Data, Creating Binary Files, How LabVIEW Stores Data in Memory 

 

31. Prawidłowa odpowiedź: B

 

Temat: Struktura sekwencji

 

Wyjaśnienie: Zapis do zmiennej lokalnej ramki następuje w ramce 1. Dlatego w ramce 0 dana nie jest 
jeszcze dostępna do odczytu.

 

Odniesienie: Adding and Removing Sequence Local Terminals 

 

background image

Przykładowy Egzamin CLAD  

Strona 20 z 21 

32. Poprawna odpowiedź: C

 

Temat: Zależności czasowe

 

Wyjaśnienie: Funkcja Wait (ms) nie zwalnia i nie alokuje pamięci, ani też nie rezerwuje rdzenia 
procesora. Funkcja wstrzymuje wykonywanie danego VI na krótko, aby procesor mógł wykonad inne 
zadania.

 

Odniesienie: Wait (ms) Function 

 

33. Poprawna odpowiedź: A

 

Temat: Typy danych

 

Wyjaśnienie: Typ ring może używad dowolnej reprezentacji numerycznej, gdy enumerowany może 
używad tylko reprezentacji całkowitych.

 

Odniesienie: Ring Constant, Enum Constant 

 

34. Poprawna odpowiedź: C

 

Temat: Struktura event

 

Wyjaśnienie: Przedstawiona struktura event obsługuje dwa zdarzenia: Mouse Down na kontrolce 
Button oraz Mouse Down na panelu czołowym. Te dwa zdarzenia występują jednocześnie, więc 
struktura event kolejkuje je i obsługuje jeden po drugim. W ten sposób wykonane zostaną dwie iteracja i 
wartośd w rejestrze przesuwnym zostanie inkrementowana dwukrotnie.

 

Odniesienie: Using Events in LabVIEW, Mouse Down Event 

 

35. Poprawna odpowiedź: B

 

Temat: Zasady programowania w LabVIEW

 

Wyjaśnienie: Wykonywanie Funkcji i VI rozpoczyna się jak tylko wszystkie ich wejścia otrzymają dane. W 
ten sposób przepływ danych decyduje o kolejności wykonywania.

 

Odniesienie: Block Diagram Data Flow

 

 

36. Poprawna odpowiedź: B

 

Temat: Typy danych

 

Wyjaśnienie: Przedstawione kontrolki mają całkowitą reprezentację ośmiobitową bez znaku. Zakres 
wartości ośmiobitowych bez znaku to 0-255. Wynikiem mnożenia 2 i 128 jest 256, ale jest o jeden 
więcej, niż 8 bitów może przedstawid. Dlatego też następuje przepełnienie do wartości 0.

 

Odniesienie:  Numeric Data Types Table, Numeric Conversion 

 

37. Poprawna odpowiedź: D

 

Temat: Obsługa błędów

 

Wyjaśnienie: Funkcja Merge Errors nie wyświetla żadnych okien dialogowych. Funkcje One Button 
Dialog i Two Button Dialog są funkcjami ogólnego zastosowanie i nie są najlepszym rozwiązaniem dla 
obsługi błędów aplikacji. Funkcje te nie posiadają wejśd typu klaster błędu. Vi o nazwie Generate Front 
Panel Activity nie istnieje. Najlepszym rozwiązaniem jest funkcja Simple Error Handler, ponieważ 
przyjmuje ona klaster błędu na wejściu i wyświetla okno dialogowe, gdy błąd wystąpi.

 

Odniesienie: Handling Errors, Simple Error Handler VI 

 

38. Poprawna odpowiedź: B

 

Temat: Chart i graph

 

Wyjaśnienie: Do XY graph można podłączyd klaster z dwoma tablicami wartości X i Y żeby wyświetlid 
pojedynczy wykres. Żeby wyświetlid kilka przebiegów należy stworzyd tablicę takich klastrów i podłączyd 

background image

Przykładowy Egzamin CLAD  

Strona 21 z 21 

ją do terminala indykatora.

 

Odniesienie: XY Graphs 

 

39. Poprawna odpowiedź: C

 

Temat: Zachowanie Kontrolek Boolean

 

Wyjaśnienie: Zdarzenie jest generowane gdy użytkownik wciśnie i zwolni przycisk, ponieważ tryb pracy 
kontrolki to Switch Until Released. Pierwsze zdarzenie to zmiana wartości z FALSE na TRUE, drugie 
zdarzenie to zmiana wartości z TRUE na FALSE. Zachowanie z zatrzaskiwaniem (Latch) zostało 
przygotowane w celu resetowania przycisku po odczycie jedo wartości żeby uniknąd drugiego zdarzenia.

 

Odniesienie: Changing the Mechanical Action of a Boolean Object, Value Change Event, Using Events 
with Latched Boolean Controls
 

 

40. Poprawna odpowiedź: B

 

Temat: Zasady programowania w LabVIEW

 

Wyjaśnienie: Należy podłączad przewody danych bezpośrednio do wskaźników zawsze gdy jest to 
możliwe. Pomaga to zachowad paradygmatu programowania z przepływem danych.

 

Odniesienie: Block Diagram Data Flow, Local Variables, Using Local and Global Variables Carefully