Jacek Naruniec. lato 2014, Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Jacek Naruniec. lato 2014, Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych"

Transkrypt

1 lato 2014,, Wydział Elektroniki i Technik Informacyjnych

2 erówka Projekt Egzamin

3 OpenMP (czyli Open Multiprocessing) umożliwia tworzenie aplikacji wielowątkowych bez konieczności jawnego tworzenia wątków i przypisywania im zadań. Standard tworzony m.in. Przez: AMD Intel HP NVIDIA HP Fujitsu i inne... Wprowadza szereg komend preprocesora (#pragma) i standardowych funkcji. Wprowadza nowe zmienne środowiskowe.

4 W miejscu gdzie wpiszemy określoną instrukcję, proces zostaje zrównoleglony na kilka wątków, np.:

5 omp_set_num_threads określa liczbę uruchomionych wątków #pragma omp parallel umieszczone przed pętlą określa, że właśnie ta pętla powinna zostać zrównoleglona aby umożliwić działanie wszystkich opcji OpenMP musimy dołączyć plik <omp.h> i ustawić opcję kompilacji /openmp (VS Properties- >C/C++->Language->OpenMP support).

6 W trakcie działania możemy (podobnie jak w programowaniu kart graficznych) pobrać numer wątka który wykonuje daną operację: Proszę zauważyć co wyświetliła konsola, nastąpił wyścig dostępu do konsoli. Należałoby wprowadzić sekcję krytyczną.

7 Sekcję krytyczną definiujemy poprzez #pragma omp critical Mamy też możliwość wprowadzenia operacji atomowych (#pragma omp atomic) do operacji odczytu/zapisu zmiennych. Operacje atomowe także wykonają się zawsze w całości, są szybsze, ale przewidziane tylko do niektórych typów operacji: (bez #pragma omp atomic cnt wynosił ok )

8 Większość poleceń wykonuje się poprzez #pragma omp parallell... Można także w prosty sposób zlecić równoległe wykonanie pętli: Jacek Naruniec

9 Można także ręcznie określić ile wątków ma być wykorzystanych w pętli poprzez omp_set_num_threads(). Jeśli nie określimy liczby wątków, dobrana zostanie liczba automatycznie. W OpenMP można także definiować rodzaj zmiennej jako: prywatną każdy wątek ma swoją własną kopię zmiennej dzieloną każdy wątek operuje na tej samej kopii zmiennej Dlaczego numer wątka się nie zgadza?

10 Domyślnie wszystkie zmienne które były zadeklarowane wcześniej w bloku są dzielone (shared) na wszystkie wątki. mienne wewnętrzne wątku są prywatne. Indeksy pętli są domyślnie prywatne dla każdego wątka. mienne, które chcemy jawnie zadeklarować jako prywatne (każdy wątek ma swoją kopię) definiujemy poprzez słowo kluczowe private: Jacek Naruniec

11 Należy pamiętać, że wartość zmiennych prywatnych nie jest kopiowana do zmiennych poszczególnych wątków. Prywatność oznacza jedynie, że w wątku tworzona jest zmienna o tej samej nazwie i tym samym typie, ale niezainicjalizowanej zawartości. Aby wartość zmiennej została skopiowana do zmiennej wątka należy wykorzystać klauzulę firstprivate. Jacek Naruniec

12 miany zmiennej prywatnej wewnątrz wątków nie powodują zmiany oryginalnej zmiennej. achowanie to zmienić poprzez klauzulę lastprivate która sprawia, że wartość zmiennej oryginalnej ustawia się na wartość wpisaną w ostatnim wątku pętli. Jacek Naruniec

13 Możemy także określić barierę, na której wszystkie wątki będą oczekiwały na zakończenie pracy przez pozostałe wątki. Działanie jest analogiczne do funkcji syncthreads z CUDA.

14 Blok for może być także oddzielony od bloku parallel. Każdy blok for wewnątrz bloku parallel będzie wykonywany sekwencyjnie tak jakby pomiędzy nimi była bariera: Jacek Naruniec

15 OpenMP umożliwia bardzo łatwe zrównoleglenie programu w ramach wielu wątków. Visual Studio obługuje OpenMP w wersji specyfikacji 2.0 (większość użytecznych opcji) Nowsze kompilatory GCC i LLVM obsługują OpenMP 3.1 Najnowsza wersja OpenMP to 4.0 (z 2013 roku). Więcej informacji, także na temat różnic pomiędzy specyfikacjami openmp.org Jacek Naruniec

16 Istnieje kilka klasycznych metod dekompozycji algorytmów tak, aby można było je efektywniej zrealizować. dekompozycja rekursywna dekompozycje danych dekompozycja eksploracyjna dekompozycja spekulatywna dekompozycja hybrydowa (łącząca cechy powyższych).

17 Rekursywna (recursive) metody typu dziel i zwyciężaj rozdzielamy dany problem na pewne podproblemy proces ten powtarzamy aż uzyskamy żądaną ziarnistość zadań Klasyczny przykład dekompozycji rekursywnej (quicksort):

18 Inny przykład dekompozycji rekursywnej znajdywanie minimum/maksimum danego zbioru: Min(1, 1) Min(3, 1) Min(1, 9) Min(4, 3) Min(1, 3) Min(8, 1) Min(9, 10)

19 Dekompozycja danych wyjściowych. Jako przykład mnożenie dwóch macierzy prostokątnych: C AB C C 1,1 2,1 C C 1,2 2,2 A A 1,1 2,1 A A 1,2 2,2 B B 1,1 2,1 B B 1,2 2,2 Co znowu może być zdekomponowane na: C C C C 1,1 1,2 2,1 2,2 A A A 1,1 A 1,1 2,1 2,1 B B B 1,1 B 1,2 1,1 1,2 A 1,2 A A 1,2 A 2,2 B 2,2 B 2,1 B 2,2 B 2,1 2,2

20 Dalsza dekompozycja mogłaby przebiegać np. tak: C C C C C C C C 1,1 1,1 1,2 1,2 2,1 2,1 2,2 2,2 C C C apewnia nam to podział algorytmu na 8 osobnych zadań z pewnymi zależnościami. A A A 1,1 A C 1,1 1,1 1,2 2,1 2,1 2,1 B 2,2 B B 1,1 B 1,2 A 1,1 1,2 1,2 A A 1,2 A 2,2 B 2,2 B 2,1 B 2,2 B 2,1 2,2

21 Inny przykład: ałóżmy że rekonstruujemy twarz z kombinacji liniowej wielu twarzy własnych. Oznacza to dodanie do obrazu średniego szeregu obrazów, każdego pomnożonego przez odpowiedni współczynnik:

22 Dekompozycja danych wyjściowych mogłaby oznaczać, że obraz wyjściowy podzielimy na kilka fragmentów, z których każdy będzie realizowany jako osobne zadanie: 0.12 adanie 1 adanie adanie 3 adanie

23 Jeszcze inny przykład: dekompozycja algorytmu obliczania wystąpień danego ciągu symboli w bazie danych: Baza danych Szukane sekwencje Liczba wystąpień w całej bazie

24 Dekompozycja na 2 zadania względem danych wyjściowych Baza danych Szukane sekwencje Liczba wystąpień w całej bazie Baza danych Szukane sekwencje Liczba wystąpień w całej bazie

25 Dekompozycja danych wejściowych przebiega analogicznie do danych wyjściowych. Dla przykładu z twarzą: adanie adanie n

26 Dekompozycja według danych wejściowych przykładu z bazą danych: Baza danych Szukane sekwencje Baza danych 33 0 Szukane sekwencje Liczba wystąpień w całej bazie Liczba wystąpień w całej bazie

27 Dekompozycja może być także przeprowadzona jednocześnie dla danych wejściowych jak i wyjściowych

28 Dekompozycja eksploracyjna Etapy dekompozycji są dostosowywane w trakcie wykonywania się algorytmu. Najłatwiej określić to np. w problemie optymalizacji eksplorujemy rozwiązania w celu znalezienia najlepszego Jako przykład weźmy grę TRON z Google AI Challenge z roku adanie polegało na stworzeniu najlepszego bota gry. [źródło:

29 Podstawowym algorytmem prowadzącym do zwycięstwa był algorytm min-maks, czyli algorytm minimalizowania maksymalnych strat. Weźmy pod uwagę następującą sytuację: Mamy do dyspozycji zielonego bota (czerwony to przeciwnik) i musimy podjąć decyzję w którą stronę się poruszyć w górę, w dół czy w lewo aby zminimalizować maksymalne straty. akładamy, że przewidujemy jedynie 3 kroki do przodu. [obrazki z kursu konkursu:

30 Strategia będzie zależała od faktu czy jesteśmy odcięci od przeciwnika czy nie. Jeśli jesteśmy odcięci, to lepszy będzie taki kierunek, który zapewni nam więcej wolnego miejsca. Jeśli nie jesteśmy odcięci to naszym celem jest zbliżenie się do przeciwnika (bo wtedy będzie dobrze działał nasz algorytm min-maks bo mamy ograniczenie na głębokość drzewa). Dodatkowo przyjmujemy (żeby mieć obraz skali ), że np.: zwycięstwo: 100 punktów przegrana: -100 punktów remis: -50 punktów [obrazki z kursu konkursu:

31 W N E S N N S E akładamy, że my zawsze podejmiemy najlepszą dla nas decyzję a przeciwnik podejmie zawsze decyzję najgorszą dla nas. Po prawej mamy wynik w zależności od oceny sytuacji. SEW będzie kiepską decyzją praktycznie na pewno przegramy (-75,2) WNS byłoby znacznie lepsze przeciwnik jest zamknięty w mniejszej przestrzeni (47,0). Każdą decyzję można traktować jako oddzielne zadanie. S N N E W W E Decyzje: E wschód N północ W zachód S - południe [obrazki z kursu konkursu:

32 W N E S N N S Naturalnie algorytm można przyspieszyć poprzez przycinanie niekorzystnych ścieżek. Decyzja o głębokości drzewa może być podejmowana dynamicznie, np. w zależności od czasu wykonania. Algorytm taki jest bardzo podatny na zrównoleglenie. Odnalezienie rozwiązania idealnego powoduje zatrzymanie pozostałych procesów. E S N W N E W E [obrazki z kursu konkursu:

33 Ciekawostka zwycięzca konkursu jako miarę jakości ruchu wybrał miarę opartą na diagramie Voronoi, czyli mapie mówiącej do którego piksela szybciej może dojść który waż. Jako miarę jakości początkowo przyjął różnicę liczby pikseli do której pierwszy może dojść gracz od liczby do której może pierwszy dojść przeciwnik. [obrazki z kursu konkursu:

34 Inny przykład Dynamic Time Warping ( marszczenie czasu ) Jest to metoda pozwalająca porównać dwa wzorce, które mogą być różnej długości. W tym przypadku prosta odległość euklidesowa nie może być zastosowana. Może być wykorzystana np. przy rozpoznawaniu gestów jak porównać gest SSEEWW z SSWSEEEW? Weźmy przykład rozpoznawania słów: zakładamy, że mamy pewien opis (tutaj spektrogram) wypowiedzianego słowa z podziałem na ramki, np. po 15ms (po prawej). [źródło: J. Holmes, Speech Synthesis and Recognition ]

35 Stwórzmy obraz, którego jeden punkt odpowiada odległości dwóch opisów w danych chwilach czasu (różnych dla pierwszego i drugiego słowa). Większy okrąg oznacza większe podobieństwo opisów (deskryptorów). Jedno słowo wypowiedziane dwukrotnie: [źródło: J. Holmes, Speech Synthesis and Recognition ]

36 Dwa inne wypowiedziane słowa: [źródło: J. Holmes, Speech Synthesis and Recognition ]

37 Algorytm DTW polega na znalezieniu takiej ścieżki od dolnego lewego do górnego prawego rogu, która da najmniejszy sumaryczny koszt. m3 m2 m v1 v2 v3 v4 [źródło: J. Holmes, Speech Synthesis and Recognition ]

38 Poszukiwanie najlepszej ścieżki może przebiegać w różny sposób. Można zastosować algorytm zachłanny za każdym razem podejmowana będzie decyzja najlepsza w tym kroku zakładając, że możemy poruszać się w kierunku w górę, w prawo i po skosie. Preferowanym kierunkiem zawsze jest diagonalny. Można wprowadzać dodatkowe wagi dla przejść poziomych/pionowych. Aby uniezależnić wynik od długości słowa, wszystkie sumy można podzielić przez ilość przebytych elementów Generalnie należy sprawdzić wszystkie możliwe drogi i wyszukać tę o najmniejszej wadze łącznej awsze musimy dojść do końcowego elementu modelu części ścieżek można zrezygnować wcześniej jeśli sumaryczna waga jest zbyt duża

39 Przycinanie gałęzi wyboru (score pruning) - jeśli jej waga znacznie przekracza wagę ścieżki o minimalnej wadze w tej samej kolumnie [źródło: J. Holmes, Speech Synthesis and Recognition ]

40 Dekompozycja spekulatywna Może np. oznaczać przetestowanie N opcji i usunięcie N-1 opcji w przypadku znalezienia tej najlepszej. Przy braku informacji o przebiegu algorytmu przy złożonym systemie obarczonym zależnościami możemy przyjąć algorytm: konserwatywny tzn. uruchamiamy równolegle tylko te gałęzie, dla których mamy pewność, że nie ma między nimi powiązań. optymistyczny tzn. nie mamy zapewnionego braku zależności między gałęziami. Przy napotkaniu sprzecznych warunkach, niekiedy musimy cofnąć się w analizie drzewa. W pewnych przypadkach bardzo podobna do eksploracyjnej.

41 Przy dekompozycji algorytmów można brać także pod uwagę możliwość przetwarzania heteregenicznego. Jako przykład weźmy obliczenia zderzenia cząstek. Jacek Naruniec

42 Kolizje między cząsteczkami są podzielone na trzy rodzaje: SS (Small-Small) czyli małe cząstki z małymi LS (Large-Small) duże cząstki z małymi LL (Large-Large) duże cząstki z dużymi akładamy, że granularność problemu SS jest znana i stała, więc będzie on pasował do GPU. akładamy, że granularność problemów LS i LL jest zmienna, więc będą one pasować do CPU.

43 Algorytm będzie złożony z trzech kroków: konstrukcji struktur danych wyznaczania kolizji integracji działających sił. adania muszą być odpowiednio zsynchronizowane aby zapewnić poprawne działanie algorytmu.

44 Jako strukturę, będziemy mieli do dyspozycji siatkę, gdzie do każdej siatki należy odpowiednia liczba cząstek. W przypadku wyznaczania kolizji małych cząstek sprawa jest prosta analizujemy sąsiedztwo 3x3 elementowe (w przypadku 3W 3x3x3) Wyznaczamy działające siły na podstawie prędkości i pozycji cząstek. CPU wykorzystuje siatkę stworzoną dla GPU i rozszerza ją o duże cząstki. Na GPU powodowałoby to przestoje niektórych wątków Jacek Naruniec

45 Integracja polega na wyznaczeniu aktualnych pozycji i prędkości cząstek. Dla małych cząstek będzie to połączenie siły wyznaczonych dla SS i LS. Jacek Naruniec

46 Równoważenie obciążenia

Programowanie systemów z pamięcią wspólną specyfikacja OpenMP. Krzysztof Banaś Obliczenia równoległe 1

Programowanie systemów z pamięcią wspólną specyfikacja OpenMP. Krzysztof Banaś Obliczenia równoległe 1 Programowanie systemów z pamięcią wspólną specyfikacja OpenMP Krzysztof Banaś Obliczenia równoległe 1 OpenMP Przenośność oprogramowania Model SPMD Szczegółowe wersje (bindings) dla różnych języków programowania

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Wprowadzenie do OpenMP

Wprowadzenie do OpenMP Wprowadzenie do OpenMP OZUKO Kamil Dworak OZUKO Wprowadzenie do OpenMP Kamil Dworak 1 / 25 OpenMP (ang. Open Multi-Processing) opracowany w 1997 przez radę Architecture Review Board, obliczenia rówoległe

Bardziej szczegółowo

Przetwarzanie Równoległe i Rozproszone

Przetwarzanie Równoległe i Rozproszone POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

Algorytmy sortujące i wyszukujące Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.

Bardziej szczegółowo

Układy VLSI Bramki 1.0

Układy VLSI Bramki 1.0 Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie

Bardziej szczegółowo

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

Strategia "dziel i zwyciężaj"

Strategia dziel i zwyciężaj Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania

Bardziej szczegółowo

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania, Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią

Bardziej szczegółowo

Na podstawie: MS Project 2010 i MS Project Server Efektywne zarządzanie projektem i portfelem projektów, Wilczewski S.

Na podstawie: MS Project 2010 i MS Project Server Efektywne zarządzanie projektem i portfelem projektów, Wilczewski S. Wykrywanie przeciążonych zasobów Śledzenie obciążenia zasobów, Ścieżka krytyczna i jej optymalizacja, Rozwiązywanie problemów z przeciążonymi zasobami, Bilansowanie zasobów Rozkład pracy zasobów zarządzanie

Bardziej szczegółowo

Przenoszenie, kopiowanie formuł

Przenoszenie, kopiowanie formuł Przenoszenie, kopiowanie formuł Jeżeli będziemy kopiowali komórki wypełnione tekstem lub liczbami możemy wykorzystywać tradycyjny sposób kopiowania lub przenoszenia zawartości w inne miejsce. Jednak przy

Bardziej szczegółowo

Część 3 - Konfiguracja

Część 3 - Konfiguracja Spis treści Część 3 - Konfiguracja... 3 Konfiguracja kont użytkowników... 4 Konfiguracja pól dodatkowych... 5 Konfiguracja kont email... 6 Konfiguracja szablonów dokumentów... 8 Konfiguracja czynności

Bardziej szczegółowo

Moc płynąca z kart graficznych

Moc płynąca z kart graficznych Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe

Bardziej szczegółowo

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional

Bardziej szczegółowo

Instalacja i opis podstawowych funkcji programu Dev-C++

Instalacja i opis podstawowych funkcji programu Dev-C++ Instalacja i opis podstawowych funkcji programu Dev-C++ Przed rozpoczęciem programowania musimy zainstalować i przygotować kompilator. Spośród wielu dostępnych kompilatorów polecam aplikację Dev-C++, ze

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Wprowadzenie do biblioteki klas C++

Wprowadzenie do biblioteki klas C++ Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty

Bardziej szczegółowo

Programowanie Współbieżne. Algorytmy

Programowanie Współbieżne. Algorytmy Programowanie Współbieżne Algorytmy Sortowanie przez scalanie (mergesort) Algorytm :. JEŚLI jesteś rootem TO: pobierz/wczytaj tablice do posortowania JEŚLI_NIE to pobierz tablicę do posortowania od rodzica

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

wagi cyfry 7 5 8 2 pozycje 3 2 1 0

wagi cyfry 7 5 8 2 pozycje 3 2 1 0 Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień

Bardziej szczegółowo

Współpraca FDS z arkuszem kalkulacyjnym

Współpraca FDS z arkuszem kalkulacyjnym Współpraca FDS z arkuszem kalkulacyjnym 1. Wstęp: Program Pyrosim posiada możliwość bezpośredniego podglądu wykresów uzyskiwanych z urządzeń pomiarowych. Wszystkie wykresy wyświetlane są jako plik graficzny

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Porównanie szeregów czasowych z wykorzystaniem algorytmu DTW

Porównanie szeregów czasowych z wykorzystaniem algorytmu DTW Zlot użytkowników R Porównanie szeregów czasowych z wykorzystaniem algorytmu DTW Paweł Teisseyre Instytut Podstaw Informatyki, Polska Akademia Nauk 21 września 2010 Miary podobieństwa między szeregami

Bardziej szczegółowo

Równoległość i współbieżność

Równoległość i współbieżność Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna

Bardziej szczegółowo

Równoległość i współbieżność

Równoległość i współbieżność Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna

Bardziej szczegółowo

Zastosowanie Informatyki w Medycynie

Zastosowanie Informatyki w Medycynie Zastosowanie Informatyki w Medycynie Dokumentacja projektu wykrywanie bicia serca z sygnału EKG. (wykrywanie załamka R) Prowadzący: prof. dr hab. inż. Marek Kurzyoski Grupa: Jakub Snelewski 163802, Jacek

Bardziej szczegółowo

Obróbka po realnej powierzchni o Bez siatki trójkątów o Lepsza jakość po obróbce wykańczającej o Tylko jedna tolerancja jakości powierzchni

Obróbka po realnej powierzchni o Bez siatki trójkątów o Lepsza jakość po obróbce wykańczającej o Tylko jedna tolerancja jakości powierzchni TEBIS Wszechstronny o Duża elastyczność programowania o Wysoka interaktywność Delikatne ścieżki o Nie potrzebny dodatkowy moduł HSC o Mniejsze zużycie narzędzi o Mniejsze zużycie obrabiarki Zarządzanie

Bardziej szczegółowo

Transformacja współrzędnych geodezyjnych mapy w programie GEOPLAN

Transformacja współrzędnych geodezyjnych mapy w programie GEOPLAN Transformacja współrzędnych geodezyjnych mapy w programie GEOPLAN Program GEOPLAN umożliwia zmianę układu współrzędnych geodezyjnych mapy. Można tego dokonać przy udziale oprogramowania przeliczającego

Bardziej szczegółowo

Sylabus Moduł 2: Przetwarzanie tekstów

Sylabus Moduł 2: Przetwarzanie tekstów Sylabus Moduł 2: Przetwarzanie tekstów Niniejsze opracowanie przeznaczone jest dla osób zamierzających zdać egzamin ECDL (European Computer Driving Licence) na poziomie podstawowym. Publikacja zawiera

Bardziej szczegółowo

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformata Fouriera Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformacja Fouriera rozkłada funkcję okresową na szereg funkcji okresowych tak, że uzyskana transformata podaje w jaki sposób poszczególne

Bardziej szczegółowo

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na 21.06.2010 r.

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na 21.06.2010 r. Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na 21.06.2010 r. W systemie SZOI została wprowadzona nowa funkcjonalność umożliwiająca tworzenie graficznych harmonogramów pracy.

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3 Podstawy programowania, Poniedziałek 13.05.2015, 8-10 Projekt, część 3 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Dokumentacja dla Scandroid. Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Scandroid to aplikacja przeznaczona

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

Bardziej szczegółowo

Komputerowe Obliczenia Równoległe: Wstęp do OpenMP i MPI

Komputerowe Obliczenia Równoległe: Wstęp do OpenMP i MPI Komputerowe Obliczenia Równoległe: Wstęp do OpenMP i MPI Patryk Mach Uniwersytet Jagielloński, Instytut Fizyki im. Mariana Smoluchowskiego OpenMP (Open Multi Processing) zbiór dyrektyw kompilatora, funkcji

Bardziej szczegółowo

mfaktura Instrukcja instalacji programu Ogólne informacje o programie www.matsol.pl biuro@matsol.pl

mfaktura Instrukcja instalacji programu Ogólne informacje o programie www.matsol.pl biuro@matsol.pl mfaktura Instrukcja instalacji programu Ogólne informacje o programie www.matsol.pl biuro@matsol.pl Instalacja programu 1. Po włożeniu płytki cd do napędu program instalacyjny powinien się uruchomić automatyczne.

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstęp do Programowania Lista 1 Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.

Bardziej szczegółowo

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Opis funkcji modułu Konwerter 3D

Opis funkcji modułu Konwerter 3D Opis funkcji modułu Konwerter 3D www.cadprojekt.com.pl Kliknij na tytuł rozdziału, aby przejść do wybranego zagadnienia MODUŁ KONWERTER 3D...3 Wygląd i funkcje okna modułu Konwerter 3D...3 Konwertowanie

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

VinCent Administrator

VinCent Administrator VinCent Administrator Moduł Zarządzania podatnikami Krótka instrukcja obsługi ver. 1.01 Zielona Góra, grudzień 2005 1. Przeznaczenie programu Program VinCent Administrator przeznaczony jest dla administratorów

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

www.plansoft.org plansoft.org Zmiany w Plansoft.org Panel wyszukiwania PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

www.plansoft.org plansoft.org Zmiany w Plansoft.org Panel wyszukiwania PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW Zmiany w Plansoft.org Panel wyszukiwania... 1 Uruchamianie panelu wyszukiwania... 2 Wyszukiwanie poleceń menu... 2 Wyszukiwanie rozkładów zajęć wykładowców... 3 Wyszukiwanie rozkładów zajęć grup i użycia

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

System obliczeniowy laboratorium oraz. mnożenia macierzy

System obliczeniowy laboratorium oraz. mnożenia macierzy System obliczeniowy laboratorium.7. oraz przykładowe wyniki efektywności mnożenia macierzy opracował: Rafał Walkowiak Materiały dla studentów informatyki studia niestacjonarne październik 1 SYSTEMY DLA

Bardziej szczegółowo

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 1 program Kontynuujemy program który wczytuje dystans i ilości paliwa zużytego na trasie, ale z kontrolą danych. A więc jeśli coś

Bardziej szczegółowo

Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku

Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku NOR-STA jest narzędziem wspierającym budowę, ocenę oraz zarządzanie strukturą argumentacji wiarygodności (assurance case),

Bardziej szczegółowo

OpenMP. Programowanie aplikacji równoległych i rozproszonych. Wykład 2. Model programowania. Standard OpenMP. Dr inż. Tomasz Olas

OpenMP. Programowanie aplikacji równoległych i rozproszonych. Wykład 2. Model programowania. Standard OpenMP. Dr inż. Tomasz Olas OpenMP Programowanie aplikacji równoległych i rozproszonych Wykład 2 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska OpenMP (Open Multi-Processing)

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Algorytm selekcji Hoare a. Łukasz Miemus

Algorytm selekcji Hoare a. Łukasz Miemus Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego

Bardziej szczegółowo

PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP.

PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP. P O L I T E C H N I K A S Z C Z E C I Ń S K A Wydział Informatyki PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP. Autor: Wojciech

Bardziej szczegółowo

Wprowadzenie do zrównoleglania aplikacji z wykorzystaniem standardu OpenMP

Wprowadzenie do zrównoleglania aplikacji z wykorzystaniem standardu OpenMP OpenMP p. 1/4 Wprowadzenie do zrównoleglania aplikacji z wykorzystaniem standardu OpenMP Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska OpenMP OpenMP

Bardziej szczegółowo

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu

Bardziej szczegółowo

KANCELARYJNY SYSTEM PODATKOWY

KANCELARYJNY SYSTEM PODATKOWY KANCELARYJNY SYSTEM PODATKOWY Podział bazy danych Opracował: Katowice, Styczeń 2013 1 Podział bazy danych cel Wraz z wersją 3.3.0 systemu KSP, nastąpiła zmiana architektury systemu z jednej do wielu baz

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

ANALIZA EFEKTYWNOŚCI MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ

ANALIZA EFEKTYWNOŚCI MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ ANALIZA EFEKTYWNOŚCI MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ 1 Mnożenie macierzy dostęp do pamięci podręcznej [język C, kolejność - j,i,k][1] A,B,C są tablicami nxn for (int j = 0 ; j

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

SŁOWNIK STRUKTURY PRZEDSIĘBIORSTWA

SŁOWNIK STRUKTURY PRZEDSIĘBIORSTWA J.B.R. ROGOWIEC SP. J. ul. Zapora 23, 43-382 Bielsko-Biała SŁOWNIK STRUKTURY PRZEDSIĘBIORSTWA Dostosowano do wersji 2.11 Systemu DMS SPIS TREŚCI SŁOWNIK STRUKTURY PRZEDSIĘBIORSTWA WPROWADZENIE... 3 1.

Bardziej szczegółowo

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle Instrukcja numer 06 Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle Zadanie 06 Pętle w skryptach wiersza poleceń Zadanie omawia zagadnienia związane ze stosowaniem instrukcji

Bardziej szczegółowo

Instrukcja obsługi notowań koszykowych w M@klerPlus

Instrukcja obsługi notowań koszykowych w M@klerPlus Instrukcja obsługi notowań koszykowych w M@klerPlus 1 Spis treści: 1. Wymagania systemowe.. 3 2. Tworzenie koszyka notowań.. 10 3. Modyfikowanie koszyka notowań. 11 4. Uruchamianie tabeli notowań.. 12

Bardziej szczegółowo

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Wykrywanie twarzy na zdjęciach przy pomocy kaskad Wykrywanie twarzy na zdjęciach przy pomocy kaskad Analiza i przetwarzanie obrazów Sebastian Lipnicki Informatyka Stosowana,WFIIS Spis treści 1. Wstęp... 3 2. Struktura i funkcjonalnośd... 4 3. Wyniki...

Bardziej szczegółowo

Technologie Informacyjne Mechatronika 2012/2013 Algorytmy. Podstawy programowania

Technologie Informacyjne Mechatronika 2012/2013 Algorytmy. Podstawy programowania Technologie Informacyjne Mechatronika 2012/2013 Algorytmy. Podstawy programowania 1. Wstęp Celem laboratorium jest przećwiczenie tworzenia algorytmów. Podczas laboratorium każdy z uczestników zapozna się

Bardziej szczegółowo

Strzelanka dla dwóch graczy

Strzelanka dla dwóch graczy Strzelanka dla dwóch graczy Zadanie 5: Strzelanie Dodanie zmiennej globalnej W naszej grze pojawia się problem. Skąd pocisk ma wiedzieć, w którą stronę lecieć? Pocisk nie może sprawdzić kąta nachylenia

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010 Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010 Czym jest Excel 2010 Excel jest programem umożliwiającym tworzenie tabel, a także obliczanie i analizowanie danych. Należy do typu

Bardziej szczegółowo

Podstawy OpenCL część 2

Podstawy OpenCL część 2 Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Sortowanie Shella Shell Sort

Sortowanie Shella Shell Sort Sortowanie Shella Shell Sort W latach 50-tych ubiegłego wieku informatyk Donald Shell zauważył, iż algorytm sortowania przez wstawianie pracuje bardzo efektywnie w przypadku gdy zbiór jest w dużym stopniu

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

ECDL Podstawy programowania Sylabus - wersja 1.0

ECDL Podstawy programowania Sylabus - wersja 1.0 ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy

Bardziej szczegółowo

Ekonometria. Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej

Ekonometria. Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej Regresja liniowa, współczynnik zmienności, współczynnik korelacji liniowej, współczynnik korelacji wielorakiej Paweł Cibis pawel@cibis.pl 23 lutego 2007 1 Regresja liniowa 2 wzory funkcje 3 Korelacja liniowa

Bardziej szczegółowo

Zmiany. Initial Step krok inicjujący sekwenser

Zmiany. Initial Step krok inicjujący sekwenser Zmiany Initial Step krok inicjujący sekwenser W ferworze walki czasem usuniemy krok inicjujący (po rozpoczęciu FB z GRAPH jest on standardowo oznaczony S1). Skutkuje to tym, że wszystko wygląda dobrze,

Bardziej szczegółowo

Numeryczna algebra liniowa

Numeryczna algebra liniowa Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów

Bardziej szczegółowo

Site Installer v2.4.xx

Site Installer v2.4.xx Instrukcja programowania Site Installer v2.4.xx Strona 1 z 12 IP v1.00 Spis Treści 1. INSTALACJA... 3 1.1 Usunięcie poprzedniej wersji programu... 3 1.2 Instalowanie oprogramowania... 3 2. UŻYTKOWANIE

Bardziej szczegółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie

Bardziej szczegółowo

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................

Bardziej szczegółowo

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu

Bardziej szczegółowo

która metoda jest najlepsza

która metoda jest najlepsza która metoda jest najlepsza dr inż. Marek Żabka Instytut Matematyki Wydział Matematyki Stosowanej Politechnika Śląska 20 września 2012r Nowa metoda tworzenia grafiki na stronie internetowej: element,,canvas

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

Analiza problemu niewidoczności przedmiotu w Ekstazjuszu.

Analiza problemu niewidoczności przedmiotu w Ekstazjuszu. Analiza problemu niewidoczności przedmiotu w Ekstazjuszu. W przypadku gdy określony blok lub przedmiot nie jest widziany w Ekstazjuszu, należy w pierwszym momencie sprawdzić czy na pewno wszystkie dane

Bardziej szczegółowo

Dodawanie grafiki i obiektów

Dodawanie grafiki i obiektów Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,

Bardziej szczegółowo

Niniejszy dokument przedstawia opis najważniejszych zmian funkcjonalnych w nowej wersji programu Carwert (dostępnej od wersji Marzec 2015)

Niniejszy dokument przedstawia opis najważniejszych zmian funkcjonalnych w nowej wersji programu Carwert (dostępnej od wersji Marzec 2015) NCW opis zmian Niniejszy dokument przedstawia opis najważniejszych zmian funkcjonalnych w nowej wersji programu Carwert (dostępnej od wersji Marzec 2015) 1. INTERFEJS I NAWIGACJA Wraz z nową wersją programu

Bardziej szczegółowo

EFEKTYWNOŚĆ MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ

EFEKTYWNOŚĆ MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ EFEKTYWNOŚĆ MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ 1 Mnożenie macierzy dostęp do pamięci podręcznej [język C, kolejność - j,i,k][1] A[i][*] lokalność przestrzenna danych rózne A,B,C są

Bardziej szczegółowo

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0, 2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d

Bardziej szczegółowo