Programowanie Obiektowe – Wykład 1

Slides:



Advertisements
Podobne prezentacje
Języki programowania C++
Advertisements

typy całkowite (całkowitoliczbowe)
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Sprawy organizacyjne 1. Zasady zaliczenia przedmiotu
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
Podstawy C# Grupa .NET PO.
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Wyrażenia w Turbo Pascalu.
PHP: warunki, pętle, switch, break, continue
Programowanie Windows na przykładzie C# część 1
Programowanie strukturalne i obiektowe
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
STEROWANIE Ale nie tylko
C# Platforma .NET CZ.3 Kuba Ostrowski.
Instrukcja warunkowa i wyboru
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
PWSZ Gniezno // codefly 2009 Łukasz Tomczak
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
1 Zagadnienia na egzamin. 2 Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów.
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Podstawowe konstrukcje języka Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Mikroekonomia dr hab. Maciej Jasiński, prof. WSB Wicekanclerz, pokój 134A Semestr zimowy: 15 godzin wykładu Semestr letni: 15.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
Język Java Paweł Rajba
Dziedziczenie, polimorfizm, Interfejsy
Mikroprocesory.
PHP (wstęp) Personal Home Page Tools (PHP Tools)
W kręgu matematycznych pojęć
Schematy blokowe.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
Typy i typy klas.
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
ALGORYTMY I STRUKTURY DANYCH
Akademia C# lab. 9 Zdarzenia i delegaty.
Programowanie obiektowe Wykład 10
Programowanie Obiektowe – Wykład 2
Programowanie obiektowe
Lekcja 1 – Hello World! Visual Studio, coś łatwego na początek 
Kurs języka C++ – wykład 13 ( )
Obliczenia w Matlabie Operatory, instrukcje sterujące, operacje bitowe
Visual Basic w programie Microsoft Excel
Języki programowania.
Dynamics 365 CE i język TypeScript
Instrukcje wyboru.
Dane, zmienne, instrukcje
Podstawy informatyki Zygfryd Głowacz.
Programowanie obiektowe Wykład 11
Strukturalne wzorce projektowe
Zmienne i typy danych w C#
Proste obliczenia w arkuszu kalkulacyjnym
ETO w Inżynierii Chemicznej
Implementacja rekurencji w języku Haskell
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Python 3 Wprowadzenie.
Zapis prezentacji:

Programowanie Obiektowe – Wykład 1 dr Piotr Jastrzębski Wydział Matematyki i Informatyki

Sprawy administracyjne i organizacyjne Sylabus dostępny jest w systemie USOS: https://usosweb.uwm.edu.pl Regulamin zajęć (wykładu i ćwiczeń): http://wmii.uwm.edu.pl/~piojas/ Zakładka: Dydaktyka - Programowanie Obiektowe - zaoczne

Język C# Wymowa C-sharp (dosłownie cis). Stworzony w 2000 roku przez Andersa Hejlsberga dla Microsoftu. Aktualna wersja stabilna - 6.0. Na ćwiczeniach będziemy używać środowiska Visual Studio.

Zmienne Deklaracja zmiennych typ_zmiennej nazwa_zmiennej; Typy zmiennych: logiczne: bool. całkowitoliczbowe: sbyte, byte, char, short, ushort, int, uint, long, ulong. zmiennoprzecinkowe: float, double, decimal. łańcuchowe: string.

Tablice jednowymiarowa typ[] nazwa = new typ[rozmiar]; lub typ[] nazwa = {Lista inicjalizacyjna}; dwuwymiarowa typ[,] nazwa = new typ[rozmiar]; typ[,] nazwa = {Lista inicjalizacyjna};

Operatory arytmetyczne Wykonywane działanie + Dodawanie - Odejmowanie * Mnożenie / Dzielenie % Dzielenie modulo (reszta z dzielenia) ++ Inkrementacja (zwiększanie) -- Dekrementacja (zmniejszanie)

Operatory przypisania Argument1 Operator Argument2 Znaczenie x = y x = y += x = x + y -= x = x - y *= x = x * y /= x = x / y %= x = x % y

Operatory logiczne Operator Znaczenie ! Negacja && Koniunkcja || Alternatywa

Operatory relacji Operator Opis == równa się != różne (nie równa się) < <= mniejsze, mniejsze lub równe > >= większe, większe lub równe

Instrukcje warunkowe - if if (wyrażenie logiczne) instrukcja; instrukcja1; else instrukcja2;

Instrukcje warunkowe – operator () ? (wyrażenie logiczne) ? wyrażenie1 : wyrażenie2;

Instrukcje warunkowe – swith … case switch (x) { case 1: instrukcja1; break; case 2: instrukcja2; default: instrukcja3; }

Instrukcje iteracyjne (pętle) - for for (inicjalizacja; warunek; iteracja) { instrukcja; }

Instrukcje iteracyjne (pętle) - while while (wyrażenie warunkowe) { instrukcja; }

Instrukcje iteracyjne (pętle) - do while do { instrukcja; } while (warunek);

Instrukcje iteracyjne (pętle) - foreach foreach(typ indentyfikator in wyrażenie) { instrukcja; }

Paradygmat obiektowy - po co? Jeśli chcemy zbudować 5 identycznych domów, nie potrzeba nam 5 projektów. Jeśli chcemy wyprodukować 4 samochody, nie potrzebujemy oddzielnych projektów. Programowanie obiektowe stara się pogrupować podobne „byty” na pewnym poziomie abstrakcji.

Programowanie strukturalne a obiektowe Programowanie strukturalne dzieli kod na części, moduły, wykorzystuje sekwencje, iteracje, funkcje. Programowanie obiektowe wprowadza pojęcie obiektu, w którym dane i procedury są ze sobą ściśle powiązane.

Przykład Chcemy napisać program wyliczający wartość rynkową domu w zależności od ilości pokoi, posiadania garażu, ogrodu, ilości pięter, powierzchni, itp…

Pierwsza klasa - Dom Na pewnym poziomie abstrakcji opisuje kawałek rzeczywistości. Zawiera dane opisujące możliwe stany. Zawiera metody opisujące możliwe zachowania. Możemy ją zastosować do wielu budynków.

Pierwszy obiekt - domBasi Konkretny byt. Ma konkretne własności.

public class Dom { public int powierzchnia; public bool garaz; public int iloscPokoi; public bool ogrod; public int iloscPieter; public int podajCene() { return powierzchnia*3000; } }

Dom domBasi = new Dom(); domBasi. powierzchnia = 200; domBasi Dom domBasi = new Dom(); domBasi.powierzchnia = 200; domBasi.garaz = true; domBasi.iloscPokoi = 7; domBasi.ogrod = false; domBasi.iloscPieter = 1; Console.WriteLine(„Dom jest warty {0},domBasi.podajCene());

Po co? Zmniejszenie luki reprezentacji. Ułatwia podział pracy i współpracę między programistami. Lepsze grupowanie, czytelność kodu.