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

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

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

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

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

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

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

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

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

Struktury Struktura polami struct struct struct struct

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

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

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

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

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

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

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

Struktury - wprowadzenie

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

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

Podstawy programowania skrót z wykładów:

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablicę 2-wymiarową można przedstawić jako pewien zestaw tablic 1-wymiarowych np.:

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

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

Materiał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji

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

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

Deklaracja struktury w C++

Lab 9 Podstawy Programowania

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

ZASADY PROGRAMOWANIA KOMPUTERÓW

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

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

PRZEWODNIK PO PRZEDMIOCIE

Wykład 8: klasy cz. 4

Podstawy programowania w języku C++

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

Podstawy programowania w języku C++

C-struktury wykład. Dorota Pylak

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

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

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

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

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

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Konstruktor destruktor Programowanie obiektowe

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

Podstawy programowania w języku C++

Podstawy programowania w języku C++

C-struktury wykład. Dorota Pylak

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

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

Wykład 1: Wskaźniki i zmienne dynamiczne

Klasa, metody, rozwijanie w linii

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Struktury czyli rekordy w C/C++

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Klasa, metody, rozwijanie w linii

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Wykład 5: Klasy cz. 3

Rozdział 4 KLASY, OBIEKTY, METODY

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

1 Wskaźniki i listy jednokierunkowe

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

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

Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

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

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

TEMAT : KLASY DZIEDZICZENIE

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

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

PARADYGMATY PROGRAMOWANIA Wykład 4

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

Pola i metody statyczne. Klasy zawierające pola i metody statyczne

Programowanie komputerowe. Zajęcia 7

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

Podstawy Programowania

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

6 Przygotował: mgr inż. Maciej Lasota

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

Programowanie obiektowe w C++ Wykład 02 Temat wiodący: Koncepcja klasy. Obiekty.

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

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

Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.

Dziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.

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

Transkrypt:

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B

Plan prezentacji Podział kodu programu Struktury definiowanie struktur dostęp do składowych struktur wskaźniki przykłady typedef Struktury cykliczne lista drzewo Na podstawie: G. Perry, D. Miller, Język C Programowanie dla początkujących

Pliki nagłówkowe W złożonych programach istnieje konieczność rozdzielenia kodu źródłowego na kilka plików

Pliki nagłówkowe deklaracje funkcji funkcja główna kod źródłowy funkcji

Pliki nagłówkowe main.c

Pliki nagłówkowe sort.h

Pliki nagłówkowe sort.c

Struktury Tablice pozwalają przechowywać wiele wartości, ale wszystkie muszą być tego samego typu Jeżeli chcemy przechowywać dane różnych typów dotyczące jednego obiektu możemy wykorzystać strukturę

Struktury Przykład dane dotyczące studenta: imię (tablica znaków), nazwisko (tablica znaków), numer indeksu (liczba całkowita), rok studiów (liczba całkowita), średnia ocen (liczba rzeczywista),

Struktury Definicja W celu korzystania ze struktury należy zdefiniować jej składowe struct [etykieta struktury]{ }; definicja składowej; definicja składowej;... definicja składowej;

Struktury Definicja Przykładowa definicja struktury reprezentującej punkt na płaszczyźnie 2D struct point{ double x; double y; };

Struktury Definicja Definicja struktury określa układ składowych w strukturze Zdefiniowanie struktury nie jest równoznaczne z utworzeniem zmiennej Zmienne typu strukturalnego są deklarowane analogicznie jak zmienne typów podstawowych struct point a, b;

Struktury Dostęp do składowych Dostęp do składowych struktury uzyskuje się przy pomocy operatora. (kropka) nazwazmiennejstrukturalnej.nazwaskładowej Zmienne typu strukturalnego są deklarowane analogicznie jak zmienne typów podstawowych struct point a, b;

Struktury Przykład

Struktury Przykład

Struktury Przykład

Struktury Wskaźniki Ze względu na to, że struktury mogą mieć duży rozmiar, korzystne może być posługiwanie się wskaźnikami na struktury Korzystne może być przekazywanie struktur do funkcji przez adres Dostęp do struktur wskazywanych przez wskaźnik uzyskuje się operatorem -> wskaźniknastrukturę->nazwaskładowej (*wskaźniknastrukturę).nazwaskładowej

Struktury Przykład

Struktury Przykład

Struktury Przykład

Struktury Strukturę można inicjalizować, umieszczając po definicji listę wartości początkowych struct point a = {3.20, 2.00};

Struktury Można definiować struktury zawierające inne struktury Przykładowo informacje o trójkącie można przechowywać w strukturze zdefiniowanej następująco struct triangle { }; struct point 0; struct point 1; struct point 2;

Struktury Trzy pola można zastąpić tablicą struktur struct triangle { }; struct point ertices[3];

Struktury Podobnie można zdefiniować strukturę opisującą wielokąt struct polygon { int n; struct point * ertices; };

typedef Język C dysponuje mechanizmem, który umożliwia tworzenie nowych nazw typów danych typedef okreslenie_typu nowa_nazwa; typedef int Length; Length len, maxlen; Length *lengths[];

typedef

Struktury cykliczne Polem struktury może być wskaźnik na taką strukturę tego typu struktury nazywamy strukturami cyklicznymi Polem struktury nie może być sama struktura

Struktury cykliczne Przykład ptr1 ptr2 ptr3 NULL

Lista List next next next NULL

Lista Dodaj element (na początku) List next next next next NULL

Lista Dodaj element (wewnątrz) List next next next next NULL

Lista Wypisz (iteracyjnie) n List next next next NULL

Lista Usuń pierwszy element List next next next n NULL

Drzewo Tree left left right left right right left left left right right right

Podsumowanie Rozdzielanie programu na kilka plików źródłowych Struktury danych definiuj struktury, gdy chcesz zgrupować dane zdefiniuj strukturę, zanim zadeklarujesz zmienną jej typu dostęp do składowych uzyskuje się przy użyciu operatora. (kropka) operator -> służy do odwoływania się do składowej struktury wskazywanej zmienną wskaźnikową przykładowe złożone struktury danych: lista, drzewo