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

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

Microsoft IT Academy kurs programowania

Programowanie Komputerów

Programowanie obiektowe

Programowanie Komputerów

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

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

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

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

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

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Materiały do zajęć VII

Plan wykładu. Tworzenie programów dla platformy.net. Predefiniowane typy C# Pierwszy program. Typy wartości i typy referencyjne

Wykład 4. Klasa List Kolejki Stosy Słowniki

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

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

W powyższym kodzie utworzono wyliczenie dni tygodnia.

Podstawowe części projektu w Javie

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

MATERIAŁY DO ZAJĘĆ II

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

Klasy cd. Struktury Interfejsy Wyjątki

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Programowanie aplikacji okienkowych Windows

Dostęp do funkcji niskopoziomowych w.net Compact Framework

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Metodyka programowania. Podstawy C#

Wykład 5 Okna MDI i SDI, dziedziczenie

Programowanie obiektowe

Programowanie obiektowe

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

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

Programowanie C# mgr in. Dariusz Ku. p. 119A

Platformy Programistyczne Podstawy języka Java

Co to jest klasa? Z programistycznego punktu widzenia klasa stanowi typ danych, który odwzorowuje wspólne cechy jakiegoś obiektu.

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

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

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

Wykład 4: Klasy i Metody

Tablice, funkcje - wprowadzenie

KOTLIN. Język programowania dla Androida

Wykład 8: klasy cz. 4

Materiały do zajęć III

Java Język programowania

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

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

Czym jest stos i sterta?

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

Definiowanie własnych klas

Podstawy Programowania C++

Tworzenie aplikacji w języku Java

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

Wykład 2: Podstawy Języka

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

Kurs programowania. Wykład 9. Wojciech Macyna

Kurs programowania - kolekcje

SWIFT. Zaawansowane Programowanie Obiektowe

PARADYGMATY PROGRAMOWANIA Wykład 4

Programowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Język ludzki kod maszynowy

Programowanie obiektowe

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

Rozdział 4 KLASY, OBIEKTY, METODY

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

Języki i techniki programowania Ćwiczenia 2

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

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

Podstawy programowania. Podstawy C# Tablice

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

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

DYNAMICZNE PRZYDZIELANIE PAMIECI

Programowanie obiektowe

Programowanie 2. Język C++. Wykład 3.

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

Klasy i obiekty cz II

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

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

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

Wykład 8: Obsługa Wyjątków

Multimedia JAVA. Historia

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 otwartych języków programowania Przechowywanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

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

Na przykładzie języków Java, C# i odrobiny C++ Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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

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

PHP: bloki kodu, tablice, obiekty i formularze

Języki programowania - podstawy

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

Programowanie obiektowe

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

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

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura

Programowanie obiektowe

Transkrypt:

Język C# pętle, sterowanie, wyjątki

Język C# pętle Pętle: while ( <warunek> ) <ciało> do { <ciało> while ( <warunek> ); for ( <wyrażenie> ; <warunek> ; <wyrażenie> ) <ciało> foreach ( <zmienna1> in <zmienna2> ) <ciało>

Język C# sterowanie Instrukcje skoku: break przerywa pętle for, while oraz instrukcje switch. continue instrukcja może być używana w każdej strukturze pętli. W momencie wystąpienia automatycznie przechodzi do nowej iteracji. goto skok do etykiety. return kończy wykonywanie metody i ewentualnie zwraca wartość określonego typu. throw wygenerowanie wyjątku.

Język C# wyjątki Wyjątki: try próba realizacji określonego kodu. catch wystąpienie błędu i jego obsługa. catch(exception e) finally instrukcje finalizujące wykonanie komendy try, wykonywane np. w celu usunięcia wcześniej wykonanych deklaracji. try{ public static void getexception(){ getexception(); throw new Exception(); catch(exception e){ Console.WriteLine( Exception ); finally{ Console.WriteLine( The end );

Język C# zmienne, typy, struktury, tablice i kolekcje.

W języku C# zmienne deklarowane są jako konkretnego typu i tylko wartości tego typu mogą być w nich przechowywane. Zmienne mogą być typu: Wartościowego Referencyjnego Wskaźnikowego Zmienna typu wartościowego przechowuje konkretną wartość i żadna inna zmienna nie może bezpośrednio odwoływać się do tej wartości. Zmienna referencyjna przechowuje odwołanie do obiektu i inna zmienna referencyjna może odwoływać się do tego samego obiektu.

Zmienne wartościowe: C#.NET znak rozmiar sbyte System.Sbyte tak 1 short System.Int16 tak 2 int System.Int32 tak 4 long System.Int64 tak 8 byte System.Byte nie 1 ushort System.Uint16 nie 2 uint System.Uint32 nie 4 ulong System.Uint64 nie 8 float System.Float tak 4 double System.Double tak 8 decimal System.Decimal tak 12 char System.Char Nie dotyczy 2 bool System.Bool Nie dotyczy 1 / 2

Zmienne wartościowe: Typy wartościowe użytkownika to: Struktury struct Time { public int godziny, minuty, sekundy; Wyliczenia enum PoraRoku {Lato, Jesien, Zima, Wiosna

Zmienne referencyjne: Predefiniowane typy referencyjne to object i string. Object to klasa bazowa dla wszystkich innych klas Typy referencyjne mogą być tworzone w oparciu o słowa kluczowe: class, interface, delegate Typ referencyjny to wartość adresu pamięci, pod którym znajduje się obiekt, do którego tworzona jest referencja.

Zmienne referencyjne: object x = new object(); x = 10; object y = x; y = 2; //x i y są równe 2 string s1 = hello ; string s2 = s1; s1 = By ;

Zmienne referencyjne: Pakowanie: W C# dowolna wartość może być pakowana do zmiennej referencyjnej int i = 123; object a = i; object a = 123; int i = (int) a;

Zmienne wskaźnikowe: wskazują na wartości konkretnego typu int* i ; int k ; i = &k ; Zmienne wskaźnikowe w C# wymagają zezwolenia na występowanie kodu niebezpiecznego unsafe z poziomu konfiguracji procesu kompilacji kodu (pole wyboru Allow unsafe code w parametrach aplikacji) oraz deklaracja funkcji zawierającej kod niebezpieczny powinna być poprzedzona zwrotem unsafe np. unsafe int funkcja ()...

Struktury: [modyfikator] struct <nazwastruktury> { //ciało struktury struct prst{ public float a; public float b; prst prostokat = new prst(); prostokat.a = 10;

Struktury: Pola struktury mogą być: public (domyślne) private internal Pola nie mogą być inicjowane wewnątrz struktury. Do inicjacji pól struktury używa się konstruktorów. Wewnątrz struktury inicjowane mogą być pola statyczne.

Struktury: Struktura może zawierać metody. Metody mogą być statyczne lub niestatyczne. Metody w strukturze mogą być nadpisywane podobnie jak w klasie. struct prst{ ; static float a, b; public float A{ get { return a; set { a = value; public float B{ get { return b; set { b = value;

Struktury: Struktura może posiadać konstruktor. Konstruktor musi posiadać parametry. Konstruktory mogą być nadpisywane. struct prst{ ; static float a, b; public prst ( float x, float y) { a = x; b = x;

Struktury a klasy: Struktury są bardzo podobne do klas. Klasy są typu referencyjnego a struktury wartościowego. Struktury są efektywne dla małych zbiorów danych.

Funkcje i parametry: Parametry służą do przekazywania wartości do metod. [modyfikator] typdanych nazwaparametru Typy parametrów: value out ref params

using System; class Parametry { static void Metoda(int parametr) { parametr = 100; static void Main() { int mv=5; Metoda(mv); Console.WriteLine(mv);

using System; class Parametry { static void Metoda(out int parametr) { parametr = 100; static void Main() { int mv=5; Metoda(out mv); Console.WriteLine(mv);

using System; class Parametry { static void Suma(params int [] parametry) { int val = 0; foreach (int x in parametry) val = val + x; return x; static void Main() { Console.WriteLine(Suma(1,2,3)); Console.WriteLine(Suma(1,2,3,4,5));

Pętla foreach: foreach ( zmienna1 in zmienna2 ) komendy; int [] x = new int [] {1, 2, 3; foreach ( int k in x ) System.Console.WriteLine(k); Typ wyliczeniowy: enum Pory {Wiosna, Lato, Jesien, Zima; Pory okresy = Pory.Wiosna;

Tablice: Tablica jest klasą Array zdefiniowaną w przestrzeni System. Array jest klasą bazową dla wszelkich typów tablicowych w C#. typ [] nazwatablicy = new typ [liczbaelementów]; int i = new int[] {1,2,3; int i = {1,2,3;

int iarray = new int [3]; iarray[0]=1; iarray[1]=2; iarray[2]=3; foreach (int x in iarray){ Console.WriteLine(x.ToString());

Tablice wielowymiarowe: Wyróżnia się dwa typy wielowymiarowych tablic: prostokątne rectangular postrzępione jagged int [,] tablica = new int [2,3]; int [][] jag = new int[2][]; jag[0] = new int[3]; jag[1] = new int[2];

Właściwości klasy System.Array: IsFixedSize czy rozmiar jest ustalony IsReadOnly czy tablica jest tylko do odczytu IsSynchronized czy tablica jest bezpieczna w wątku Lenght rozmiar tablicy Rank wymiary tablicy SyncRoot czy obiekt może być użyty z dostępem synchronicznym do tablicy Metody: BinarySearch szuka wartości jednowymiarowej posortowanej tablicy Clear usuwa wszystkie elementy tablicy, rozmiar = 0 Copy GetLenght Revers Sort kopiuje jedną tablicę na drugą zwraca liczbę wartości w tablicy odwraca kolejność elementów tablicy porządkuje elementy tablicy jednowymiarowej

Kolekcje System.Collections: Przestrzeń nazw System.Collections zawiera interfejsy i klasy definiujące dowolną kolekcję obiektów: list lists, kolejek queues, tablic bitowy bit arrays, słowniki dictionaries. ArrayList BitArray Queue SortedList Stack tablica której rozmiar jest dynamicznie zmieniany kolekcja wartości bitowych kolekcja FIFO obiektów kolekcja par klucz/wartość kolekcja LIFO obiektów

using System; using System.Collections; Queue numbers=new Queue();... foreach (int number in new int[4]{9, 3, 7, 2) { numbers.enqueue(number); Console.WriteLine(number+" has joined the queue");... foreach (int number in numbers) { Console.WriteLine(number);... while(numbers.count!= 0) { int number=(int)numbers.dequeue(); Console.WriteLine(number+" has left from the queue"); Języki i metodyka programowania