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.
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. _____
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
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.
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.
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
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
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.
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?
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.
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 b to 128, to jaką wartośd wyświetli wskaźnik Result po
wykonaniu VI?
a. -128
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
Przykładowy Egzamin CLAD
Strona 13 z 21
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.
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)
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.
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
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
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
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
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