Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Wykład 8: klasy cz. 4

Wykład 9: Polimorfizm i klasy wirtualne

Wykład 5: Klasy cz. 3

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

Wykład 9: Metody wirtualne i polimorfizm

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

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

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: 11. Trochę różnych przykładó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

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

Podstawy programowania. Wykład: 9. Łańcuchy znakó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: 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: 4. Instrukcje sterujące, operatory. 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++

Podstawy algorytmiki i programowania - wykład 4 C-struktury

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

Deklaracja struktury w C++

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

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

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

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

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.

Język C zajęcia nr 12. Struktury i unie

Metodyki i techniki programowania

C-struktury wykład. Dorota Pylak

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

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.

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

Różne właściwości. Różne właściwości. Różne właściwości. C++ - klasy. C++ - klasy C++ - KLASY

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

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

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

Metodyki i techniki programowania

dr inż. Jarosław Forenc

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Język programowania. Andrzej Bobyk

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

Struktury Struktura polami struct struct struct struct

C-struktury wykład. Dorota Pylak

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Podstawy Programowania Obiektowego

Wykład 4: Klasy i Metody

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

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

Języki i paradygmaty programowania

dr inż. Jarosław Forenc

Podstawy programowania w języku C++

Spis treści JĘZYK C - STRUKTURY, POLA BITOWE, UNIE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

Pola i metody statyczne

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

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

Podstawy Programowania

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Zmienne, stałe i operatory

Programowanie obiektowe

Definicje klas i obiektów. Tomasz Borzyszkowski

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO

Programowanie Komputerów

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Struktury - wprowadzenie

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

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

( wykł. dr Marek Piasecki )

Spis treści JĘZYK C - STRUKTURY, POLA BITOWE, UNIE. Metodyki i techniki programowania. Instrukcja do pracowni specjalistycznej z przedmiotu

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

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

Język C zajęcia nr 11. Funkcje

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Języki i metodyka programowania. Wprowadzenie do języka C

Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Rozdział 4 KLASY, OBIEKTY, METODY

ZASADY PROGRAMOWANIA KOMPUTERÓW

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Semestr letni Brak Tak

Materiały do zajęć VII

Java Język programowania

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

Podstawy programowania (1)

ALGORYTMY I STRUKTURY DANYCH

Algorytmy i struktury danych. wykład 1

Transkrypt:

Podstawy programowania Wykład: 12 Struktury, unie, pola bitowe 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania Struktury 2

Struktury Struktury to złożone typy danych pozwalające przechowywać dane różnego typu w jednym obiekcie. Za pomocą struktur możliwe jest grupowanie wielu zmiennych o różnych typach. Za pomocą struktur można w prosty sposób organizować zbiory danych, bez konieczności korzystania z tablic. Struktura nazywana jest też rekordem (szczególnie w odniesieniu do baz danych). 3

Deklaracja struktury w C++ Struktury tworzymy słowem kluczowym struct. 1. podajemy nazwę typu, 2. w nawiasie klamrowym definiujemy elementy składowe Uwaga! Tak opisana struktura nie jest jeszcze egzemplarzem zmiennej a dopiero definicją nowego typu zmiennej złożonej. 4

Deklaracja struktury w C++ Przykład struktura zawierająca rekord prostej bazy danych: Opisujemy typ strukturalny o nazwie osoba Druga metoda: Definiujemy dwie zmienne opisanego wyżej typu o nazwach pracownik1 i pracownik2 5

Inicjalizacja struktury Struktury można inicjalizować już w chwili ich tworzenia. Lub też krócej: 6

Zapis i odczyt danych struktury Zapis do pól struktury: 7

Zapis i odczyt danych struktury Odczyt z pól struktury: 8

Struktury globalne i lokalne Struktura stworzona przed funkcją main() będzie strukturą globalną, (każdy podprogram będzie mógł z niej korzystać). Struktura stworzona wewnątrz jakiegoś bloku, będzie lokalną i widoczna tylko w tym miejscu. 9

Tablice struktur Tablicę struktur tworzymy i dowołujemy się do niej w ten sam sposób co do zwykłych tablic prostych zmiennych. nazwa_struktury nazwa_tablicy [liczba_elementów]; Tablice możemy tworzyć też bezpośrednio po deklaracji i definicji struktury: 10

Tablice struktur 11

Zagnieżdżenie struktur Zagnieżdżanie struktur polega na deklarowaniu pól jednej struktury jako typ strukturalny innej struktury. Struktury można zagnieżdżać wielokrotnie Wiele typów strukturalnych używać można jednocześnie jako pól jednej struktury, 12

Zagnieżdżenie struktur Do pól zagnieżdżonych struktur odwołujemy wykorzystując wielokrotnie operator "." 13

Struktury jako wartość funkcji Funkcja może zwracać zmienną typu strukturalnego. Możemy więc zapakować do niej kilka zmiennych typu prostego 14

Struktury jako wartość funkcji Technikę tę można wykorzystać do zwracania przez funkcję tablic 15

Podstawy programowania Unie 16

Unie Unia typem definiowanym przez użytkownika. Od struktur różni ją to że swoje składniki zapisuje w tym samym (współdzielonym) obszarze pamięci. Oznacza to, że w danej chwili, unia może przechowywać wartość wyłącznie jednej ze swoich zmiennych składowych 17

Unie Jeżeli unia zawiera np. obiekt typu int i double, gdy aktualnie korzystamy z double (8B) to po odczytaniu wartości int(4b) bez uprzedniego zapisu do niej pokażą nam się zwykłe śmieci. - jednocześnie używamy tylko jednego obiektu. short int Int double 18

Unie 19

Unie 20

Unie Unie mogą być składowymi innych obiektów takich jak struktur czy klas 21

Podstawy programowania Pola bitowe 22

Pola bitowe Oprócz zwykłych pól w strukturach możemy zastosować pola bitowe. Pole bitowe to wydzielenie pewnej stałej liczby bitów na daną zmienną. Np.: zmienna typu char zajmuje w pamięci 1 bajt = 8 bitów. Możemy ją okroić lub rozszerzyć o porcję bitów dostosowaną do potrzeb programu. Pamięć jaką będzie zajmować takie pole będzie zawsze krotnością bajtów danego typu zmiennej. Np. jeśli stworzymy pole typu int na 4 bity, to i tak zostanie przydzielona pamięć na cały typ int czyli 4 bajty = 32 bity, a używać będziemy mogli tylko tych czterech bitów. Więc gdzie tu oszczędność? Gdy stworzymy na przykład pięć pól bitowych typu int, i każde będzie zajmowało 6 bitów, to w pamięci zostanie zarezerwowany obszar na jeden int, czyli 32 bity, ponieważ 5*6 = 30 32. 23

Pola bitowe Pola te tworzymy zgodnie z zasadą: typ nazwa : [ilość bitów]; 24

Pola bitowe 25

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 26 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD