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

Podobne dokumenty
Wykład 1: Wskaźniki i zmienne dynamiczne

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Wykład 5: Klasy cz. 3

Wykład 9: Polimorfizm i klasy wirtualne

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: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 8: klasy cz. 4

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

Wykład 9: Metody wirtualne i polimorfizm

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

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

W dowolnym momencie można zmienić typ wskaźnika.

Wykład 3 Składnia języka C# (cz. 2)

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

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wykład VI PASCAL procedury i funkcje przekazywanie parametrów,

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Podstawy Programowania

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Referencje do zmiennych i obiektów

Lab 9 Podstawy Programowania

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

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

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

Języki i techniki programowania Ćwiczenia 2

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Podstawy Programowania Obiektowego

Wykład 7 Okna dialogowe, menu, pasek stanu itp.

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Języki i paradygmaty programowania

Techniki Programowania wskaźniki

PDF stworzony przez wersję demonstracyjną pdffactory Pro Program 15

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

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

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

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Podstawy programowania w języku C++

Laboratorium nr 9. Temat: Wskaźniki, referencje, dynamiczny przydział pamięci, tablice dynamiczne. Zakres laboratorium:

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

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

Szablony funkcji i szablony klas

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

dr inż. Jarosław Forenc

Algorytmy i język C++

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Wstęp do informatyki- wykład 11 Funkcje

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 8. Karol Tarnowski A-1 p.

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Wstęp do informatyki- wykład 9 Funkcje

Wprowadzenie do szablonów szablony funkcji

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Wartości domyślne, przeciażenia funkcji

Podstawy programowania w języku C++

Podstawy Programowania C++

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Wprowadzenie do szablonów szablony funkcji

Programowanie komputerowe. Zajęcia 3

Wartości domyślne, przeciażenia funkcji

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

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

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Materiał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji

Język C++ zajęcia nr 2

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Podstawy programowania w języku C++

( wykł. dr Marek Piasecki )

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Wskaźniki. Informatyka

Tablice jednowymiarowe

Metodyki i techniki programowania

Laboratorium nr 10. Temat: Funkcje cz.2.

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

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

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:

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

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

Transkrypt:

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

Podstawy programowania w C++ Wskaźniki 2

Podstawy Pojęcie wskaźnika Wskaźnik na zmienną danego typu to zmienna, która przechowuje adres zmiennej danego typu. Zmienne są niczym innym jak tylko komórkami pamięci operacyjnej RAM. Zatem odwołując się do zmiennej poprzez jej nazwę odwołujemy się do przydzielonej jej pamięci. Wartością wskaźnika jest natomiast adres pamięci RAM, gdzie znajduje się taka zmienna. 3

Wskaźniki Definiowanie wskaźników typ_wskazywanego_obiektu * nazwa wskaźnika; Np.: int *wsk_na_int; char * wsk_na_znak; float * wsk_na_float; 4

Podstawy Pojęcie wskaźnika Aby uzyskać adres zmiennej statycznej, który można przechowywać w zmiennej wskaźnikowej posłużyć się można operatorem & Zdefiniowanie wskaźnika na int oraz zmiennej typu int Przekazanie adresu zmiennej do wskaźnika 5

Wskaźniki Posługiwanie się wskaźnikami Np.: int *x; - definicja wskaźnika do obiektów typu int int st; - definicja obiektu typu int z liczbą 100 x = &st; - ustawienie wskaźnika na obiekt st cout << *x; - wypisanie wartości obiektu wskazywanego przez x cin >> *x; - zapisanie wartości do wskaźnika 6

Wskaźniki Posługiwanie się wskaźnikami 7

Wskaźniki Posługiwanie się wskaźnikami Wskaźniki jako argumenty funkcji - przekazując wskaźniki jako argumenty funkcji sprawiamy, że z wnętrza funkcji mamy pełny dostęp do zmiennych przekazanych jako argumenty (możemy je modyfikować). Efekt jest podobny jak przy przekazywaniu argumentów przez referencję. 8

Podstawy programowania w C++ Obsługa tablica za pomocą wskaźników 9

Podstawy Adres tablicy NAZWA TABLICY jest równocześnie ADRESEM JEJ ZEROWEGO ELEMENTU Dla: int tab[10]; zapis: tab jest równoznaczny z: &tab[0] 10

Podstawy Wskaźnik do tablicy Obsługa tablic za pomocą zmiennych: 11

Podstawy Wskaźnik do tablicy Po elementach tablicy możemy poruszać się na dwa sposoby: 1. przy użyciu indeksów podając kolejne numery komórek począwszy od 0, 2. przeskakując kolejne komórki tablicy z wykorzystaniem wskaźnika. 12

Podstawy Wskaźnik do tablicy Przykład wypisanie elementów tablicy poruszając się po niej wskaźnikiem. 13

Podstawy programowania w C++ Przekazywanie tablic do funkcji 14

Podstawy Przekazywanie tablic do funkcji Tablicy nie można przesłać przez wartość. Można tak przesłać pojedyncze jej elementy, ale nie całość. Mamy funkcję o nagłówku: void funkcja (float tab[]); która spodziewa się jako argumentu: tablicy liczb typu float, Taką funkcję wywołujemy na przykład tak: float tablica[4]={ 7, 8.1, 4, 4.12}; funkcja (tablica); 15

Podstawy programowania w C++ Stałe wskaźniki i wskaźniki na stałe 16

Podstawy Wskaźniki i stałe Wskaźnik na stałą wskazuje na zmienną typu z kwantyfikatorem const (stałą). 17

Podstawy Wskaźniki i stałe Stały wskaźnik wskazuje zawsze w to samo miejse pamięci (nie można go przesuwać) Przykładem stałego wskaźnika jest nazwa tablicy 18

Podstawy programowania w C++ Wskaźniki na funkcję 19

Podstawy Wskaźniki na funkcję Wskaźnik na funkcję przechowuje adres funkcji. Może być wykorzystany do jej wywołania. Definicja: Przypisanie adresu funkcji: 20

Podstawy Wskaźniki do funkcji 21

Podstawy programowania algorytmy w praktyce Sortowanie bąbelkowe 22

V. Procedury i funkcje Przykład sortowanie bąbelkowe W każdym przejściu pętli wewnętrznej porównywane są ze sobą dwie kolejne wartości i w razie potrzemy są zamieniane miejscami. W jednym cyklu pętli wewnętrznej, największa liczba (tak jak bąbelki w napoju gazowanym) w zbiorze będzie się przemieszczała na ostatnią pozycję. W ten sposób otrzymujemy podzbiór częściowo już posortowany. Czynności te powtarzamy dla zbioru pominiętego o elementy już poukładane 23 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

V. Procedury i funkcje Przykład sortowanie bąbelkowe 24 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

V. Procedury i funkcje Przykład sortowanie bąbelkowe 25 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

V. Procedury i funkcje Przykład sortowanie bąbelkowe 26 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

Literatura: W prezentacji wykorzystano przykłady i fragmenty: Grębosz J. : Symfonia C++, Programowanie w języku C++ orientowane obiektowo, Wydawnictwo Edition 2000. Jakubczyk K.: Turbo Pascal i Borland C++ Przykłady, Helion. Warto zajrzeć także do: Sokół R. : Microsoft Visual Studio 2012 Programowanie w Ci C++, Helion. Kerninghan B. W., Ritchie D. M.: język ANSI C, Wydawnictwo Naukowo Techniczne. Dla bardziej zaawansowanych: Grębosz J. : Pasja C++, Wydawnictwo Edition 2000. Meyers S.: język C++ bardziej efektywnie, Wydawnictwo Naukowo Techniczne 27 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD