Metodyka programowania. Podstawy C#

Wielkość: px
Rozpocząć pokaz od strony:

Download "Metodyka programowania. Podstawy C#"

Transkrypt

1 Metodyka programowania Podstawy C#

2 Platforma.NET Platforma.NET (.NET Framework) Platforma programistyczna Microsoft, Obejmuje - środowisko uruchomieniowe CLR (Common Language Runtime) - biblioteki klas Programy mogą być pisane w jednym z wielu języków (C++, C#, F#, J#, Delphi, Visual Basic) Umożliwia uruchamianie programów na serwerze IIS (Internet Information Services) oraz na systemach z implementacją.net Zgłoszony standard EMCA, powstają niezależne wdrożenia, np. Mono (UNIX, Linux, Android, )

3 Platforma.NET Struktura.NET Biblioteki Windows.Forms WebServices ADO.NET ASP.NET XML, SQL BCL (Base Class Library) Środowisko uruchomieniowe CLR (Common Language Runtime)

4 Platforma.NET Środowisko uruchomieniowe CLI C# J# C++ Kod IL Biblioteki.NET Obsługa wykonywania Kompilator JIT (Just in Time) Bezpieczeństwo Zarządzanie pamięcią Kod maszynowy Procesor

5 Platforma.NET Wersje.NET 1.0 (2002 r.) 2.0 (2005 r.), Windows Server (2006 r.), Windows Server 2008, Windows Vista 3.5 (2007 r.), Windows (2010 r.) 4.5 (2012 r.), Windows Server 8, Windows 8

6 C# Najważniejsze cechy C# Obiektowość kod programu jest zbiorem klas; typy proste (int, double, itd.) również są strukturami Odśmiecanie pamięci zarządzaniem pamięcią zajmuje się środowisko uruchomieniowe Wiele nowoczesnych rozwiązań właściwości, indeksery, delegacje, zdarzenia, refleksje, (wiele zapożyczonych z języka Java) Bogate biblioteki klas dla aplikacji konsolowych (System), okienkowych (Windows.Forms), bazodanowych (ADO.NET), sieciowych (System.Net), w architekturze rozproszonej (WebServices), dynamicznych aplikacji internetowych (ASP.NET) oraz multimediów (Silverlight).

7 C# Wspólny system typów CTS Obiekt Klasa Typy proste Interfejs Typy wyliczeniowe Tablica Struktury Typy referencyjne Typy wartościowe

8 C# Typy wartościowe Deklaracja deklarowany (tworzony) jest obiekt Int32 x; x = 7; Przypisanie obiekt jest kopiowany Int32 a, b; a = 13; b = a; (są dwa obiekty Int32, oba zawierają wartość 13)

9 C# Typy referencyjne Deklaracja deklarowana (tworzona) jest referencja, obiekt nie istnieje dopóki nie zostanie utworzony operatorem new Button b1; b1 = new Button(); Przypisanie kopiowany jest nie obiekt, tylko referencja do niego Button b2; b2 = b1; (jest jeden obiekt Button, obie referencje wskazują na niego)

10 Typy proste C# Typy proste: Boolean (alias: bool) wartości logiczne true i false Int32 (alias: int) wartości całkowite ze znakiem: SByte, Int16, Int32, Int64 bez znaku: Byte, UInt16, UInt32, UInt64 Double (alias: double) Single (alias: single, float) Char (alias: char) znak Unicode, 16-bitowy String (alias: string)

11 Typy proste C# Typy proste są strukturami; dostarczają wiele użytecznych metod: ToString konwersja na łańcuch zanków Parse konwersja z łańcucha znaków TryParse jak Parse, ale z obsługą błędów Int32 a; a = Int32.Parse("32"); Double x, y; x = Double.Parse("4,1"); y = 1.25; Boolean ok; ok = Int32.TryParse("abc", a);

12 Typy proste C# Metody typów prostych - Int32 Statyczne (klasy) Int32 MinValue Int32 MaxValue Int32 Parse (String s) Boolean TryParse (String s, Int32 v) Instancji Int32 CompareTo (Int32 v) Boolean Equals (Int32 v) String ToString () String ToString (String format)

13 Typy proste C# Metody typów prostych - Double Statyczne (klasy) Double MinValue Double MaxValue Double NaN Double Epsilon Double NegativeInfinity Double PositiveInfinity Double Parse (String s) Boolean TryParse (String s, Double v) Instancji Int32 CompareTo Double v) Boolean Equals Double v) Boolean IsNaN () Boolean IsInfinity () String ToString () String ToString (String format)

14 Typy proste C# Konwersje typów prostych Konwersja automatyczna jest możliwa, gdy nie ma ryzyka utraty wartości lub pogorszenia precyzji: Int32 a; Int16 b = 77; a = b; w przeciwnym razie jest błędem składniowym: b = a; // błąd: Int16 <- Int32 Single y; y = 1.25; // błąd: Single <- Double Można stosować konwersje wymuszone: b = (Int16) a;

15 Identyfikatory Nazwy, które programista nadaje zmiennym, funkcjom, klasom, itd.: - litery a..z, A..Z, cyfry 0..9 oraz znak podkreślenia "_" można używać znaków diakrytycznych (ą, ę, ) - nie może zaczynać się od cyfry - małe i wielkie litery są rozróżniane wsp1, wsp_1, suma_liczb, SumaLiczb, sumaliczb nazwa, Nazwa, NAZWA Najbardziej popularna jest notacja Camel (wielbłądzia): tojestprzykładnotacjicamel

16 Literały Napis reprezentujący wartość, która może być zapisana w zmiennej lub użyta w wyrażeniu. Każda stała ma ściśle określony typ (tj. najprostszy typ, w jakim stałą można by zapisać): 100 typ całkowity, int 17.5 typ rzeczywisty, double 1.75e01 jw. "hello" łańcuch znaków, string 'A' typ znakowy, char

17 Operatory hierarchia i wiązanie przyrostkowe lewe przedrostkowe prawe jednoargumentowe + - prawe dwuargumentowe * / % lewe + - lewe przesunięcia << >> lewe relacji < <= >= > lewe równości ==!= lewe logiczne && lewe lewe warunkowy?: prawe przypisania = += -= *= /= prawe

18 Operatory Hierarchia operatorów Określona dla danego języka programowania kolejność operatorów, uwzględniana przy obliczaniu wyrażeń. Np. w wyrażeniu y = a + b * c; najpierw wykonywane jest mnożenie, później dodawanie i dopiero na końcu przypisanie (ponieważ operator mnożenia stoi w hierarchii wyżej, niż operator dodawania, a ten wyżej, niż operator przypisania). Aby zmienić kolejność wykonywania operatorów, należy stosować nawiasy, np.: y = (a + b) * c;

19 Operatory Wiązanie operatorów Określona dla danego języka programowania kolejność wykonywania operatorów o tej samej hierarchii. Większość operatorów ma wiązanie lewe (tzn. wykonywane są od lewej do prawej). Nieliczne, w tym operatory przypisania, maja wiązanie prawe. Np. w wyrażeniu y = a / b * c; najpierw jest wykonywane dzielenie, a dopiero potem mnożenie czyli y jest obliczane jako (a/b)*c; Aby zmienić kolejność wykonywania operatorów, należy stosować nawiasy, np.: y = a / (b * c);

20 Instrukcje Instrukcja pusta ; Stosowana wówczas, gdy składnia wymaga podania instrukcji, ale nic nie ma być wykonane Na ogół użycie instrukcji pustej jest błędem "błąd nadgorliwości": if (x==0); y = 1; instrukcja y=1; jest wykonywana zawsze, niezależnie od warunku, ponieważ z warunkiem związana jest instrukcja pusta (średnik po nawiasie)

21 Instrukcje Instrukcje: Pusta Grupująca (blok instrukcji) Warunkowa if, if-else Iteracyjne for, while, do-while, foreach

22 Instrukcje Instrukcja grupująca (blok instrukcji) { } // dowolna ilość instrukcji Stosowana wówczas, gdy składnia pozwala na podanie jednej instrukcji, a potrzeba użyć więcej.

23 Instrukcje Instrukcja wyrażeniowa wyrażenie ; Dowolne wyrażenie (tj. poprawna składniowo kombinacja nazw zmiennych, operatorów oraz stałych), zakończone średnikiem.

24 Instrukcje Instrukcja warunkowa if (warunek) instrukcja "warunek" dowolne wyrażenie o rezultacie całkowitym, "instrukcja" dowolna instrukcja (w tym wyrażeniowa, grupująca, warunkowa,...) Działanie: jeżeli wyrażenie "warunek" daje rezultat true, "instrukcja" jest wykonywana, w przeciwnym przypadku - pomijana

25 Instrukcje Instrukcja warunkowa if (warunek) instrukcja1 else instrukcja2 Jeżeli wyrażenie "warunek" daje rezultat true, wykonywana jest "instrukcja1", w przeciwnym przypadku - "instrukcja2"

26 Instrukcje Instrukcje iteracyjne for (inicjalizacja; warunek; inkrementacja) instrukcja Wykonywane jest wyrażenie "inicjalizacja" oraz sprawdzany "warunek"; Jeżeli "warunek" daje rezultat true, to wykonywana jest "instrukcja", a następnie "inkrementacja", po czym czynności są powtarzane, począwszy od "warunku"; Jeżeli "warunek" daje wartość false, wykonywanie instrukcji for zostaje zakończone;

27 Instrukcje Instrukcje iteracyjne while (warunek) instrukcja Działanie: wykonywany jest "warunek"jeżeli "warunek" daje rezultat niezerowy, wykonywana jest "instrukcja"; jeżeli "warunek" daje wartość zero, wykonywanie instrukcji while zostaje zakończone; następnie czynności są powtarzane, począwszy od "warunku".

28 Obsługa wyjątków Wyjątek programowy Wyjątek (exception) - mechanizm obsługi sytuacji wyjątkowych, przede wszystkim błędów Wyjątek jest rzucany (throw), aby zgłosić sytuację wyjątkową Wyjatek jest przechwytywany (catch), aby obsłużyć tę sytuację; Jeżeli wyjątek nie zostanie przechwycony, aplikacja zostaje awaryjnie zatrzymana, o czym informuje komunikat:

29 Obsługa wyjątków Przykład wyjątku programowego Przykład: program wczytuje ciąg znaków podany przez użytkownika po czym próbuje przekształcić go na liczbę przy pomocy Parse; metoda Parse nie może przekształcić łańcucha znaków (np. s="1#3") na wartość typu całkowitego i dlatego rzuca wyjątek Int32 n = 0; String s; s = Console.ReadLine(); // tu może pojawić się wyjątek: n = Int32.Parse(s);

30 Obsługa wyjątków Typy wyjątków programowych Rzuceniu wyjątku towarzyszy utworzenie obiektu wyjątku. Typ wyjątku wynika z rodzaju błędu, natomiast obiekt wyjątku może zawierać dodatkowe, szczegółowe informacje o błędzie Np. metoda Parse może rzucać trzy typy wyjątków: ArgumentNullExceptions FormatException OverflowException

31 Obsługa wyjątków Obsługa wyjątków Do obsługi wyjątków służy instrukcja try-catch W bloku "try" należy umieścić instrukcje potencjalnie "niebezpieczne" (mogące zakończyć się błędem) oraz instrukcje od nich zależne W bloku (blokach) "catch" należy umieścić instrukcje obsługi błędu (błędów) Można napisać kilka bloków "catch" oddzielnie dla każdego typu wyjątku, albo jeden wspólny Jeżeli jedna z instrukcji bloku "try" rzuci wyjątek, to wykonywanie tego bloku zostaje przerwane, po czym są wykonywane instrukcje bloku "catch"; Jeżeli w bloku "try" wyjątek nie wystąpi, to blok "catch" nie jest wykonywany

32 Obsługa wyjątków Obsługa wyjątków Najprostszy wariant jeden blok "catch" dla wszystkich typów wyjątków: try { // instrukcje mogące rzucić wyjątek // instrukcje zależne od w/w } catch { // obsługa wszelkich możliwych wyjątków }

33 Obsługa wyjątków Obsługa wyjątków Trudniejszy wariant bloki "catch" dla różnych wyjątków: try { // instrukcje mogące rzucić wyjątek // instrukcje zależne od w/w } catch (FormatException e) { // obsługa wyjątku } catch (OverflowException e) { // obsługa wyjątku }

34 Typy wyliczeniowe C# Typy wyliczeniowe Służą do definiowania zbioru dopuszczalnych wartości enum Color { Red, Green, Blue } Color color = Color.Red; Dzięki ścisłej kontroli typów w C# gwarantują używanie zawsze poprawnych wartości

35 Tablice C# Tablice są typami referencyjnymi Po deklaracji musi następować utworzenie tablicy: Int32[] ti; ti = new Int32[3]; Utworzeniu może towarzyszyć nadanie wartości: Double[] td; td = new Double[3] { 1.0, 2.0, 3.5 }; Dostęp do elementów tablicy umożliwia indeksowanie Indeksy elementów: od 0 do rozmiar-1 for (i=0; i<3; i++) s += td[i];

36 Klasy C# Klasa definicja typu (definicja obiektu) Obiekt instancja klasy; zmienna, której definicją jest klasa Pole element składowe klasy (obiektu), służący do przechowywania danych może być typu wartościowego lub referencyjnego

37 Klasy C# Metoda funkcja będąca elementem składowym klasy mogą być przeciążone istnieją funkcje o specjalnym przeznaczeniu: konstruktor (można przeciążać) i destruktor Właściwość połączenie pola i dwóch metod (służących do odczytu i zmiany wartości pola)

38 Klasy C# Pola (inaczej: atrybuty) klasy Składnia: [Modyfikator] typ nazwa; [Modyfikator] typ nazwa = wartość; - Pola statyczne należą do klasy (a nie do instancji); pola prywatne są dostępne tylko dla metod danej klasy, natomiast nie są dostępne spoza tej klasy; - Pola typu referencyjnego należy pamiętać o konieczności utworzenia obiektów operatorem new Przykłady static Double InchCmRatio = 2.54; private Int32 x = 0;

39 Klasy C# Metody (inaczej: operacje) klasy Składnia: [Modyfikator] typ nazwa (argumenty) { // ciało metody } - Typ rezultatu dowolny typ C# lub void (ang. brak); Metoda powinna dostarczać rezultat przy pomocy instrukcji return (nie dotyczy funkcji z typem rezultatu void) - Na ogół metody wykonują operacje w obrębie własnej klasy (np. zmieniają wartość pól obiektu) Przykłady public Double ToCm() { return inches * InchCmRatio; }

40 Klasy C# Modyfikatory dostępu klasy i elementów składowych public - element dostępny bez ograniczeń, internal - dostępny tylko wewnątrz danego zestawu (ang. assembly), np. tylko dla innych klas tego samego projektu private (domyślny!) - niedostępny z zewnątrz static - element należący do klasy a nie do instancji (obiektu) - klasa, dla której nie można utworzyć obiektów const - element, którego wartość jest nadawana w deklaracji i nie może być później zmieniona

41 Klasy C# Przykład klasy elementy statyczne public static class Inches { public static Double InchCmRatio = 2.54; public static Double InchToCm(Double inch) { return inch * InchCmRatio; } }

42 Klasy C# Przykład klasy public static class Inches { } [ ] - Klasa jest publiczna (tj. dostępna bez ograniczeń); - Klasa jest statyczna (tj. nie można utworzyć obiektu klasy, podobnie jak klas Console czy Math)

43 Klasy C# Przykład klasy Przykład użycia Double lencm = Inches.InchToCm (10); Double leninch = lencm / Inches.InchCmRatio;

44 Klasy C# Przykład klasy public class Inch { private const Double InchCmRatio = 2.54; private Double val; public Inch(Double v) { val = v; } public Double ToCm() { return val * InchCmRatio; } }

45 Klasy C# Przykład klasy public class Inch { } [ ] - Klasa jest publiczna (tj. dostępna bez ograniczeń; - Nazwa klasy (Inch) funkcjonuje jak nazwa typu zmiennych, podobnie jak np. Double, jednak jest to typ referencyjny - obiekty trzeba tworzyć operatorem new

46 Klasy C# Przykład klasy Pole (prywatne) private Double val; [ ] Pole nie jest dostępne z zewnątrz (tj. spoza klasy), ale może być modyfikowane oraz odczytywane przez medody należące do klasy; Pole nie jest statyczne, zatem należy do obiektów (instancji), a nie do klasy jako całości Wartość pól powinna być podana przy ich deklaracji lub nadawana przez konstruktor klasy

47 Klasy C# Przykład klasy Konstruktor metoda używana do tworzenia obiektu (podczas działania operatora new) public Inch(Double v) { } [ ] val = v; Przykład użycia Każda klasa definiuje typ referencyjny użycie new jest konieczne, inaczej istnieje tylko referencja, a nie obiekt! Inch inch; inch = new Inch(3);

48 Klasy C# Przykład klasy Metoda (publiczna) public Double ToCm() { } [ ] return inches * InchCmRatio; Przykład użycia Double lencm; Inch inch new Inch(3); lencm = inch.tocm();

49 Klasy C# Przykład klasy public class Inch { private const Double InchCmRatio = 2.54; private Double val; public Inch(Double v) { val = v; } public Double Cm { get { return ToCm(); } set { val = value / InchCmRatio; } } }

50 Klasy C# Przykład klasy Właściwość (publiczna) public Double Cm { get { return val * InchCmRatio } set { val = value / InchCmRatio; } } Przykład użycia (właściwości używa się jak pola, choć kryją się za nim operacje, zdefiniowane w sekcjach get oraz set definicji) Inch inch = new Inch(3); Double lencm; lencm = inch.cm; inch.cm = 15;

51 Aplikacje konsolowe C# Aplikacje konsolowe Środowisko MSVS umożliwia tworzenie aplikacji konsolowych - uruchamianych w klasycznym, czarnym oknie konsoli Kreator MSVS tworzy projekt zawierający: - włączenie typowych bibliotek - przestrzeń nazw (można w niej umieszczać własne klasy) - klasę Program - statyczną metodę Main

52 Aplikacje konsolowe C# Funkcja główna programu Każdy program musi zawierać funkcję główną (jak w C++); wykonanie programu polega na wykonaniu funkcji głównej.

53 Aplikacje konsolowe C# Przydatne klasy C# Math - klasa definiująca statyczne metody matematyczne, jak pierwiastek, potęga, logarytm, sinus itd. itp Double Sqrt (Double x); Double Pow (Double b, Double e); - oraz dwie stałe: liczby Π oraz e public const Double PI = ; public const Double e = ;

54 Aplikacje konsolowe C# Przydatne klasy C# Console - klasa definiująca szereg statycznych metod do obsługi konsoli (odpowiednik strumieni cin oraz cout w C++) - najważniejsze metody: void WriteLine (String line); String ReadLine (); ConsoleKeyInfo ReadKey (Boolean noecho);

55 Aplikacje konsolowe C# Metody klasy Console WriteLine wyświetla tekst i przechodzi do nowej linii - wyświetlenie łańcucha znaków Console.WriteLine ("Hello"); - wyświetlenie wartości zmiennej Console.WriteLine (x.tostring()); - wyświetlenie kilku informacji Console.WriteLine ("Wynik = " + x); Console.WriteLine ( String.Format("Suma {0} i {1} = {2}",a,b,s) );

56 Aplikacje konsolowe C# Metody klasy Console ReadLine wczytuje tekst wpisany z klawiatury (do naciśnięcia <Enter>) - wczytanie łańcucha znaków i konwersja na liczbę String ln; Double x; ln = Console.ReadLine (); x = Double.Parse(ln); - jw., ale z wykrywaniem błędów Boolean ok; ok = Double.TryParse(ln, out x);

57 Aplikacje konsolowe C# Przykład aplikacji konsolowej C#

Metodyka programowania. Podstawy C#

Metodyka programowania. Podstawy C# Metodyka programowania Podstawy C# Platforma.NET Platforma.NET (.NET Framework) Platforma programistyczna Microsoft, Obejmuje - środowisko uruchomieniowe CLR (Common Language Runtime) - biblioteki klas

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

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

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Metodyka programowania

Metodyka programowania Metodyka programowania Przykładowe pytania Platforma.NET 1. Co to jest.net? 2. Z jakich głównych elementów (dwóch!) składa się platforma.net? 3. Wymień najważniejsze biblioteki.net i ich przeznaczenie.

Bardziej szczegółowo

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE WSKAŹNIKI KLASOWE Wskaźniki klasowe Każdy obiekt zajmuje fragment pamięci i wszystkie obiekty tego samego typu zajmują fragmenty pamięci tej samej długości początek miejsca w pamięci zajmowanego przez

Bardziej szczegółowo

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki Język C# pętle, sterowanie, wyjątki Język C# pętle Pętle: while ( ) do { while ( ); for ( ; ; ) foreach ( in

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 17 1. Typy i zmienne Jak wiemy, komputer

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = Ala ma ; 1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja

Bardziej szczegółowo

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

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

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu. Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Klasy cd. Struktury Interfejsy Wyjątki

Klasy cd. Struktury Interfejsy Wyjątki Klasy cd. Struktury Interfejsy Wyjątki Struktury Struktura pozwala na zdefiniowanie typu danych, który nie charakteryzuje się zbyt złożoną funkcjonalnością (np. punkt, kolor, etc). Do definiowania struktury

Bardziej szczegółowo

Podstawowe części projektu w Javie

Podstawowe części projektu w Javie Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych

Bardziej szczegółowo

Materiały do zajęć VII

Materiały do zajęć VII Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Java Podstawy. Michał Bereta

Java Podstawy. Michał Bereta Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

Język C++ wykład VIII

Język C++ wykład VIII Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna

Bardziej szczegółowo

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

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? 1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie

Bardziej szczegółowo

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

Wykład 3 Składnia języka C# (cz. 2) Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest

Bardziej szczegółowo

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019 Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

Platformy Programistyczne Podstawy języka Java Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

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

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji

Bardziej szczegółowo

Programowanie w środowiskach graficznych. Wykład 3 Język C#

Programowanie w środowiskach graficznych. Wykład 3 Język C# Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,

Bardziej szczegółowo

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

Bardziej szczegółowo

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Programowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21

Programowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Przydzielanie pamięci Poniżej przedstawiono w C++ dwie klasy obrazujące sposób rezerwacji pamięci. class Osoba char imie[30];

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

Bardziej szczegółowo

Wyjątki (exceptions)

Wyjątki (exceptions) Instrukcja laboratoryjna nr 6 Programowanie w języku C 2 (C++ poziom zaawansowany) Wyjątki (exceptions) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp Wyjątki (ang.

Bardziej szczegółowo

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

Programowanie obiektowe. Materiały przygotował: mgr inż. Wojciech Frohmberg

Programowanie obiektowe. Materiały przygotował: mgr inż. Wojciech Frohmberg Programowanie obiektowe Materiały przygotował: mgr inż. Wojciech Frohmberg Konstruktor Konstruktor w językach zorientowanych obiektowo pełni podwójną rolę: przydziela pamięć na obiekt, zdefiniowany klasą

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.2.

Języki programowania wysokiego poziomu. PHP cz.2. Języki programowania wysokiego poziomu PHP cz.2. Instrukcje strukturalne PHP Instrukcje strukturalne Instrukcja grupująca (blok instrukcji) Instrukcja warunkowa, if-else Instrukcja wyboru, switch-case

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

Szablony klas, zastosowanie szablonów w programach

Szablony klas, zastosowanie szablonów w programach Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do

Bardziej szczegółowo

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Delphi Laboratorium 3

Delphi Laboratorium 3 Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof

Bardziej szczegółowo

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................

Bardziej szczegółowo

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów

Bardziej szczegółowo

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop. 2016 Spis treści Spis rysunków 11 Spis tabel 13 Przedmowa 15 Wprowadzenie 17 Podziękowania 27 O autorach 29 1 Wprowadzenie

Bardziej szczegółowo

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

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1 Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1 PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

Programowanie Obiektowe Ćwiczenie 4

Programowanie Obiektowe Ćwiczenie 4 Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)

Bardziej szczegółowo

Podstawy programowania. Podstawy C#

Podstawy programowania. Podstawy C# Podstawy programowania Podstawy C# Słowa kluczowe Słowa kluczowe we wszystkich językach programowania wysokiego poziomu zbiór słów zastrzeżonych, których nie można "przedefiniować", m.in.: abstract, as,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka

Bardziej szczegółowo

Wykład 5 Okna MDI i SDI, dziedziczenie

Wykład 5 Okna MDI i SDI, dziedziczenie Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1 Program wykładu Typy danych Wyrażenia Operatory 2 VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem

Bardziej szczegółowo

Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196

Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196 Wyjątki 180 / 196 Wyjątki W Javie istnieje mechanizm tzw. wyjątków (ang. exception), który pozwala na przechwytywanie błędów pojawiających się w programie. Kompilacja tab [ 1 0 ] = 100; spowoduje powstanie

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis MATERIAŁY DO ZAJĘĆ I Podstawowe pojęcia Spis treści I. Algorytm II. Schemat blokowy III. Struktury danych IV. Program komputerowy V. Opis środowiska programistycznego VI. Obsługa wejścia wyjścia VII. Przykład

Bardziej szczegółowo

EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi

EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi 1. Napisz wskaźnik do funkcji fun tak zdeklarowanej: T* fun( int, double const& ) const; definicja wskaźnika musi być precyzyjna, inaczej

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

Bardziej szczegółowo

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty

Bardziej szczegółowo

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

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

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo