Programowanie obiektowe W2

Slides:



Advertisements
Podobne prezentacje
Wstęp do programowania
Advertisements

C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
Programowanie wielowątkowe
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Wprowadzenie.
Reprezentacja danych w komputerze
Filip Andrzejewski Remigiusz Chiluta
argumenty wiersza poleceń: getopt
formatowanie kodu źródłowego
Sprawdzian Zadanie 1: Napisz program obliczający pole i obwód prostokąta. Wymiary pobierz z klawiatury od użytkownika. Zadanie 2: Napisz program sprawdzający,
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Tablice.
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
Podstawy programowania PP – WYK2 Wojciech Pieprzyca.
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
Język ANSI C Operacje we/wy
#include #include main () { cout
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Podstawy programowania w języku C i C++
Podstawy programowania
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Wczytywanie danych z klawiatury, komentarze, zmienne.
Podstawy programowania. Język C i C++– podstawy Temat: 1
Podstawy programowania w języku C i C++
Podstawy Programowania
Zadanie Dev C++.
Przekazywanie argumentów
Programowanie strukturalne i obiektowe
Podstawy programowania w języku C i C++
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe
Instrukcja for. Instrukcja warunkowa mgr inż. Agata Pacek.
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Programowanie obiektowe 2013/2014
Programowanie obiektowe 2013/2014
Programowanie w języku C++
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++
Funkcje w C++ Funkcja – wydzielony fragment kodu użyty w programie (raz lub więcej razy) spełniający określone zadanie, np. obliczenie średniej ocen.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++ Przeładowanie operatorów Robert Nowak.
K URS JĘZYKA C++ – WYKŁAD 1 ( ) Łagodne wprowadzenie do języka C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++ Powtórzenie wiadomości z C++ Robert Nowak.
Pliki tekstowe – odczyt i zapis Zajęcia 11. Zapis do pliku tekstowego Prosty program pokazujący sposób zapisu do pliku tekstowego: // writing on a text.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Programowanie I Rekurencja.
STOS. STL (ang. Standard Template Library) jest to biblioteka zawierająca algorytmy, pojemniki, iteratory oraz inne konstrukcje w formie szablonów, gotowe.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Patryk Jasik pok. 415 GB Języki programowania Patryk Jasik pok. 415 GB
Wskaźniki Elżbieta Labocha.
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Programowanie obiektowe W2 Obsługa wejścia/wyjścia w języku C++ Przestrzeń nazw namespace Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Obsługa WEJŚCIA / WYJŚCIA w C++ Pracujący w języku C++ ma do wyboru korzystanie z funkcji we/wy : 1. zdefiniowanych w pliku <stdio.h> : printf() scanf() 2. zdefiniowanych w pliku <iostream> : cout cin 3.do wczytana znaków i łańcuchów można ponadto użyć funkcji typu get(),plik<stdio.h> getchar() – pobiera 1 znak z klawiatury gets()/fgets() – pobiera łańcuch znaków do wciśnięcia ENTER

Porównanie C i C++ Na ekranie zobaczymy: Przykład 1.1. #include <stdio.h> void main( ) { float x; printf(”Podaj dowolną liczbę: ”); scanf(”%f ” , &x) ; printf(” Twoja liczba : %.2f \n ” , x) ; }   Przykład 1.2 #include <iostream> using namespace std; int main() { float liczba ; cout << "Wpisz liczbę rzeczywista:" ; cin >> liczba ; cout.precision(2); cout << "Twoja liczba : " << liczba; return 0; } Na ekranie zobaczymy: Wpisz liczbę rzeczywista:9.8765432 Twoja liczba : 9.9

Wypisywanie danych na ekranie cout << Za pomocą #include <iostream> dołączamy plik nagłówkowy do obsługi strumieni I/O cout Jest to specyficzne funkcja, które ma zmienną liczbę parametrów wejściowych oddzielonych znakami „<<” a parametry nie są zebrane w nawiasy „()”. Parametrami funkcji mogą być: Zwykły tekst: cout << ”Wykład z programowania obiektowego”; Zmienne: int zmienna = 1; double d = 1.5; char *str = ”Napis”; cout << zmienna << str << d << endl;

Wypisywanie danych na ekranie c.d. Przykład 1.3 #include <iostream> using namespace std; int main() { int zmienna = 1; double d = 1.5; char *str = " Napis"; cout << zmienna << str << " " <<d << endl; return 0; } Na ekranie zobaczymy: 1 Napis 1.5

Pobieranie danych od użytkownika cin >> Przykład 1.4 #include <iostream> using namespace std; int main() { int zm; double d; char *str; cout << "Podaj liczbe: "; cin >> zm; cout << "Podaj napis i liczbe:"; cin >> str >> d; cout << str << " " << d; return 0; } Za pomocą #include <iostream> dołączamy plik nagłówkowy do obsługi strumieni I/O cin Jest to specyficzne funkcja, która ma zmienną liczbę parametrów wejściowych oddzielonych znakami „>>”, a parametry nie są zebrane w nawiasy „()”. Podaj liczbe: 12 Podaj napis i liczbe : C++ 456 C++ 456

Przestrzenie nazw Podczas pracy nad programami, w których używa się wielu bibliotek można natknąć się na problem konfliktu nazw. Konflikt nazw powstaje gdy kilka obiektów, typów, funkcji, itp. ma tę samą nazwę. Rozwiązaniem jest zamknięcie nazw w "zakresach", w celu oddzielenia ich. Zakresy takie nazywamy przestrzenią nazw. Przestrzeń nazw ogranicza dostęp do elementów składowych - oprócz nazwy obiektu niezbędne jest też podanie nazwy tej przestrzeni. Istniejących funkcji ze standardu C nie można było zmienić. Można było jednak wskazać, które funkcje należą do standardu C++. Wszystkie funkcje, klasy i szablony wprowadzone z tym językiem programowania wstawiono do przestrzeni nazw std.

Dostęp do przestrzeni nazw Przykład 1.5 #include <iostream> int main () { std::cout << "Wyklad z C++" << std::endl; return 0; } Wyrażenie std:: pojawiające się przed cout i endl oznacza, że wspomniane obiekty chcemy pobrać z przestrzeni std

Dostęp do przestrzeni nazw c.d. Przykład 1.6 #include <iostream> int main () { int a, b; std::cout << "Podaj dwie liczby a i b" << std::endl; // wypisujemy komunikat std::cout << "podaj a: "; std::cin >> a; std::cout << "podaj b: "; std::cin >> b; // wypisujemy sumę dwóch liczb std::cout << "a+b= " << a+b << std::endl; return 0; } Podaj dwie liczby a i b podaj a: 25 podaj b: 5 a+b= 30

Dostęp do przestrzeni nazw c.d. Przykład 1.7 #include <iostream> using namespace std; int main () { cout << "Wyklad C++" << endl; return 0; } Za pomocą słów kluczowych: using namespace std; informujemy kompilator, że chcemy aby wszystkie funkcje, klasy i szablony należące do przestrzeni nazw std nie wymagały przedrostka.

Dostęp do przestrzeni nazw c.d. #include <iostream> using std::endl; int main () { std::cout << "Wykład z C++" << endl; return 0; } Za pomocą słów kluczowych: using std::endl; informujemy kompilator, że jeżeli będziemy używać w kodzie endl to będziemy mieli na myśli właśnie to pochodzące z przestrzeni std

Tworzenie własnej przestrzeni nazw Definiowanie: Przestrzeń nazw tworzymy za pomocą słowa kluczowego namespace, ograniczając jej zawartość klamrami. Można uzupełniać stworzoną przestrzeń nazw o kolejne funkcje w innym miejscu programu. Stosowanie: Za pomocą słów kluczowych: using namespace Nazwa; informujemy kompilator, że zastosowanych funkcji należy szukać w przestrzeni nazw Nazwa Przykład: namespace Obliczenia { int dodaj (int a, int b) return a+b; } int odejmij (int a, int b) return a-b; int pomnoz (int a, int b) return a*b; int podziel (int a, int b) return a/b;

Tworzenie własnej przestrzeni nazw c.d. #include <iostream> namespace Obliczenia { int dodaj (int a, int b); int odejmij (int a, int b); } using namespace std; int main () cout << Obliczenia::dodaj(10, 20) << endl; return 0; //Wariant I namespace Obliczenia { int dodaj (int a, int b) return a+b; } int odejmij (int a, int b) return a-b; //Wariant II int Obliczenia::dodaj (int a, int b){ return a+b; } int Obliczenia::odejmij (int a, int b){ return a-b;

Sprawdzanie poprawności wprowadzonych danych #include <iostream> int main() { float a; int b; std::cout << "Podaj liczbe rzeczywista: "; std::cin >> a; std::cout << "Podaj liczbe calkowita: "; std::cin >> b; std::cout << "Liczba a = " << a << std::endl; std::cout << "Liczba b = " << b << std::endl; return 0; } l Podaj iczbe rzeczywista: 2.5 Podaj liczbe calkowita: 25 Liczba a = 2.5 Liczba b = 25 Gdy użytkownik zrobi błąd: Podaj liczbe rzeczywista: 3qqq Podaj liczbe calkowita: Liczba a = 3 Liczba b = 0

Sprawdzanie poprawności wprowadzonych danych c.d. #include <iostream> int main() { float a; int b; std::cout << "Podaj liczbe rzeczywista: "; std::cin >> a; std::cout << "Czy wczytano? " << std::cin.good() << std::endl; std::cout << "Czy jest pomylka? " << std::cin.fail() << std::endl; std::cout << "Podaj liczbe calkowita: "; std::cin >> b; std::cout << "Liczba a = " << a << std::endl; std::cout << "Liczba b = " << b << std::endl; return 0; }

Na ekranie zobaczymy: Podaj liczbe rzeczywista: 23.5 Czy wczytano? 1 Czy jest pomylka? 0 Podaj liczbe calkowita: 55 Liczba a = 23.5 Liczba b = 55