Zaawansowane programowanie w C++ (PCP)

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

Download "Zaawansowane programowanie w C++ (PCP)"

Transkrypt

1 Zaawansowane programowanie w C++ (PCP) Wykład 1 - sprawy organizacyjne i wprowadzenie. dr inż. Robert Nowak - p. 1/27

2 Cel i zakres przedmiotu Umiejętność programowania to umiejętność rozwiazania problemów przy pomocy komputera. Czy ten problem może być rozwiazany przy pomocy komputera? Czy ten problem powinien być rozwiazany przy pomocy komputera? Komputer = głupi automat. zapoznanie słuchaczy z zagadnieniami tworzenia oprogramowania w C++ współcześnie stosowane techniki i biblioteki Zakładana jest znajomość programowania strukturalnego i obiektowego oraz praktyczna znajomość języka C++. - p. 2/27

3 Podstawowe dane o przedmiocie» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie Miejsce spotkań: Piatki , sala N7 (wykład) Piatki , sala N102 (laboratorium) Prowadzacy: dr inż. Robert Nowak, Zakład Sztucznej Inteligencji, Wydział Elektroniki i Technik Informacyjnych, Politechnika Warszawska. strona przedmiotu: rnowak2/pcp2007l - p. 3/27

4 Zajęcia» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie 1 Klasy autonomiczne, cykl życia obiektów. 2 Agregacja i dziedziczenie, polimorfizm, klasy abstrakcyjne. 3 Laboratorium 1: funkcje wirtualne, hierarchia klas. 4 Wzorce projektowe. 5 Obsługa błędów, mechanizm wyjatków, sprytne wskaźniki. 6 Laboratorium 2: wyjatki. Rozdanie zadań projektowych. 7 Rola projektowania i testowania, repozytorium. 8 Szablony, wstęp do biblioteki standardowej, strumienie. 9 Biblioteka standardowa: kontenery, algorytmy. 10 Laboratorium 4: Kolokwium. 11 Laboratorium 5: realizacja projektu 12 Laboratorium 6: realizacja projektu 13 Aplikacje wielowatkowe, synchronizacja, boost::thread. 14 Laboratorium 7: aplikacje wielowatkowe. - p. 4/27

5 Literatura» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie Bjarne Stroustrup, Język C++, WNT Bruce Eckel, Thinking in C++, Helion E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Wzorce projektowe, WNT, A. Alexandrescu, Nowoczesne projektowanie w C++, WNT, A. Alexandrescu and H. Sutter, Jȩzyk C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk, Helion, B. Karlsson, Wiȩcej niż C++. Wprowadzenie do bibliotek Boost, Helion, S. Meyers, 50 efektywnych sposobów na udoskonalenie Twoich programów, Helion, p. 5/27

6 Zaliczenie przedmiotu» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie kolokwium 0 30pkt Podział punktów: ćwiczeń laboratoryjnych 0 40pkt projektów 0 30pkt Warunkiem zaliczenia jest uzyskanie przynajmniej 51 pkt. Ocena: punktów ocena pkt. ocena pkt. ocena pkt. ocena pkt. ocena pkt. ocena 2 - p. 6/27

7 Wymaganie oprogramowanie» Podstawowe dane o przedmiocie» Zajęcia» Literatura» Zaliczenie przedmiotu» Wymaganie oprogramowanie kompilatory: the GNU Compiler Collection Microsoft Visual Studio 2005 biblioteki: stl boost - inne: repozytorium - edytor tekstu debugger - p. 7/27

8 Sposób, aby zostać dobrym programista» Sposób, aby zostać dobrym programista» zasady dobrego stylu programowania Czytać kod innych. Myśleć! Programować. - p. 8/27

9 zasady» Sposób, aby zostać dobrym programista» zasady dobrego stylu programowania Wykrywanie błędów w programach: Wykorzystywać kompilator. Zawsze doprowadzić do czystej kompilacji (bez żadnych ostrzeżeń) na najwyższym poziomie. Rozumieć każde ostrzeżenie. Stosować standardy kodowania: pliki źródłowe, nazewnictwo, formatowanie kodu źródłowego, stosować konsekwentnie ten sam styl kodowania. - p. 9/27

10 Typy wbudowane» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania logiczny: bool, true, false całkowite: int, long,... rzeczywiste: double,... znakowe: char, wchar_t typ wyliczeniowy enum Kolory { RED = 1, GREEN = 2, BLUE = 4}; void - oznacza brak informacji typy wskaźnikowe typy tablicowe typy referencyjne typedef - p. 10/27

11 Czas życia obiektów» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania l-wartość: odnosi się do czegoś co istnieje w pamięci. Automatyczne: tworzone w chwili napotkania definicji sa niszczone w momencie wyjścia z zasięgu (np. z bloku) definicja powinna być wtedy gdy można zainicjować Statyczne (globalne i zadeklarowane jako static) tworzone tylko raz sa niszczone po zakończeniu programu dynamiczne (tworzone na stercie) operatory new i delete (uwaga! oddzielna wersja dla tablic), programista steruje czasem życia obiektów (tworzy je i usuwa), Nie używamy funkcji z <stdlib.h>, czyli malloc, free itp. - p. 11/27

12 Wykorzystywanie stałych» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Stałe definiuje się za pomoca słowa kluczowego const. const int NUM = 34; const int WZROST[] = { 174, 185, 193, 168 }; unika się magicznych liczb w kodzie, pokazuje się, że funkcja nie zmienia argumentów, pozwala się kompilatorowi na optymalizacje. Systematycznie korzystać ze stałych symbolicznych! int i = 2, j = 3; const int* p = &i; p = &j; *p = 4; int* const q = &i; q = &j; *q = 4; - p. 12/27

13 Konwersja typów» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Nie używa się rzutowania w stylu C! nie używa się void* unikać konwersji typów Operatory rzutowania: static_cast - umożliwia konwersję pomiędzy spokrewnionymi typami const_cast - znosi kwalifikator const reinterpret_cast - dowolna konwersja (tak jak w C) dynamic_cast - rzutowanie w górę hierarchii klas double d = 3.2; int i = static_cast<int>(d); - p. 13/27

14 Instrukcje sterujace» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Instrukcje warunkowe: if... else... switch Iteracja: for while do... while Wołanie funkcji, rekurencja. - p. 14/27

15 Przeciażanie nazw funkcji» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Funkcje moga mieć te same nazwy. bada się zgodność typów parametrów formalnych i aktualnych, znajdowania właściwej wersji funkcji: 1. ścisła zgodność; 2. promowanie w zakresie typów całkowitych(np. bool int ); 3. standardowe konwersje (np. int double); 4. konwersje zdefiniowane przez użytkownika, 5. wielokropek w deklaracji funkcji (wiele argumentów). Jeżeli znajdzie się dwie pasujace deklaracje: zgłaszany jest bład kompilacji. - p. 15/27

16 Przeciażanie nazw (przykład)» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Przykład: void print(double); void print(long); print(1l);////print(long) print(1.0);////print(double) print(1);////błąd - niezgodność nie można przeciażać ze względu na zwracana wartość; jest to ułatwienie notacyjne (to programista decyduje, że funkcje o tych samych nazwach wykonuja podobne operacje); stosowane np. dla różnych konstruktorów. ręczne usuwanie niejednoznaczności: jawna konwersja typu, np. static_cast. - p. 16/27

17 Argumenty domyślne» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Wartość wstawiana, gdy nie dostarczono argumentu. class Point { public: Point(int x = 0, int y = 0); private: int x_; int y_; }; Point::Point(int x, int y) //Nie powtarzać arg. domyślnych : x_(x), y_(y) { } Point p, r(1), s(1,2); Przeciażanie - gdy różny kod. Argumenty domyślne - gdy wiele argumentów, a niektóre maja typowe wartości. Domyślne moga być tylko końcowe argumenty. - p. 17/27

18 Preprocesor» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Preprocesora należy używać do: dołaczania plików nagłówkowych; #include <nazwa> #include nazwa zabezpieczania plików nagłówkowych przed wielokrotnym dołaczaniem; kompilacji warunkowej. I do niczego więcej! - p. 18/27

19 Wykorzystanie biblioteki standardowej C» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Wszystkie nagłówki z C zostały obudowane, aby można było je wykorzystywać w C++. Zmieniono ich nazwy. <cassert> - asercje (niezmienniki); <cctype> - klasyfikacja znaków (isalpha, isspace,... ); <cfloat> - ograniczenia reprezentacji zmiennopozycyjnej (np. DBL_MAX); <climits> - stałe ograniczajace zakresy typów wbudowanych (np. INT_MAX); <cmath> - funkcje matematyczne. - p. 19/27

20 Projektowanie modułów, rola testowania» Typy wbudowane» Czas życia obiektów» Wykorzystywanie stałych» Konwersja typów» Instrukcje sterujace» Przeciażanie nazw funkcji» Przeciażanie nazw (przykład)» Argumenty domyślne» Preprocesor» Wykorzystanie biblioteki standardowej C» Projektowanie modułów, rola testowania Moduł zawiera interfejs (nagłówek) oraz implementację. Używaj przestrzni nazw (jedna przestrzeń nazw na bibliotekę - zbiór powiazanych modułów). Każdy moduł powinien mieć swój test. Test powinien wykonywać się automatycznie (nie powinien komunikować się z człowiekiem). Wykorzystywać asercje do testowania. - p. 20/27

21 Programowanie obiektowe Wszystkie byty w programie sa obiektami. Program to zbiór obiektów, które się ze soba komunikuja. każdy obiekt posiada typ i tożsamość.» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Możliwość definiowania typów przez użytkownika: struct class struct X {private:... to to samo co class X {..., ale konwencje... - p. 21/27

22 Funkcje składowe (metody)» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy dostęp do składowych niejawny argument - wskaźnik this odwołania do this można pominać (skrócenie zapisu) metody stałe metody inline Sekcje (kontrola dostępu) - dziela klasę na interfejs i implementację. class Prostokat { public: Prostokat(const Punkt& a, const Punkt& b); private: Punkt leftup; Punkt rightdown; }; - p. 22/27

23 Konstruktor» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Specjalna metoda, która jest wołana, gdy jest tworzony obiekt danej klasy. zawsze wołany - programista nie zapomni zainicjować składowych, możliwość inicjacji prywatnych składowych, elegancki zapis inicjacji obiektów. struct Punkt { int x; int y; //konstruktor domyślny Punkt() { x = 0; y = 0; } //konstruktor Punkt(int wx, int wy) { x = wx; y = wy; } }; Punkt p; //Tworzy punkt, wywołuje konstruktor domyślny Punkt r(1,2); //Tworzy punkt o współrzędnych x == 1, y == 2 - p. 23/27 Punkt* pr = new Punkt(1,2); //To samo, ale obiekt na stercie

24 Destruktor Jeżeli obiekt klasy ma przydzielane zasoby, to powinno się je zwalniać. Destruktor - metoda wołana gdy niszczony jest obiekt.» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy class PunktN { public: PunktN(int n) { wsp = new int[n]; for(int i=0;i<n;++i) wsp[i] = 0; } PunktN() { delete wsp; } private: int* wsp; }; - p. 24/27

25 Konstrukcja i destrukcja» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy obiekt automatyczny (nazwany) tworzenie deklaracja (za każdym razem) usuwanie opuszcza się blok obiekt na stercie operator new operator delete (niesta- składowa tyczna) lokalny obiekt statyczny obiekt globalny, składowa statyczna obiekt tymczasowy tworzenie obiektu nadrzędnego deklaracja (za pierwszym razem!) poczatek programu podczas wartościowania wyrażenia niszczenie obiektu nadrzędnego koniec programu koniec programu po dojściu do końca wyrażenia - p. 25/27

26 Tworzenie kopii obiektu» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Tworzenie kopii: jawne Foo a; Foo b(a); jawne Foo c = a; przekazywanie wyniku przez wartość; Foo get(); Foo d = get(); przekazywanie argumentu przez wartość; void put(foo x); put(a); class Foo { public: //Deklaracja konstruktora kopiującego Foo(const Foo&);... }; - p. 26/27

27 Konstruktor kopiujacy Jeżeli brak definicji konstruktora kopiujacego, to zostanie on wygenerowany Obiekt może być przekazywany przez wartość, gdy konstruktor kopiujacy będzie prywatny.» Programowanie obiektowe» Funkcje składowe (metody)» Konstruktor» Destruktor» Konstrukcja i destrukcja» Tworzenie kopii obiektu» Konstruktor kopiujacy Zawsze definiować (dla klas autonomicznych): konstruktor (lub konstruktory) konstruktor kopiujacy destruktor operator przypisania (operator=) - p. 27/27

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu obowiązuje w roku akademickim 01/013 Kierunek studiów: Informatyka Forma studiów: Stacjonarne Profil:

Bardziej szczegółowo

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013 Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu obowiązuje studentów rozpoczynających studia w roku akademickim 01/013 Wydział Fizyki, Matematyki i Informatyki Kierunek studiów: Informatyka

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 I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Bardziej szczegółowo

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

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++ Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 Materiały do wykładu

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

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

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

Nowe słowa kluczowe. Komentarze. Wskaźniki typu void. class, delete, new, friend,... /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza)

Nowe słowa kluczowe. Komentarze. Wskaźniki typu void. class, delete, new, friend,... /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza) Różnice między C i C++ (Rozszerzenia C++) Nowe słowa kluczowe class, delete, new, friend,... Komentarze /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza) Wskaźniki typu void W C wskaźniki

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU METODY

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Część I Programowanie niskiego poziomu w języku C 19

Część I Programowanie niskiego poziomu w języku C 19 Spis treści Przedmowa 13 Wstęp 15 Część I Programowanie niskiego poziomu w języku C 19 Wprowadzenie 21 1 Typy 23 1.1 Fundamentalne typy danych...................... 23 1.2 Typy pochodne.............................

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

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

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

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

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone 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

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Java Język programowania

Java Język programowania Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja

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 Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

I - Microsoft Visual Studio C++

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

Bardziej szczegółowo

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

10. Programowanie obiektowe w PHP5

10. Programowanie obiektowe w PHP5 Ogólnie definicja klasy wygląda jak w C++. Oczywiście elementy składowe klasy są zmiennymi PHP, stąd nieśmiertelne $. Warto zauważyć, że mogą one mieć wartość HHH mgr inż. Grzegorz Kraszewski TECHNOLOGIE

Bardziej szczegółowo

Rok akademicki: 2012/2013 Kod: EAR-1-206-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2012/2013 Kod: EAR-1-206-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Informatyka 1 Rok akademicki: 2012/2013 Kod: EAR-1-206-s Punkty ECTS: 3 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Automatyka i Robotyka Specjalność:

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

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

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Programowanie obiektowe, wykład nr 6. Klasy i obiekty Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto

Bardziej szczegółowo

Języki Programowania Obiektowego

Języki Programowania Obiektowego Języki Programowania Obiektowego Kod przedmiotu: JPO Rodzaj przedmiotu: kierunkowy; obowiązkowy. Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Projektowanie klas c.d. Projektowanie klas przykład

Projektowanie klas c.d. Projektowanie klas przykład Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej

Bardziej szczegółowo

PROGRAMOWANIE w C prolog

PROGRAMOWANIE w C prolog PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014

Bardziej szczegółowo

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

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

Bardziej szczegółowo

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne Programowanie w Javie nazwa SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów Kod Język

Bardziej szczegółowo

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę* WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim: Programowanie w języku C Nazwa w języku angielskim C language programming Kierunek studiów (jeśli

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

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

Programowanie 2. Język C++. Wykład 9. 9.1 Ukrywanie metod, metody nadpisane... 1 9.2 Metody wirtualne, wirtualny destruktor... 2 9.3 Metody czysto wirtualne... 6 9.4 Klasy abstrakcyjne... 7 9.5 Wielodziedziczenie... 9 9.1 Ukrywanie metod,

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

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

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

Bardziej szczegółowo

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego: Typy klasowe (klasy) 1. Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która definiuje programy za pomocą obiektów

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

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

Podstawy programowania.

Podstawy programowania. Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil

Bardziej szczegółowo

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

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

PROE wykład 1. dr inż. Jacek Naruniec

PROE wykład 1. dr inż. Jacek Naruniec PROE wykład 1 dr inż. Jacek Naruniec Informacje o przedmiocie Prowadzący: dr inż. Jacek Naruniec, J.Naruniec@ire.pw.edu.pl, pokój 11, konsultacje w poniedziałki w godzinach 14-16 Strona przedmiotu: ztv.ire.pw.edu.pl/proe

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny semestr III, studia stacjonarne I stopnia Rok akademicki 2015/2016 Pracownia nr 1 (21/23.09.2015) Rok akademicki 2015/2016, Pracownia nr 1 2/22

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

Programowanie obiektowe język C++

Programowanie obiektowe język C++ Programowanie obiektowe język C++ Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Podziękowanie: Chcę podziękować dr inż.. Grzegorzowi Hałdasiowi

Bardziej szczegółowo

Podstawy programowania komputerów

Podstawy programowania komputerów Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana

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

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

Bardziej szczegółowo

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA 1 Rozdział 1 Praca z makropoleceniami Opis: W tym rozdziale kursanci przechodzą przez wprowadzenie do programowania

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Pojęcie struktury i klasy. Konstruktor i destruktor. Spotkanie 08 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Spotkanie 08 Klasy: definicja a deklaracja klasy dane składowe

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

Podstawy języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Wykład 9 2014-06-20 09:37 PP2_W9

Wykład 9 2014-06-20 09:37 PP2_W9 Wykład 9 Przykłady programów z wykorzystaniem klas - przykład funkcji operatorowych - obiektowa implementacja listy jednokierunkowej kopiowanie obiektów - klasa "latający napis" Pozycjonowanie w plikach

Bardziej szczegółowo

Wprowadzenie do programowanie obiektowego w języku C++

Wprowadzenie do programowanie obiektowego w języku C++ Wprowadzenie do programowanie obiektowego w języku C++ Część czwarta Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

C++ - [4-7] Polimorfizm

C++ - [4-7] Polimorfizm Slajd 1 z 14 C++ - [4-7] Polimorfizm Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 20 maja 2013 r. Slajd 2 z 14 Polimorfizm i klasa polimorficzna POLIMORFIZM (cytat z Wikipedii) (wielopostaciowość)

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Programowanie obiektowe C++

Programowanie obiektowe C++ Programowanie obiektowe C++ Programowanie zorientowane obiektowo Wykład 1 Witold Dyrka witold.dyrka@pwr.wroc.pl 10/10/2011 Prawa autorskie itp. Wiele slajdów do tego wykładu powstało w oparciu o: slajdy

Bardziej szczegółowo

Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika

Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika Wyklad 6 Typy i zmienne: wskaznikowe, referencyjne Funkcje deklaracja, definicja. Zasieg deklaracji i widocznosc zmiennych Przekazywanie parametrów przez wartosc, referencje i wskaznik Przekazywanie wyniku

Bardziej szczegółowo

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Podstawy programowania komputerów Computer programming basics Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy Rodzaj zajęć: wykład, laboratorium Forma studiów: stacjonarne Poziom

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo