Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje Grupa: 1A Prowadzący: Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej.

Podobne prezentacje


Prezentacja na temat: "Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje Grupa: 1A Prowadzący: Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej."— Zapis prezentacji:

1 Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje Grupa: 1A Prowadzący: Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Wydział Odlewnictwa Akademia Górniczo – Hutnicza im. Stanisława Staszica Kraków,

2 Kalendarium zajęć 15 zajęć laboratoryjnych 11-10: Organizacyjne : Typy, operatory, instrukcje warunkowe : Pętle (zajęcia powtórkowe) : Wszystkich świętych 08-11: Pętle : Tablice i operacje na nich : Funkcje, deklaracja, argumenty 29-11: Wskaźniki i referencje : Rekurencja i rekurencja : String – jako tablica charów 20-12: Operacje IO – obsługa strumieni : Święta 03-01: Wyjątki – idea i obsługa : Struktury – idea i obsługa. 17,24-01: Uzupełnienie materiału + zaliczenia

3 Funkcje::Deklaracja, definicja użycie Definicja funkcji: typ_zwracany nazwa_funkcji( argumenty ); Deklaracja funkcji: typ_zwracany nazwa_funkcji( argumenty ) { ciało funkcji }; Funkcja jest to część programu, która możemy wywołać w kodzie programu poprzez podanie jej nazwy w programie oraz poprzez (opcjonalne) przekazanie argumentów do funkcji. Uwaga! Możliwa jest jednoczesna deklaracja z definicja funkcji, ale musi się ona odbyć przed użyciem funkcji w kodzie Przekazywanie argumentów do funkcji jest opcjonalne. Możliwe jest również przekazywanie kilku argumentów jednocześnie. By to zrobić należy rozdzielić jest przecinkami. Przykład: int funkcja(int arg1, int arg2);

4 Funkcje::Przeładowanie Może istnieć zdefiniowanych wiele funkcji o tej samej nazwie z różną liczbą argumentów jednak ich deklaracja ma być jednoznaczna!

5 Wskaźniki - inicjalizacja Wskaźnik – zmienna wskaźnikowa – w której zapisywany jest nie obiekt, a adres komórki pamięci, inicjalizowana jest przez dodanie * przed nazwą zmiennej; Dzięki wskaźnikom możemy przechowywać np. adres innej zmiennej oraz umożliwić bezpośredni dostęp do tej zmiennej.

6 Referencja Typ referencyjny jest połączeniem funkcjonalności typu wskaźnikowego ze składnią typu bezpośredniego Definicja zmiennej typy referencyjnego tworzona jest przez dodanie symbolu & przez nazwą zmiennej typu wskaźnikowego.

7 Wskaźniki i referencje OperacjaWskaźnikReferencja Zmienne bezpośrednie int a, b; Deklaracja bez inicjalizacji int *wskaznik;- BRAK - Deklaracja z inicjalizacją int *ptr = &a;Int &ref = a; Zmiana zmiennej wskazywanej ptr = &b;- BRAK -

8 Wskaźniki i referencje - przykład Przykładowy program przedstawiający wykorzystanie wskaźników i referencji w przekazywaniu argumentów do funkcji. Linijka 11: a = 5, b = 7; Linijka 12: przekazanie obiektów do funkcji – brak rezultatów poza funkcją Linijka 14: przekazanie wartości obiektów do funkcji operującej na wskaźnikach – zamiana wartościami a i b poza funkcją Linijka 16: przekazanie referencji obiektów do funkcji – ponowna zamiana wartości zmiennych poza funkcją

9 Wskaźniki vs tablice Zapis: int tab[10] jest interpretowany jako ustalony wskaźnik na początek (pierwszy element) tablicy. Wywołanie samego tab zwróci nam adres pierwszego elementu w tablicy, a nie jego wartość; Zapis: int * p; p = tab; Jest równoznaczny z: p = &tab[0];

10 Wskaźniki vs tablice Nazwa tablicy jest wskaźnikiem na adres jej pierwszego elementu. int *wsk = tab; Zmienne wskaźnikowe można przesuwać, więc zapis tab[0] = 0; tab[1] = 1; … tab[9] = 9; Jest równoznaczny z: *wsk = 0; *(wsk+1) = 1; … *(wsk+9) = 9;

11 Tablice dynamiczne Istnieje możliwość dynamicznej alokacji pamięci dla tablicy przy wykorzystaniu wskaźników. Generujemy wtedy tablicę o zalokowanej pamięci o zadanym rozmiarze. Istnieje możliwość zrobienia też dynamicznej tablicy wielowymiarowej, generuje się wtedy tablicę wskaźników na wskaźniki. int** tab = new int*[a];

12 Zadania 0 – nie oceniane Napisz prosty kalkulator (dodawanie, odejmowanie, mnożenie, dzielenie, modulo) wykorzystujący funkcje. –Funkcje obliczające wartości powinny być typu zwracającego, –Wyniki wyświetl na ekran, –Parametry do funkcji przekaż jako: Zmienne Wskaźniki Referencje

13 Zadania 1 Napisz program wczytujący z klawiatury zmienną, a następnie przekaż tą zmienną do funkcji jako argument i wykonaj na niej operację zmieniającą jej wartość. Wynik zwróć do zmiennej. Po wyjściu z funkcji wyświetl wynik działania funkcji oraz zmienną przekazaną do funkcji. Wykonaj to samo zadanie przekazując do funkcji referencję do zmiennej.

14 Zadania 2 Napisz program, który generuje 2 wektory statyczne o zadanym stałym rozmiarze (użyjconst rozmiar = … ;), a następnie napisz następujące funkcje: Dodawanie wektorów, Odejmowanie wektorów, Zwracanie wartości mniejszej z tych wektorów. Funkcje powinny mieć osobne nazwy i umożliwiać zwracanie wektora. Napisz funkcję void wypisz(), która umożliwi wyświetlanie wektorów.

15 Zadanie 3 Napisz program, który utworzy tablicę 3x3 i uzupełni je losowymi wartościami tylko na pierwszej przekątnej, pozostałe wartości mają wynosić 0. Następnie funkcję, która obliczy wskaźnik tej macierzy wiedząc, że: detA = tab[0][0]*tab[1][1]*tab[2][2];


Pobierz ppt "Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje Grupa: 1A Prowadzący: Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej."

Podobne prezentacje


Reklamy Google