PARADYGMATY PROGRAMOWANIA

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

Download "PARADYGMATY PROGRAMOWANIA"

Transkrypt

1 PARADYGMATY PROGRAMOWANIA dr inż. Jerzy Sas, (w tytule 'i: EDU-PP...) Literatura: 1. Grębosz J. Symfonia C++, Oficyna Kalimach, Kraków, 2000, Grębosz J. Pasja C++, Oficyna Kalimach, Kraków, 2000, Eckel B. - Thinkink in C++, Helion, Eckel B. _ Thinkink in Java, Wydanie 3. Helion, Walczak K. - Nauka programowania obiektowego w C++, W&W, W-wa, Kain E. - Od C do C++, Helion, Liberty J. - Poznaj C++, Intersoftland 1999, 9. Dumański R., Kasprzyk A., Kozłowski M. - Analiza i projektowanie obiektowe, 10. Subieta K. - Obiektowość w projektowaniu i bazach danych, Akademicka Oficyna Wydawnicza PLJ, Subieta K. - Słownik terminów z zakresu obiektowości, Akademicka Oficyna Wydawnicza PLJ, Program: 1. Wstęp, p`odstawowe pojęcia z zakresu języków programowania i kompilacji 2. Podstawy programowania obiektowego w C++: pojęcia podstawowe, składniki klasy, definiowanie klasy w C++, dziedziczenie, polimorfizm, metody wirtualne, wstęp do przeciążania operatorów 3. Definiowanie własnych operatorów, przeciążanie operatorów, konwersje typów, zaawansowane techniki dziedziczenia, obiektowe wejście-wyjście w C++ 4. Wyjątki 5. Szablony i wzorce projektowe 6. STL omówienie podstawowych elementów 7. Przykłady praktyczne i ćwiczenia 8. Podstawy programowania w Java 9. Elementy najważniejszych pakietów Java 10. Przykładowe programy w Javie

2 Paradygmat: 1) przyjęty wzorzec w jakiejś dziedzinie (np. postępowania, rozwiązywania kategorii problemów) 2) przyjęty sposób widzenia rzeczywistości w danej dziedzinie 3) niekwestionowalny zbiór pojęć i teorii tworzących podstawy danej nauki Paradygmaty programowania Programowanie imperatywne Programowanie deklaratywne Programowanie sekwencyjne Programowanie obiektowe Programowanie funkcyjne Programowanie w logice Programowanie strukturalne (proceduralne) Programowanie imperatywne - polega na podaniu sposobu wykonania zadania przez określenie kolejnych kroków (poleceń zrozumiałych dla komputera) prowadzących do wykonania zadania Programowanie deklaratywne - polega na określeniu oczekiwanych własności rozwiązania które ma być uzyskane bez podawania szczegółowego algorytmu jego uzyskania Program deklaratywny = sformułowanie problemu w pewnym języku formalnym Przykład: type r_autora = record

3 id : integer; nazwisko, imie : string; narodowosc : (polska, angielska, rosyjska, niemiecka); end; r_ksiazki = record id : integer; tytul : string; id_autora : integer; ilosc_wypozyczen : integer; end; var aut = array [ ] of r_autora; ksiazki = array [ ] of r_ksiazki; Zadanie: Znajdź narodowość, z której książki są najczęściej wypożyczane Program imperatywny: dla każdej książki wyznacz narodowość autora; utwórz tabelę liczności wypozyczeń dla każdej książki dla każdej książki: dodaj jej liczbę wypożyczeń do tabeli liczności na pozycji odpowiadającej narodowości; znajdź pozycję w tabeli liczności o maksymalnej liczbie wypożyczeń; zwróć narodowość odpowiadającą znalezionej pozycji Program deklaratywny: Znajdź narodowość, z której książki są najczęściej wypożyczane wyrażone w języku formalnym (np. SQL) SELECT NARODOWOSC FROM SELECT SUM(ILOSC_WYPOZYCZEN) AS SUMA, NARODOWOSC FROM AUT, KSIAZKI WHERE KSIAZKI.ID_AUTORA = AUT.ID WHERE SUMA = MAX( T1.SUMA ) Cechy programu imperatywnego: Obliczenia rozumiemy tu jako sekwencję poleceń zmieniających krok po kroku stan maszyny, aż do uzyskania oczekiwanego wyniku. Stan maszyny należy rozumieć jako zawartość całej pamięci oraz rejestrów i znaczników procesora. Ten sposób patrzenia na programy związany jest ściśle z budową sprzętu komputerowego o architekturze von Neumanna, w którym poszczególne instrukcje (w kodzie maszynowym) to właśnie polecenia zmieniające ów globalny stan. Języki wysokiego poziomu takie jak Fortran, Algol, Pascal, Ada lub C posługują się pewnymi abstrakcjami, ale wciąż odpowiadają paradygmatowi programowania imperatywnego.

4 Przykładowo, instrukcje podstawienia działają na danych pobranych z pamięci i umieszczają wynik w tejże pamięci, zaś abstrakcją komórek pamięci są zmienne. 1 Programowanie sekwencyjne: program jest ciągiem prostych instrukcji o ustalonej postaci tekstowej kolejność wykonania instrukcji może być zmieniana za pomocą instrukcji skoku warunkowego i bezwarunkowego skok może nastąpić do dowolnego miejsca w programie, można tworzyć podprogramy, do których można przejść z dowolnego miejsca w programie a następnie powrócić do tego miejsca Przykładowe języki: Assembler, BASIC (wczesne wersje), Fortran (wczesne wersje) Programowanie strukturalne: z ciągów instrukcji można tworzyć instrukcje złożone; instrukcje można zagnieżdżać (w szczególności można zagnieżdżać instrukcje złożone, instrukcja skoku (aczkolwiek zwykle dopuszczalna) jest zdecydowanie niezalecana niekiedy istnieje możliwość zagnieżdżania podprogramów, pojawia się pojęcie zmiennych lokalnych. Przykładowe języki: Pascal, C, Ada, BASIC (nowsze wersje) Programowanie obiektowe: program traktuje się jako zbiór autonomicznych i porozumiewających się ze sobą bytów programistycznych zwanych obiektami, obiekt jest połączeniem danych i wykonywanych na tych danych operacji, program powstaje jako model wycinka rzeczywistości, w której też wyróżniamy obiekty obiekty dzielimy na kategorie - dla każdej kategorii tworzymy wzorzec zwany klasą Przykładowe języki: Java, C++, C# Programowanie deklaratywne: Programowanie funkcyjne: Program jest funkcją wyznaczającą wynik działania programu Przykład - obliczanie wartosci ciągu Fibonacciego: 1 Żródło: mowania%3f

5 procedure proc_imper( ind : integer, var wynik : real) begin if (ind = 1) wynik := 3 else if (wyn = 2) wynik := 2 else begin w_2 := 3; w_1 := 2; for i := 3 to ind do begin wynik := w_2 + w_1; w_2 := w_1; w_1 := wynik; end; end; end; function func_deklar( ind : integer ) : real; begin if (ind = 1) func_deklar := 3 else if (wyn = 2) func_deklar := 2; else func_deklar := func_deklar( ind - 2) + func_deklar( ind - 1); end; Cechy programu funkcyjnego: nie ma zmiennych (stanu programu) - tylko argumenty funkcji nie ma trwałych efektów ubocznych wykonania funkcji nie ma instrukcji iteracyjnych instrukcjom iteracyjnym odpowiada rekurencja, do rozwiązania bardziej złożonych problemów definiuje się liczne funkcje pomocnicze Przykładowe języki: LISP, Haskell, można ten styl stosować w większości języków strukturalnych Programowanie w logice: Problem definiuje się w taki sposób aby rozwiązanie mogło być znalezione poprzez wyznaczenie elementów z pewnego zbioru, dla których zachodzi określona własność wyrażona za pomocą formuł (predykatów) logicznych Cechy programu funkcyjnego: Program to sformułowanie własności rozwiązania w języku formalnym pozwalającym na definiowanie predykatów.

6 Wykonanie programu polega na znalezieniu takich danych, dla których mozna "udowodnić" spełnienie wymaganej własności. Zadaniem kompilatora i interpretera programu logicznego jest znalezienie ciągu operacji prowadzących do rozwiązania problemu (udowodnienia własności Przykład: ojciec(jan, jerzy). ojciec(jerzy, janusz). ojciec(jerzy, józef). dziadek(x, Z) :- ojciec(x, Y), ojciec(y, Z).?- dziadek(x, janusz). 2 Przykładowe języki: Prolog, SQL Inne paradygmaty programowania: programowanie sterowane danymi programowanie sterowane zdarzeniami programowanie współbieżne programowanie wizualne (języki 4GL) 2 Żródło: mowania%3f

7 Elementy definicji języka programowania: Składnia - opis wlaśności tekstowych poprawnych programów (pozwalający rozstrzygnąś jaki napis jest poprawnym programem) Metody opisu: - gramatyki bezkontekstowe, gramatyki atrybutowe, notacja BNF Semantyka - opis znaczenia składniowo poprawnych programów Metody opisu: metoda operacyjna, metoda denotacyjna, metoda aksjomatyczna Pragmatyka - zbiór zasad i wskazówek określających jak konstrukcje języka stosować do rozwiązywania praktycznych problemów Metoda opisu: nieformalna Etapy tworzenia programu wynikowego z tekstu napisanego przez programistę Cel: przetworzyć tekst programu w języku źródłowym na program wykonywalny Etapy Wstępne przetwarzanie tekstu, Kompilacja Konsolidacja Interpretacja (opcjonalnie)

8 Programowanie obiektowe w C++ Pojęcie klasy, obiektu i ich zastosowania Programowanie jako sposób modelowania świata Zastosowanie Modelowane byty Modele dokumenty, towary, osoby oraz związki pomiędzy nimi Aplikacje w bazach danych Edytory tekstu lub HTML Program do projektowania CAD Program symulacyjny (np. do analizy pracy kas w hipermarkecie) Program obliczeniowy (np. do obliczeń inżynierskich) Program używający złożonych struktur danych Program z interfejsem okienkowym typu desktop dokumenty, rozdziały, akapity, ilustracje oraz ich wzajemne położenie punkty, wielokąty powierzchnie, bryły, zestawy brył klienci, wózki/koszyki, towary, kolejki do kas, kasy, CZAS (zegar) liczby zespolone, wektory, macierze stosy, listy, kolejki, drzewa binarne, grafy dokumenty i ich położenie na biurku rekordy w bazie danych, powiązania za pomocą kluczy obcych tablice znakowe (teksty), struktury danych opisujące ich położenie na stronie oraz formatowanie tablice liczbowe struktury danych połączone w listach i tablicach tablice liczbowe zmienne dynamiczne, listy i tablice zmiennych okno główne modelujące blat biurka, okna modelujące poszczególne dokumenty Obiekt = dane + specyficzne operacje na tych danych (metody) Klasa - typ danych określający dane składowe obiektu i sposób wykonywania operacji na nich Obiekt klasy == konkret klasy

9 Relacja pomiędzy klasą a obiektem - taka sama jak pomiędzy definicją typu a zmienną tego typu, np. typedef struct /* definicja typu dla liczb zespolonych */ double Re, double Im } Complex;... Complex c1, c2; /* deklaracja dwóch zmiennych zespolonych */ Przykład 1) - stos jako obiekt dane: tablica elementów stosu, maksymalna ilość elementów stosu, aktualna ilość elementów na stosie metody: inicjuj, skasuj cały stos, dodaj element do stosu, zdejmij element ze stosu, podaj ilość elementów na stosie Rozważyć możliwe metody implementacji. Przykład 2) - macierz jako obiekt dane: tablica liniowa zawierająca elementy macierzy, rozmiary n x m, wartość wyznacznika, flaga oznaczająca czy dla aktualnej postaci macierzy obliczono wyznacznik, metody: inicjuj na zadany rozmiar (n, m), odczytaj wartość z pozycji (i, j), wstaw wartość na pozycji (i, j), odczytaj wektor-wiersz (j) odczytaj wektor-kolumnę (i) dodaj/odejmij/pomnóż przez inną macierz (M), pomnóż przez wektor, oblicz wyznacznik, odwróć macierz, ustaw macierz jednostkową skasuj Przykład 3) - punkty i wielokąty Punkt 2D dane: współrzędna x współrzędna y

10 współrzędna w metody: ustaw współrzędną x/y, odczytaj współrzędną x/y przesuń o podany wektor (u, v) skaluj przez podany współczynnik, obróć wokół (0,0) o kąt a. Wielokąt 2D: dane: ilość wierzchołków, tablica lub lista wierzchołków, pole powierzchni, flaga oznaczająca czy pole powierzchni obliczone, metody: inicjuj jako trójkąt (p1, p2, p3) inicjuj jako pusty podaj tablicę wierzchołków, podaj ilość wierzchołków, dodaj wierzchołek po wskazanym (n, p), usuń wskazany wierzchołek (n) podaj pole powierzchni, przesuń o wektor (u, v), skaluj przez podany współczynnik (w), obróć wokół (0,0) o kąt a. Metodologie programowania Metodologia Struktury danych niestrukturalne typy proste, tablice typów prostych strukturalne obiektowe rekordy, zbiory, zagnieżdżanie typów j/w obiekty Konstrukcje programowe instrukcje proste, podprogramy instrukcje strukturalne, zagnieżdżanie procedur i funkcji metody obiektów Cechy łatwa implementacja, nieczytelność programów, trudności w modelowaniu czytelność programów, ułatwienie analizy programu, trudności w modelowaniu łatwość modelowania, Języki Assembler, Fortran Basic Pascal, C, PL/I Modula, C++, Java, Delphi-

11 przy nierozważnym użyciu - zmniejszenie czytelności i ryzyka błędów Pascal Dlaczego warto stosować styl obiektowy Aspekt projektowy: większe zbliżenie kodu do modelowanego fragmentu rzeczywistości, powiązanie danych i wykonywanych na nich operacji możliwość modelowania hierarchii obiektów i modelowania Aspekt programistyczny: możliwość ukrycia szczegółów implementacji - hermetyzacja, ograniczenie dostępności do składowych obiektu, możliwość zmiany sposobu implementacji bez zmiany interfejsu, zwiększenie czytelności zapisu poprzez jawne powiązanie danych z operacjami na nich Definiowanie klas w C++ Prototyp klasy (deklaracja) - specyfikacja danych i metod klasy Implementacja klasy (definicja) - kod metod klasy. Prototyp klasy x - w pliku x.h Implementacja klasy x - w pliku x.cpp Składnia definicji klasy w EBNF: <definicja klasy> ::= class <nazwa klasy> <sekcja>* }; <sekcja> ::= <kwalifikator dostępu><deklaracja składowej>* <kwalifikator dostępu> ::= public: private: protected: <deklaracja składowej> ::= <deklaracja danej>; <deklaracja metody>; <deklaracja metody> ::= <deklaracja funkcji> Kwalifikator dostępu - określa możliwość używania określonej składowej klasy: public - dostęp nieograniczony, private - dostęp tylko z metod tej klasy, protected - dostęp tylko z metod tej klasy i z metod klas dziedziczących od tej klasy. Po zdefiniowaniu nazwa klasy staje się typem zmiennych. Przykład: class Point2D private: double x;

12 double y; double w; int calc_dist_to_zero(); }; public: void set_x( double x_coord ); void set_y( double y_coord ); double get_x( void ); double dist_to_zero; Definiowanie metod klasy: <definicja metody> ::= <specyfikacja typu> <nazwa klasy> ::<nazwa metody> ( <parametry> ) <ciało metody> Jeśli metoda będzie zdefiniowana bezpośrednio w definicji klasy to zostanie uznana za metodę inline Przykład: double Point2D::get_x( void ) return x / w; } void Point2D::set_x( double x_coord ) x = x_coord * w; calc_dist_to_zero(); } Deklarowanie obiektów klasy (konkretów): <deklaracja obiektów> = <nazwa klasy> <nazwa obiektu>, ; Przykład: Point2D p1, p2, p3; // deklarowanie pojedynczych // obiektów Point2D points[10]; // deklarowanie tablicy obiektów Odwoływanie się do składowych klasy wewnątrz metod obiektu - bezpośrednio przez nazwę składowej spoza obiektu - przez podanie identyfikatora obiektu i nazwy składowej. p1.set_x( 10.3); x = p1.get_y();

13 dtz = p1.dist_to_zero; x = p1.x; // BŁĄD - składowa x jest prywatna for (i=0; i < 10; i++) points[i].set_x( 10.6); points[i].set_y( i ); distance_total += points[i].dist_to_zero; } Tworzenie dynamicznych obiektów w pamięci tworzenie obiektu w pamięci - operator new likwidacja obiektu - operator delete <deklaracja wskaźnika do obiektu> = <nazwa klasy> ( * <nazwa obiektu ), ; Point2D *p1, *p2, *p3; // deklaracja wskaźników do // trzech obiektów lub lepiej typedef Point2D *Point2DPtr Pointer2DPtr p1, p2, p3; Pointer2DPtr points[10]; // tablica 10 wskaznikow Pointer2DPtr p_10; // wskaznik na tablice 10 // obiektow Tworzenie obiektów: p1 = new Point2D; p2 = new Point2D; p3 = new Point2D; for (i = 0; i < 10; i++) points[i] = new Point2D; p_5 = new Point2D [ 10 ]; Odwoływanie się: p1->set_x( 10.3); x = p1->get_y(); dtz = p1->dist_to_zero; for (i=0; i < 10; i++) points[i]->set_x( 10.6); points[i]->set_y( i ); distance_total += points[i]->dist_to_zero; }

14 for (i=0; i < 10; i++) p_10[i].set_x( 10.6); p_10[i].set_y( i ); distance_total += p_10[i].dist_to_zero; } Kasowanie obiektów: delete p1; delete p2; delete p3; for (i=0; i < 10; i++) delete points[i]; } delete [] p_10; Konstruktory i destruktory konstruktor - metoda wywoływana automatycznie w momencie tworzenia obiektu używana do inicjalizacji danych obiektu. Cechy konstruktora: ma taką samą nazwę jak klasa, nie zwraca żadnej wartości. Przykład: class Point2D private: double x; double y; double w;... public: Point2D( void ); Point2D( double coord_x, double coord_y );... double dist_to_zero; }; Point2D::Point2D( void ) x = 0.0; y = 0.0; w = 1.0; dist_to_zero = 0.0; } Point2D::Point2D( double coord_x, double coord_y ) x := coord_x; y = coord_y; w = 1.0;

15 } dist_to_zero = sqrt(sqr(x) + sqr(y));... Point2D p1; // wywołuje pierwszy konstruktor Point2D p2(10.3, 4.5);// wywołuje drugi konstruktor Przy użyciu wartości domyślnych parametrów można te dwa konstruktory zastąpić jednym: Point2D::Point2D( double coord_x = 0.0, double coord_y = 0.0 ) x := coord_x; y = coord_y; w = 1.0; dist_to_zero = sqrt(sqr(x) + sqr(y)); } konstruktor domyślny - konstruktor, nie wymagający jawnego podawania parametrów aktualnych Konstruktory a tablice obiektów Jeśli istnieje konstruktor domyślny możliwa inicjalicacja tablicy obiektów w postaci Point2D points[3]; Jeśli konstruktor domyślny nie istnieje to należy podać jawnie parametry konstruktora: Point2D points[3] = Points2D(10.3, 15.7 ), Points2D( 8.1, 5.3 ), Points2D( 5.9, 1.7 ) }; Point2DPtr p1 = new Point2D( 10, ); Jeśli konstruktor domyślny nie istnieje to nie można alokować tablicy obiektów. destruktor - metoda wywoływana automatycznie w momencie gdy obiekt przestaje być dostępny, zwykle używana do zwalniania pamięci zaalokowanej przez obiekt Cechy destruktora: ma nazwę postaci ~XXX gdzie XXX jest nazwą klasy, nie przyjmuje parametrów i nie zwraca wartości, dla zadeklarowanych zmiennych obiektowych wywołuje się gdy zmienna przestaje być dostępna a dla zmiennych dynamicznych w momencie użycia operatora delete. Zadania do wykonania: 1. Napisać klasę i jej implementację modelującą stos

16 2. Napisać klasę (bez implementacji metod) do modelowania brył w 3D 3. Napisać klasę i jej implementację do wykonywania operacji algebraicznych na wektorach. 4. Napisać klasę i jej implementację do zarządzania zbiorem liczb naturalnych

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 13 Paradygmaty. Składnia i semantyka.

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka. Wstęp do Programowania Obiektowego Wykład 13 Paradygmaty. Składnia i semantyka. 1 PRZEGLĄD PODSTAWOWYCH PARADYGMATÓW 2 Cztery podstawowe paradygmaty 1. Programowanie imperatywne. 2. Programowanie funkcyjne.

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

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. programowania. Klasa 3 Lekcja 9 PASCAL & C++

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

Bardziej szczegółowo

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

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

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

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

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

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

Definiowanie własnych klas

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

Bardziej szczegółowo

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

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

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

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 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

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

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

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

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

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Literatura David Harel. Rzecz o istocie informatyki. Algorytmika. Wydawnictwa Naukowo-Techniczne. Wydanie trzecie. Seria: Klasyka informatyki. Warszawa 2000. Niklaus Wirth. Algorytmy

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

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

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

Paradygmaty programowania

Paradygmaty programowania Wg. J. Bylina, B. Bylina Przegląd języków i paradygmatów programowania, UMCS, Lublin 2011 Paradygmaty programowania Paradygmat (gr. Paradeigma) - wzorzec lub przykład Def. słownikowa: przyjęty sposób widzenia

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

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

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

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

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

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

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

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

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 TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym

Bardziej szczegółowo

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania Wstęp do Informatyki Program, proces tworzenia programu Środowisko programistyczne Języki programowania Program - definicje Program jest przekładem problemu użytkownika na język maszyny Niklaus Wirth:

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

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ę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

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

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Ćwiczenia laboratoryjne. Ćwiczenia projektowe (W) (Ć) (L) (P) (S) (T) IV 15 30 3

Ćwiczenia laboratoryjne. Ćwiczenia projektowe (W) (Ć) (L) (P) (S) (T) IV 15 30 3 Kod przedmiotu: PLPILA0-IEEKO-L-4s1-01IWBIAS Pozycja planu: D1 INFORMACJE O PRZEDMIOCIE A. Podstawowe dane 1 Nazwa przedmiotu Programowanie obiektowe Rodzaj przedmiotu Specjalnościowy/Obowiązkowy 3 Kierunek

Bardziej szczegółowo

Ada-95. Dariusz Wawrzyniak

Ada-95. Dariusz Wawrzyniak Część I Wskaźniki Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Plan Typy wskaźnikowe i obiekty wskazywane 1 Typy wskaźnikowe i obiekty wskazywane 2 3 4 Wskaźniki

Bardziej szczegółowo

Podstawy programowania obiektowego

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

Bardziej szczegółowo

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

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

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

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

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

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

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

Podstawy Programowania 2

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

Bardziej szczegółowo

Spis treści. 1 Java T M

Spis treści. 1 Java T M Spis treści 1 Java T M 1 2 Co to jest Platforma Java T M 1 3 Przygotowanie komputera 2 4 Pierwszy program 2 5 Dokumentacja 3 6 Budowa aplikacji. Klasy. 3 7 Pola i metody 4 8 Konstruktory 5 9 Inne proste

Bardziej szczegółowo

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu Programowanie V Dariusz Skibicki Wydział Inżynierii Mechanicznej Uniwersytet Technologiczno-Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy dariusz.skibicki(at)utp.edu.pl Programowanie Projektowanie

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium JĘZYKI PROGRAMOWANIA Programming Languages Forma studiów: studia

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

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Ocenianie ciągłe (praca przy Formująca tablicy oraz przy komputerze) pisemne, końcowe zaliczenie pisemne

Ocenianie ciągłe (praca przy Formująca tablicy oraz przy komputerze) pisemne, końcowe zaliczenie pisemne KARTA PRZEDMIOTU 1. NAZWA PRZEDMIOTU: Kurs języka programowania 2. KIERUNEK: Matematyka 3. POZIOM STUDIÓW: I stopnia 4. ROK/ SEMESTR STUDIÓW: II/4 5. LICZBA PUNKTÓW ECTS: 3 6. LICZBA GODZIN: 15 wykład

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

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

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

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

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

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

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

Bardziej szczegółowo

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

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Sprawy Organizacyjne Dane kontaktowe: e-mail: tchmaj@pk.edu.pl konsultacje: wtorki 14:45 15:45 budynek Houston, p.102,

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

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

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

Bardziej szczegółowo

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy. Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy. Niniejsza publikacja, ani żadna jej część, nie może być kopiowana, ani

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

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

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

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C Opublikowano w: WEREWKA J..: Podstawy programowana dla automatyków. Skrypt AGH Nr 1515, Kraków 1998 20. i łączenie podprogramów a z programem napisanym w Ze względu na duże rozpowszechnienie języka, szczególnie

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, metody wirtualne i klasy abstrakcyjne Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,

Bardziej szczegółowo

JavaScript - korzenie

JavaScript - korzenie JavaScript - korzenie Dowiesz się o historii JavaScript, jego dialektach i wersjach. Poznasz złe i dobre strony języka, a gdy zaskoczy Cię działanie któregoś z jego elementów, będziesz wiedział, gdzie

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

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

Podstawy Programowania semestr drugi. Wykład czternasty

Podstawy Programowania semestr drugi. Wykład czternasty Wykład czternasty 1. Polimorfizm Ostatni wykład zakończyliśmy stwierdzeniem, że możemy obiektowi dowolnej klasy przypisa ć obiekt klasy dziedziczącej po tej klasie. Przypisanie takie obejmuje jednak jedynie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

WYKORZYSTANIE PORTALU DYDAKTYCZNEGO W NAUCE JĘZYKÓW PROGRAMOWANIA

WYKORZYSTANIE PORTALU DYDAKTYCZNEGO W NAUCE JĘZYKÓW PROGRAMOWANIA WYKORZYSTANIE PORTALU DYDAKTYCZNEGO W NAUCE JĘZYKÓW PROGRAMOWANIA Plan wystąpienia Wprowadzenie Zdalne nauczanie języków programowania Cele i przyjęte rozwiązania Przykładowe elementy kursów Podsumowanie

Bardziej szczegółowo