Literatura: do wykładu - dowolny podręcznik do języka C++ na laboratoriach - Borland C++ Builder

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

Download "Literatura: do wykładu - dowolny podręcznik do języka C++ na laboratoriach - Borland C++ Builder"

Transkrypt

1 Literatura: do wykładu - dowolny podręcznik do języka C++ na laboratoriach - Borland C++ Builder S. Lippman Podstawy języka C++ K. Jamsa Wygraj z C++ Bjarne Stroustrup Język C++ - ksiąŝka napisana przez twórcę C++ Robert Sedgewick Algorytmy w C ++ Jerzy Grębosz Symfonia C++ Andrzej Stasiewicz C++ Builder Symulacje komputerowe Kent Reisdorph C++ Builder 6 dla kaŝdego laboratorium S. Prata Szkoła programowania, Język C++ Programowanie obiektowe umoŝliwia spójne przedstawienie systemu poprzez stworzenie typów danych, które są tak samo wygodne w uŝyciu, jak typy danych wbudowane w język programowania. Siłą metod obiektowych jest moŝliwość ponownego uŝycia kodu poprzez dziedziczenie i polimorfizm. Klasy pozwalają na wygodną i elegancką hermetyzację bytów programowych. Co jest dobrą klasą? Dobrze napisana klasa ma dobrze zdefiniowany zbiór operacji. Na dobrze napisaną klasę moŝna patrzeć jak na czarną skrzynkę manipulowaną wyłącznie za pomocą tego zbioru operacji. Rzeczywistą reprezentację klasy moŝna zmodyfikować, nie wpływając na sposób uŝywania tego zbioru operacji. Komponent Jednostka montaŝowa z wyspecyfikowanymi interfejsami, oraz jawnymi zaleŝnościami kontekstowymi. Jest modułem binarnym (nie kodem źródłowym), z kontraktowo opisanymi interfejsami i podanymi wprost zaleŝnościami. Opublikowany interfejs to wszystkie informacje, z których moŝna korzystać w celu komunikacji z komponentem. Komponent nie sprawuje kontroli nad sobą - moŝe być uŝyty przez inne elementy programu - posiada pełną specyfikację zaleŝności - specyfikuje oferowaną przez siebie funkcjonalność - moŝe być uŝyty wyłącznie na podstawie tej specyfikacji Programowanie komponentowe - łączymy komponenty z naszymi obiektami - komponenty mogą jedynie wspomóc tworzenie zadanego typu aplikacje. Przykłady opisu naszych obiektów które mogą wspomagać kilka projektów. skala.h skala.cpp widmo.h widmo.cpp Helion Andrzej Stasiewicz C++ Builder Symulacje komputerowe W przedstawionych przykładach obiekty klasy TSkalowanie budujemy zgodnie z konstruktorem TSkalowanie obiekt1 ( int xe0, int ye0, int eszer, int ewys, double xr0, double yr0, double rszer, double rwys); xe0, ye0 - lewy górny róg obszaru ekranowego, eszer, ewys - szerokość i wysokość obszaru ekranowego xr0, yr0 - środek obszaru rzeczywistego, rszer, rwy szerokość i wysokość obszaru rzeczywistego 1

2 #ifndef skalah #define skalah /*********************************************************************** ** Programowanie komponentowe - Jan Kowalski ** ** "skala.h" ** ** Zawartosc: ** ** Skalowanie obszaru ekranowego w matematyczny i odwrotnie ** ** Współrzędne punktu (x,y) z obszaru "rzeczywistego" po skalowaniu ** ** wpisane są na ekran. Współczynnki skalowania spełniają zależność ** ** A B C D A*X+B, C*Y+D ** ** Historia: ** ** Wersja Data Zmiany Autor/Programista ** ** 1.00 C++Buider (Symulacje komp.) Stasiewicz Andrzej ** ** /03/06 rzutowanie static_cast<double> EK ** ***********************************************************************/ class TSkalowanie private: double A, B, C, D; //wspolczynniki skalowania rzeczywistosc - ekran double E, F, G, H; //wspolczynniki skalowania ekran - rzeczywistosc public: TSkalowanie(int xe0, int ye0, int eszer, int ewys, double xr0, double yr0, double rszer, double rwys); //Konstruktor - // xe0, ye0 - lewy górny róg obszaru ekranowego, // eszer, ewys - szerokosc i wysokosc obszaru ekranowego // xr0, yr0 - srodek obszaru rzeczywistego, // rszer, rwys - szerokosc i wysokosc obszaru rzeczywistego double Daj_real_x( int xe); //Wyliczenie wspolrzednej rzeczywistej dla wspolrzednej ekranowej xe double Daj_real_y( int ye); //Wyliczenie wspolrzednej rzeczywistej dla wspolrzednej ekranowej ye int Daj_ekr_x( double xr); //Wyliczenie wspolrzednej ekranowej xe dla wspolrzednej rzeczywistej xr int Daj_ekr_y( double yr); //Wyliczenie wspolrzednej ekranowej ye dla wspolrzednej rzeczywistej yr ; #endif Zwracam się z prośbą do Państwa proszę zachować ten sposób dokumentowania klas w oddawanych na zaliczenie projektach (czytelność łatwość budowania obiektów). 2

3 #ifndef widmoh #define widmoh ************************************************************************ ** Programowanie komponentowe - Jan Kowalski ** ** "widmo.h" ** ** Zawartosc: ** ** Obiekt konstruuje kolor odpowiadajacy fizycznej barwie. ** ** Algorytm przelicza okreslona dlugosc fali swiatla (barwa fizyczna) ** ** w skladniki koloru RGB. Obiekt przechowuje dane o kolorze ** ** kilkunastu wybranych dlugosci fal. Kolory posrednie sa wyliczane ** ** metoda przyblizenia liniowego. ** ** Jasnosc swiatla zadawana procentowo (od 0 do 100) ** ** Historia: ** ** Wersja Data Zmiany Autor/Programista ** ** 1.00 C++Builder (Symulacje komp) Stasiewicz Andrzej** ** /03/06 rzutowanie static_cast<double> EK ** ***********************************************************************/ class TWidmo private: int tecza[ 15][ 3]; // punkty teczy na RGB double Askal, Bskal, Cskal; //wspolczynniki skalujace public: double LAMBDA_MIN, LAMBDA_MAX; TWidmo( void); //konstruktor TColor Lambda_to_kolor( int jasnosc, double L); //Funkcja zamieniajaca dlugosc i jasnosc w kolor (pseudolosowe rozmywanie //barwy i jasnosci ; #endif Budujemy obiekt zgodnie z zaplanowanym konstruktorem Implementacja metod klasy TSkalowanie TWidmo obiekt2; #include "skala.h" TSkalowanie::TSkalowanie(int xe0, int ye0, int eszer, int ewys, double xr0, double yr0, double rszer, double rwys) A = static_cast<double> (eszer)/rszer; B = static_cast<double> (xe0)-a*(xr0-rszer/2.0); C = -static_cast<double>(ewys)/rwys; D = static_cast<double> (ye0)-c*(yr0+rwys/2.0); 3

4 E=rszer/static_cast<double>(eszer); //z ekranu do przestrzeni F=xr0-rszer/2.0-E*static_cast<double>(xe0); G=-rwys/static_cast<double>(ewys); H=yr0+rwys/2.0-G*static_cast<double>(ye0); // int TSkalowanie::Daj_ekr_x(double xr) return static_cast<int>(a*xr+b); // int TSkalowanie::Daj_ekr_y(double yr) return static_cast<int>(c*yr+d); // double TSkalowanie::Daj_real_x(int xe) return E*xe+F; // double TSkalowanie::Daj_real_y(int ye) return G*ye+H; // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Implementacja metod klasy TWidmo //---- widmo.cpp #include <vcl.h> #pragma hdrstop #include "widmo.h" #include <stdlib.h> // TWidmo :: TWidmo( void) int il_czysty_kolor = 15; // zadana liczba wejsc do tabeli tecza LAMBDA_MIN = 0.35E-6; //dolna granica swiatla widzialnego - fioletowa LAMBDA_MAX = 0.7E-6; //gorna granica swiatla widzialnego - czerwona Askal = static_cast<double>(il_czysty_kolor-1) / (LAMBDA_MAX - LAMBDA_MIN); Bskal = -Askal * LAMBDA_MIN; Cskal = 4. / 100.; //skalowanie jasnosci tecza[0][0] = 30; tecza[0][1] = 7; tecza[0][2] = 40; tecza[1][0] = 40; tecza[1][1] = 10; tecza[1][2] = 50; tecza[2][0] = 47; tecza[2][1] = 15; tecza[2][2] = 63; tecza[3][0] = 23; tecza[3][1] = 31; tecza[3][2] = 63; tecza[4][0] = 0; tecza[4][1] = 40; tecza[4][2] = 63; tecza[5][0] = 0; tecza[5][1] = 53; tecza[5][2] = 50; tecza[6][0] = 0; tecza[6][1] = 63; tecza[6][2] = 20; tecza[7][0] = 31; tecza[7][1] = 63; tecza[7][2] = 0; tecza[8][0] = 63; tecza[8][1] = 63; tecza[8][2] = 0; tecza[9][0] = 63; tecza[9][1] = 47; tecza[9][2] = 7; 4

5 tecza[10][0] = 63; tecza[10][1] = 31; tecza[10][2] = 15; tecza[11][0] = 63; tecza[11][1] = 15; tecza[11][2] = 7; tecza[12][0] = 63; tecza[12][1] = 0; tecza[12][2] = 0; tecza[13][0] = 51; tecza[13][1] = 0; tecza[13][2] = 0; tecza[14][0] = 40; tecza[14][1] = 0; tecza[14][2] = 0; // TColor TWidmo :: Lambda_to_kolor( int jasnosc, double L) int pierwszy_kolor, r, g, b; double prawdziwy_kolor, ulamek_drugiego, a1, a2; double jasn; jasnosc += (1.0-random(3)); L += 0.1E-8*(1.0-static_cast<double>(random(2000))/1000.0); if(l<=lambda_min L>=LAMBDA_MAX) return clblack; //poza zakresem widzenia if(jasnosc > 100) jasnosc=100; if(jasnosc < 0) jasnosc=0; jasn=cskal*jasnosc; //zbyt duza jasnosc //zbyt mala jasnosc //przeskalowanie jasnosci prawdziwy_kolor=askal*l+bskal; pierwszy_kolor=static_cast<int > (prawdziwy_kolor); //czesc calkowita np. 7 ulamek_drugiego=prawdziwy_kolor-pierwszy_kolor; //ulamek 2 koloru np a1=tecza[pierwszy_kolor][0]*jasn; a2=tecza[pierwszy_kolor+1][0]*jasn; r=static_cast<int>(a1+ulamek_drugiego*(a2-a1)); a1=tecza[pierwszy_kolor][1]*jasn; a2=tecza[pierwszy_kolor+1][1]*jasn; g=static_cast<int>(a1+ulamek_drugiego*(a2-a1)); a1=tecza[pierwszy_kolor][2]*jasn; a2=tecza[pierwszy_kolor+1][2]*jasn; b=static_cast<int>(a1+ulamek_drugiego*(a2-a1)); return RGB(r,g,b); Przykład 1 wykreślenie widma światła białego tworzymy obiekty klas: TSkalowanie, TWidmo, rysowanie - FormPain - wykorzystujemy Canvas. Canvas "płótno" powierzchnia do rysowania, obszar roboczy formularza. Obiekt klasy Canvas ( z bibloteki VCL Borlanda) słuŝy do ułatwienia rysowania grafiki (punktów, figur geometrycznych) w oknie komponentów TForm lub TImage. Canvas nie posiada własnej kontrolki na palecie komponentów void fastcall TForm1::FormPain(TObject *Sender) int marg = 10; //margines int xe, ye; //wspólrzedne ekranowe piksela 5

6 double lambda; //dlugosc fali int jasn; //jasnosc swiatla TWidmo w; // obiekt w klasy TWidmo TSkalowanie s(marg,marg,clientwidth-2*marg,clientheight-2*marg, (w.lambda_max+w.lambda_min)/2.0,50, w.lambda_max-w.lambda_min,100); //obiekt s klasy TSkalowanie for(xe=marg;xe < ClientWidth-marg;xe++) for(ye=marg;ye < ClientHeight-marg;ye++) lambda=s.daj_real_x(xe); //wywołana metoda klasy TSkalowanie jasn=s.daj_real_y(ye); //wywołana metoda klasy TSkalowanie Canvas -> Pixels[xe][ye] = w.lambda_to_kolor(jasn,lambda); //wywołana metoda klasy TWidmo Przykład 2 - Liść paproci algorytm sparametryzowany zamknięty w pętli. Tworzymy obiekt klasy TSkalowanie, rysujemy na "płótnie" Canvas void TForm1::Lisc_paproci(void) int nr_p; const double A[] = 0.0, 0.85, 0.2, -0.15, B[] = 0.0, 0.04,-0.26, 0.28, C[] = 0.0,-0.04, 0.23, 0.26, D[] = 0.16,0.85, 0.22, 0.24, E[] = 0.0, 0.0, 0.0, 0.0, F[] = 0.0, 1.6, 1.6, 0.44; 6

7 TSkalowanie skal(150,150,clientwidth/2,clientheight/2,0,4,5,10); // wywolanie obiektu do namalowania liscia paproci buton TSkalowanie lisc paproci double x,y,x1; int xe,ye; int p[4]=1,79,10,10; x=0;y=0; for(long int i=0;i<150000;i++) nr_p=n_random(p,4); x1=a[nr_p]*x+b[nr_p]*y+e[nr_p]; y=c[nr_p]*x+d[nr_p]*y+f[nr_p]; x=x1; xe=skal.daj_ekr_x(x); ye=skal.daj_ekr_y(y); Canvas->Pixels[xe][ye]=clGreen; int TForm1::n_random(int *p,int n) int a,sum=0,sum_w=0; int z; for(int i=0;i<n;i++) sum_w+=p[i]; a=random(sum_w); for(z=0;z<n;z++) sum+=p[z]; if(a<sum) break; return z; 7

8 Trzy instancje TSkalowanie - kaŝda z trzech instancji przenosi na ekran współrzędne Wybrane właściwości TCanvas Nazwa Znaczenie - zastosowanie / przykładowe wartości Pixels dwuwymiarowa tablica. TColor Pixels [int X]int Y] umoŝliwia dostęp (zapis i odczyt) koloru pojedynczych pikseli w oknie Pen definiuje właściwości konturu (linii) rysowanych obiektów ->Color = kolor linii np. clblue, clred ->Width= grubośc linii w pikselach np.3 ->Style = styl linii np. pssolid, psdot Brush definiuje właściwości wypełniania rysowanych obiektów -> Color = kolor wypełnienia np.clblue, clred ->Style = styl wypełnienia np. pssolid, psdot Wybrane metody TCanvas Nazwa Znaczenie - zastosowanie / przykładowe wartości Arc Wykreśla łuk okręgu, uŝywają aktualnie wybranego pióra. Łuk jest fragmentem elipsy ograniczonej zadanym prostokątem Ellipse Rysuje elipsę wpisaną w prostokąt o zadanych wierzchołkach Canvas ->Ellipse(100,100,200,200); LineTo Rysuje linię od aktualnej pozycji kursora graficznego do punktu o zadanych współrzędnych (X,Y) MoveTo Przesuwa kursor graficzny do punktu o zadanych współrzędnych (bez rysowania linii) Pie Rysuje wycinek koła Rectangle Wykreśla prostokąt którego przeciwległymi wierzchołkami są zadane punkty o współrzędnych (X1,Y1) oraz (X2,Y2). RoundRect Wykreśla prostokąt o zaokrąglonych naroŝnikach TextOut Wypisuje na powierzchni "płótna" zadany tekst rozpoczynając od punktu o zadanych współrzędnych (X,Y). 8

9 Przykład 3 składanie drgań tworzymy 3 obiekty klasy TSkalowanie + 6 komponentów TrackBar - wykorzystujemy Canvas. void fastcall TForm1::FormShow(TObject *Sender) TrackBar1Change( Sender); //zainicjuj parametry fal TrackBar2Change( Sender); TrackBar3Change( Sender); TrackBar4Change( Sender); TrackBar5Change( Sender); TrackBar6Change( Sender); // void fastcall TForm1::FormPaint(TObject *Sender) int xe1_old, ye1_old, xe2_old, ye2_old, xe3_old, ye3_old; //wspolrzedne ekranowe int xe1, ye1, xe2, ye2, xe3, ye3; //wspolrzedne ekranowe double x, y1, y2, y3; //wspolrzedne rzeczywiste double k1, k2; //parametry pomocnicze bool pierwszy = true; int a = ClientHeight / 4; //pomocnicze TSkalowanie s1( Panel1-> Width, 0, ClientWidth -Panel1 ->Width, a, 0, 0, 20, 10); TSkalowanie s2( Panel1 -> Width, a, ClientWidth - Panel1 -> Width, a, 0, 0, 20, 10); TSkalowanie s3( Panel1 -> Width,2a, ClientWidth - Panel1 -> Width,2a, 0, 0, 20, 20); k1 = 2 * M_PI / L1; k2 = 2 * M_PI / L2; Canvas -> Pen -> Width = 2; for( x = -10; x < 10; x += 0.1) y1 = A1 * sin( k1 * x + f1); xe1 = s1.daj_ekr_x( x); ye1 = s1.daj_ekr_y( y1); //pierwszy przebieg A amplituda L długość F faza 9

10 Komponenty + nasz obiekt Dziedziczenie Klasy pochodne są prostym elastycznym i efektywnym mechanizmem definiowania klasy przez dodawanie udogodnień do istniejącej klasy, bez ponownego programowania. #ifndef diagramh #define diagramh #include "skala.h" /*********************************************************************** ** Programowanie komponentowe - Jan Kowalski ** ** "diagram.h" ** ** Zawartosc: ** ** Wykreslenie siatki wspolrzednych ** ** Historia: ** ** Wersja Data Zmiany Autor/Programista ** ** 1.00 C++Buider (Symulacje komp.) Stasiewicz Andrzej ** ** /03/15 tylko siatki bez układu współ. EK ** ***********************************************************************/ class TDiagram : public TSkalowanie private: TCanvas *canvas; double xr0, yr0, rszer, rwys; 10

11 public: TDiagram( int xe0, int ye0, int eszer, int ewys,double Axr0, double Ayr0, double Arszer, double Arwys,TCanvas *Acanvas); void Siatka( double x0, double y0, double x1, double x2, double y1, double y2, double dx, double dy, TColor kolor=clgray); // (x0, y0) - srodek ukladu wspolrzednych // (x1 - x2) - rozpietosc osi X // (y1 - y2) - rozpietosc osi Y // dx, dy - rozmiary oczka siatki // kolor - kolor grafiki void Siatka( double x0, double y0, double dx, double dy, TColor kolor=clgray); void Siatka( double dx, double dy, TColor kolor=clgray); ; #endif Przykład 4 Wykreślenie widma światła białego + siatka w celu np. odczytania długości fali o zadanej barwie. Tworzymy obiekty klas: TDiagram d - obiekt dziedziczy atrybuty i metody klasy TSkalowanie a takŝe posiada własne atrybuty i metody niezbędne do narysowania siatki. TWidmo w rysowanie - FormPain - wykorzystujemy Canvas. void fastcall TForm1::FormPaint(TObject *Sender) int marg = 10; //margines int xe, ye; //wspólrzedne ekranowe piksela double lambda; //dlugosc fali int jasn; //jasnosc swiatla TWidmo w; TDiagram d( marg, marg, ClientWidth-2*marg, ClientHeight-2*marg, (w.lambda_max+w.lambda_min)/2., 75, w.lambda_max-w.lambda_min, 50, Canvas); for( xe=marg; xe < ClientWidth-marg; xe++) for( ye=marg; ye < ClientHeight-marg; ye++) lambda = d.daj_real_x( xe); //wywołana metoda z klasy bazowej jasn = d.daj_real_y( ye); Canvas -> Pixels[xe][ye] = w.lambda_to_kolor( jasn, lambda); d.siatka( (w.lambda_max-w.lambda_min)/10., 5, clwhite); 11

12 12

Obliczenie azymutu ze współrzędnych wersja C++ Builder

Obliczenie azymutu ze współrzędnych wersja C++ Builder Obliczenie azymutu ze współrzędnych wersja C++ Builder Specyfikacja problemu algorytmicznego Problem algorytmiczny: Obliczenie azymutów i długości, gdy dana jest tablica współrzędnych punktów (Nr X Y).

Bardziej szczegółowo

Szybkie tworzenie grafiki w GcIde

Szybkie tworzenie grafiki w GcIde Szybkie tworzenie grafiki w GcIde Opracował: Ryszard Olchawa Poniższy opis dotyczy aplikacji okienkowej w systemie Windows lub Linux bazującej na obiektowej bibliotece rofrm stworzonej w środowisku GcIde.

Bardziej szczegółowo

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Wykład 11 Grafika 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Grafika GDI+ GDI+ - Graphics Device Interface jeden z trzech podstawowych komponentów

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

Opis i przykłady zastosowań wybranych komponentów VCL

Opis i przykłady zastosowań wybranych komponentów VCL Opis i przykłady zastosowań wybranych komponentów VCL W bibliotece VCL obiekt klasy AnsiString (o alternatywnej skrótowej nazwie String) słuŝy do przechowywania w pamięci komputera tekstu (napisu, łańcucha

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 GRAFIKI 2D W ŚRODOWISKU EMBARCADERO RAD STUDIO XE4 Z WYKORZYSTANIEM BIBLIOTEKI DirectX

PROGRAMOWANIE GRAFIKI 2D W ŚRODOWISKU EMBARCADERO RAD STUDIO XE4 Z WYKORZYSTANIEM BIBLIOTEKI DirectX Mgr inż. Witold BUŻANTOWICZ Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Wojskowa Akademia Techniczna PROGRAMOWANIE GRAFIKI 2D W ŚRODOWISKU EMBARCADERO RAD STUDIO XE4 Z WYKORZYSTANIEM BIBLIOTEKI

Bardziej szczegółowo

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe. Programowanie Wizualno-Obiektowe (studia zaoczne - inżynieria komputerowa) Zajęcia z Delphi 5, program 1 Temat: Zadanie: Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków

Bardziej szczegółowo

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

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

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

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to

Bardziej szczegółowo

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej Jarosław Kuchta Podstawy Programowania Obiektowego Podstawy grafiki obiektowej Zagadnienia Grafika proceduralna grafika obiektowa Grafika WPF dualizm XAML C# Właściwości obiektów graficznych edycja właściwości

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2) Grafika w Pascalu. Do tej pory, tworząc programy w Pascalu, wykorzystywaliśmy jedynie tryb tekstowy. Jednak Pascal, tak jak i inne języki programowania, umoŝliwia korzystanie równieŝ z trybu graficznego.

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie i usługi internetowe cz. 2 Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,

Bardziej szczegółowo

Programowanie obiektowe

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

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

Arc Funkcja rysujca łuk elipsy wpisanej w prostokt o danych wierzchołkach i danych kocach łuku

Arc Funkcja rysujca łuk elipsy wpisanej w prostokt o danych wierzchołkach i danych kocach łuku TCanvas W rodowisku C++ Builder grafika oparta jest na idei "płótna" (ang. canvas). Płótno jest obiektem klasy TCanvas i jak kady obiekt w C++ Builder ma swoje właciwoci i metody. Obiektu klasy TCanvas

Bardziej szczegółowo

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do pracowni specjalistycznej z przedmiotu Obiektowe programowanie aplikacji Kod przedmiotu: TS1C410201

Bardziej szczegółowo

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8 Programowanie w JAVA Lab. 5 - Wątki 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 33 y 3 2 2 x x 3 y 7 x 3 33 7) 2 2 f x, y 1 x 3 1 x 2 1 y 7 x 3 3 33 2 112 y 3 7 x

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie

Bardziej szczegółowo

TEMAT : KLASY POLIMORFIZM

TEMAT : KLASY POLIMORFIZM TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie

Bardziej szczegółowo

Mechanizm dziedziczenia

Mechanizm dziedziczenia Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski Podstawy Processingu Diana Domańska Uniwersytet Śląski Processing jest językiem programowania opartym na języku Java. Jest on nastawiony na aplikacje związane z grafiką, animacją. Projekt został zainicjowany

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory,

Bardziej szczegółowo

Podstawy Języka Java

Podstawy Języka Java Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących

Bardziej szczegółowo

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

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane

Bardziej szczegółowo

STWORZENIE PRZYKŁADOWEJ

STWORZENIE PRZYKŁADOWEJ LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE PRZYKŁADOWEJ APLIKACJI MOBILNEJ W J2ME I. Temat ćwiczenia II. Wymagania Wykonanie poprzedniego ćwiczenia III. Ćwiczenie 1. Stworzenie aplikacji Celem ćwiczenia

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

Programowanie 2. Język C++. Wykład 3.

Programowanie 2. Język C++. Wykład 3. 3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane

Bardziej szczegółowo

Programowanie (C++) NI 5

Programowanie (C++) NI 5 Forma kształcenia i sposób weryfikacji efektów kształcenia Efekty kształcenia WYDZIAŁ FIZYKI UwB kierunek studiów: FIZYKA specjalność: FIZYKA KOD USOS: 0900 FS1 2 PRO Karta przedmiotu Przedmiot moduł ECTS

Bardziej szczegółowo

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 O mnie prowadzący wykład: Dariusz Wardowski pokój: A334 dyżur: środa, godz. 10.00 12.00 e-mail: wardd@math.uni.lodz.pl

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Obsługa obrazków w PHP Wprowadzenie Tworzenie i niszczenie obrazka Kolory Funkcje od obsługi obrazków - 1 - Wprowadzenie Przygotowanie

Bardziej szczegółowo

Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Środowisko Delphi Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

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

Metodyki i techniki programowania

Metodyki i techniki programowania Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor

Bardziej szczegółowo

Wykład 5 Okna MDI i SDI, dziedziczenie

Wykład 5 Okna MDI i SDI, dziedziczenie Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie

Bardziej szczegółowo

Mechanizm dziedziczenia

Mechanizm dziedziczenia Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia

Bardziej szczegółowo

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie

Bardziej szczegółowo

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura Programowanie komputerów Programowanie obiektowe. Typy zmiennych proste i złożone Typy zmiennych "wbudowane", tj. identyfikowane przez słowa kluczowe, są określane jako proste: int short long float double

Bardziej szczegółowo

Zad. 5: Układ równań liniowych liczb zespolonych

Zad. 5: Układ równań liniowych liczb zespolonych Zad. 5: Układ równań liniowych liczb zespolonych 1 Cel ćwiczenia Wykształcenie zdolności abstrahowania operacji arytmetycznych od konkretnych typów. Unaocznienie problemów związanych z programowaniem uogólnionym

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

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH Akademia Rolnicza im. Augusta Cieszkowskiego w Poznaniu - Instytut Inżynierii Rolniczej - ALGORYTMY I STRUKTURY DANYCH Prowadzący: dr inż. Radosław J. Kozłowski email: rjk@au.poznan.pl www: http://www.au.poznan.pl/~rjk

Bardziej szczegółowo

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003

Bardziej szczegółowo

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO Wstęp do programowania obiektowego Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO 1 Cele przedmiotu Zapoznanie z podstawowymi pojęciami oraz technikami programowania obiektowego na przykładzie

Bardziej szczegółowo

Dialogi, Memo i Image. Modified właściwość typu Boolean. Jest automatycznie ustawiana na True kaŝdorazowo po dokonaniu zmian treści wpisanej w Memo.

Dialogi, Memo i Image. Modified właściwość typu Boolean. Jest automatycznie ustawiana na True kaŝdorazowo po dokonaniu zmian treści wpisanej w Memo. Dialogi, Memo i Image Modified właściwość typu Boolean. Jest automatycznie ustawiana na True kaŝdorazowo po dokonaniu zmian treści wpisanej w Memo. Komponenty Dialog: SaveDialog, OpenDialog: Metoda: Execute

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dziedziczenie Przestrzenie nazw Na podstawie: A.

Bardziej szczegółowo

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty. Przyszedł czas na rysowanie własnych figur, czyli prymitywy, obracanie bitmap, oraz alpha blending-czyli półprzezroczystość. Będę opisywał tylko rzeczy nowe-nie ma potrzeby abym się powtarzał. Zaczynajmny

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Podstawy algorytmiki i programowania - wykład 4 C-struktury 1 Podstawy algorytmiki i programowania - wykład 4 C-struktury Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Programowanie obiektowe W1 Wprowadzenie Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Ogólna charakterystyka języka C++ C++ jest obiektowym językiem programowania,

Bardziej szczegółowo

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub PWSG Ćwiczenia 12 Wszystkie ukończone zadania należy wysłać na adres: sara.m.jurczyk@gmail.com lub sarajurczyk@kul.lublin.pl Zadanie 1: Różnica między zwykłymi polami/metodami, a polami/metodami static

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

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

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego 1/34 Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji

Bardziej szczegółowo

Rok akademicki: 2016/2017 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2016/2017 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Język C++ Rok akademicki: 2016/2017 Kod: JFT-1-306-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: - Poziom studiów: Studia I stopnia Forma

Bardziej szczegółowo

Semestr letni Brak Tak

Semestr letni Brak Tak KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/201 Zaawansowane techniki programowania Advanced techniques of programming

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 7

Programowanie komputerowe. Zajęcia 7 Programowanie komputerowe Zajęcia 7 Klasy Klasy to typy danych, które pozwalają na zgromadzenie w jednej zmiennej (obiekcie) zarówno danych jak i operacji związanych z tymi danymi. Obiekt danej klasy może

Bardziej szczegółowo

Metodyki zwinne wytwarzania oprogramowania

Metodyki zwinne wytwarzania oprogramowania Metodyki zwinne wytwarzania oprogramowania Wykład 7 Marcin Młotkowski 23 listopada 2016 Plan wykładu 1 2 3 Kilka negatywnych przykładów Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 2 /

Bardziej szczegółowo

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać

Bardziej szczegółowo

update 20 luty 2010 II r WMiI; Licencjat; dr ElŜbieta Kryś; Programowanie komponentowe

update 20 luty 2010 II r WMiI; Licencjat; dr ElŜbieta Kryś; Programowanie komponentowe Materiały pomocnicze do Programowania komponentowego C++Builder Wydział Matematyki i Informatyki II rok studia licencjackie UŁ (* na prawach rękopisu ElŜbieta Kryś *) ((barrdzo brrudny BRUDNOPIIS)) update

Bardziej szczegółowo

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory GRAFIKA Rodzaje grafiki i odpowiadające im edytory Obraz graficzny w komputerze Może być: utworzony automatycznie przez wybrany program (np. jako wykres w arkuszu kalkulacyjnym) lub urządzenie (np. zdjęcie

Bardziej szczegółowo

Języki programowania II - opis przedmiotu

Języki programowania II - opis przedmiotu Języki programowania II - opis przedmiotu Informacje ogólne Nazwa przedmiotu Języki programowania II Kod przedmiotu 06.9-WM-IB-P-33_15gen Wydział Kierunek Wydział Mechaniczny Inżynieria biomedyczna Profil

Bardziej szczegółowo

Dziedziczenie. Zadanie 1

Dziedziczenie. Zadanie 1 Dziedziczenie Zadanie 1 Napisz klasę KolorowyPunkt, która dziedziczy po klasie Punkt a dodatkowo przechowuje informacje o kolorze. Uzupełnij ją o metody umożliwiające pobieranie i ustawianie koloru. Pamiętaj

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:

Bardziej szczegółowo

Style programowania - krótki przeglad

Style programowania - krótki przeglad 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

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE. C++ - DZIEDZICZENIE Do najważniejszych cech języka C++ należy możliwość wielokrotnego wykorzystywania kodu Prymitywnym, ale skutecznym sposobem jest kompozycja: deklarowanie obiektów wewnątrz innych klas,

Bardziej szczegółowo

Metodyki i techniki programowania

Metodyki i techniki programowania Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

Bardziej szczegółowo

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy Pojęcie klasy Program napisany w języku Java składa się ze zbioru klas. Każda klasa zawiera

Bardziej szczegółowo

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Projektowanie obiektowe. Roman Simiński  Wzorce projektowe Wybrane wzorce strukturalne Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec

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

Dziedziczenie jednobazowe, poliformizm

Dziedziczenie jednobazowe, poliformizm Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie jednobazowe 2. Polimorfizm część pierwsza 3. Polimorfizm część druga Zofia Kruczkiewicz, ETE8305_6 1 Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie

Bardziej szczegółowo

LABORATORIUM 7 Cel: 1_1

LABORATORIUM 7 Cel: 1_1 LABORATORIUM 7 Cel: Budowa klas z wykorzystaniem dziedziczenia oraz implementowania interfejsów. Wprowadzenie do trybu graficznego -cd. Animacje obiektów w trybie graficznym obsługa zdarzeń od klawiatury

Bardziej szczegółowo

Obcinanie grafiki do prostokąta

Obcinanie grafiki do prostokąta Obcinanie grafiki do prostokąta Tworząc różnego rodzaju grafikę komputerową bardzo szybko natrafisz na sytuację, gdy rysowane obiekty "wychodzą" poza obszar ekranu. W takim przypadku kontynuowanie rysowania

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

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

Wskaźniki do funkcji i metod

Wskaźniki do funkcji i metod Jacek Matulewski WWW: http://www.fizyka.umk.pl/~jacek/cpp/ wersja z dnia 3 listopada 2006 Najnowsza wersja: http://www.fizyka.umk.pl/~jacek/cpp/cpp-wskazniki2.pdf Źródła: http://www.fizyka.umk.pl/~jacek/cpp/cpp-wskazniki2.zip

Bardziej szczegółowo

PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF.

PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF. PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF. Aby go zainstalowad należy rozpakowad pakiet o nazwie PyX-0.10 do odpowiedniego katalogu. Będzie on dostępny

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 7 - wprowadzenie do metod mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 27 listopada 2017 1 / 15 mgr inż. Krzysztof Szwarc Podstawy i języki

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Wykład A1. AutoCAD Dr inż. Jarosław Bydłosz

Wykład A1. AutoCAD Dr inż. Jarosław Bydłosz Wykład A1 AutoCAD Dr inż. Jarosław Bydłosz 1 Tematyka zajęć Rysunek techniczny Elementy geometrii wykreślnej Pakiet CAD (AutoCAD 2008) 2 Prowadzący zajęcia Wykłady: Prof. Jadwiga Maciaszek (pok. 204) Ćwiczenia

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 1 - sprawy organizacyjne i wprowadzenie. dr inż. Robert Nowak - p. 1/27 Cel i zakres przedmiotu Umiejętność programowania to umiejętność rozwiazania problemów

Bardziej szczegółowo

Języki i metody programowania Java Lab2 podejście obiektowe

Języki i metody programowania Java Lab2 podejście obiektowe Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie

Bardziej szczegółowo

Moduł graph w Pascalu

Moduł graph w Pascalu Moduł graph w Pascalu Wykład: uses graph, InitGraph, Detect, SetGraphMode, kolory, wypełnienia, linie, SetFillStyle, FloodFill, SetLineStyle, SetTextStyle, OutTextXY, SetTextJustify, GetMaxX, ClearDevice,

Bardziej szczegółowo

Java. Wykład 9. Piotr Tronczyk

Java. Wykład 9. Piotr Tronczyk Java Wykład 9 Piotr Tronczyk Zegar analogowy Tarcza Cyferblat Wskazówki Timer 2 Zegar analogowy Tym razem postaramy się napisać program, który wyświetlał będzie zegar analogowy. Część odpowiedzialna za

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