Wprowadzenie do UML, przykład użycia kolizja

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

Download "Wprowadzenie do UML, przykład użycia kolizja"

Transkrypt

1 Bogdan Kreczmer Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową.

2 Niniejsza prezentacja została wykonana przy użyciu systemu składu L A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer:

3 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

4 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

5 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

6 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

7 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

8 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

9 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

10 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

11 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji 2.1.1

12 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh 1994 zapoczątkowanie prac nad UML 1995 pierwsza robocza wersja zaakceptowanie wersji 1.1 przez OMG (Object Managment Group) 1999 opublikowanie wersji /2005 zaakceptowanie wersji 2.0 sierpień 2007 opublikowanie wersji Strona projektu:

13 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu.

14 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego.

15 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego. UML służy do obrazowania, specyfikowania i dokumentowania systemów obiektowych.

16 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas UML jest językiem znormalizowanym, służącym do zapisywania projektu systemu. Może być stosowany do obrazowania, specyfikowania, tworzenia i dokumentowania artefaktów powstałych podczas procesu budowy systemu informatycznego. UML służy do obrazowania, specyfikowania i dokumentowania systemów obiektowych. UML jest przede wszystkim przeznaczony do wspomagania budowy systemów informatycznych.

17 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

18 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

19 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

20 UML Unified Modeling Language UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Przykładowe obszary zastosowań: tworzenie systemów informatycznych przedsiębiorstw, usług bankowych i finansowych, rozproszone usługi internetowe.

21 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

22 Przykłady diagramów UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Rysunek: Diagram klas

23 Przykłady diagramów UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Rysunek: Diagram klas modelujący strukturę firmy

24 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne.

25 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

26 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

27 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

28 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

29 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji

30 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia służy do obrazowania zachowania systemu, podsystemu lub klasy w taki sposób, żeby użytkownicy mogli zrozumieć, jak z tego bytu korzystać, a programiści mogli go zaimplementować. Czynności Klas Sekwencji

31 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram przypadków użycia

32 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności modeluje dynamiczne aspekty systemu. Demonstrują przepływ sterowania od operacji do operacji. Klas Sekwencji

33 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram czynności

34 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas służy do obrazowania statycznych aspektów systemu. Bierze się w nim pod uwagę wymagania funkcjonalne (usługi), jakie system powinien udostępniać swoim użytkownikom. Sekwencji

35 Ważniejsze diagramy diagram klas UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

36 Ważniejsze diagramy UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4 abstrakcyjne. Najczęściej używane diagramy: Przypadków użycia Czynności Klas Sekwencji służy do obrazowania dynamicznych aspektów systemu. Demonstruje kolejność komunikatów w czasie, które przesyłają między sobą obiekty.

37 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Ważniejsze diagramy diagram sekwencji

38 Plan prezentacji Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

39 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa

40 Model klasy w UML UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

41 Model klasy w UML UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

42 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Wektor przykład modelu w UML class Wektor { public : double x, y; }; double Norma( ) const { return sqrt(x x+y y); }

43 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Wektor przykład modelu w UML class Wektor { public : double x, y; }; double Norma( ) const { return sqrt(x x+y y); }

44 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa LZespolona przykład modelu w UML class LZespolona { public : double re, im; LZespolona(double re nowa, double im nowa): re(re nowa), im(im nowa) { } LZespolona Sprzezenie( ) const { return LZespolona(re,-im); } LZespolona operator + (const LZespolona& Arg2) const ; LZespolona operator (const LZespolona& Arg2) const ; }; double Modul2() const { return re re + im im; }

45 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa LZespolona przykład modelu w UML class LZespolona { public : double re, im; LZespolona(double re nowa, double im nowa): re(re nowa), im(im nowa) { } LZespolona Sprzezenie( ) const { return LZespolona(re,-im); } LZespolona operator + (const LZespolona& Arg2) const ; LZespolona operator (const LZespolona& Arg2) const ; }; double Modul2() const { return re re + im im; }

46 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const;

47 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const { return sqrt((x x.sprzezenie( )+y y.sprzezenie( )).re); }

48 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const { return sqrt(x.modul2( )+y.modul2( )); }

49 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { public : LZespolona x, y; WektorZ( ): x(0,0), y(0,0) {} }; double Norma( ) const { return sqrt(x.modul2( )+y.modul2( )); }

50 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

51 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

52 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa

53 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja

54 Agregacja całkowita Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

55 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

56 UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa WektorZ przykład modelu w UML class WektorZ { LZespolona public : Wsp[2]; }; const LZespolona& operator [ ] (unsigned int Ind) const { return Wsp[Ind]; } LZespolona& operator [ ] (unsigned int Ind) { return Wsp[Ind]; } double Norma( ) const { return sqrt(( this )[0].Modul2()+( this )[1].Modul2()); }

57 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja Agregacja

58 Agregacja zwykła Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas

59 Oznaczenia Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas Klasa Kompozycja Agregacja Zależność Powiazanie

60 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

61 Opis problemu Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości.

62 Opis problemu Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.

63 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

64 Etapy osiągania rozwiązania Analiza Projektowanie Konstrukcja

65 Etapy osiągania rozwiązania Analiza jest odwzorowaniem rzeczywistego świata na jego model koncepcyjny Projektowanie Konstrukcja

66 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform.

67 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy. Kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform.

68 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

69 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2

70 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2

71 Analityczne rozwiązanie problemu Rozwiązaniem problemu jest wyznaczenie najmniejszej odległości na jaką zbliżą się do siebie platformy.kolizja nie nastąpi jeżeli odległość ta będzie większa niż suma promieni okręgów opisanych na korpusach obu platform. d(t) = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 d(t) = { x1 (t) = v x,1 t + x 0,1 y 1 (t) = v y,1 t + y 0,1 { x2 (t) = v x,2 t + x 0,2 y 2 (t) = v y,2 t + y 0,2 ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2

72 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2

73 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12.

74 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum.

75 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0

76 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0

77 Analityczne rozwiązanie problemu d(t) = ((v x,1 v x,2 )t + (x 0,1 x 0,2 )) 2 + ((v y,1 v y,2 )t + (y 0,1 y 0,2 )) 2 d(t) = (v x,12 t + x 0,12 ) 2 + (v y,12 t + y 0,12 ) 2 gdzie v x,12 = v x,1 v x,2 analogicznie x 0,12, v y,12, y 0,12. Szukamy wartość t, dla której funkcja d(.) osiąga minimum. dd(t) dt = 0 v x,12 (v x,12 t + x 0,12 ) + v y,12 (v y,12 t + y 0,12 ) = 0 t = v x,12x 0,12 + v y,12 y 0,12 v 2 x,12 + v 2 y,12

78 Finalne rozwiązanie problemu d = ( (v x,1 v x,2 ) v x,12x 0,12 +v y,12 y 0,12 v 2 x,12 +v 2 y,12 ( + (v y,1 v y,2 ) v x,12x 0,12 +v y,12 y 0,12 vx,12 2 +v y,12 2 ) 2 + (x 0,1 x 0,2 ) + (y 0,1 y 0,2 ) 1 2 ) 2

79 Zmiana układu współrzędnych

80 Zmiana układu współrzędnych

81 Zmiana układu współrzędnych

82 Zmiana układu współrzędnych

83 Zmiana układu współrzędnych Transformacja do lokalnego układu współrzędnych platformy nr 2 związanego ze środkiem okręgu opisanego na obrysie jej korpusu. { xl (t) = x 1 (t) x 2 (t) y L (t) = y 1 (t) y 2 (t) { vx,l (t) = v x,1 (t) v x,2 (t) v y,l (t) = v y,1 (t) v y,2 (t)

84 Zmiana układu współrzędnych Transformacja do lokalnego układu współrzędnych platformy nr 2 związanego ze środkiem okręgu opisanego na obrysie jej korpusu. { xl (t) = x 1 (t) x 2 (t) y L (t) = y 1 (t) y 2 (t) { vx,l (t) = v x,1 (t) v x,2 (t) v y,l (t) = v y,1 (t) v y,2 (t) Dzięki zastosowanej transformacji rozwiązanie problemu znacznie się upraszcza. Nie trzeba liczyć pochodnej, gdyż w tym przypadku problem jest natury geometrycznej.

85 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

86 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

87 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

88 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych.

89 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α

90 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

91 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

92 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

93 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

94 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z

95 Rozwiązanie w układzie lokalnym W lokalnym układzie współrzędnych jednej z platform problem sprowadza się do wyznaczenia odległości prostej od początku układu współrzędnych. d = r sin α d = r sin α = r(e r e V ) z = (r e V ) z = (r V L V L ) z d = (r V L) z V L

96 Porównanie rozwiązań d = ( (v x,1 v x,2 ) v x,12x 0,12 +v y,12 y 0,12 v 2 x,12 +v 2 y,12 ( + (v y,1 v y,2 ) v x,12x 0,12 +v y,12 y 0,12 vx,12 2 +v y,12 2 ) 2 + (x 0,1 x 0,2 ) + (y 0,1 y 0,2 ) 1 2 ) 2 d = (r V L) z V L

97 Plan prezentacji Języki modelowania 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

98 Etapy osiągania rozwiązania Analiza Projektowanie Konstrukcja

99 Etapy osiągania rozwiązania Analiza Projektowanie jest odwzorowaniem modelu koncepcyjnego na model implementacji. Konstrukcja

100 Określenie przypadków użycia Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.

101 Określenie przypadków użycia Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Stworzona procedura będzie wykorzystywana w module detekcji kolizji oraz module planowania trajektrorii.

102 Diagram przypadków użycia Diagram przypadków użycia służy do obrazowania zachowania systemu, podsystemu lub klasy w taki sposób, żeby użytkownicy mogli zrozumieć, jak z tego bytu korzystać, a programiści mogli go zaimplementować.

103 Diagram przypadków użycia

104 Diagram przypadków użycia

105 Diagram przypadków użycia

106 Diagram przypadków użycia

107 Diagram przypadków użycia

108 Diagram przypadków użycia

109 Diagram przypadków użycia

110 Diagram przypadków użycia

111 Diagram czynności Języki modelowania Diagram czynności modeluje dynamiczne aspekty systemu. Demonstrują przepływ sterowania od operacji do operacji.

112 Diagram czynności Języki modelowania

113 Diagram czynności Języki modelowania

114 Diagram czynności Języki modelowania

115 Diagram czynności Języki modelowania

116 Diagram czynności Języki modelowania

117 Diagram czynności Języki modelowania

118 Diagram czynności Języki modelowania

119 Diagram czynności Języki modelowania

120 Diagram klas Języki modelowania Diagram klas służy do obrazowania statycznych aspektów systemu. Bierze się w nim pod uwagę wymagania funkcjonalne (usługi), jakie system powinien udostępniać swoim użytkownikom.

121 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy.

122 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: Własności: Operacje:

123 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: Operacje:

124 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

125 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

126 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

127 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

128 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje:

129 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności

130 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości

131 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości

132 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości

133 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

134 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

135 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

136 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

137 Diagram klas Języki modelowania Należy zaimplementować procedurę obliczeniową umożliwiającą stwierdzenie, czy dla dwóch platform mobilnych poruszających się wzdłuż prostej ruchem jednostajnym zachodzi kolizja lub w jakiej miną się odległości. Zakładamy, że kolizja zachodzi jeśli jakaś przeszkoda znajdzie się w obrębie okręgu opisanego na rzucie pionowym korpusu platformy. Kluczowe rzeczowniki: platforma (mobilna) (Po rozwiązaniu analitcznym) Dodatkowe rzeczowniki: wektor Własności: ruch położenie rozmiar Operacje: sprawdzenie kolizyjności wyznaczanie odległości (Po rozwiązaniu analitycznym) Dodatkowe operacje: odejmowanie wektorów iloczyn skalarny iloczyn wektorowy

138 Diagram klas Języki modelowania

139 Diagram klas Języki modelowania

140 Diagram klas Języki modelowania

141 Diagram klas Języki modelowania

142 Diagram klas Języki modelowania

143 Diagram klas Języki modelowania

144 Diagram klas Języki modelowania

145 Diagram klas Języki modelowania

146 Etapy osiągania rozwiązania Definicje klas Definicja metody sprawdzania kolizji Analiza Projektowanie Konstrukcja

147 Etapy osiągania rozwiązania Definicje klas Definicja metody sprawdzania kolizji Analiza Projektowanie Konstrukcja jest odwzorowaniem modelu implementacji na działający system.

148 Plan prezentacji Języki modelowania Definicje klas Definicja metody sprawdzania kolizji 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

149 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

150 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

151 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

152 Definicje klasy Wektor Definicje klas Definicja metody sprawdzania kolizji class Wektor { // public: float x, y; Wektor operator ( Wektor ) const ; float operator ( const Wektor &V ) const { return x V.y y V.x; } float operator & ( const Wektor &V ) const { return x V.x + y V.y; } }; // Wektor Wektor::operator ( Wektor W ) const { W.x = x W.x; W.y = y W.y; } return W;

153 Plan prezentacji Języki modelowania Definicje klas Definicja metody sprawdzania kolizji 1 Języki modelowania UML geneza i przeznaczenie UML Diagramy Podstawowe oznaczenia diagram klas 2 3 Definicje klas Definicja metody sprawdzania kolizji

154 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L

155 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L

156 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L

157 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L

158 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L

159 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L

160 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie prędkości platformy 1 w lokalnym układzie współrzędnych platformy nr 2.

161 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie prędkości platformy 1 w lokalnym układzie współrzędnych platformy nr 2.

162 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie współrzędnych wektora poprowadzone z platformy nr 2 do platformy nr 1.

163 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie współrzędnych wektora poprowadzone z platformy nr 2 do platformy nr 1.

164 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie najmniejszej odległości między środkami platform.

165 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Wyliczenie najmniejszej odległości między środkami platform.

166 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Porównanie rozmiarów sumy obrysów obu platform z odległością ich największego zbliżenia.

167 Definicja klasy PlatformaMobilna Definicje klas Definicja metody sprawdzania kolizji class PlatformaMobilna {// Wektor Pozycja; Wektor Predkosc; float R; public: bool CzyKolizja( const PlatformaMobilna&, float& ) const ;... }; // bool PlatformaMobilna::CzyKolizja( const PlatformaMobilna &PM, float &d) const { Wektor V L = PM. Predkosc Predkosc; } Wektor r = PM. Pozycja Pozycja; d = fabs(r V L)/sqrt(V L & V L); return d < PM. R+ R; d = (r V L) z V L Porównanie rozmiarów sumy obrysów obu platform z odległością ich największego zbliżenia.

Diagramy UML, przykład problemu kolizji

Diagramy UML, przykład problemu kolizji Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Przykład implementacji przeciażeń operatorów problem kolizji

Przykład implementacji przeciażeń operatorów problem kolizji Przykład implementacji przeciażeń operatorów problem kolizji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Wprowadzenie do szablonów klas

Wprowadzenie do szablonów klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2 Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy

Bardziej szczegółowo

Schemat konstrukcja pliku Makefile

Schemat konstrukcja pliku Makefile Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Praca z aplikacją designer

Praca z aplikacją designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2014 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Podejście obiektowe wprowadzenie

Podejście obiektowe wprowadzenie wprowadzenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE

Bardziej szczegółowo

Dalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl

Dalmierze optyczne. Bogdan Kreczmer. bogdan.kreczmer@pwr.wroc.pl Dalmierze optyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2013 Bogdan Kreczmer

Bardziej szczegółowo

UML cz. I. UML cz. I 1/1

UML cz. I. UML cz. I 1/1 UML cz. I UML cz. I 1/1 UML cz. I 2/1 UML - Unified Modeling Language ujednolicony można go współdzielić z wieloma pracownikami modelowania służy do opisu projektowanego modelu język posiada opisaną strukturę

Bardziej szczegółowo

Organizacja kursu, paradygmaty, ogólnie o C i C++

Organizacja kursu, paradygmaty, ogólnie o C i C++ Organizacja kursu, paradygmaty, ogólnie o C i C++ Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram sekwencji. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 3 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80

Bardziej szczegółowo

Klasa, metody, rozwijanie w linii

Klasa, metody, rozwijanie w linii 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

Klasa, metody, rozwijanie w linii

Klasa, metody, rozwijanie w linii Klasa, metody, rozwijanie w linii 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

Bardziej szczegółowo

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax Wprowadzenie do Wprowadzenie do Narzędzia Magda Michalska Krzysztof Kulewski Tomasz Warchoł Mateusz Markowski Andrzej Pacuk Zespołowy Projekt Programistyczny 2006 Plan Wprowadzenie do 1 Wprowadzenie do

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia 2010. Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia 2010. Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska MiASI Modelowanie systemów biznesowych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 7 stycznia 2010 Spis treści 1 Czym jest system biznesowy? Po co model bizensowy? Czym

Bardziej szczegółowo

Wyliczanie wyrażenia obiekty tymczasowe

Wyliczanie wyrażenia obiekty tymczasowe Wyliczanie wyrażenia obiekty tymczasowe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Zadania z podstaw programowania obiektowego

Zadania z podstaw programowania obiektowego Zadania z podstaw programowania obiektowego 1. Napisać klasę Lista, której zadaniem będzie przechowywanie listy liczb całkowitych. Klasa ta ma mieć następujące pola prywatne: int* liczby; tablica, w której

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Dia rysowanie diagramów

Dia rysowanie diagramów Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Hermetyzacja oraz pola i metody statyczne

Hermetyzacja oraz pola i metody statyczne Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2010 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Wartości domyślne, szablony funkcji i klas

Wartości domyślne, szablony funkcji i klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Podejście obiektowe - podstawowe pojęcia

Podejście obiektowe - podstawowe pojęcia Podejście obiektowe - podstawowe pojęcia Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2003 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Michał Adamczyk. Język UML

Michał Adamczyk. Język UML Michał Adamczyk Język UML UML I. Czym jest UML Po co UML II.Narzędzia obsługujące UML, edytory UML III.Rodzaje diagramów UML wraz z przykładami Zastosowanie diagramu Podstawowe elementy diagramu Przykładowy

Bardziej szczegółowo

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski

Inżynieria oprogramowania Wprowadzenie. WYKŁAD Piotr Ciskowski Inżynieria oprogramowania Wprowadzenie WYKŁAD Piotr Ciskowski Etapy budowy systemu informatycznego Inżynieria oprogramowania o tworzenie dobrych programów / systemów o Wikipedia: wszelkie aspekty produkcji

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury Funkcje wektorowe Jeśli wektor a jest określony dla parametru t (t należy do przedziału t (, t k )

Bardziej szczegółowo

Podstawy robotyki wykład VI. Dynamika manipulatora

Podstawy robotyki wykład VI. Dynamika manipulatora Podstawy robotyki Wykład VI Robert Muszyński Janusz Jakubiak Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Dynamika opisuje sposób zachowania się manipulatora poddanego wymuszeniu

Bardziej szczegółowo

Diagramy czynności Na podstawie UML 2.0 Tutorial

Diagramy czynności Na podstawie UML 2.0 Tutorial Diagramy czynności Na podstawie UML 2.0 Tutorial http://sparxsystems.com.au/resources/uml2_tutorial/ Zofia Kruczkiewicz 1 Diagramy czynności 1. Diagramy czyności UML http://sparxsystems.com.au/resources/uml2_tutorial/

Bardziej szczegółowo

Podstawy modelowania programów Kod przedmiotu

Podstawy modelowania programów Kod przedmiotu Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki

Bardziej szczegółowo

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi)

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi) Kinematyka Mechanika ogólna Wykład nr 7 Elementy kinematyki Dział mechaniki zajmujący się matematycznym opisem układów mechanicznych oraz badaniem geometrycznych właściwości ich ruchu, bez wnikania w związek

Bardziej szczegółowo

UML- Unified Modeling Language Ujednolicony Język Modelowania

UML- Unified Modeling Language Ujednolicony Język Modelowania UML- Unified Modeling Language Ujednolicony Język Modelowania UML jest standardowym językiem do specyfikacji, wizualizacji, budowy i dokumentowania wszystkich artefaktów (wytworów) dowolnego systemu. UML

Bardziej szczegółowo

Wstęp do programowania obiektowego. Wykład 2

Wstęp do programowania obiektowego. Wykład 2 Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Spis treúci. 1. Wprowadzenie... 13

Spis treúci. 1. Wprowadzenie... 13 Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Wartości domyślne, przeciażenia funkcji

Wartości domyślne, przeciażenia funkcji Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Rzutowanie i konwersje

Rzutowanie i konwersje Rzutowanie i konwersje Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania

Bardziej szczegółowo

Inżynieria oprogramowania I

Inżynieria oprogramowania I Kontakt Inżynieria I Andrzej Jaszkiewicz Andrzej Jaszkiewicz p. 424y, Piotrowo 3a tel. 66 52 371 jaszkiewicz@cs.put.poznan.pl www-idss.cs.put.poznan.pl/~jaszkiewicz Literatura A. Jaszkiewicz, Inżynieria,

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:

Bardziej szczegółowo

Faza analizy (modelowania) Faza projektowania

Faza analizy (modelowania) Faza projektowania Faza analizy (modelowania) Faza projektowania Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie: co i przy jakich ograniczeniach system ma robić? Wynikiem tej analizy jest zbiór wymagań

Bardziej szczegółowo

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Zakres wykładu. Podstawy InŜynierii Oprogramowania Zakres wykładu Pojęcia podstawowe InŜynierii Oprogramowania Proces wytwarzania oprogramowania Artefakty procesu wytwarzania i ich modele Jakość oprogramowania Literatura: [1] Sacha K., InŜynieria oprogramowania,

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Inżynieria oprogramowania. Jan Magott

Inżynieria oprogramowania. Jan Magott Inżynieria oprogramowania Jan Magott Literatura do języka UML G. Booch, J. Rumbaugh, I. Jacobson, UML przewodnik użytkownika, Seria Inżynieria oprogramowania, WNT, 2001, 2002. M. Fowler, UML w kropelce,

Bardziej szczegółowo

Python wstęp do programowania dla użytkowników WCSS

Python wstęp do programowania dla użytkowników WCSS Python wstęp do programowania dla użytkowników WCSS Dr inż. Krzysztof Berezowski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Wprowadzenie CHARAKTERYSTYKA JĘZYKA Filozofia języka

Bardziej szczegółowo

Techniki modelowania programów Kod przedmiotu

Techniki modelowania programów Kod przedmiotu Techniki modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Techniki modelowania programów Kod przedmiotu 11.3-WI-INFD-TMP Wydział Kierunek Wydział Informatyki, Elektrotechniki

Bardziej szczegółowo

Technologie obiektowe. Plan. Ewolucja technik wytwarzania oprogramowania

Technologie obiektowe. Plan. Ewolucja technik wytwarzania oprogramowania Literatura Marek Kisiel-Dorohinicki doroh@agh.edu.pl Brett D. McLaughlin, Gary Pollice, David West Head First Object-Oriented Analysis and Design Martin Fowler UML Distilled ( UML w kropelce ) Grady Booch,

Bardziej szczegółowo

MODELOWANIE OBIEKTOWE

MODELOWANIE OBIEKTOWE (Wykład na podstawie literatury: M.Śmiałek Zrozumieć UML 2.0, Helion 2005) UML Unified Modeling Language (język do specyfikowania, wizualizowania, konstruowania i dokumentacji tzw. artefactów oraz czynności

Bardziej szczegółowo

Kompozycja i dziedziczenie klas

Kompozycja i dziedziczenie klas Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas

Bardziej szczegółowo

KMO2D. Kolizje między-obiektowe w 2D

KMO2D. Kolizje między-obiektowe w 2D KMO2D Kolizje między-obiektowe w 2D I. Wstęp 3 lata temu na temat kolizji nie miałem żadnego pojęcia. Przyszedł jednak czas, gdy postanowiłem napisać pierwszą porządną grę i pojawił się, wtedy problem.

Bardziej szczegółowo

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty przedmiotu Stopień studiów i forma: Rodzaj przedmiotu Kod przedmiotu Grupa kursów Zaawansowane techniki analizy

Bardziej szczegółowo

MODELOWANIE SYSTEMU OCENY WARUNKÓW PRACY OPERATORÓW STEROWNI

MODELOWANIE SYSTEMU OCENY WARUNKÓW PRACY OPERATORÓW STEROWNI Inżynieria Rolnicza 7(105)/2008 MODELOWANIE SYSTEMU OCENY WARUNKÓW PRACY OPERATORÓW STEROWNI Agnieszka Buczaj Zakład Fizycznych Szkodliwości Zawodowych, Instytut Medycyny Wsi w Lublinie Halina Pawlak Katedra

Bardziej szczegółowo

Diagramy klas. WYKŁAD Piotr Ciskowski

Diagramy klas. WYKŁAD Piotr Ciskowski Diagramy klas WYKŁAD Piotr Ciskowski przedstawienie statyki systemu graficzne przedstawienie statycznych, deklaratywnych elementów dziedziny przedmiotowej oraz związków między nimi obiekty byt, egzemplarz

Bardziej szczegółowo

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 1 Cel Język UML to język modelowania systemów informatycznych i ma w inżynierii

Bardziej szczegółowo

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. 45. UML, jego struktura i przeznaczenie. Przeznaczenie UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne. Pozwala obrazować, specyfikować, tworzyć

Bardziej szczegółowo

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji Analiza i programowanie obiektowe 2016/2017 Wykład 6: Projektowanie obiektowe: diagramy interakcji Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Przejście

Bardziej szczegółowo

Geneza powstania języka C++

Geneza powstania języka C++ 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

Podstawy języka UML UML

Podstawy języka UML UML Podstawy języka UML UML Plan prezentacji Wprowadzenie do modelowania Wprowadzenie do języka UML Diagram klas Diagram pakietów Diagram przypadków użycia Diagram czynności Terminologia Terminologia Aplikacja

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Instrukcja do laboratorium rok akad. 2014/2015 Informacje podstawowe: Celem laboratorium jest nabycie przez studentów praktycznej umiejętności wykonywania modeli analitycznych

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Zaawansowane programowanie w języku C++ Programowanie obiektowe Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Projekt systemu informatycznego

Projekt systemu informatycznego Projekt systemu informatycznego Kod przedmiotu: PSIo Rodzaj przedmiotu: specjalnościowy ; obieralny Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): Inżynieria Systemów Informatycznych

Bardziej szczegółowo

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

Bardziej szczegółowo

Podstawy Programowania. Języki programowania

Podstawy Programowania. Języki programowania Podstawy Programowania Wykład XII Języki programowania Robert Muszyński ZPCiR ICT PWr Zagadnienia: generacje języków progamowania, kod maszynowy, asembler, drzewo genealogiczne języków wysokiego poziomu,

Bardziej szczegółowo

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych wyliczamy według wzoru (x, x 2,..., x n ) f(x, x 2,..., x n )

Bardziej szczegółowo

UML i Executable UML

UML i Executable UML 1. Wstęp Alicja KILIŃSKA-WIŚNIEWSKA Politechnika Koszalińska, Wydział Elektroniki i Informatyki E-mail: alicja.kilinska.wisniewska@gmail.com UML i Executable UML Na samym początku należałoby krótko scharakteryzować

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp... 11. Podziękowania...

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp... 11. Podziękowania... Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników Spis treúci Wstęp... 11 Podziękowania... 13 O autorach... 15 Robert A. Maksimchuk... 15 Eric J. Naiburg... 15 Przedmowa...

Bardziej szczegółowo

Dziedziczenie i poliformizm

Dziedziczenie i poliformizm Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2016 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Programowanie, część I

Programowanie, część I 11 marca 2010 Kontakt Wstęp Informacje organizacyjne Materiał na ćwiczenia Plan wykładu http://www.fuw.edu.pl/~rwys/prog rwys@fuw.edu.pl tel. 22 55 32 263 Materiał na ćwiczenia Informacje organizacyjne

Bardziej szczegółowo

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

Bardziej szczegółowo

Fazy analizy (modelowania) oraz projektowania FAZA ANALIZY:

Fazy analizy (modelowania) oraz projektowania FAZA ANALIZY: Fazy analizy (modelowania) oraz projektowania Analiza bez brania pod uwagę szczegółów implementacyjnych Projektowanie ze szczegółami implementacyjnymi. FAZA ANALIZY: Celem fazy analizy jest ustalenie wszystkich

Bardziej szczegółowo

Zad. 10: Sterowanie manipulatorem cz. 2 i 3

Zad. 10: Sterowanie manipulatorem cz. 2 i 3 Zad. 10: Sterowanie manipulatorem cz. 2 i 3 1 Cel ćwiczenia Zapoznanie się dziedziczeniem klas oraz mechanizmami niejawnego rzutowania w górę. Przyswojenie pojęcia klasy abstrakcyjnej i praktyczne jej

Bardziej szczegółowo

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08 Spis treści Wstęp.............................................................. 7 Część I Podstawy analizy i modelowania systemów 1. Charakterystyka systemów informacyjnych....................... 13 1.1.

Bardziej szczegółowo

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:

Bardziej szczegółowo

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Analiza i projektowanie obiektowe w UML Kod przedmiotu Analiza i owanie obiektowe w UML - opis przedmiotu Informacje ogólne Nazwa przedmiotu Analiza i owanie obiektowe w UML Kod przedmiotu 11.3-WK-MATP-UML-W-S14_pNadGen5M44E Wydział Kierunek Wydział Matematyki,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

UML. zastosowanie i projektowanie w języku UML

UML. zastosowanie i projektowanie w języku UML UML zastosowanie i projektowanie w języku UML Plan Czym jest UML Diagramy przypadków użycia Diagramy sekwencji Diagramy klas Diagramy stanów Przykładowe programy Visual Studio a UML Czym jest UML UML 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

Programowanie obiektowe. Grzegorz Jabłoński Katedra Mikroelektroniki i Technik Informatycznych (K-25) Budynek B18

Programowanie obiektowe. Grzegorz Jabłoński Katedra Mikroelektroniki i Technik Informatycznych (K-25) Budynek B18 Programowanie obiektowe Grzegorz Jabłoński Katedra Mikroelektroniki i Technik Informatycznych (K-25) Budynek B18 gwj@dmcs.p.lodz.pl (631) 26-48 Program przedmiotu http://neo.dmcs.p.lodz.pl/po Ogólne spojrzenie

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład II: Analiza i projektowanie obiektowe 28 październik 2013 Plan wykładu Wstęp do modelowania Motywacja Analiza i projektowanie obiektowe Modelowanie dziedziny

Bardziej szczegółowo

3. KINEMATYKA Kinematyka jest częścią mechaniki, która zajmuje się opisem ruchu ciał bez wnikania w jego przyczyny. Oznacza to, że nie interesuje nas

3. KINEMATYKA Kinematyka jest częścią mechaniki, która zajmuje się opisem ruchu ciał bez wnikania w jego przyczyny. Oznacza to, że nie interesuje nas 3. KINEMATYKA Kinematyka jest częścią mechaniki, która zajmuje się opisem ruchu ciał bez wnikania w jego przyczyny. Oznacza to, że nie interesuje nas oddziaływanie między ciałami, ani też rola, jaką to

Bardziej szczegółowo

Projektowanie systemów informatycznych. wykład 6

Projektowanie systemów informatycznych. wykład 6 Projektowanie systemów informatycznych wykład 6 Iteracyjno-przyrostowy proces projektowania systemów Metodyka (ang. methodology) tworzenia systemów informatycznych (TSI) stanowi spójny, logicznie uporządkowany

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne

Bardziej szczegółowo

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

Wykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład V - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Programowanie obiektowe Dziedziczenie (inheritance) - mechanizm

Bardziej szczegółowo

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI Robot do pokrycia powierzchni terenu Zadania robota Zadanie całkowitego pokrycia powierzchni na podstawie danych sensorycznych Zadanie unikania przeszkód

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstaw programowania obiektowego wkład 5 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak, korzstając z dotchczasowej wiedz, zdefiniować w programie punkt? = 3; = 2; Może tak?

Bardziej szczegółowo