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, 5-11-2013. Funkcje::Deklaracja, definicja użycie. Definicja funkcji: typ_zwracany nazwa_funkcji( argumenty );

thao
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, 5-11-2013

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

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

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

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

  6. Wskaźniki i referencje

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

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

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

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

  11. Zadania 1: Napisz program, który pozwala na wczytanie dwóch zmiennych z klawiatury oraz wykona na nich proste operacje arytmetyczne: • Dodawanie • Odejmowanie • Mnożenie • Dzielenie • Modulo Każda operacja ma być zawarta w osobnej funkcji! A argumenty powinny być przekazywane do funkcji na 3 sposoby. Porównaj wyniki.

  12. Zadania 2 Napisz program który umożliwi wczytanie 10 liczb do tablicy, a następnie przy pomocy odpowiedniej funkcji umożliwi: • wyznaczenie najmniejszego elementu tablicy, • wyznaczenie największego elementu tablicy, • obliczy średnią arytmetyczną elementów w tablicy Do funkcji zmienne najmniejszego, największego elementu przekaż przez wskaźnik, natomiast średnia_arytmentyczna przez referencję.

  13. Zadania 3 Napisz program, który umożliwia wczytanie do tablicy o dowolnym rozmiarze (podanym z klawiatury) losowych liczb z przedziału 30 – 70 oraz funkcję, która umożliwia wypisywanie: • wszystkich liczb (1 argument – tablica) • liczb parzystych • liczb z zadanego przedziału • ( 3 argumenty: tablica + 2x przedział) Użyj przeładowania funkcji w zależności od ilości argumentów.

  14. Zadanie 4 Napisz program, który posortuje tablicę dynamiczną o zadanym rozmiarze (nie większym niż 100). • Wykorzystaj sortowanie bąbelkowe • Napisz funkcję, która umożliwi wyświetlenie w formacie dwuwymiarowym o ilości elementów w kolumnie równym 10 oraz ilości wierszy potrzebnych do wyświetlenia całej tablicy.

More Related