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



Podobne dokumenty
ROZDZIAŁ 2. Operatory

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

1 Podstawy c++ w pigułce.

Wykład 8: klasy cz. 4

Część 4 życie programu

1 Podstawy c++ w pigułce.

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

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

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

Język ludzki kod maszynowy

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Zmienne, stałe i operatory

I - Microsoft Visual Studio C++

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Podstawy programowania w języku C

Wykład 5: Klasy cz. 3

2 Przygotował: mgr inż. Maciej Lasota

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

Przeciążanie operatorów

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

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

Programowanie obiektowe

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

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Instrukcje sterujące. Programowanie Proceduralne 1

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

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

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

PARADYGMATY PROGRAMOWANIA Wykład 3

Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015.

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

( wykł. dr Marek Piasecki )

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

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

Wykład 1: Wskaźniki i zmienne dynamiczne

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Programowanie Obiektowe i C++

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

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

Programowanie strukturalne i obiektowe

Podstawy i języki programowania

Podstawy Programowania Obiektowego

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

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

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

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

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

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

Szablony klas, zastosowanie szablonów w programach

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

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

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wstęp do informatyki- wykład 9 Funkcje

Wstęp do informatyki- wykład 11 Funkcje

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Programowanie komputerowe. Zajęcia 3

Wstęp do programowania

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania w języku C i C++

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

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

IX. Wskaźniki.(3 godz.)

Język C zajęcia nr 11. Funkcje

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

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wstęp do programowania

Języki i paradygmaty programowania

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

KOTLIN. Język programowania dla Androida

Transkrypt:

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 18 8 Wskaźniki 19 9 Podstawy programowania obiektowego 21

Strona 3 z 26 Literatura [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Anna Struzińska - Walczak, Krzysztof Walczak, Nauka programowania dla początkujących C++, Wydawnictwo W & W, Warszawa, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4] Davis Chapman, Visual C++ dla każdego, Helion, Gliwice, 1999.

Strona 4 z 26 1. Wprowadzenie do programowania Programowanie komputerów polega na zapisaniu listy poleceń do wykonania przez komputer w pewnym umownym języku. Etapy procesy rozwiązywania problemów przy pomocy komputera: sformułowanie problemu, analiza problemu i wyznaczenie algorytmu, który go rozwiązuje zakodowanie algorytmu (napisanie programu) uruchomienie i testowanie programu

Strona 5 z 26 2. Pierwsza aplikacja Program w językach C, C++, składa się z funkcji, które pozwalają zapisywać wyróżnione części algorytmu w postaci odrębnych fragmentów programu. Funkcja main() Operacje we/wy nie są elementami języka. Podprogramy odpowiedzialne za ich realizację umieszczone są w bibliotece o nazwie iostream (input output stream). Dyrektywa preprocesora #include Kompilator - linker - preprocesor Język wolnego formatu

Strona 6 z 26 3. Typy danych Każda nazwa zanim zostanie użyta musi zostać zadeklarowana. Deklaracje określają, że dany obiekt jest pewnego typu (np. int a; oznacza że zmienna a jest typu całkowitego). 1. Typy reprezentujące liczby całkowite char -128-127 unsigned char 0-255 short -32.767-32.767 unsigned short 0-65.535 int -2147483648-2147483647 unsigned int 0-4297967295

Strona 7 z 26 2. Typy reprezentujące liczby zmiennoprzecinkowe - umożliwiają pracę na liczbach rzeczywistych z różną dokładnością float 1.1 10 38 3.4 10 38-6 cyfr znaczących double 2.2 10 308 1.79 10 308-15 cyfr znaczących long double 3.3 10 4932 1.1 10 4932-18 cyfr znaczących. L = mantysa 10 cecha 3. Typ pusty (void) - jest używany jako typ wartości zwracanej przez funkcje, które nie zwracają wartości oraz dla zaznaczenia, że funkcja jest bezparametrowa. 4. Typ wyliczeniowy enum nazwa typu {lista wyliczeniowa} ;

5. Czas życia zmiennej (zmienne lokalne i globalne) Strona 8 z 26

Strona 9 z 26 4. Operatory 1. Operator przypisania = a = 1 2. Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie 3. Operator % - modulo - reszta z dzielenia np. 10%3 = 1. 4. Operatory jednoargumentowe - + i zmiana wartości wyrażenia na przeciwną 5. Operatory inkrementacji i dekrementacji Forma przedrostkowa a = + + i b = i

Forma przyrostkowa a = i + + 6. Operatory logiczne b = i Strona 10 z 26 Operatory relacyjne < -mniejszy niż <= - mniejszy lub równy > - większy niż >= - większy lub równy == - równy! = - różny Operator negacji! Jednoargumentowy operator negacji (wykrzyknik). Operatory sumy logicznej ( ) i iloczynu logicznego (&&)

Wieloznakowe operatory przypisania a+=b a=a+b a-=b a=a-b a*=b a=a*b a/=b a=a/b a%=b a=a%b Strona 11 z 26

5. Instrukcje sterujące 1. Prawda fałsz. 2. Instrukcja warunkowa if if (wyrażenie) instrukcja1; if (wyrażenie) instrukcja1; else instrukcja2; Strona 12 z 26 if (wyrażenie) instrukcja1; else if (wyrażenie) instrukcja2; else instrukcja3;

3. Instrukcja while. while (wyrażenie) instrukcja; while (wyrażenie) { instrukcje } 4. Pętla do... while... do { instrukcje } while (wyrażenie); Strona 13 z 26 5. Pętla for for (wyrażenie1; wyrażenie2; wyrażenie3) instrukcja; for (wyrażenie1; wyrażenie2; wyrażenie3) {instrukcje;}

Strona 14 z 26 6. Instrukcja switch switch (wyrażenie) {case wartość1 : instrukcja1; \\ break; case wartość2 : instrukcja2; \\break; case wartość3 : instrukcja3; \\break; default : instrucja4; \\break; } 7. Instrukcja break 8. Instrukcja continue

6. Podprogramy Podprogram - wyodrębniona część programu realizująca pewne zadania (np. obliczanie pola figury). Funkcja - podprogram, który jako rezultat zwraca wartość. typ wartości zwracanej nazwa funkcji (lista argumentów) Strona 15 z 26 Deklaracja a definicja funkcji Przesyłanie argumentów do funkcji. Przesyłanie argumentów przez wartość - tworzona jest kopia argumentu przesłanego do funkcji, jakiekolwiek zmiany tego argumentu nie są widoczne po opuszczeniu funkcji. Przesyłanie argumentów przez referencję (przezwisko) - pozwala na modyfikowanie tego argumentu, gdyż do funkcji trafia adres argumentu.

Argumenty domniemane - argumenty którym nadaje się wartość w momencie deklaracji funkcji (w definicji już się tego nie powtarza). Argumenty domniemane znajdują się zawsze na końcu listy. Przykład. Strona 16 z 26 int fk (int x,float m,int a=4,float y=6.55,int k=10); wywołania fk(2,3.14); fk(2,3.14,7); fk(2,3.14,7,0.3); fk(2,3.14,7,,5); - błąd fk(2,3.14,7,0.3,5);

Przeciążanie nazw funkcji - polega na nadawaniu tych samych nazw funkcjom realizującym analogiczne operacje, ale różniących się typem lub liczbą parametrów. Strona 17 z 26

Strona 18 z 26 7. Tablice Tablica jest to struktura danych zawierająca elementy tego samego typu. typ elementów nazwa tablicy [rozmiar]; Numeracja elementów tablicy zaczyna sie od zera. int tab[4]={5,7}; for(int i=0;i<4;i++) cout<<tab[i]<<endl; Nazwa tablicy jest adresem jej zerowego elementu.

Strona 19 z 26 8. Wskaźniki W języku C++ można używać zmiennych wskaźnikowych, których wartością są wskaźniki zawierające adresy obiektów w pamięci. int * w; // definicja zmiennej wskaźnikowej // pokazywać na obiekty typu int int k=7; //definicja zmiennej w=&k; cout<<k<<*w; cout<<&k<<w; mogącej

Strona 20 z 26 Zastosowanie wskaźników wobec tablic Rezerwacja obszarów pamięci Operator new przydziela pamięć dla nowo utworzonego obiektu, Operator delete zwalnia pamięć Obiekty utworzone operatorem new nie mają nazwy to my decydujemy o czasie ich życia nie obowiązują zwykłe zasady o zakresie ważności należy nadać im wartość początkową

Strona 21 z 26 9. Podstawy programowania obiektowego Język C++ pozwala na zdefiniowanie własnego typu danych. class nowy_typ { składniki klasy metody (funkcje) klasy }; Składnikami w klasie mogą być dane różnego typu.

Strona 22 z 26 Składniki i funkcje występujące w klasie mogą być 1. public - dostęp do składników klasy mają funkcje z klasy ale także te które do tej klasy nie należą. 2. private - dostęp do składników mają tylko funkcje będące składnikami klasy. Składniki dane - mogą być odczytywane lub można coś do nich zapisać tylko wykorzystując funkcje z tej klasy, a funkcje mogą być wywoływane przez inne funkcje z tej klasy. 3. protected - dostęp taki jak do składników private ale mogą też z nich korzystać klasy pochodne.

Gdy zadeklarowano dwa elementy (obiekty) tej samej klasy funkcje składowe znajdują się w pamięci jednokrotnie. Gdy funkcja jest wywoływana na rzecz jednego z tych obiektów, to do jej wnętrza trafia adres tego obiektu. Tym adresem funkcja inicjalizuje sobie swój własny wskaźnik this. Wskaźnik ten pokazuje na którym konkretnie obiekcie tej klasy funkcja pracuje. Strona 23 z 26

Strona 24 z 26 Konstruktor jest to funkcja składowa, która 1. nazywa się tak samo jak klasa 2. nie ma wyspecyfikowanego żadnego typu wartości zwracanej (po słowie return może być tylko średnik) 3. ma na celu nadać wartości początkowe składnikom klasy. 4. jest wywyoływany automatycznie w chwili definicji każdego obiektu zaraz po przydziale pamięci. 5. może być przeładowana. Konstruktor domniemany jest to konstruktor, który może być wywoływany bez żadnych argumentów. Gdy w klasie brak konstruktorów, wówczas konstruktor domniemany jest generowany automatycznie. Klasa może zawierać tylko jeden konstruktor domniemany.

Strona 25 z 26 Destruktor - jest funkcja składowa o nazwie K(). Destruktor jako funkcja nie może zwracać żadnej wartości (nawet void), nie jest wywoływana z żadnymi argumentami. Funkcja ta jest wywoływana automatycznie gdy obiekt jest likwidowany. Zastosowanie: 1. Gdy konstruktor dokonał rezerwacji pamięci operatorem new, wtedy destruktor zwalnia pamięć operatorem delete. 2. Gdy liczymy obiekty danej klasy

Strona 26 z 26 Funkcja zaprzyjaźniona jest to funkcja, która nie jest składnikiem klasy ale ma dostęp do składowych prywatnych i chronionych tej klasy. Funkcja może być przyjacielem więcej niż jednej klasy. Aby funkcja była przyjacielem danej klasy należy jej deklarację poprzedzoną słowem friend umieścić wewnątrz klasy. Funkcja zaprzyjaźniona nie jest składnikiem klasy, nie ma wskaźnika this, pomimo, że będzie w klasie ciało tej funkcji. Funkcja zaprzyjaźniona może być składnikiem innej klasy.w przypadku funkcji przeładowanych przyjacielem jest ta, która dokładnie odpowiada specyfikacji podanej w klasie.