LabVIEW – Liga Zadaniowa TYDZIEŃ 3

Transkrypt

LabVIEW – Liga Zadaniowa TYDZIEŃ 3
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
LabVIEW – Liga Zadaniowa
TYDZIEŃ 3
Zadanie 1.
Epsilon maszynowy to taka definiowana dla liczb zmiennoprzecinkowych najmniejsza liczba , dla
której (maszynowe dodawanie)
. Wykonaj VI obliczający wartość epsilonu maszynowego w
LabVIEW, dla typów danych SGL, DBL i EXT.
Dla ułatwienia obliczeń, dany jest algorytm w języku C:
#include <stdio.h>
int main( int argc, char **argv )
{
float machEps = 1.0f;
printf( "current Epsilon, 1 + current Epsilon\n" );
do {
printf( "%G\t%.20f\n", machEps, (1.0f + machEps) );
machEps /= 2.0f;
// If next epsilon yields 1, then break, because current
// epsilon is the machine epsilon.
}
while ((float)(1.0 + (machEps/2.0)) != 1.0);
printf( "\nCalculated Machine epsilon: %G\n", machEps );
return 0;
}
IN
-
Liga Zadaniowa LVFG tydz. 3
OUT
SGL eps_sgl
DBL eps_dbl
EXT eps_ext
1
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
Zadanie 2.
Opracuj program, którego zadaniem jest przeprowadzenie testu zręcznościowego polegającego na
„złapaniu” prostokątnego obiektu (przez kliknięcie na nim). Obiekt pojawia się w losowo
wyznaczonym położeniu w obszarze oznaczonym szarym prostokątem. Po kliknięciu na obiekcie
pojawia się on w innym położeniu i cykl sie powtarza. Test polega na „złapaniu 10 obiektów”. Po
złapaniu 10 obiektów test jest zakończony a jego wynik (czas, który zajęło złapanie 10 obiektów)
widoczny na wskaźniku „Test Result”.
Wymagania:





Wciśnięcie przycisku „Start” uruchamia test. Na czas trwania testu przycisk Start jest
zablokowany.
Po klinięciu na obiekt, zmienia on swoje położenie, a wskaźnik „Hits counter” jest
inkrementowany.
W trakcie trwania testu aktualizowany jest wskaźnik numeryczny trwania testu „Test Result”
w milisekundach (częstotliwość aktualizacji minimum 50 razy na sekundę).
Po upływie 15 sekund zakończenie testu następuje automatycznie.
Przycisk „Stop” kończy działanie aplikacji w dowolnym momencie.
Panel frontowy przykładowej aplikacji Catch Me:
IN
OUT
Nie ma potrzeby tworzenia panelu połączeniowego
Liga Zadaniowa LVFG tydz. 3
2
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
Zadanie 3. (zadanie zawiera pliki pomocnicze)
Wykonaj notatnik, umożliwiający edycję, odczyt i zapis plików tekstowych, oddający jak najwierniej
interfejs z dołączonego przykładu. Notatnik powinien mieć:


Run-Time menu z opcjami: Nowy, Otwórz, Zapisz, Zapisz jako…, Zamknij w menu Plik.
Pole edycji rozciągające się wraz ze zwiększaniem okna Notatnika
IN
OUT
Nie ma potrzeby tworzenia panelu połączeniowego
Zadanie 4.
Oszacuj metodą Monte Carlo powierzchnię pomiędzy parabolą o równaniu
równaniu
.
IN
U32 Number of guesses
Liga Zadaniowa LVFG tydz. 3
i prostą o
OUT
DBL Result
3
© 2013 LVFG – kopiowanie, rozpowszechnianie i wykorzystywanie wyłącznie za zgodą autora
Zadanie 5.
Zaprojektuj SubVI przekształcający typ ENUM na tablicę łańcuchów (String), odpowiadającą kolejnym
etykietom w typie enumerowanym. Efektem działania takiego diagramu:
Ma być:
Ze względu na specyfikę zadania nr 5, NIE BĘDĄ AKCEPTOWANE
ROZWIĄZANIA WBUDOWANE W LABVIEW, z zaszyfrowanymi
diagramami. Decyzja ta jest ostateczna i nie ulega renegocjacji.
IN
OUT
Enum*
[ARR of STRING] Enum Strings
* - wejście dowolnego typu, warunkiem jest by akceptowało każdy input typu enum
Liga Zadaniowa LVFG tydz. 3
4