Strona 1 z 1
CLAD ciekawe pytania testowe część 1
: 27 paź 2014 19:35
autor: jacus
Witam,
Dawno dawno temu gdzieś w sieci znalazłem poniższe pytania testów na które ciężko jest mi samemu odpowiedzieć. Nie chodzi o o samą odpowiedź, ale spokojne wytłumaczenie każdej odpowiedzi z testu. Jeżeli znajdzie ktoś chwilę to proszę o odpowiedź. Poniżej zrzuty ekranu. Może być więcej niż jedna odpowiedź poprawna.
Re: CLAD ciekawe pytania testowe część 1
: 27 paź 2014 20:19
autor: Daniel PCL
Haj
Odpowiedź na pytanie 19 - ( B )
Dlaczego ??
Przetwornik 12-bitowy dzieli zakres pomiarowy 0-10V na 2^12 poziomów, czyli na 4096 poziomów. Na każdy poziom przypada 0,002441 V (10V / 4096), czyli 2,44 mV.
Przetwornik 16-bitowy dzieli zakres pomiarowy 0-10V na 2^16 poziomów, czyli na 65536 poziomów. Na każdy poziom przypada 0,000153 V (10V / 65536), czyli 0,153 mV.
My chcemy wykryć zmianę o 2,1 mV, czyli przetwornik 12-bitowy może tej zmiany nie wykryć, ponieważ jest ona mniejsza od 2,44 mV (najmniejsza zmiana wartości, którą wykrywa).
Przetwornik 16-bitowy na pewno sobie z tym poradzi, ponieważ wykrywa nawet zmianę o 0,153 mV
Coś w ten deseń.
Z pozdrówkami
Daniel
CLAD ciekawe pytania testowe część 1
: 28 paź 2014 07:55
autor: SNT
40 - B (nie jestem pewien)
38 - A
27 A
Re: CLAD ciekawe pytania testowe część 1
: 28 paź 2014 14:16
autor: PiDi
40 - B
Dlaczego? Bo nie ma takiej opcji.
Dlaczego? Bo programista DAQ-A nie zaimplementował
Dlaczego? Bo nikt nie zapisał tego w projekcie
Dlaczego? Bo nie było tego w wymaganiach
Dlaczego? Bo do zaawansowanej generacji sygnałów używa się zwykłych bloczków DAQmx
38 - B
Operacje na całej tablicy są szybsze niż na poszczególnych jej elementach (stąd A jest szybsze od B). - to tutaj nieprawda, patrz dyskusja niżej
W C dodawanie jest zupełnie bezsensowne (kabel między dodawaniem a indykatorem jest typu DBL). Gdyby nie było Add, to C i A miałyby identyczne działanie.
Natomiast wchodząc w bardziej zaawansowane tematy, można by się zastanowić, czy kompilator sam sobie by sprytnie każdego tego przypadku nie zoptymalizował.
27 - A
Dlaczego? Bo tak.
Ed. Zmieniłem odpowiedź na 38.
Re: CLAD ciekawe pytania testowe część 1
: 28 paź 2014 17:31
autor: aaddaas
PiDi pisze:
38 - A
Operacje na całej tablicy są szybsze niż na poszczególnych jej elementach (stąd A jest szybsze od B). W C dodawanie jest zupełnie bezsensowne (kabel między dodawaniem a indykatorem jest typu DBL). Gdyby nie było Add, to C i A miałyby identyczne działanie.
Natomiast wchodząc w bardziej zaawansowane tematy, można by się zastanowić, czy kompilator sam sobie by sprytnie każdego tego przypadku nie zoptymalizował.
C odpada, ponieważ LabView poprzez coercion dot konwertuje do "szerszej" reprezentacji (by nie tracić części danych), więc wynik nie byłby single precision array.
Re: CLAD ciekawe pytania testowe część 1
: 28 paź 2014 18:03
autor: PiDi
C nie odpada. Popatrz na reprezentację indykatora.
Re: CLAD ciekawe pytania testowe część 1
: 28 paź 2014 19:27
autor: aaddaas
Fakt, nie zwróciłem uwagi. Nie mniej jednak takie dodawanie mogło by mieć sens, gdyby konwersja była do szerszego typu danych (pomijając indykator), o czym warto pamiętać na egzaminie;)
Re: CLAD ciekawe pytania testowe część 1
: 30 paź 2014 12:02
autor: vugie
PiDi pisze:40 - B
38 - A
Operacje na całej tablicy są szybsze niż na poszczególnych jej elementach (stąd A jest szybsze od B). W C dodawanie jest zupełnie bezsensowne (kabel między dodawaniem a indykatorem jest typu DBL). Gdyby nie było Add, to C i A miałyby identyczne działanie.
Natomiast wchodząc w bardziej zaawansowane tematy, można by się zastanowić, czy kompilator sam sobie by sprytnie każdego tego przypadku nie zoptymalizował.
Aż benchmark zrobiłem - i wychodzi A (szybciej o jakieś 15%). To co piszesz o operacjach na całych tablicach jest prawdą, ale:
- zmienia się tutaj fizyczny rozmiar tablicy
- pętla już jest, więc robienie operacji w niej nie jest dodatkowym overheadem
Poza tym operacja na całej tablicy to też pętla, tyle że wewnętrznie kompilator potrafi wykryć że robisz ich ileś pod rząd i wrzuca to w jedną pętlę.
Re: CLAD ciekawe pytania testowe część 1
: 30 paź 2014 13:31
autor: PiDi
Ok, masz rację, jak na to teraz spojrzałem, to to co napisałem wcześniej jest głupie
Zrobienie rzutowania po zbudowaniu tablicy powoduje zaalokowanie całej nowej tablicy nowego typu, co jest kosztowne.
CLAD ciekawe pytania testowe część 1
: 31 paź 2014 11:34
autor: Nowszy
jacus, możesz mi podesłać linka do miejsca, gdzie znalazłeś te pytania?
CLAD ciekawe pytania testowe część 1
: 06 lis 2014 08:46
autor: Jamal79
Tak generalizujac,
Te pytania sa tendencyjne.
Np, pytanie nr: 27.
Poco to komu pamietac jak moze spojzec na pomoc i zobaczyc.
Pytanie nr: 19.
Rozumiem sens i slusznosc takich pytan, ale jestem zwolennikiem rozgraniczenia tych dziedzin. tzn, kwesti hardware and software. Laczenie tych dziedzin, zabija kreatywnosc. Jezeli chcemy wyniesc sie na wyzyny i doprowadzic do tego statusu, ze nasze programy beda mega wydajne i mega funkcjonalne musimy przekraczac wszelkie granice. A pomiar 0,1 mV jest przez wiekszosc ludzi malo prawdopodobny (Fluke multimeter: dokladnosc z zakresu 0,1-1000V to 0,1 % +1). Rozumiem ze chcac pracowac w NASA lub CERN bedziemy to wykozystywac, ale i tak wtedy najpier musimy miec doktorat z inzynierii...