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

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

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.

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.

Język C++ wykład VIII

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

Wstęp do programowania

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

Wstęp do Informatyki

Wstęp do programowania

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

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

Programowanie obiektowe

Wstęp do Programowania 2

TEMAT : KLASY POLIMORFIZM

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Dziedziczenie & W slajdach są materiały zapożyczone z

Programowanie - wykład 4

Mechanizm dziedziczenia

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Zaawansowane programowanie w języku C++ Programowanie obiektowe

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

Laboratorium 1 - Programowanie proceduralne i obiektowe

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

Programowanie i struktury danych

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

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

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

Część 4 życie programu

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Technologie cyfrowe semestr letni 2018/2019

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 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Wstęp do programowania

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy

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

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)

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

dr inż. Jarosław Forenc

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

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Programowanie Obiektowew języku C++ Zadania L4

Technologie cyfrowe semestr letni 2018/2019

Mechanizm dziedziczenia

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

Języki i paradygmaty programowania

Projektowanie klas c.d. Projektowanie klas przykład

Liczby całkowite i rzeczywiste

Programowanie obiektowe w C++ Wykład 12

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", RAND_MAX); return 0; }

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

I - Microsoft Visual Studio C++

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

Programowanie obiektowe język C++

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

Programowanie w języku C++

Programowanie obiektowe w języku

DYNAMICZNE PRZYDZIELANIE PAMIECI

Programowanie Procedurale

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

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

Języki programowania - podstawy

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

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

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

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

Podstawy Programowania Podstawowa składnia języka C++

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

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: piątek:

Środowisko programistyczne GEANT4

Plik klasy. h deklaracje klas

Operacje wejścia/wyjścia (odsłona druga) - pliki

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

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

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

Informatyka. Wy-08 Klasy. mgr inż. Krzysztof Kołodziejczyk

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

KLASY cz4. Dorota Pylak. destruktory składowe statyczne przeciążanie operatorów. wskaźniki

Listy powiązane zorientowane obiektowo

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

Hermetyzacja oraz pola i metody statyczne

Programowanie w C++ - wybrane przykłady szablonów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ

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

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

Programowanie obiektowe w języku

Języki programowania obiektowego Nieobiektowe elementy języka C++

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Programowanie komputerowe. Zajęcia 1

Do czego służą klasy?

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

Transkrypt:

Programowanie uzupełnienie notatek: dr Jerzy Białkowski

1 2 3 4

Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów (nazwa C++ - unowocześnieniony C)

Cechy języka C++ ˆ Klasa (w języku C++ jest rozszerzeniem struktury z języka C), obiekt instancja klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie, ukrywanie informacji (public, protected, private, friend) ˆ Polimorfizm i metody wirtualne ˆ Dziedziczenie

Cechy języka C++ ˆ Klasa (w języku C++ jest rozszerzeniem struktury z języka C), obiekt instancja klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie, ukrywanie informacji (public, protected, private, friend) ˆ Polimorfizm i metody wirtualne ˆ Dziedziczenie ˆ Szablony, STL ˆ Wyjątki

ˆ Komentarze: /* */, //komentarz ˆ Deklaracja zmiennej jest instrukcją ˆ Typy bool, long double, ˆ Nowe pliki nagłówkowe iostream, cstdio zamiast stdio.h ˆ argumenty domyślne ˆ w main() domyślnie return 0

g++ prog1.cpp -o prog1 Pierwszy program w C++ 1 #include <i o s t r e a m > 2 3 int main ( ) 4 { 5 for ( int i=0; i <10; i++) { 6 7 std : : cout << "Witaj!\n" ; 8 9 }// k o n i e c p e t l i 10 11 // Można o p u ś c i ć 12 // r e t u r n 0 ; 13 }

1 #include <i o s t r e a m > 2 3 int main ( ) 4 { 5 int a, b ; 6 7 std : : cout << " Podaj dwie liczby calkowite:" ; 8 std : : cin >> a >> b ; 9 std : : cout << a << " + " << b << " = " 10 << a+b << std : : endl ; 11 12 }

1 # include <i o s t r e a m > 2 using namespace std ; 3 4 int main ( ) { 5 int a, b ; 6 7 cout << " Podaj dwie liczby calkowite:" ; 8 cin >> a >> b ; 9 cout << a << " + " << b << " = " << a+b 10 << endl << "\n" ; 11 12 return 0 ; 13 }

1 #include <i o s t r e a m > 2 using std : : cout ; 3 using std : : cin ; 4 using std : : endl ; 5 6 int main ( ) 7 { 8 int a, b ; 9 10 cout << " Podaj dwie liczby calkowite:" ; 11 cin >> a >> b ; 12 cout << a << " + " << b << " = " << a+b 13 << endl << "\n" ; 14 15 }

1 #include <i o s t r e a m > 2 3 namespace mojens 4 { 5 bool wynik=true ; 6 } 7 8 using namespace std ; 9 // u s i n g namespace mojens ; 10 11 int main ( ) 12 { 13 bool wynik=false ; 14 15 if ( wynik ) cout << " Prawda\n" ; 16 else cout << " Falsz\n" ; 17 18 if ( mojens : : wynik ) cout << "Prawda\n" ; 19 else cout << " Falsz\n" ; 20 }

1 #include <i o s t r e a m > 2 using namespace std ; 3 4 bool pierwsza ( int n ) 5 { 6 for ( int i=2; i<n ; i++){ 7 if ( n % i == 0 ) return false ; 8 } 9 return true ; 10 } 11 12 int main ( ) 13 { 14 int n ; 15 16 cout << " Podaj liczbe: " ; 17 cin >> n ; 18 19 if ( pierwsza ( n ) ) cout << "Pierwsza\n" ; 20 else cout << " Zlozona\n" ; 21 }

Argumenty domyślne 1 #include <i o s t r e a m > 2 using namespace std ; 3 int a=10, b=5; 4 5 int sum ( int aa, int bb=15) ; 6 7 int main ( ) { 8 cout << sum ( a, b ) << "\n" ; 9 cout << sum ( a ) << "\n" ; 10 11 int sum ( int aa =35, int bb=35) ; 12 cout << sum ( ) << "\n" ; 13 } 14 15 int sum ( int af, int bf ) { 16 return af+bf ; 17 }

Argumenty domyślne 1 #include <i o s t r e a m > 2 using namespace std ; 3 int a=10, b=5; 4 5 int sum ( int aa, int bb=15) ; 6 7 int main ( ) { 8 cout << sum ( a, b ) << "\n" ; 9 cout << sum ( a ) << "\n" ; 10 11 int sum ( int aa =35, int bb=35) ; 12 cout << sum ( ) << "\n" ; 13 } 14 15 int sum ( int af, int bf ) { 16 return af+bf ; 17 } Tylko ostatnie argumenty mogą mieć wartości domyślne.

1 # include <i o s t r e a m > 2 using namespace std ; 3 int a=10, b=5; 4 5 int sum ( int aa, int bb=15) ; 6 double sum ( double af, double bf ) ; 7 8 int main ( ) { 9 cout << sum ( a, b ) << "\n" ; 10 cout << sum ( a ) << "\n" ; 11 cout << sum ( 1 0. 6 4, 5. 7 7 ) << "\n" ; 12 13 int sum ( int aa =35, int bb=35) ; 14 cout << sum ( ) << "\n" ; 15 cout << sum ( 1 0. 6 4, 5. 7 7 ) << "\n" ; 16 double ad=(double ) a ; 17 double bd=(double ) b ; 18 cout << "d"<<sum ( ad, bd ) << "\n" ; 19 20 double sum ( double aa =35, double bb=35) ; 21 cout << sum ( a, b ) << "\n" ; 22 cout << sum ( 5. 7 7 ) << "\n" ;

23 } 24 25 int sum ( int af, int bf ) { 26 return af+bf ; 27 } 28 29 double sum ( double af, double bf ) { 30 cout << " double " ; 31 return af+bf ; 32 }

1 # include <i o s t r e a m > 2 using namespace std ; 3 4 // v o i d w y s w i e t l ( i n t * tab ) ; 5 void wyswietl ( int tab [ ] ) ; 6 7 int main ( ) { 8 double *p ; 9 p = new double ; 10 *p =10.56; 11 delete p ; 12 13 int tab [ 1 0 ] ; 14 int * tab2 ; 15 tab2 = new int [ 1 0 ] ; 16 // i n t * tab2 = new i n t [ 1 0 ] ; 17 18 delete [ ] tab2 ; 19 // d e l e t e tab2 ; 20 // n i e mozna : d e l e t e tab ; 21 }

Liczby losowe Funkcja rand() z biblioteki cstdlib zwróci liczbę całkowitą pseudolosową z przedziału 0,...,RAND_MAX 1 #include <i o s t r e a m > 2 #include <c s t d l i b > 3 4 using namespace std ; 5 6 int main ( ) 7 { 8 srand ( time ( 0 ) ) ; 9 10 cout << " RAND_MAX =" << RAND_MAX << "\n" ; 11 cout << rand ( ) << "\n" ; 12 cout << rand ( ) << "\n" ; 13 cout << rand ( ) << "\n" ; 14 }

Liczba losowa z [0, 1] 1 #include <i o s t r e a m > 2 #include <c s t d l i b > 3 4 using namespace std ; 5 6 double losuj ( ) { 7 return rand ( ) /double ( RAND_MAX ) ; 8 } 9 10 int main ( ) { 11 12 srand ( time ( 0 ) ) ; 13 14 cout << losuj ( ) << "\n" ; 15 16 }

1 #include <i o s t r e a m > 2 #include <c s t d l i b > 3 # include <cmath> 4 5 using namespace std ; 6 7 double losuj ( ) { 8 return rand ( ) /double ( RAND_MAX ) ; 9 } 10 11 double losuj ( double a, double b ) { 12 return ( b a ) *losuj ( ) +a ; 13 } 14 15 16 int main ( ) { 17 double x, y ; 18 long n ; 19 20 cin >> n ; 21 22 long licznik =0;

23 for ( long i=0; i<n ; i++){ 24 x=losuj ( 1,1) ; 25 y=losuj ( 1,1) ; 26 if ( x* x+y*y<=1) 27 licznik++; 28 } 29 30 cout << " Wynik " 31 << 4* double ( licznik ) /double ( n ) 32 << "\n" ; 33 cout << "Pi " << M_PI << "\n" ; 34 35 }

Całkowanie metodą Monte Carlo b a f (x)dx (b a) Σn i=1 f (x i), n gdzie punkty x i są wylosowane z przedziału [a, b]. Zadanie Napisz program, który oblicza całkę oznaczoną danej metodą Monte Carlo.

Dziękuję za uwagę.