1 / 14

Podstawy informatyki

Podstawy informatyki. Prowadzący: Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo – Hutnicza im. Stanisława Staszica Kraków, 19-11-2013. Wskaźniki - inicjalizacja.

wind
Download Presentation

Podstawy informatyki

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Podstawy informatyki Prowadzący: Grzegorz Smyk Wydział Inżynierii Metali i Informatyki PrzemysłowejAkademia Górniczo – Hutnicza im. Stanisława StaszicaKraków, 19-11-2013

  2. 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.

  3. 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.

  4. Wskaźniki i referencje

  5. 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ą

  6. 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];

  7. 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;

  8. 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];

  9. Rekurencja „Aby zrozumieć rekurencję należy najpierw zrozumieć rekurencję” Rekurencja jest sposobem programowania, w którym procedury wywołują same siebie. Cechą charakterystyczną jest to, funkcja wchodzi w kolejny poziom, aby obliczyć iloczyn podanego jej parametru oraz wartość (parametr-1). Dopiero w momencie powrotu z wywołań obliczane są rzeczywiste iloczyny, i wtedy też przeliczana jest wartość silni.

  10. Rekurencja - niebezpieczeństwa „Aby zrozumieć rekurencję należy najpierw zrozumieć rekurencję” Rekurencja jest sposobem programowania, w którym procedury wywołują same siebie. Problemem jest warunek stopu, bez odpowiednio zadanego algorytm będzie wykonywać się w nieskończoność.

  11. Zadanie 1 Napisz program, który przy pomocy twórz funkcji utworzy tablicę 1D, następnie przy pomocy funkcji uzupełni wypełni ją kolejnymi elementami ciągu Fibonacciego. Ilość elementów ma być podana z klawiatury i przekazana do funkcji jako parametr. Po wyświetleniu tablicy usuń ją z pamięci komputera.

  12. Zadanie 2 Napisz program, który zawiera w sobie dwie tablice wielowymiarowe 1D[10] i 2D[5][5]. Uzupełnij je kolejnymi indeksami, a następnie napisz funkcje z przeładowaniem, która wypisze przekazaną do niej macierz. Funkcje mają nazywać się tak samo, różnią się tylko przekazywanymi argumentami.

  13. Zadanie 3 Napisz program, w którym w funkcji zostanie utworzona tablica dwuwymiarowa. Napisz funkcję która uzupełni tą tablicę wg schematów: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13

  14. Zadanie 4 Napisz program, który oblicza miejsca zerowe w funkcji kwadratowej. Argumenty współczynniki do funkcji przekaż w postaci tablicy. W zależności od ilości możliwych rozwiązań wywołaj odpowiednią funkcję liczącą miejsca zerowe. Zastosuj przeładowanie funkcji.

More Related