Biblioteki graficzne MPI - MPE

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

Download "Biblioteki graficzne MPI - MPE"

Transkrypt

1 Biblioteki graficzne MPI - MPE Michał Sajkowski Mirosław Kupczyk

2 literatura [Chan1998] A. Chan, W. Gropp, E. Lusk, User s Guide formpe: Extensions to MPI Programs, ANL Web pages for MPI and MPE: [Chan2005] A. Chan, D. Ashton, R. Lusk, W. Gropp, Jumpshot-4 Users Guide, ANL, May

3 literatura [Gropp1999] W. Gropp, E. Lusk, A. Skjellum, Using MPI. Portable Parallel Programming with the Message Passing Interface, 2nd edition, The MIT Press 1999 [PerfVis] Performance Visualization for Parallel Programs, 3

4 literatura [Meglicki2004] Z. Meglicki, High Performance Data Management and Processing, I590, Section 7462, Indiana University, April 2004, 407 pages. 4

5 co to jest MPE? MPE (Multi-Processing Environment) jest to pakiet zapewniajcy programicie kompletny zestaw narzdzi analizy wydajnoci programów MPI pakiet ten zawiera: biblioteki profilujce programy uytkowe narzdzia wizualizacji 5

6 biblioteki profilujce zawieraj programy do tworzenia plików dziennika (logi) pliki te mona tworzy na trzy sposoby: rcznie za pomoc wywoła MPE w programie MPI automatycznie przez linkowanie bibliotek MPE łcznie oboma sposobami 6

7 biblioteki profilujce MPE oferuje obecnie trzy biblioteki profilujce: bibliotekladów (Tracing Library) bibliotek animacji (Animation Library) bibliotek dzienników (Logging Library) 7

8 biblioteka ladów ledzi wszystkie wywołania MPI kade wywołanie MPI jest poprzedzone lini zawierajc numer procesu w MPI_COMM_WORLD procesu wywołujcego, po której jest linia wskazujca e wywołanie si zakoczyło wiele programów nadawania i obioru wskazuje warto licznika, etykiety i partnera (dest/source) wyjcie jest kierowane na wyjcie standardowe 8

9 biblioteka animacji prosty program animacji w czasie rzeczywistym wymaga X-window 9

10 biblioteka dzienników najczciej wykorzystywana biblioteka w MPE tworzy podstawy dla generowania dzienników z programów MPI formaty plików dziennika: CLOG, ALOG i SLOG 10

11 formaty plików dziennika CLOG format domylny, zbiór zdarze etykietowanych czasem ALOG dla kompatybilnoci wstecznej SLOG Scalable LOG, najmocniejszy, przekształcany z CLOG (preferowane), albo generowany przy wykonywaniu programu MPI (zmienna MPE_LOG_FORMAT ustawiona na SLOG) 11

12 programy uytkowe konwertery formatu dziennika (clog2slog) programy wydruku dziennika (slog_print) 12

13 narzdzia wizualizacji programy do wywietlania dziennika (upshot dla ALOG, jumpshot-2 dla CLOG i jumpshot-3 dla SLOG) 13

14 mechanizmy tworzenia dziennika dziennik zdarze: kady element dziennika ma tylko etykiet czasow dziennik stanów: kady element dziennika zawiera etykiet czasow zdarzenia pocztkowego i zdarzenia kocowego dziennik graficzny: element dziennika to w pełni graficzny obiekt 14

15 formaty plików dziennika dziennik zdarze: ALOG, BLOG, CLOG dziennik stanów: SLOG-1 dziennik graficzny: SLOG-2 15

16 ALOG przykład: plik ASCII zdarze i stanów [Meglicki2004]: cyan:boxes BCAST purple:2x2 REDUCE 16

17 SLOG-2 przykład [Meglicki2004]: Number of Drawables = 16 Number of Unmatched Events = 0 Total ByteSize of the logfile = 3688 timeelapsed between 1 & 2 = 873 msec timeelapsed between 2 & 3 = 50 msec 17

18 cele biblioteki MPE analiza i wizualizacja programu MPI wizualizacja danych obsługiwanych przez program MPI 18

19 wyposaenie programu MPI w mechanizmy MPE omówimy teraz, korzystajc z analizy przedstawionej w [Meglicki2004], sposób wyposaenia programu MPI w mechanizmy MPE 19

20 wyposaenie programu MPI w mechanizmy MPE jak wyposay program jak czyta dziennik wykorzystywane narzdzia wizualizacji przykład zaczerpnity z [Meglicki2004] 20

21 wyposaenie programu MPI w mechanizmy MPE MPE zapewnia zaawansowane narzdzia do zapisu zdarze i stanów programu do dziennika dzienniki s tworzone na bieco i zapisywane w pamici, aby zminimalizowa wpływ zapisu na działanie programu po zakoczeniu programu zapisywany jest plik dziennika 21

22 wyposaenie programu MPI w mechanizmy MPE zapisowi do dziennika towarzysz dokładne etykiety czasowe pozwala to okreli i rozwiza problemy z synchronizacj, komunikacj oraz zapewni optymalizacj tych działa moemy w ten sposób wpływa na wykonanie programu 22

23 wyposaenie programu MPI w mechanizmy MPE tworzenie dziennika z etykietami czasowymi, zwane tworzeniem dziennika MPE, jest realizowane domylnie obowizuje zasada, e wszystko, co zdarzy si w programie, jest zapisywane w dzienniku dziennik mona potem dostosowa do potrzeb 23

24 wyposaenie programu MPI w mechanizmy MPE aby uruchomi tworzenie dziennika MPE, przy kompilacji programu naley dolinkowa bibliotek lmpe: jeeli programem kompilowanym jest program MPI wyliczania liczby π, o nazwie cpi, mamy: mpicc c cpi cpi.c llmpe -lmpe 24

25 wyposaenie programu MPI w mechanizmy MPE wtedy po wykonywaniu programu cpi: mpiexec n 8 cpi w treci wyniku działania programu pojawi si dwie linie: Writing logfile. Finished writing logfile. a w katalogu plik dziennika cpi.clog 25

26 wyposaenie programu MPI w mechanizmy MPE mona przekształci plik dziennika clog w plik slog2, poleceniem: clogt0slog2 cpi.clog i otrzyma bardziej czytelny plik cpi.slog2 a nastpnie uruchomi program jumpshot na pliku slog2 26

27 wyposaenie programu MPI w mechanizmy MPE jumpshot jest stosunkowo duym programem w jzyku Java, który czyta plik slog2 i wywietla zdarzenia i stany programu w postaci wielu długich, poziomych termometrów, gdzie kady termometr odpowiada jednemu procesowi 27

28 wyposaenie programu MPI w mechanizmy MPE przesyłanie komunikatów jest oznaczane za pomoc strzałek, łczcych róne termometry w ten sposób łatwo zobaczy, kiedy komunikat został nadany, a kiedy odebrany rónym stanom procesu odpowiadaj róne kolory termometru 28

29 wyposaenie programu MPI w mechanizmy MPE przykład z jumpshot-4 [Chan2005]: 29

30 wyposaenie programu MPI w mechanizmy MPE obliczanie moe by oznaczone kolorem czerwonym, czekanie na dane kolorem czarnym, itp. okno wywietlajce termometry nazywa si Timeline Window duy program moe dawa nieczytelny rysunek, który mona oglda za pomoc opcji szkła powikszajcego 30

31 wyposaenie programu MPI w mechanizmy MPE w celu dopasowania zapisu dziennika, naley program MPI jawnie wyposay w odpowiednie mechanizmy zacytujemy przykład wyposaenia programu MPI w mechanizmy MPE, podany w [Meglicki2004], analizujcy znany program cpi.c, znajdujcy si w dokumentacji MPICH2 31

32 wyposaenie programu MPI w mechanizmy MPE #include <mpi.h> #include <mpe.h> #include <math.h> #include <stdio.h> double f( double ); double f(double a) { return (4.0 / (1.0 + a*a)); } 32

33 wyposaenie programu MPI w mechanizmy MPE int main( int argc, char *argv[]) { int n, myid, numprocs, i, j; double PI25DT = double mypi, pi, h, sum, x; double startwtime = 0.0, endwtime; int namelen; int event1a, event 1b, event2a, event2b, event3a, event3b, event4a, event4b; char processor_name[mpi_max_processor_name]; MPI_Init(&argc, &argv); 33

34 wyposaenie programu MPI w mechanizmy MPE MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Comm_Size(MPI_COMM_WORLD, &myid); MPI_Get_processor_name(processor_name, &namelen); printf(stderr,"process %d running on%s\n", myid, processor_name); MPE_Init_log(); 34

35 wyposaenie programu MPI w mechanizmy MPE /* we event ID z MPE, uytkownik nie powinien przydziela event ID */ event1a = MPE_Log_get_event_number(); event1b = MPE_Log_get_event_number(); event2a = MPE_Log_get_event_number(); event2b = MPE_Log_get_event_number(); event3a = MPE_Log_get_event_number(); event3b = MPE_Log_get_event_number(); event4a = MPE_Log_get_event_number(); event4b = MPE_Log_get_event_number(); 35

36 wyposaenie programu MPI w mechanizmy MPE if (myid == 0) { MPE_Describe_state(event1a, event1b, "Broadcast", "red"); MPE_Describe_state(event2a, event2b, "Compute", "blue"); MPE_Describe_state(event3a, event3b, "Reduce", "green"); MPE_Describe_state(event4a, event4b, "Sync", "orange"); } if (myid == 0) { n = ; startwtime = MPI_Wtime(); } 36

37 wyposaenie programu MPI w mechanizmy MPE MPI_Barrier(MPI_COMM_WORLD); MPE_Start_log(); for (j = 0; j < 5; j++) { MPE_Log_event(event1a, 0, "start broadcast"); MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); MPE_Log_event(event1b, 0, "end broadcast"); 37

38 wyposaenie programu MPI w mechanizmy MPE MPE_Log_event(event4a, 0, "Start Sync"); MPI_Barrier(MPI_COMM_WORLD); MPE_Log_event(event4b, 0, "End Sync"); MPE_Log_event(event2a, 0, "start compute"); h = 1.0 / (double) n; sum = 0.0; for (i = myid + 1; i <=n; i += numprocs) { x = h * ((double)i 0.5); sum += f(x); } 38

39 wyposaenie programu MPI w mechanizmy MPE mypi = h * sum; MPE_Log_event(event2b, 0, "end compute"); MPE_Log_event(event3a, 0, "start reduce"); MPI_Reduce(&mypi, &pi,1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); MPE_Log_event(event3b, 0, "end reduce"); } MPE_Finish_log("cpilog "); if (myid == 0) { 39

40 wyposaenie programu MPI w mechanizmy MPE if (myid == 0) { endwtime = MPI_Wtime(); printf("pi is approximately %.16f, Error is %.16f\n", pi, fabs(pi PI25DT)); printf("wall clock time = %f\n", endwtime-startwtime); } } MPI_Finalize(); return(0); 40

41 wyposaenie programu MPI w mechanizmy MPE program ten mona zlinkowa z bibliotek lmpe nastpujco: mpicc o cpilog cpilog.c lmpe po uruchomieniu, generuje si plik cpilog.clog, który nastpnie jest przetwarzany za pomoc clogt0slog2 i ogldany programem jumpshot 41

42 wyposaenie programu MPI w mechanizmy MPE przyjrzyjmy si bliej programowi wyposaonemu w mechanizmy MPE wywołanie funkcji MPE_Init_log() inicjuje podsystem tworzenia dziennika ta funkcja jest wywołana jawnie, kiedy program jest zlinkowany z bibliotek -lmpe 42

43 wyposaenie programu MPI w mechanizmy MPE zalet jawnego zapisu dziennika jest moliwo wyboru, co si zapisuje przy linkowaniu programu z bibliotekami llmpe lmpe, funkcja ta jest wywołana przez bibliotek llmpe zaraz na pocztku programu, w sposób niejawny wtedy wszystko jest zapisywane w dzienniku 43

44 wyposaenie programu MPI w mechanizmy MPE po inicjacji zapisu dziennika, definiuje si zdarzenia, przydzielajc dynamicznie generowane liczby całkowite zdarzeniom: event1a = MPE_Log_get_event_number(); event1b = MPE_Log_get_event_number(); event2a = MPE_Log_get_event_number(); event2b = MPE_Log_get_event_number(); event3a = MPE_Log_get_event_number(); event3b = MPE_Log_get_event_number(); event4a = MPE_Log_get_event_number(); event4b = MPE_Log_get_event_number(); 44

45 wyposaenie programu MPI w mechanizmy MPE nastpnie definiuje si stany wywołujc funkcje MPE_Describe_state: if (myid == 0) { MPE_Describe_state(event1a, event1b, "Broadcast", "red"); MPE_Describe_state(event2a, event2b, "Compute", "blue"); MPE_Describe_state(event3a, event3b, "Reduce", "green"); MPE_Describe_state(event4a, event4b, "Sync", "orange"); } 45

46 wyposaenie programu MPI w mechanizmy MPE definicje nie podaj jeszcze czym s te zdarzenia, ale teraz programista musi podj decyzj zdarzenia event1a i event1b to pocztek i koniec rozgłaszania (broadcast) kiedy dziennik jest analizowany przez program jumpshot, czas trwania rozgłaszania jest oznaczony czerwonym paskiem 46

47 wyposaenie programu MPI w mechanizmy MPE podobnie, obliczenie moe by oznaczone na niebiesko, MPI_Reduce na zielono, a czas trwania MPI_Barrier na pomaraczowo std działania oznaczone na niebiesko maj tu znaczenie pozytywne, a innym kolorem negatywne 47

48 wyposaenie programu MPI w mechanizmy MPE definicja stanu jest okrelana dla jednego procesu, pozostałe j akceptuj sam zapis dziennika rozpoczyna si wywołaniem funkcji MPE_Start_log() wtedy podajemy, co oznacza dane zdarzenie, poczynajc od zdarzenia event1a do zdarzenia event4b 48

49 wyposaenie programu MPI w mechanizmy MPE funkcja MPE_Log_event zapisuje zdarzenie event1a, oznaczajce start broadcast, tu przed wywołaniem MPI_Bcast : MPE_Log_event(event1a, 0, "start broadcast"); MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); MPE_Log_event(event1b, 0, "end broadcast"); i zdarzenie event1b, oznaczajce end broadcast tu po zakoczeniu MPI_Bcast jumpshot pokazuje ten czas na czerwono 49

50 wyposaenie programu MPI w mechanizmy MPE podobnie moemy zakreli wywołanie funkcji MPI_Barrier zdarzeniami event4a i event4b : MPE_Log_event(event4a, 0, "Start Sync"); MPI_Barrier(MPI_COMM_WORLD); MPE_Log_event(event4b, 0, "End Sync"); 50

51 wyposaenie programu MPI w mechanizmy MPE równie moemy oznaczy całe obliczanie zdarzeniami event2a i event2b : MPE_Log_event(event2a, 0, "start compute"); h = 1.0 / (double) n; sum = 0.0; for (i = myid + 1; i <=n; i += numprocs) { x = h * ((double)i 0.5); sum += f(x); } mypi = h * sum; MPE_Log_event(event2b, 0, "end compute"); 51

52 wyposaenie programu MPI w mechanizmy MPE i na koniec zaznaczamy wywołanie MPI_Reduce zdarzeniami event3a i event3b : MPE_Log_event(event3a, 0, "start reduce"); MPI_Reduce(&mypi, &pi,1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); MPE_Log_event(event3b, 0, "end reduce"); 52

53 wyposaenie programu MPI w mechanizmy MPE wywołanie funkcji MPE_Finish_log("cpilog "); zamyka dziennik i zapisuje go do pliku cpilog.clog to wywołanie jest wydane jawnie, kiedy stosuje si linkowanie jedynie z bibliotek lmpe kiedy jest linkowanie z bibliotekami llmpe i lmpe, wtedy plik jest generowany automatycznie 53

54 wyposaenie programu MPI w mechanizmy MPE poniewa programista moe si pomyli, wtedy lepiej stosowa automatyczny zapis do dziennika 54

55 grafika MPE stworzono j dla równoległego wywietlania danych z wielu procesów w jednym oknie X zawiera programy rysujce i dwa programy odczytujce pozycj myszki oraz prostokt zakrelany myszk pokaemy przykład grafiki MPE z wykorzystaniem programu cxgraphics.c z ksiki [Meglitski2004] 55

56 grafika MPE oto kod programu cxgraphics.c : #include <stdio.h> #include <stdlib.h> #include "mpe.h" #include "mpe_graphics.h" int main( int argc, char** argv ) { MPE_XGraph graph; int ierr, mp_size, my_rank; MPE_Color my_color; char ckey; 56

57 grafika MPE MPI_Init( &argc, &argv ); MPI_Comm_size( MPI_COMM_WORLD, &mp_size ); MPI_Comm_rank( MPI_COMM_WORLD, &my_rank ); ierr = MPE_Open_graphics( &graph, MPI_COMM_WORLD, NULL, if ( ierr!= MPE_SUCCESS ) { } -1, -1, 400, 400, 0 ); fprintf( stderr, "%d : MPE_Open_graphics() fails\n", my_rank ); ierr = MPI_Abort( MPI_COMM_WORLD, 1 ); 57

58 grafika MPE my_color = (MPE_Color) (my_rank + 1); if ( my_rank == 0 ) ierr = MPE_Draw_string( graph, 187, 205, MPE_BLUE, "Hello" ); ierr = MPE_Draw_circle( graph, 200, 200, 20+my_rank*5, my_color ); ierr = MPE_Update( graph ); if ( my_rank == 0 ) { fprintf( stdout, "Hit any key then return to continue " ); fscanf( stdin, "%s", &ckey ); fprintf( stdout, "\n" ); } 58

59 grafika MPE MPI_Barrier( MPI_COMM_WORLD ); ierr = MPE_Close_graphics( &graph ); MPI_Finalize(); } return 0; 59

60 grafika MPE program ten linkuje i kompiluje si poleceniem: mpicc -o cxgraphics cxgraphics.c -lmpe -L/usr/X11R6/lib -lx11 lm nastpnie mona go uruchomi poleceniem: mpiexec n 16 cxgraphics program ten rysuje proste figury geometryczne i wywietla napisy w kolorze 60

61 grafika MPE wyjanijmy wpierw procedury graficzne w programie: po inicjacji MPI: MPI_Init( &argc, &argv ); MPI_Comm_size( MPI_COMM_WORLD, &mp_size ); MPI_Comm_rank( MPI_COMM_WORLD, &my_rank ); program otwiera okno X11: ierr = MPE_Open_graphics( &graph, MPI_COMM_WORLD, NULL, -1, -1, 400, 400, 0 ); 61

62 grafika MPE ierr = MPE_Open_graphics( &graph, MPI_COMM_WORLD, NULL, -1, -1, 400, 400, 0 ); &graph to wskanik do zmiennej MPE_Xgraph, po otwarciu okna, procedury rysujce odnosz si do rysunku graph komunikator nazwa ekranu, moe bynull rozmiar okna 400pixels x 400pixels 0, to tryb niekolektywny funkcji 62

63 grafika MPE poniewa jest to tryb niekolektywny, wiele procesów zwraca róne odpowiedzi testuje si jak inne błdy były obsługiwane fragmentem programu: if ( ierr!= MPE_SUCCESS ) { } fprintf( stderr, "%d : MPE_Open_graphics() fails\n", my_rank ); ierr = MPI_Abort( MPI_COMM_WORLD, 1 ); 63

64 grafika MPE if ( ierr!= MPE_SUCCESS ) { } fprintf( stderr, "%d : MPE_Open_graphics() fails\n", my_rank ); ierr = MPI_Abort( MPI_COMM_WORLD, 1 ); proces, któremu nie udało si uzyska dostpu do ekranu X11 i otworzy swojej czci okna X11, pisze komunikat o błdzie i rezygnuje, co moe zakoczy cały program MPI 64

65 grafika MPE zakładajc, e tak si nie stało, proces definiuje swój kolor: my_color = (MPE_Color) (my_rank + 1); a proces o numerze 0 wywietla słowo hello w oknie: if ( my_rank == 0 ) ierr = MPE_Draw_string( graph, 187, 205, MPE_BLUE, "Hello" ); 65

66 grafika MPE if ( my_rank == 0 ) ierr = MPE_Draw_string( graph, 187, 205, MPE_BLUE, "Hello" ); pierwszy argument funkcji MPE_Draw_string to graph zwracany przez MPE_Open_graphics drugi i trzeci to współrzdne pocztku łacucha w pikselach, wzgldem lewego górnego rogu okna, czwarty to kolor łacucha, ostatni to sam łacuch (tekst) 66

67 grafika MPE teraz kady proces rysuje koło własnego koloru, o rodku w punkcie (200,200): ierr = MPE_Draw_circle( graph, 200, 200, 20+my_rank*5, my_color ); argumenty funkcji to: graph, współrzdne rodka, promie koła w pikselach, kolor nastpnie wywoływana jest funkcja: ierr = MPE_Update( graph ); 67

68 grafika MPE nastpnie wywoływana jest funkcja: ierr = MPE_Update( graph ); zapewniajca, e wszystko co jest rysowane na obiekcie graph jest przekazane do okna X11 68

69 grafika MPE w tym momencie program czeka na uytkownika, a co napisze na klawiaturze w przeciwnym razie obraz zniknie prawie natychmiast: if ( my_rank == 0 ) { } fprintf( stdout, "Hit any key then return to continue " ); fscanf( stdin, "%s", &ckey ); fprintf( stdout, "\n" ); MPI_Barrier( MPI_COMM_WORLD ); 69

70 grafika MPE zauwamy, e to process 0 jest odpowiedzialny za konsol inne procesy czekaj na barier bariera musi by, gdy mamy potem: ierr = MPE_Close_graphics( &graph ); 70

71 grafika MPE gdyby tak nie było, inne procesy mogłyby pobra swoje czci rysunku, ale poniewa jest bariera, mog to zrobi dopiero po napisaniu czego przez uytkownika na klawiaturze program koczy si standardowo: MPI_Finalize(); } return 0; 71

72 grafika MPE Wszystkie procesy współdziel ten sam obiekt graph. Kady proces ma dostp do dowolnego piksela to zaley od programisty, czy one sobie nie przeszkadzaj 72

73 Jumpshot-4 [Chan2005] 73

74 Jumpshot-4 [Chan2005] 74

Komunikacja kolektywna w środowisku MPI

Komunikacja kolektywna w środowisku MPI Komunikacja kolektywna w środowisku MPI Zakres ćwiczenia W tym ćwiczeniu dowiesz się, co to jest komunikacja kolektywna i w jaki sposób napisać swój pierwszy program wykorzystujący komunikację kolektywną

Bardziej szczegółowo

Programowanie Równoległe Wykład 5. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Programowanie Równoległe Wykład 5. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej Programowanie Równoległe Wykład 5 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Dorobiliśmy się strony WWW www.ift.uni.wroc.pl/~koma/pr/index.html MPI, wykład 2. Plan: - komunikacja

Bardziej szczegółowo

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej Programowanie Równoległe Wykład 4 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Jak używać w MPI? Donald Knuth: We should forget about small efficiencies, say about 97% of

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

Operacje grupowego przesyłania komunikatów. Krzysztof Banaś Obliczenia równoległe 1

Operacje grupowego przesyłania komunikatów. Krzysztof Banaś Obliczenia równoległe 1 Operacje grupowego przesyłania komunikatów Krzysztof Banaś Obliczenia równoległe 1 Operacje grupowego przesyłania komunikatów Operacje, w ramach których ten sam komunikat lub zbiór komunikatów przesyłany

Bardziej szczegółowo

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int

Bardziej szczegółowo

Programowanie współbieżne... (5)

Programowanie współbieżne... (5) Programowanie współbieżne... (5) Andrzej Baran 2010/11 LINK: http://kft.umcs.lublin.pl/baran/prir/index.html 6 FUNKCJI Proste programy MPI można pisać używając tylko 6 funkcji Programowanie współbieżne...

Bardziej szczegółowo

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

Programowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu przesyłania komunikatów specyfikacja MPI Krzysztof Banaś Obliczenia równoległe 1 Model przesyłania komunikatów Paradygmat send receive wysyłanie komunikatu: send( cel, identyfikator_komunikatu,

Bardziej szczegółowo

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 MPI dynamiczne zarządzanie procesami MPI 2 umożliwia dynamiczne zarządzanie procesami, choć

Bardziej szczegółowo

Programowanie współbieżne... (4) Andrzej Baran 2010/11

Programowanie współbieżne... (4) Andrzej Baran 2010/11 Programowanie współbieżne... (4) Andrzej Baran 2010/11 LINK: http://kft.umcs.lublin.pl/baran/prir/index.html Przykład Zaczniemy od znanego już przykładu: Iloczyn skalarny różne modele Programowanie współbieżne...

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty wywołania programu, operacje na plikach Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

Rysowanie punktów na powierzchni graficznej Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury

Bardziej szczegółowo

PARADYGMATY I JĘZYKI PROGRAMOWANIA. Programowanie współbieżne... (w13)

PARADYGMATY I JĘZYKI PROGRAMOWANIA. Programowanie współbieżne... (w13) PARADYGMATY I JĘZYKI PROGRAMOWANIA Programowanie współbieżne... (w13) Treść 2 Wstęp Procesy i wątki Szybkość obliczeń prawo Amdahla Wyścig do zasobów Synchronizacja i mechanizmy synchronizacji semafory

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

Podstawowe obiekty AutoCAD-a

Podstawowe obiekty AutoCAD-a LINIA Podstawowe obiekty AutoCAD-a Zad1: Narysowa lini o pocztku w punkcie o współrzdnych (100, 50) i kocu w punkcie (200, 150) 1. Wybierz polecenie rysowania linii, np. poprzez kilknicie ikony. W wierszu

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Operacje grupowego przesyłania komunikatów

Operacje grupowego przesyłania komunikatów Operacje grupowego przesyłania komunikatów 1 Operacje grupowego przesyłania komunikatów Operacje, w ramach których ten sam komunikat lub zbiór komunikatów przesyłany jest pomiędzy więcej niż dwoma procesami

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using

Bardziej szczegółowo

Biblioteka standardowa - operacje wejścia/wyjścia

Biblioteka standardowa - operacje wejścia/wyjścia Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline

Bardziej szczegółowo

Podział programu na moduły

Podział programu na moduły Materiały Podział programu na moduły Informatyka Szczegółowe informacje dotyczące wymagań odnośnie podziału na moduły: http://www.cs.put.poznan.pl/wcomplak/bfiles/c_w_5.pdf Podział programu na moduły pozwala

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Optymalizacja komunikacji w systemach rozproszonych i równoległych

Optymalizacja komunikacji w systemach rozproszonych i równoległych Optymalizacja komunikacji w systemach rozproszonych i równoległych Szkolenie PCSS, 16.12.2001 literatura W. Gropp, E. Lusk, An Introduction to MPI, ANL P.S. Pacheco, A User s Guide to MPI, 1998 Ian Foster,

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

Zadania do wykonaj przed przyst!pieniem do pracy:

Zadania do wykonaj przed przyst!pieniem do pracy: wiczenie 3 Tworzenie bazy danych Biblioteka tworzenie kwerend, formularzy Cel wiczenia: Zapoznanie si ze sposobami konstruowania formularzy operujcych na danych z tabel oraz metodami tworzenia kwerend

Bardziej szczegółowo

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej

Bardziej szczegółowo

Programowanie w standardzie MPI

Programowanie w standardzie MPI Programowanie w standardzie MPI 1 2 Podstawy programowania z przesyłaniem komunikatów Model systemu równoległego w postaci p procesów, każdy z nich z własną przestrzenią adresową, nie współdzieloną z innymi

Bardziej szczegółowo

Podstawy programowania w C++

Podstawy programowania w C++ Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!! Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed

Bardziej szczegółowo

Enterprise, czyli instytutowy klaster obliczeniowy

Enterprise, czyli instytutowy klaster obliczeniowy Enterprise, czyli instytutowy klaster obliczeniowy Janusz Szwabiński szwabin@ift.uni.wroc.pl Enterprise, czyli instytutowy klaster obliczeniowy p.1/28 Plan wykładu Klastry komputerowe Enterprise od podszewki

Bardziej szczegółowo

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora. I. Temat wiczenia Podstawy tworzenia stron WAP II. Wymagania Podstawowe wiadomoci z technologii Internetowych. III. wiczenie 1. Wprowadzenie WAP (ang. Wireless Application Protocol) - to protokół umoliwiajcy

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

Operacje wejścia/wyjścia odsłona pierwsza

Operacje wejścia/wyjścia odsłona pierwsza Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

3. Instalator rozpocznie proces instalacji

3. Instalator rozpocznie proces instalacji Uwaga! Podana instrukcja instalacji została przygotowana w oparciu o pliki instalacyjne SQL 2005 Express pobrany ze strony Microsoftu oraz oddzielny plik Service Pack 2 dedykowany pod SQL Express równie

Bardziej szczegółowo

Schematy blokowe. Algorytmy Marek Pudełko

Schematy blokowe. Algorytmy Marek Pudełko Schematy blokowe Algorytmy Marek Pudełko Metody zapisu algorytmów Algorytmy można zapisywać w postaci słownej, listy kroków lub symbolicznej - używając metajęzyków. Metajęzyk to język bardzo ogólny - opisujący

Bardziej szczegółowo

Laboratorium 9 (Więcej Aktywności, w Androidzie)

Laboratorium 9 (Więcej Aktywności, w Androidzie) Dr Mirosław Łątka Informatyka dla medycyny Jesień 2012 Laboratorium 9 (Więcej Aktywności, w Androidzie) Aplikacje systemu Android składają się z luźnego zbioru aktywności (ang. activities), z których każda

Bardziej szczegółowo

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

geometry a w przypadku istnienia notki na marginesie: 1 z 5

geometry a w przypadku istnienia notki na marginesie: 1 z 5 1 z 5 geometry Pakiet słuy do okrelenia parametrów strony, podobnie jak vmargin.sty, ale w sposób bardziej intuicyjny. Parametry moemy okrela na dwa sposoby: okrelc je w polu opcji przy wywołaniu pakiety:

Bardziej szczegółowo

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

5 Przygotował: mgr inż. Maciej Lasota

5 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 5 1/6 Język C Instrukcja laboratoryjna Temat: Funkcje, parametry linii poleceń, typ wyliczeniowy. 5 Przygotował: mgr inż. Maciej Lasota 1) Parametry linii poleceń. Język C oprócz wprowadzania

Bardziej szczegółowo

Program SMS4 Monitor

Program SMS4 Monitor Program SMS4 Monitor INSTRUKCJA OBSŁUGI Wersja 1.0 Spis treci 1. Opis ogólny... 2 2. Instalacja i wymagania programu... 2 3. Ustawienia programu... 2 4. Opis wskaników w oknie aplikacji... 3 5. Opcje uruchomienia

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h > PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece

Bardziej szczegółowo

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Uruchamianie edytora OpenOffice.ux.pl Writer 9 Dostosowywanie środowiska pracy 11 Menu Widok 14 Ustawienia dokumentu 16 Rozdział 2. OpenOffice

Bardziej szczegółowo

Wskaźniki w C. Anna Gogolińska

Wskaźniki w C. Anna Gogolińska Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne

Bardziej szczegółowo

INSTYTUT TECHNIKI Zakad Elektrotechniki i Informatyki mdymek@univ.rzeszow.pl FLASH

INSTYTUT TECHNIKI Zakad Elektrotechniki i Informatyki mdymek@univ.rzeszow.pl FLASH Interfejs programu INSTYTUT TECHNIKI FLASH 1. Górne menu, z którego mo%na wybiera( polecenia. Niektóre polecenia w menu skrywaj, kolejne zestawy polece- (podmenu). Inne te, po których nazwie wyst1puje

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok

Bardziej szczegółowo

Utworzenie pliku. Dowiesz się:

Utworzenie pliku. Dowiesz się: Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program

Bardziej szczegółowo

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h > PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece

Bardziej szczegółowo

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza 165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie

Bardziej szczegółowo

KONKURS PRZEDMIOTOWY INFORMATYCZNY DLA UCZNIÓW GIMNAZJUM

KONKURS PRZEDMIOTOWY INFORMATYCZNY DLA UCZNIÓW GIMNAZJUM ... piecztka WKK KONKURS PRZEDMIOTOWY INFORMATYCZNY DLA UCZNIÓW GIMNAZJUM ETAP WOJEWÓDZKI Drogi Uczniu, witaj w II etapie konkursu informatycznego. Przeczytaj uwanie instrukcj i postaraj si prawidłowo

Bardziej szczegółowo

Praktyka programowania projekt

Praktyka programowania projekt Praktyka programowania projekt Zadanie projektowe nr. 2 Gra PacMan K. M. Ocetkiewicz, T Goluch 19 listopada 2012 Plan prezentacji Opis 2 zadania projektowego Plan prezentacji Opis 2 zadania projektowego

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Ćwiczenie nr 3. Temat: Definicje i wykorzystanie funkcji, parametry funkcji

Ćwiczenie nr 3. Temat: Definicje i wykorzystanie funkcji, parametry funkcji Ćwiczenie nr 3 Temat: Definicje i wykorzystanie funkcji, parametry funkcji Zagadnienia: Definicja funkcji składnia podstawowa. Sposoby przekazania parametrów (argumentów) funkcji: przez wartość, przez

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład

Bardziej szczegółowo

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Środowisko przesyłania komunikatów MPI Rodzaje procedur: blokujące nieblokujące Tryby przesyłania

Bardziej szczegółowo

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP Modele programowania równoległego Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP MPP - Cechy charakterystyczne 1 Prywatna, wyłączna przestrzeń adresowa.

Bardziej szczegółowo

Zadanie 2: Arytmetyka symboli

Zadanie 2: Arytmetyka symboli 1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

Bardziej szczegółowo

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Wprowadzenie do QT OpenGL

Wprowadzenie do QT OpenGL Wprowadzenie do QT mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/21 - Open Graphics Library Open Graphics Library API pozwalające na wykorzystanie akceleracji sprzętowej do renderowania

Bardziej szczegółowo

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,

Bardziej szczegółowo

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

Instrukcja obsługi programu Pilot PS 5rc

Instrukcja obsługi programu Pilot PS 5rc Instrukcja obsługi programu Pilot PS 5rc Spis treci 1.Wprowadzenie....3 2. Wymagania....3 3. Instalacja oprogramowania...3 4. Uruchomienie Programu...5 4.1. Menu główne...5 4.2. Zakładki...6 5. Praca z

Bardziej szczegółowo

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24 Programowanie w C++ Wykład 11 Katarzyna Grzelak 21 maja 2018 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24 Strumienie Strumień bajtów płynacy od źródła do ujścia: 1 standardowe strumienie wejściowe

Bardziej szczegółowo

Instrukcja obsługi programu MechKonstruktor

Instrukcja obsługi programu MechKonstruktor Instrukcja obsługi programu MechKonstruktor Opracował: Sławomir Bednarczyk Wrocław 2002 1 1. Opis programu komputerowego Program MechKonstruktor słuy do komputerowego wspomagania oblicze projektowych typowych

Bardziej szczegółowo

Janusz Ganczarski. OpenGL Pierwszy program

Janusz Ganczarski. OpenGL Pierwszy program Janusz Ganczarski OpenGL Pierwszy program Spis treści Spis treści..................................... 1 1. Pierwszy program.............................. 1 1.1. Rysowanie sceny 3D...........................

Bardziej szczegółowo

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Zastosowanie programu Microsoft Excel do analizy wyników nauczania Grayna Napieralska Zastosowanie programu Microsoft Excel do analizy wyników nauczania Koniecznym i bardzo wanym elementem pracy dydaktycznej nauczyciela jest badanie wyników nauczania. Prawidłow analiz

Bardziej szczegółowo

Język C i C++. Podstawy. Zagadnienia do opanowania. Przykład 1. (modyfikuj kod, aby zrealizować punkty 5., 7.)

Język C i C++. Podstawy. Zagadnienia do opanowania. Przykład 1. (modyfikuj kod, aby zrealizować punkty 5., 7.) Język C i C++. Podstawy Materiały do samodzielnego opanowania, ale także propozycja zadań na zajęcia laboratoryjne Zagadnienia do opanowania 1) Czym jest standardowe wejście-wyjście (stdio)? 2) Czym może

Bardziej szczegółowo

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

Bardziej szczegółowo

Programowanie - wykład 4

Programowanie - wykład 4 Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include

Bardziej szczegółowo