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

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

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: Piątek: 14:15-15:30

Zajęcia trwają 15 tygodni (2 godziny wykładu, 2 godziny laboratorium tygodniowo) Zaliczenie zajęć jest uwarunkowane zaliczeniem zajęć laboratoryjnych

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50.

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

Języki i paradygmaty programowania

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Operacje wejścia/wyjścia odsłona pierwsza

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C6

Język C++ Różnice między C a C++

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

KARTA KURSU. Programowanie obiektowe

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C16

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

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

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

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

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

Języki Programowania z Programowaniem Obiektowym laboratorium (30 godzin/semestr)

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

Język C++ wykład VIII

PARADYGMATY PROGRAMOWANIA Wykład 4

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

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

Programowanie, część I

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

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

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

ATD. Wykład 8. Programowanie (język C++) abstrakcyjny typ danych. Abstrakcyjne typy danych (ATD) Metody czysto wirtualne. Definicje i uwagi:

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Zaawansowane programowanie w języku C++ Programowanie obiektowe

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Wykład 8: klasy cz. 4

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

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

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Bibliografia 1. B. Stroustrup. Jezyk C++. Wydawnictwo Naukowo-Techniczne, Warszawa,

Zaawansowane programowanie w C++ (PCP)

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

dr inż. Jarosław Forenc

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

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

Wstęp do Programowania 2

Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1

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

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

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Podstawy programowania skrót z wykładów:

Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.

Podstawy Programowania

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

PRZEWODNIK PO PRZEDMIOCIE

Programowanie (C++) NI 5

Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

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

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

2 Przygotował: mgr inż. Maciej Lasota

Laboratorium 1 - Programowanie proceduralne i obiektowe

Języki programowania II - opis przedmiotu

Semestr letni Brak Tak

Zaawansowane programowanie w C++ (PCP)

Co nie powinno być umieszczane w plikach nagłówkowych:

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Programowanie - wykład 4

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

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31

Wstęp do Programowania 2

Programowanie obiektowe w języku C++ Zarządzanie procesami. dr inż. Jarosław Forenc. Przeładowanie (przeciążanie) operatorów

Programowanie. Sylwester Arabas. prowadzący ćwiczenia: Magdalena Kuich, Krzysztof Piasecki, Łukasz Dulny. Wydział Fizyki Uniwersytetu Warszawskiego

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

Programowanie komputerowe. Zajęcia 7

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

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Część 4 życie programu

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

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

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

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

Programowanie Obiektowe i C++

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

Materiały do zajęć VII

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

Wykład 5: Klasy cz. 3

Wstęp do informatyki- wykład 7

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

Funkcja (podprogram) void

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

Wykład 1

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Szablony klas, zastosowanie szablonów w programach

funkcje rekurencyjne Wykład 12. Podstawy programowania (język C) Funkcje rekurencyjne (1) Funkcje rekurencyjne (2)

Struktury - wprowadzenie

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

Transkrypt:

Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie operatorów. Strumieniowe operacje we/wy. Wskaźnik this. Operatory new, delete. Funkcje zaprzyjaźnione. Klasa Vector z dynamicznie alokowaną tablicą składowych. Pola i metody statyczne. Dostępność składowych klasy. Klasa z polem obiektowym typu Vector. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Program przedmiotu c.d.: Dziedziczenie, polimorfizm i metody wirtualne. Jak realizowany jest mechanizm wirtualności? Metody czysto wirtualne i ATD. Obsługa błędów. Obsługa wyjątków. Wyjątki jako mechanizm sterujący. Konwersje, operatory konwersji i konwertery. Definiowanie i wykorzystanie szablonów funkcji. Definiowanie i wykorzystanie szablonów klas. Elementy biblioteki STL. C++ a inne języki programowania obiektowego. Literatura B. Stroustrup Język C++ (The C++ Programming Language), WNT 2002 S.B. Lippman Podstawy języka C++ (C++ Primer), WNT 1997 B. Eckel Thinking in C++. Edycja polska, Helion 2002 J. Grębosz Symfonia C++ standard, Edition 2005 J. Liberty Poznaj C++ w 10 minut, Intersoftland 1999 Nicolai M. Josuttis - C++ Biblioteka standardowa. Podręcznik programisty, Helion 2003 Tomasz Marks - Wydział MiNI PW -3- Tomasz Marks - Wydział MiNI PW -4-

Zadanie na początek Chcemy napisać program, który umoŝliwi wykonywanie prostych obliczeń na liczbach zespolonych. Zadanie zrealizujemy najpierw w języku C. Następnie zobaczymy, jak moŝe to wyglądać w języku C++. #include <stdio.h> #include <math.h> typedef struct _CMPLX CMPLX; void ReadZ ( CMPLX *a ) scanf ( %lf, &a->re ); scanf ( %lf,&a->im ); Przykład #1 ( C ) double AbsZ ( CMPLX a ) return sqrt ( a.re * a.re + a.im * a.im ); CMPLX AddZ ( CMPLX a, CMPLX b ) void main ( void ) CMPLX x,y,z; double result; ReadZ ( &x ); ReadZ ( &y ); z = AddZ ( x, y ); result = AbsZ ( z ); printf( \nresult=%f\n, result ); Tomasz Marks - Wydział MiNI PW -5- Tomasz Marks - Wydział MiNI PW -6- #include <stdio.h> #include <math.h> typedef struct _CMPLX CMPLX; void ReadZ ( CMPLX *a ) scanf ( %lf, &a->re ); scanf ( %lf, &a->im ); CMPLX AddZ ( CMPLX a, CMPLX b ) double AbsZ ( CMPLX a ) return sqrt ( a.re * a.re + a.im * a.im ); void main ( void ) double result; ReadZ ( &x ); ReadZ ( &y ); z = AddZ ( x, y ); result = AbsZ ( z ); printf ( \nresult=%f\n, result ); Tomasz Marks - Wydział MiNI PW -7- Tomasz Marks - Wydział MiNI PW -8-

#include <iostream> #include <cmath> Przykład #2 ( C++ ) struct CMPLX double Abs ( ) return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re; cin >> Im; ; CMPLX Add ( CMPLX a, CMPLX b ) #include < iostream > #include < cmath > struct CMPLX double Abs ( ) return sqrt ( Re * Re + Im * Im ); int main ( ) z = Add ( x, y ); ; void Read ( ) cin >> Re; cin >> Im; Tomasz Marks - Wydział MiNI PW -9- Tomasz Marks - Wydział MiNI PW -10- CMPLX Add ( CMPLX a, CMPLX b ) int main ( ) z = Add ( x, y ); #include <iostream> #include <cmath> Przykład #2.. ( C++ ) struct CMPLX double Abs ( ) const return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re >> Im; ; CMPLX Add ( CMPLX a, CMPLX b ) int main ( ) z = Add ( x, y ); Tomasz Marks - Wydział MiNI PW -11- Tomasz Marks - Wydział MiNI PW -12-

#include <iostream> #include <cmath> Przykład #2b ( C++ ) Struktura programu Przykład #2 (C++) struct CMPLX double Abs ( ) const return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re >> Im; ; CMPLX operator+ ( CMPLX a, CMPLX b ) int main ( ) z = x + y; // równowaŝne: z = operator+ ( x, y ); Tomasz Marks - Wydział MiNI PW -13- Tomasz Marks - Wydział MiNI PW -14- Nasz program przykładowy moŝemy zapisać w trzech plikach: Struktura programu Przykład #3 (C++) cmplx.h plik nagłówkowy klasy (definicja klasy CMPLX i deklaracje funkcji wspomagających), cmplx.cpp plik implementacyjny klasy (definicje metod klasy CMPLX i definicje funkcji wspomagających), progmain.cpp główny plik aplikacji (definicja funkcji main i ewentualnie definicje innych funkcji programu). Tomasz Marks - Wydział MiNI PW -15- Tomasz Marks - Wydział MiNI PW -16-

Plik nagłówkowy (definicja klasy CMPLX) // cmplx.h struct CMPLX // cmplx.cpp Plik implementacyjny klasy CMPLX #include < iostream > #include < cmath > #include cmplx.h ; double Abs ( ) const; void Read ( ); double CMPLX :: Abs ( ) const return sqrt ( Re * Re + Im * Im ); CMPLX operator+ ( CMPLX, CMPLX ); void CMPLX :: Read ( ) cin >> Re >> Im; CMPLX operator+ ( CMPLX a, CMPLX b ) Tomasz Marks - Wydział MiNI PW -17- Tomasz Marks - Wydział MiNI PW -18- // progmain.cpp Główny plik aplikacji Struktura programu Przykład #3 (C++) #include < iostream > #include cmplx.h int main ( ) z = x + y; Tomasz Marks - Wydział MiNI PW -19- Tomasz Marks - Wydział MiNI PW -20-

Koniec wykładu 1. Tomasz Marks - Wydział MiNI PW -21-