Polsko – Japońska Wyższa Szkoła Technik Komputerowych

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Język C/C++ Funkcje.
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 4 Wojciech Pieprzyca.
Programowanie obiektowe
Zmienne i Typy.
Programowanie w języku C++. Jak napisać prosty program obliczeniowy lub grę komputerową? Zbigniew Nagórny Pracownia Komputerowa Wyższa Szkoła Humanistyczno-Przyrodnicza.
Wzorce.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Prowadzący: mgr inż. Elżbieta Majka
Kompilator: a) gcc [cc, g++]
Static, const, volatile.
Języki programowania C++
formatowanie kodu źródłowego
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
ODE Informacje wstępne. Pojęcia podstawowe n Obiektowa baza danych u język komunikacji u ziarnistość obiektów u identyfikacja obiektów n Transakcja -
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Struktury.
Tablice.
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Języki programowania C++
Podstawy programowania PP – WYK2 Wojciech Pieprzyca.
Podstawy programowania PP – LAB5 Wojciech Pieprzyca.
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Pracę wykonali: Rafał Chmielorz Michał Sporek Jan Nowik

Podstawy C# Grupa .NET PO.
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Podstawy programowania
Metody Programowania Wykład
Podstawy informatyki (4)
Podstawy programowania w języku C i C++
Podstawy informatyki 2013/2014
Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Float; Przykład: Wskaźnik przechowuje adres obiektu wskazanego.
Podstawy programowania
Podstawy programowania w języku C i C++
Podstawy programowania
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Programowanie obiektowe III rok EiT
Informatyka I Wykład 4 Stałe Stałe liczbowe Stałe znakowe Stałe tekstowe Jerzy Kotowski Politechnika Wroclawska var = 5L - 0xA; -5.
Java – coś na temat Klas Piotr Rosik
Jerzy Kotowski Politechnika Wrocławska
Programowanie strukturalne i obiektowe
Historia Języka C Idea C pochodzi od języka BCPL, opracowanego przez M. Richardsa 1970 – język B stworzony przez K. Thompsona Język C wprowadzono po raz.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
PWSZ Gniezno // codefly 2009 Łukasz Tomczak
Podstawy programowania
Podstawy języka Instrukcje - wprowadzenie
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Temat 4: Typy danych.
Zmienne i typy danych w C#
Programowanie strukturalne – język C - wprowadzenie
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Przeładowanie funkcji. Dotychczas wiedzieliśmy, że: w danym zakresie ważności może być tylko jedna funkcja o danej nazwie. Kompilator języka C++ daje.
Podstawowe struktury danych. Typy danych.
Wybrane aspekty programowania w C++ (i nie tylko)
Typy liczbowe, zmienne, operatory Zajęcia 4. Zmienne Zmienna – to w programowaniu element programu, który może mieć przypisaną pewną wartość (wartość.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Podstawy informatyki Struktury Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Zmienne typy danych w VBA. MS Excel – typy danych w języku programowania VBA.
Podstawy Informatyki.
Programowanie Obiektowe – Wykład 2
Wprowadzenie do programowania obiektowego
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Typy

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Deklaracje typów Każda nazwa w C++ zanim zostanie użyta, musi zostać zadeklarowana. Deklaracja informuje kompilator, że dana nazwa reprezentuje obiekt określonego typu, ale nie rezerwuje dla niego miejsca w pamięci. Definicja zaś - dodatkowo rezerwuje miejsce. Definicja jest miejscem, gdzie powołuje się obiekt do życia. Oczywiście, definicja jest zawsze również deklaracją. Deklarować obiekt w programie można wielokrotnie, natomiast definiować można tylko raz. dr inż. Olga Choreń

Przykład: int licznik; // definicja + deklaracja Polsko – Japońska Wyższa Szkoła Technik Komputerowych Przykład: int licznik; // definicja + deklaracja extern int licznik; // deklaracja ( tylko!) dr inż. Olga Choreń

Systematyka typów w C++ Polsko – Japońska Wyższa Szkoła Technik Komputerowych Systematyka typów w C++ Typy języka C++ można podzielić dwojako: Pierwszy podział: typy fundamentalne; typy pochodne, które powstają na bazie typów fundamentalnych. Drugi podział : typy wbudowane, czyli takie, w które język C++ jest wyposażony; typy zdefiniowane przez użytkownika. dr inż. Olga Choreń

Typy fundamentalne wbudowane Polsko – Japońska Wyższa Szkoła Technik Komputerowych Typy fundamentalne wbudowane Typy reprezentujące liczby całkowite: short int int long int Typ reprezentujący obiekty zadeklarowane jako znaki alfanumeryczne: char dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Wymienione typy mogą być w dwóch wariantach - ze znakiem i bez znaku. Do wybrania wariantu posługujemy się odpowiednio modyfikatorami: signed unsigned Przykład: signed int x; unsigned int x; Przez domniemanie przyjmuje się, że zapis int a; oznacza typ signed int a, czyli typ ze znakiem. dr inż. Olga Choreń

float double long double Polsko – Japońska Wyższa Szkoła Technik Komputerowych Typy reprezentujące liczby zmiennoprzecinkowe: float double long double Typy te umożliwiają pracę na liczbach rzeczywistych z różną dokładnością. dr inż. Olga Choreń

Pamięć zajmowana przez liczby różnych typów: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Pamięć zajmowana przez liczby różnych typów: Typ Kompilator VS C++ IBM PC short 2 bajty int 4 bajty long 4 bajty float 4 bajty double 8 bajtów long double 8 bajtów dr inż. Olga Choreń

Definiowanie obiektów “w biegu” Polsko – Japońska Wyższa Szkoła Technik Komputerowych Definiowanie obiektów “w biegu” int main() { float x; //… cout << Podaj współczynnik kierunku ; float a; cin >> a; cout << Podaj współczynnik przesunięcia ; float b; cin >> b; //… dalsze obliczenia } dr inż. Olga Choreń

Stałe dosłowne Przykłady: x = 12.34; k = k + 14; znak =  * ; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Stałe dosłowne W programach często posługujemy się stałymi. Mogą to być liczby, znaki albo ciągi znaków. Przykłady: x = 12.34; k = k + 14; znak =  * ; dr inż. Olga Choreń

Stałe będące liczbami całkowitymi Polsko – Japońska Wyższa Szkoła Technik Komputerowych Stałe będące liczbami całkowitymi 17 39 - 54 Liczby całkowite ósemkowe: 010 - 8 w systemie dziesiętnym 014 - 12 w systemie dziesiętnym (8 + 4 = 12) 091 - błąd, bo w systemie ósemkowym liczba 9 jest nielegalna. Liczby całkowite szesnastkowe: 0x10 - 16 w systemie dziesiętnym (1*16 + 0 = 16) 0xa1 - 161 w systemie dziesiętnym (10*16 + 1 = 161) 0xff - 255 w systemie dziesiętnym (15*16 + 15 = 255) dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Znaki a, b, c, d, e, f w liczbach oznaczają odpowiednio 10, 11, 12, 13, 14, 15 w systemie dziesiętnym. W zapisie można posługiwać się zarówno małymi literami, jak i wielkimi. Można zmienić typ nawet niewielkiej liczby z typu int na typ long. Robi się to przez dopisanie na końcu liczby litery L lub l: 0L 123L Jeśli chcemy by liczba miała typ unsigned, należy dopisać na końcu literę u. Przykład: 213u 34uL dr inż. Olga Choreń

cout << "k= " << k << endl; m = 100; n = 0x100; Polsko – Japońska Wyższa Szkoła Technik Komputerowych int main () { int i; int k, n, m, j; i = 5; k = i + 010; cout << "k= " << k << endl; m = 100; n = 0x100; j = 0100; cout << "m+n+j= " << (m+n+j) << endl; cout << "wypisujemy: " << 0x22 << " " << 022 << " " << 22 << endl; return 0; } k = 13 m+n+j = 420 wypisujemy: 34 18 22 dr inż. Olga Choreń

Stałe zmiennoprzecinkowe Polsko – Japońska Wyższa Szkoła Technik Komputerowych Stałe zmiennoprzecinkowe Przykłady: 12.3 3.1416 -123.45 -17. 5e2 oznacza 5 * 102, czyli 500 32.5e4 oznacza 32.5 * 104, czyli 325000 7.3e-3 oznacza 7.3 * 10-3, czyli 0.0073 Stałe znakowe a oznacza literę a 8 oznacza cyfrę 8 (nie liczbę 8) char znak; znak = ‘A’; dr inż. Olga Choreń

Znaki sterujące Znaki specjalne Polsko – Japońska Wyższa Szkoła Technik Komputerowych Znaki sterujące ‘\b’ - cofacz (ang. Backspace) ‘\f’ - nowa strona (ang. Form feed) ‘\n’ - nowa linia (ang. New line) ‘\r’ - powrót karetki (ang. Carriage Return) ‘\t’ - tabulator poziomy (ang. Tabulator) ‘\v’ - tabulator pionowy (ang. Vertical tabulator) ‘\a’ - sygnał dźwiękowy (Alarm) Znaki specjalne ‘\\’ - ukośnik lewostronny ‘\’’ - apostrof ‘\’ - cudzysłów ‘\0’ - NULL, znak o kodzie 0 ‘\?’ - znak zapytania dr inż. Olga Choreń

Stałe tekstowe Stała tekstowa to ciąg znaków ujęty w cudzysłów Polsko – Japońska Wyższa Szkoła Technik Komputerowych Stałe tekstowe Stała tekstowa to ciąg znaków ujęty w cudzysłów Przykłady: Programowanie komputerów język C++ Łańcuchy są przechowywane w pamięci jako ciąg znaków, a na samym końcu tego ciągu dodawany jest znak o kodzie 0, czyli znak NULL. Jeżeli cudzysłów ma stanowić jeden ze znaków ciągu, należy go poprzedzić ukośnikiem. dr inż. Olga Choreń

J.Grębosz: Symfonia C++ - podręcznik programowania Polsko – Japońska Wyższa Szkoła Technik Komputerowych Przykład: cout << J.Grębosz: \Symfonia C++\ - podręcznik <<  programowania; J.Grębosz: Symfonia C++ - podręcznik programowania dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Typy pochodne Typy pochodne są budowane na bazie typów fundamentalnych. Przykładem typu pochodnego może być tablica lub wskaźnik. Możemy mieć kilka luźnych obiektów typu int, ale możemy je powiązać w tablicę obiektów typu int. Tablica obiektów typu int jest typem pochodnym od typu int. Typy pochodne oznacza się stosując nazwę typu podstawowego i operator deklaracji typu pochodnego. dr inż. Olga Choreń

Operatory tworzące obiekty typów pochodnych Polsko – Japońska Wyższa Szkoła Technik Komputerowych Przykład: int a; // obiekt typu int int b[10]; // tablica obiektów typu int (10-elementowa) Operatory tworzące obiekty typów pochodnych [ ] - tablica obiektów danego typu; * - wskaźnik do pokazywania na obiekty danego typu; ( ) - funkcja zwracająca wartość danego typu; & - referencja (przezwisko) obiektu danego typu. dr inż. Olga Choreń

Przykład: Typy fundamentalne: Typy pochodne: Polsko – Japońska Wyższa Szkoła Technik Komputerowych Przykład: Typy fundamentalne: int b; // definicja obiektu typu int short int c; // definicja obiektu typu short float x; // definicja obiektu typu float Typy pochodne: float *p; // wskaźnik obiektu typu float char funk(); // funkcja zwracająca wartość typu char int t[20]; // tablica 20 elementów typu int dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Typ void void *p; - oznacza, że p jest wskaźnikiem do wskazywania obiektu nieznanego (dowolnego)typu. void fun(); - deklaracja ta mówi, że funkcja fun nie będzie zwracać żadnej wartości. dr inż. Olga Choreń

Zakres ważności obiektu Polsko – Japońska Wyższa Szkoła Technik Komputerowych Zakres ważności obiektu Zakres ważności nazwy obiektu, to ta część programu, w której nazwa znana jest kompilatorowi. Czas życia obiektu jest to okres od momentu, gdy zostaje on zdefiniowany do momentu, gdy przestaje istnieć, a jego miejsce w pamięci zostaje zwolnione. Różnica między zakresem ważności nazwy a czasem życia obiektu jest taka, że w jakimś momencie obiekt może istnieć, ale nie być dostępny, ponieważ chwilowo znajdujemy się poza zakresem jego ważności. W zależności od tego, jak zdefiniowany jest obiekt, zakres jego ważności może być różnego rodzaju. dr inż. Olga Choreń

Zakres ważności ograniczony do bloku funkcji ma etykieta. Polsko – Japońska Wyższa Szkoła Technik Komputerowych Zakres lokalny int main () { int x; … } Zakres - blok funkcji Zakres ważności ograniczony do bloku funkcji ma etykieta. dr inż. Olga Choreń

Zakres - obszar pliku Przykład: float x; // nazwa x jest globalna Polsko – Japońska Wyższa Szkoła Technik Komputerowych Zakres - obszar pliku Nazwa zadeklarowana na zewnątrz jakiegokolwiek bloku, jest nazwą globalną. Ma ona zakres ważności pliku. Przykład: float x; // nazwa x jest globalna int main () { // treść funkcji } Jednakże taka nazwa nie jest od razu automatycznie znana w innych plikach. Jej zakres ważności ogranicza się tylko do tego pliku, w którym ją zdefiniowano. dr inż. Olga Choreń

Polsko – Japońska Wyższa Szkoła Technik Komputerowych Modyfikator const float pi = 3.14; const float pi= 3.14; Inicjalizacją nazywamy nadanie obiektowi wartości w momencie jego definicji. Przypisaniem nazywamy podstawienie do obiektu wartości w jakimkolwiek późniejszym momencie. Obiekty const można inicjować, ale nie można do nich nic przypisać. dr inż. Olga Choreń

Instrukcja typedef typedef int cena; cena x; // co odpowiada: int x; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Instrukcja typedef Instrukcja typedef pozwala na nadanie dodatkowej nazwy już istniejącemu typowi. typedef int cena; cena x; // co odpowiada: int x; cena a, b, c; // co odpowiada: int a, b, c; Instrukcja typedef nie wprowadza nowego typu, a jedynie synonim typu już istniejącego. dr inż. Olga Choreń

Typ wyliczeniowy enum enum { pn, wt, sr, czw, pt, sob, nd } Polsko – Japońska Wyższa Szkoła Technik Komputerowych Typ wyliczeniowy enum Wyliczenie deklaruje się słowem kluczowym enum, po którym następuje wykaz stałych całkowitych oddzielonych przecinkiem i zamkniętych w nawiasy klamrowe. Wymienionym stałym są przypisywane wartości domyślne: pierwszej z nich ‑ wartość 0, a każdej następnej - wartość o 1 większą od poprzedzającej. enum { pn, wt, sr, czw, pt, sob, nd } const int pn = 0; const int wt = 1; … const int nd = 6; dr inż. Olga Choreń

enum { false, koniec = 0, dalej, true = 1 }; Polsko – Japońska Wyższa Szkoła Technik Komputerowych Stałym typu wyliczeniowego można również przypisywać wartości jawnie, przy czym wartości te mogą się powtarzać. enum { false, koniec = 0, dalej, true = 1 }; W wyliczeniach można po enum umieścić identyfikator, który staje się od tego momentu nazwą nowego typu, np.: enum dni_tygodnia {pn, wt, sr, czw, pt, sob, nd}; enum Decyzja { czarny, czerwony, bialy}; Decyzja kula, szescian; dr inż. Olga Choreń

enum Decyzja {czarny, czerwony, bialy} kula, szescian; Polsko – Japońska Wyższa Szkoła Technik Komputerowych enum Decyzja {czarny, czerwony, bialy} kula, szescian; Typ wyliczeniowy jest podobny do typów char oraz int . Nie można jednakże na jego wartościach wykonywać żadnych operacji arytmetycznych. Gdy wartość typu wyliczeniowego pojawia się w wyrażeniach arytmetycznych, to jest niejawnie przekształcana do typu int przed wykonaniem operacji. dr inż. Olga Choreń