Podstawy informatyki Rekurencja i rekurencja 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, 10-01-2013 r
Kalendarium zajęć 11-10: Organizacyjne. 18-10: Typy, operatory, instrukcje warunkowe. 25-10: Pętle (zajęcia powtórkowe). 01-11: Wszystkich świętych 08-11: Pętle. 15-11: Tablice i operacje na nich. 22-11: Funkcje, deklaracja, argumenty 29-11: Wskaźniki i referencje. 06-12: Rekurencja i rekurencja (zajęcia powtórkowe). 13-12: Rekurencja i rekurencja (zajęcia powtórkowe). 20-12: Rekurencja i rekurencja. 27-12: Święta 03-01: String – jako tablica char’ów 10-01: Struktury – idea i obsługa. 17-01: Operacje IO – obsługa strumieni. 24-01: Wyjątki – idea i obsługa.
String – tablica charow Aby rozpocząć pracę ze zmiennymi przechowującymi tekst, należy użyć narzędzia: Std::string A także należy dodać plik nagłównowy: #include <string>
String – tablica charow Na zmiennej typu string możemy operować tak samo jak każdej innej zmiennej lub tak jak na tablicy charów odwołując się do poszczególnych elementów w tablicy. Możliwe jest dodawanie (sklejanie) zmiennych typu string jednak nie można sklejać w następujący sposób: string zmienna = „nowy ” + „wyraz”
Struktury Struktury stanowią odwzorowanie elementów świata rzeczywistego w sposób uproszczony rzeczywistości komputerowej. Zamiast tworzyć wielu zmiennych oraz ręczne łączenie ich w grupy, możemy utworzyć strukturę – obiekt, która będzie mieć określone elementy ją opisujące.
Struktury - budowa Przykład budowy: struct nazwa { // definicja struktury typ1 element1; // pola elementów typ2 element2; // struktury … }; struct nazwa obiekt; // deklaracja obiektu
Struktury – odwołanie do elementów struct data { int dzien; int miesiac; int rok; }; struct data dzis; … dzis.dzien = 10; dzis.miesiac = 1; dzis.rok = 2013;
Struktury - elementy dzis.rok = 2013; dzis - nazwa zmiennej; . - operator wyboru pola struktury; rok - nazwa pola struktury; = - operator przypisania 2013 - dowolna wartość odpowiadająca typowi elementu struktury
#typdef Utworzenie obiektu typu struktura wiąże się z użyciem: struct nazwa obiekt; By uniknąć każdorazowego użycia struct możemy utworzyć nowy typ przy pomocy #typdef; #typdef struct data _data; _data obiekt;
Struktury struct _data { int dzien; int miesiac; int rok; }; typdef _data data; data a; typdef struct { } data;
Struktury W języku C++ nazwa oznacznikowa struktury występująca po słowie struct jest pełnoprawną nazwą typu strukturalnego. Nie trzeba używać słowa struct. struct _data { int dzien; int miesiac; int rok; }; data dzis;
Zadanie 1 Napisz program, który tworzy strukturę „Student”, a w niej elementy: „imię, nazwisko, kierunek i wydział”. Utwórz obiekt, uzupełnij poszczególne elementy i wypisz je na ekran w postaci. Imie: <imie> Nazwisko: <nazwisko> Kierunek: <kierunek> Wydział: <wydział>
Zadanie 2 Utwórz strukturę student, a w niej elementy tj. imię, nazwisko, kierunek, wydział itp… . Utwórz funkcję, która pozwoli na wypisanie wszystkich elementów struktury po przekazaniu do niej obiektu zgodnie z formatem z zadania I.
Zadanie 3 Utwórz strukturę samochód, a w niej elementy: marka, model, rok produkcji, pojemność baku, spalanie. Utwórz tablicę obiektów tej struktury, a następnie wybierz ten element tablicy, którego obiekt ma najmniejsze spalanie (możesz wykorzystać tablicę statyczną lub dynamiczną).
Zadanie 4 Utwórz struktury: Autor, która zawiera: imię, nazwisko, rok urodzenia, data śmierci oraz strukturę: Książka o elementach: tytuł, gatunek, autor (wykorzystaj poprzednią strukturę). Napisz program, który umożliwi przy pomocy funkcji wczytanie kilku książek do tablicy różnych autorów, a następnie napisz funkcje sortujące wg tytułu książek, gatunku (podaj gatunek -> zwróć na ekran elementy z tego gatunku), autora.
Utwórz strukturę przedmiot, a w niej: nazwa, prowadzący, oceny; Zadanie 5 Utwórz strukturę student, a w niej elementy: imie, nazwisko, przedmiot, rok studiów. Utwórz strukturę przedmiot, a w niej: nazwa, prowadzący, oceny; Napisz program umożliwiający uzupełnienie przedmiotów należących do danego studenta, oraz obliczanie średnich arytmetycznych z poszczególnych przedmiotów oraz sortowanie wg po najlepszych przedmiotach danego studenta i po najlepszych studentach z danego przedmiotu.