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

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

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

Transkrypt

1 Organizacja kursu, paradygmaty, ogólnie o C i C++ Bogdan Kreczmer Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechniki Wrocławskiej Kurs: Copyright c 2015 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową. Organizacja kursu, paradygmaty, ogólnie o C i C++

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

3 Moje dane Organizacja kursu Bogdan Kreczmer, dr inż., pok. 307 bud. C-3 Terminy konsultacji: śr. 15:00 17:00 pt. 13:00 15:00 Strona kursu: kreczmer/kpo kreczmer/kpo

4 Spis treści Organizacja kursu 1 Organizacja kursu 2 Podejście obiektowe Języki programowania 3 Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ 4 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji

5 Warunki udziału i przebieg kursu Warunki udziału w kursie Wykłady i materiały do wykładów Laboratoria

6 Warunki udziału i przebieg kursu Warunki udziału w kursie Wykłady i materiały do wykładów Laboratoria

7 Warunki udziału i przebieg kursu Warunki udziału w kursie Wykłady i materiały do wykładów Laboratoria

8 Warunki zaliczeń Organizacja kursu Kurs kończy się zaliczeniem. Zaliczenie kursu można uzyskać pod warunkiem uzyskania zaliczenia z laboratorium oraz pozytywnej oceny z ekranówki Sposób liczenia oceny z kursu: 10 ( (E L) 2)(E + L) Ocena celująca ekranówka: 5,0; laboratorium: 5,5

9 Warunki zaliczeń Organizacja kursu Kurs kończy się zaliczeniem. Zaliczenie kursu można uzyskać pod warunkiem uzyskania zaliczenia z laboratorium oraz pozytywnej oceny z ekranówki Sposób liczenia oceny z kursu: 10 ( (E L) 2)(E + L) Ocena celująca ekranówka: 5,0; laboratorium: 5,5

10 Warunki zaliczeń Organizacja kursu Kurs kończy się zaliczeniem. Zaliczenie kursu można uzyskać pod warunkiem uzyskania zaliczenia z laboratorium oraz pozytywnej oceny z ekranówki Sposób liczenia oceny z kursu: 10 ( (E L) 2)(E + L) Ocena celująca ekranówka: 5,0; laboratorium: 5,5

11 Literatura Organizacja kursu Literatura podstawowa: S. B. Leppman, Josée Lajoie, B. E. Moo C++ Primer, 2012 Bjarne Stroustrup, Język C++ Kompedium wiedzy, Wydanie IV, Helion, 2014 J. Grębosz, Symfonia C ++ standard J. Grębosz, Pasja C ++

12 Literatura Organizacja kursu Literatura pomocnicza: B. Eckel, Thinking in C++ Nicolai M. Josuttis, C++ Biblioteka standardowa, Podręcznik programisty David Vandevoorde, Nicolai M. Josuttis, C++ szablony Grady Booch, James Rumbaugh, Ivar Jacobson, UML użytkownika przewodnik Michał Śmiałek, Zrozumieć UML 2.0 Metody modelowania obiektowego, HELION 2005 James Martin, James J. Odell, Podstawy metod obiektowych

13 Podejście obiektowe Języki programowania Czym jest? oparte jest na podejściu obiektowym do analizy problemu oraz syntezy i implementacji jego rozwiązania.

14 Podejście obiektowe Języki programowania Czym jest? oparte jest na podejściu obiektowym do analizy problemu oraz syntezy i implementacji jego rozwiązania. Podejście obiektowe bazuje na fundamentalnej cesze aktywności intelektualnej, która pozwala ludziom (i nie tylko) wyróżniać odrębne obiekty w swoim otoczeniu, przypisywać im własności oraz określać sposób ich interakcji między sobą i otoczeniem.

15 Języki programowania obiektowego Podejście obiektowe Języki programowania To co cechuje jezyki programowania obiektowego (języki obiektowe), to to że wspomagają i wymuszają stosowanie metod podejścia obiektowego. Najistotniejszą cechą podejścia obiektowego jest integracja struktur danych i kodu, który odwołuje się do tych struktur. Ten rodzaj integracji ma formę obiektów. Typy struktur danych zintegrowanych w ten sposób z kodem nazywane są klasami.

16 Języki programowania obiektowego Podejście obiektowe Języki programowania To co cechuje jezyki programowania obiektowego (języki obiektowe), to to że wspomagają i wymuszają stosowanie metod podejścia obiektowego. Najistotniejszą cechą podejścia obiektowego jest integracja struktur danych i kodu, który odwołuje się do tych struktur. Ten rodzaj integracji ma formę obiektów. Typy struktur danych zintegrowanych w ten sposób z kodem nazywane są klasami.

17 Języki programowania obiektowego Podejście obiektowe Języki programowania To co cechuje jezyki programowania obiektowego (języki obiektowe), to to że wspomagają i wymuszają stosowanie metod podejścia obiektowego. Najistotniejszą cechą podejścia obiektowego jest integracja struktur danych i kodu, który odwołuje się do tych struktur. Ten rodzaj integracji ma formę obiektów. Typy struktur danych zintegrowanych w ten sposób z kodem nazywane są klasami.

18 Warto wiedzieć Organizacja kursu Podejście obiektowe Języki programowania Ogólna koncepcja podejścia obiektowego do programowania powstała na przełomie lat 50-tych i 60-tych w MIT. W bardziej formalnej postaci koncepcje te zostały wprowadzone w języku Simula 67 w latach 60-tych.

19 Języki obiektowe Organizacja kursu Podejście obiektowe Języki programowania Przykłady języków obiektowych: Smalltalk Ruby

20 C++ Organizacja kursu Podejście obiektowe Języki programowania Język C++ nie jest językiem obiektowym!

21 Od koncepcji do paradygmatu Podejście obiektowe Języki programowania Podejście obiektowe do programowania wyznacza sposób patrzenia na struktury danych i przepływ sterowania w programie oraz wykonywanie całego programu. Wprowadza ono pewien zbiór pojęć i koncepcji, który determinuje sposób rozumienia procesu programowania.

22 Od koncepcji do paradygmatu Podejście obiektowe Języki programowania Podejście obiektowe do programowania wyznacza sposób patrzenia na struktury danych i przepływ sterowania w programie oraz wykonywanie całego programu. Wprowadza ono pewien zbiór pojęć i koncepcji, który determinuje sposób rozumienia procesu programowania. Ten zbiór pojęć i koncepcji odnoszący się do programowania określany jest mianem paradygmatu programowania.

23 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne Programowanie strukturalne Programowanie modularne Programowanie imperatywne Programowanie uogólnione Programowanie sterowane zdarzeniami

24 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne zaleca dzielenie programu na procedury i nie wykorzystywanie zmiennych globalnych. Programowanie strukturalne Programowanie modularne Programowanie imperatywne Programowanie uogólnione Programowanie sterowane zdarzeniami

25 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne Programowanie strukturalne wywoływanie procedur powinno tworzyć hierarchiczną strukturę z wykorzystanie instrukcji warunkowych i pętli. Zakazuje się używania instrukcji goto. Programowanie modularne Programowanie imperatywne Programowanie uogólnione Programowanie sterowane zdarzeniami

26 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne Programowanie strukturalne Programowanie modularne zaleca stosowanie modułów grupujących zbiory procedur. Programowanie imperatywne Programowanie uogólnione Programowanie sterowane zdarzeniami

27 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne Programowanie strukturalne Programowanie modularne Programowanie imperatywne opisuje proces wykonywania programu jako sekwencję instrukcji zmieniających stan programu. Programowanie uogólnione Programowanie sterowane zdarzeniami

28 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne Programowanie strukturalne Programowanie modularne Programowanie imperatywne definiuje program jak zbiór obiektów. Ich istotą jest łączenie stanu i zachowania. Program to zbiór obiektów komunikujących się między sobą w celu wykonania zadania. Programowanie uogólnione Programowanie sterowane zdarzeniami

29 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne Programowanie strukturalne Programowanie modularne Programowanie imperatywne Programowanie uogólnione kładzie nacisk na ogólną konstrukcję algorytmu bez konieczności znajomości typów danych, np. sortowanie. Programowanie sterowane zdarzeniami

30 Podejście obiektowe Języki programowania Przykładowe paradygmaty programowania Programowanie proceduralne Programowanie strukturalne Programowanie modularne Programowanie imperatywne Programowanie uogólnione Programowanie sterowane zdarzeniami opis programu uwypuklający przekazywanie sterowania między poszczególnymi modułami. Odnosi się on przede wszystkim do środowisk wieloprocesorowych. Jednak nie tylko. Przykładem są okienkowe systememy graficzne, np. system X-Window.

31 Języki programowania Podejście obiektowe Języki programowania Języki programowania mogą wspierać jednocześnie wiele paradygmatów programowania. Czyste języki obiektowe wspierają zasadniczo tylko paradygmat programowania obiektowego.

32 Języki programowania Podejście obiektowe Języki programowania Języki programowania mogą wspierać jednocześnie wiele paradygmatów programowania. Czyste języki obiektowe wspierają zasadniczo tylko paradygmat programowania obiektowego.

33 C++ Organizacja kursu Podejście obiektowe Języki programowania Język C++ jest językiem hybrydowym!

34 Po co to wszystko? Podejście obiektowe Języki programowania Dlaczego powstają nowe języki?

35 Podejście obiektowe Języki programowania Przestrzenie rozwiązania i przestrzenie problemu

36 Podejście obiektowe Języki programowania Przestrzenie rozwiązania i przestrzenie problemu

37 Podejście obiektowe Języki programowania Przestrzenie rozwiązania i przestrzenie problemu

38 Podejście obiektowe Języki programowania Przestrzenie rozwiązania i przestrzenie problemu

39 Podejście obiektowe Języki programowania Przestrzenie rozwiązania i przestrzenie problemu

40 Podejście obiektowe Języki programowania Przestrzenie rozwiązania i przestrzenie problemu

41 Podejście obiektowe Języki programowania Przestrzenie rozwiązania i przestrzenie problemu

42 Podejście obiektowe Języki programowania Co się dzieje, gdy zabraknie zgodności Terminarz Mars Climate Orbiter Data startu: 11 grudnia 1998 Osiągnięcie celu: wrzesień Cel misji Badanie klimatu Marsa jego atmosfery i zmian na powierzchni. Miał również służyć jako satelita komunikacyjny na potrzeby programu Mars Surveyor 98 oraz Mars Polar Lander. Sonda Mars Climate Orbiter za bardzo zbliżyła się do Marsa i weszła w górne warstwy jego atmosfery, co skutkowało jej zniszczeniem. Bezpośrednią przyczyną okazało się przyjęcie złych jednostek. Oprogramowanie komputera pokładowego generowało dane w jednostkach imperialnych zamiast w jednostkach SI. To, że mają to być jednostki SI było uzgodnione w kontrakcie między NASA i firmą Lockheed producentem sondy.

43 Zastanówmy się... Podejście obiektowe Języki programowania Czy C++ jest lepszym językiem niż C?

44 Podejście obiektowe Języki programowania Przestrzeń rozwiązana i przestrzeń problemu

45 Podejście obiektowe Języki programowania Przestrzeń rozwiązana i przestrzeń problemu

46 Podejście obiektowe Języki programowania Przestrzeń rozwiązana i przestrzeń problemu

47 Podejście obiektowe Języki programowania Przestrzeń rozwiązana i przestrzeń problemu

48 Podejście obiektowe Języki programowania Przestrzeń rozwiązana i przestrzeń problemu

49 Konkluzja Organizacja kursu Podejście obiektowe Języki programowania Ani język C ani też C++ nie jest ani generalnie gorszy ani też generalnie lepszy. Ocena języka zależy od problemu, dla którego chcemy stworzyć model implementacji rozwiązania (program komputerowy). Dopiero w tym kontekście można uzasadniać wybór języka programowania. Dotyczy to również wszystkich innych języków programowania.

50 C++ nie jest nadzbiorem C Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania. ANSI C: const int Zm=23; extern const int Zm=23; ANSI/ISO C++: const int Zm=23; static const int Zm=23; Rozmiary stałych znakowych: ANSI C: sizeof ( a ) sizeof (int) ANSI/ISO C++: sizeof ( a ) sizeof (char) Niezadeklarowane funkcje: ANSI C: przyjmowane jest automatycznie int fun(int,...). ANSI/ISO C++: jest to niedopuszczalne. Deklaracja extern int fun(): ANSI C: równoważna extern int fun(...). ANSI/ISO C++: extern int fun(void).

51 C++ nie jest nadzbiorem C Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania. ANSI C: const int Zm=23; extern const int Zm=23; ANSI/ISO C++: const int Zm=23; static const int Zm=23; Rozmiary stałych znakowych: ANSI C: sizeof ( a ) sizeof (int) ANSI/ISO C++: sizeof ( a ) sizeof (char) Niezadeklarowane funkcje: ANSI C: przyjmowane jest automatycznie int fun(int,...). ANSI/ISO C++: jest to niedopuszczalne. Deklaracja extern int fun(): ANSI C: równoważna extern int fun(...). ANSI/ISO C++: extern int fun(void).

52 C++ nie jest nadzbiorem C Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania. ANSI C: const int Zm=23; extern const int Zm=23; ANSI/ISO C++: const int Zm=23; static const int Zm=23; Rozmiary stałych znakowych: ANSI C: sizeof ( a ) sizeof (int) ANSI/ISO C++: sizeof ( a ) sizeof (char) Niezadeklarowane funkcje: ANSI C: przyjmowane jest automatycznie int fun(int,...). ANSI/ISO C++: jest to niedopuszczalne. Deklaracja extern int fun(): ANSI C: równoważna extern int fun(...). ANSI/ISO C++: extern int fun(void).

53 C++ nie jest nadzbiorem C Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania. ANSI C: const int Zm=23; extern const int Zm=23; ANSI/ISO C++: const int Zm=23; static const int Zm=23; Rozmiary stałych znakowych: ANSI C: sizeof ( a ) sizeof (int) ANSI/ISO C++: sizeof ( a ) sizeof (char) Niezadeklarowane funkcje: ANSI C: przyjmowane jest automatycznie int fun(int,...). ANSI/ISO C++: jest to niedopuszczalne. Deklaracja extern int fun(): ANSI C: równoważna extern int fun(...). ANSI/ISO C++: extern int fun(void).

54 Wyświetlenie prostego komunikatu Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Język C #include <stdio.h> Język C++ #include <iostream> int main( ) printf( Hejka!!!\n ); return 0; int main( ) std::cout << Hejka!!!\n ; Funkcja main w języku C++ domyślnie zwraca wartość 0. Operacje wyjścia są realizowane na obiekcie cout z wykorzystaniem przeciążenia operatora lewostronnego przesunięcia bitowego <<

55 Wyświetlenie prostego komunikatu Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Język C #include <stdio.h> Język C++ #include <iostream> int main( ) printf( Hejka!!!\n ); return 0; int main( ) std::cout << Hejka!!! << std::endl; Funkcja main w języku C++ domyślnie zwraca wartość 0. Operacje wyjścia są realizowane na obiekcie cout z wykorzystaniem przeciążenia operatora lewostronnego przesunięcia bitowego <<

56 Wyświetlenie prostego komunikatu Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Język C #include <stdio.h> int main( ) printf( Hejka!!!\n ); return 0; Język C++ #include <iostream> using namespace std; int main( ) cout << Hejka!!! << endl; Użycie dyrektyw using namespace pozwala pominąć przedrostek przestrzeni nazw std

57 Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Odpowiedniość plików nagłówkowych dla C i C++ <math.h> <stdio.h> <ctype.h> <stdlib.h> <string.h>

58 Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Odpowiedniość plików nagłówkowych dla C i C++ <math.h> <cmath> <stdio.h> <ctype.h> <stdlib.h> <string.h>

59 Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Odpowiedniość plików nagłówkowych dla C i C++ <math.h> <cmath> <stdio.h> <cstdio> <ctype.h> <cctype> <stdlib.h> <cstdlib> <string.h> <cstring>

60 Rozszerzenia plików C++ Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++ Nie ma jednej ustalonej konwencji....

61 Rozszerzenia plików C++ Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++.H.C Najczęściej spotykane są:...

62 Rozszerzenia plików C++ Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++.H.C.hh.cc Najczęściej spotykane są:..

63 Rozszerzenia plików C++ Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++.H.C.hh.cc.hpp.cpp Najczęściej spotykane są:.

64 Rozszerzenia plików C++ Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++.H.C.hh.cc.hpp.cpp.hxx.cxx Najczęściej spotykane są:

65 Rozszerzenia plików C++ Kilka przykładowych różnic Różnice w zapisie podstawowych elementów programu Pliki nagłówkowe funkcji z języka C Konwencje nazw plików źródłowych dla języka C++.H.C.hh.cc.hpp.cpp.hxx.cxx Można również stosować konwencje mieszane.

66 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a...

67 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b =?...

68 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b =?..

69 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b =?.

70 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

71 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

72 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

73 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

74 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

75 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x )??? int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

76 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol Dodaj( Symbol y, Symbol x ) return TabliczkaDzialania[y][x]; int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

77 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol operator + ( Symbol y, Symbol x ) return TabliczkaDzialania[y][x]; int main( ) Symbol wynik =???(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

78 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol operator + ( Symbol y, Symbol x ) return TabliczkaDzialania[y][x]; int main( ) Symbol y = a, x = b, wynik; wynik = operator + (y, x); Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

79 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol operator + ( Symbol y, Symbol x ) return TabliczkaDzialania[y][x]; int main( ) Symbol wynik = y + x; y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

80 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol operator + ( Symbol y, Symbol x ) return TabliczkaDzialania[y][x]; Czy są jakieś ograniczenia na int main( ) Symbol wynik = y + x; definiowanie funkcji operatorowych? y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e

81 Arytmetyka symboli Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ; Symbol TabliczkaDzialania[3][3] = e, a, b, a, b, e, b, e, a ; Symbol operator + ( Symbol y, Symbol x ) return TabliczkaDzialania[y][x]; Tabliczka działania Nie możemy definiować funkcji operatorowych. gdy ich wszystkie parametry są typów wbudowanych takich jak float, int, itd. np. + e a b int int main( operator ) + (int arg1, float arg2) e e a b a a b e Symbol y = a, x = b, wynik;... b b e a wynik = y + x; a + b = e Dla tych typów definicje tych operacji są już wbudowane w kompilator.

82 To samo na kilka sposobów Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e...

83 To samo na kilka sposobów Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol wynik = Dodaj(y, x); y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e...

84 To samo na kilka sposobów Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = Dodaj(y, x); wynik = operator+ (y, x); Tabliczka działania + e a b e e a b a a b e b b e a a + b = e..

85 To samo na kilka sposobów Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = Dodaj(y, x); wynik = operator+ (y, x); wynik = y + x; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e.

86 To samo na kilka sposobów Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = Dodaj(y, x); wynik = operator+ (y, x); wynik = y + x; Tabliczka działania + e a b e e a b a a b e b b e a a + b = e.

87 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Łączność działania porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b + a =?...

88 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Łączność działania porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol wynik = y + x + y; y = a, x = b, wynik; Tabliczka działania + e a b e e a b a a b e b b e a a + b + a =?...

89 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Łączność działania porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = (y + x) + y; Tabliczka działania + e a b e e a b a a b e b b e a a + b + a =?..

90 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Łączność działania porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = (y + x) + y; wynik = operator+ (operator+ (y,x), y ); Tabliczka działania + e a b e e a b a a b e b b e a a + b + a =?.

91 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Łączność działania porządek wykonywania operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = (y + x) + y; wynik = operator+ (operator+ (y,x), y ); wynik = Dodaj(Dodaj(x, y), y); Tabliczka działania + e a b e e a b a a b e b b e a a + b + a =?.

92 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Jawna zmiana porządku wykonywanych operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = y + (x + y); Tabliczka działania + e a b e e a b a a b e b b e a a + (b + a) =?...

93 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Jawna zmiana porządku wykonywanych operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = y + (x + y); wynik = operator+ (y, operator+ (x,y) ); Tabliczka działania + e a b e e a b a a b e b b e a a + (b + a) =?...

94 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Jawna zmiana porządku wykonywanych operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = y + (x + y); wynik = operator+ (y, operator+ (x,y) ); wynik = Dodaj(y, Dodaj(x, y) ); Tabliczka działania + e a b e e a b a a b e b b e a a + (b + a) =?..

95 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Jawna zmiana porządku wykonywanych operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = y + (x + y); wynik = operator+ (y, operator+ (x,y) ); wynik = Dodaj(y, Dodaj(x, y) ); Tabliczka działania + e a b e e a b a a b e b b e a a + (b + a) =?.

96 Operatory jako funkcje Łączność operatorów i porządek wykonywania operacji Jawna zmiana porządku wykonywanych operacji enum Symbol e, a, b ;... Symbol Dodaj( Symbol x, Symbol y ); Symbol operator + ( Symbol x, Symbol y );... int main( ) Symbol y = a, x = b, wynik; wynik = y + (x + y); wynik = operator+ (y, operator+ (x,y) ); wynik = Dodaj(y, Dodaj(x, y) ); Tabliczka działania + e a b e e a b a a b e b b e a a + (b + a) =?.

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

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

Wprowadzenie do UML, przykład użycia kolizja

Wprowadzenie do UML, przykład użycia kolizja Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Diagramy UML, przykład problemu kolizji

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

Bardziej szczegółowo

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

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

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

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

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

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

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

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

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

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

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

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

Informatyka 2. Informatyka 2. Wykład nr 1 (04.10.2008) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

Informatyka 2. Informatyka 2. Wykład nr 1 (04.10.2008) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2) Rok akademicki 2008/2009, Wykład nr 1 2/25 Dane podstawowe Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia (zaoczne) Rok akademicki

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

Praca z aplikacją designer

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

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include

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

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

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 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 uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 5 6 7 Charakter wykładu ˆ zakłada znajomość idei programowania strukturalnego (np. w Pascalu) oraz podstaw używania środowiska UNIX (wykonywanie

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

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

Bardziej szczegółowo

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 (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

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 języku C++

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

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Wstęp

Zaawansowane programowanie w języku C++ Wstęp Zaawansowane programowanie w języku C++ Wstęp Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń -

Bardziej szczegółowo

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki Programowanie I Kornel Warwas ATH Katedra Matematyki i Informatyki 2 Algorytm Algorytm skończony, uporządkowany ciąg zdefiniowanych czynności, koniecznych do wykonania określonego zadania w ograniczonej

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

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

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

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

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

Podstawy informatyki (3)

Podstawy informatyki (3) Podstawy informatyki (3) wykład : 15 godz. ćwiczenia : 15 godz. Prowadzący: dr inż. Jacek Piątkowski 1 Języki programowania Języki programowania - dają możliwość zapisu algorytmów w postaci zarówno wygodnej

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

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

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

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

C++ - [1-3] Debugowanie w Qt Creator

C++ - [1-3] Debugowanie w Qt Creator Slajd 1 z 10 C++ - [1-3] Debugowanie w Qt Creator Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 15 maja 2013 r. Slajd 2 z 10 Pojęcia związane z debugowaniem DEBUGOWANIE (z ang. debugging odrobaczanie)

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

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

Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2

Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

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

Języki Programowania z Programowaniem Obiektowym wykład (15 godzin/semestr) laboratorium (30 godzin/semestr)

Języki Programowania z Programowaniem Obiektowym wykład (15 godzin/semestr) laboratorium (30 godzin/semestr) Języki Programowania z Programowaniem Obiektowym wykład (15 godzin/semestr) laboratorium (30 godzin/semestr) Prowadzący wykład: Dr inż. Radosław Górski Pokój 105, tel. (32) 237 10 20 e-mail: Radoslaw.Gorski@polsl.pl

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

Zaawansowane programowanie w języku C++ Biblioteka standardowa

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

Bardziej szczegółowo

Wstęp. do języka C na procesor 8051. (kompilator RC51)

Wstęp. do języka C na procesor 8051. (kompilator RC51) Wstęp do języka C na procesor 8051 (kompilator RC51) Kompilator języka C Kompilator RC51 jest kompilatorem języka C w standardzie ANSI Ograniczeń w stosunku do ANSI jest niewiele głównie rzadkie operacje

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

Wprowadzenie do programowania w języku C

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

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

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

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

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

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

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

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

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

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

Bardziej szczegółowo

Podstawy programowania wykład

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

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

Języki programowania obiektowego

Języki programowania obiektowego Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Struktura programu, funkcja main, pliki nagłówkowe, operacje

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

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

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

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

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

Dia rysowanie diagramów

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

Bardziej szczegółowo

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

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

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

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

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

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

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

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e

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

Wartości domyślne, szablony funkcji i klas

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

Bardziej szczegółowo

Wstęp do programowania 1

Wstęp do programowania 1 Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Programowanie 2. Język C++. Wykład 1. 1.1 Wstęp... 1 1.2 Obiekty stałe... 3 1.3 Obiekty statyczne... 4 1.4 Wskaźniki... 5 1.5 Referencje... 8 1.6 Wskaźniki do wskaźników... 11 1.7 Definiowanie własnych typów danych, polecenie typedef... 17

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA

JĘZYKI PROGRAMOWANIA Stefan Sokołowski JĘZYKI PROGRAMOWANIA Inst Informatyki UG, Gdańsk, 2014/2015 Wykład1OGÓLNEINFORMACJEOC,str1 JĘZYKI PROGRAMOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/jezprog

Bardziej szczegółowo

ECLIPSE wnioski z dwóch pierwszych laboratoriów

ECLIPSE wnioski z dwóch pierwszych laboratoriów PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Techniki Programowania

Techniki Programowania Techniki Programowania Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Dr hab. inż. Łukasz Madej, prof. AGH Budynek B5,

Bardziej szczegółowo

1. Wprowadzenie do C/C++

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig Modelowanie Obiektowe Wykład 1: Wprowadzenie do Modelowania i języka UML Anna Kulig Wprowadzenie do modelowania Zasady Pojęcia Wprowadzenie do języka UML Plan wykładu Model jest uproszczeniem rzeczywistości.

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

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