BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Aktualności


Dekrementacja operatorów

16-12-2013 21:19 Konrad Tomczyk
Dekrementacja operatorów

W tej lekcji zajmiemy się trzema pojęciami: inkrementacja, dekrementacja oraz poleceniem continue. Zacznę od pojęcia inkrementacja.

A więc operator inkrementacji (++) powoduje zwiększenie wartości operandu o 1. Operator inkrementacji może być umieszczony przed lub za operandem.

Ogólna deklaracja operatora inkrementacji wygląda następująco:

zmienna++ ;

LUB

++zmienna;

Gdzie zmienna jest wyrażeniem oznaczającym zmienną, własność lub indeksem.

Formą przedrostkową (++zmienna) i przyrostkową(zmienna++) zajmiemy się za chwilę. Tym czasem prześledź poniższy przykład, jak działa polecenie inkrementacji.
Początek kodu:
class Pokaz

{

public static void Main()

{

for (int i = 0 ; i < 10 ; i++)

{

Console.WriteLine(„PĘTLA”);

}

}

}
Koniec kodu:

Jak widzisz w polu interacji jest zastosowany operator inkrementacji czyli zwiększania operandu o 1. Po każdym przejściu pętli zmienna „i” jest zwiększana o 1.

Prześledź teraz poniższy program, aby zobaczyć działanie formy przedrostkowej i przyrostkowej operatora inkrementacji.

Początek kodu:
class Pokaz

{

public static void Main()

{

int y,x ;

x = 100 ;

 

y = x ;

 

Console.WriteLine(„X wynosi : ” + x + ” ,a Y wynosi : ” + y);

 

y = x++ ;

 

Console.WriteLine(„Y wynosi : ” + y);

 

x = 100 ;

 

y = ++x ;

 

Console.WriteLine(„Y wynosi : ” + y);

}

}

Koniec kodu:

Na pewno pojawia się z twojej strony pytanie dlaczego gdy przypisujemy do „y” wartość zmiennej „x” poddanej inkrementacji otrzymujemy „y” równe 100, a „x” równe 101 ? Otóż do zmiennej „y” jest przypisana wartość „x” w sposób przyrostkowy czyli „x++”, działa to tak że na samym początku do zmiennej „y” jest przypisywana wartość „x” czyli 100 poczym dopiero potem jest wykonywany operator ++, czyli zwiększający o 1. Dalej w programie masz napisane zastosowanie formy przedrostkowej, czyli „++x”, gdzie najpierw jest wykonywana inkrementacja zmiennej „x” poczym wartość „x” w tym wypadku już 101, jest dopiero wtedy przypisywana do „y”.

Oczywiście poprawne było używanie w poprzednich przykładach zwiększania zmiennej w taki sposób : i = i + 1  jednak jest to mało eleganckie i mało wydajne, dlatego do zwiększania zmiennej używaj inkrementacji

Teraz zajmiemy się pojęciem dekrementacji, jest to nic innego jak odwrotność inkrementacji, czyli zmniejszanie wartości operandu o 1. Uzyskujemy to za pomocą operatora (–). Wszystko jest tak samo jak w operatorze inkrementacji, włącznie z formą przedrostkową i przyrostkową. Działanie dekrementacji zobacz na poniższym przykładzie:
Początek kodu:

class Pokaz

{

public static void Main()

{

for (int i = 10 ; i > 0 ; i–)

{

Console.WriteLine(„PĘTLA”);

}

}

}
Koniec kodu:

Wszystko w tym przykładzie powinno być zrozumiane.

Przechodzimy do instrukcji continue. Instrukcja continue jest wykorzystywana do przekazywania sterowania do następnej iteracji, występującej w danej instrukcji iteracyjnej (pętli). Deklaracja instrukcji continua wygląda następująco:

continue;

Aby przybliżyć sobie działanie tej instrukcji prześledź następujący przykład:


Początek kodu:

using System ;

class Pokaz

{

public static void Main()

{

for(int i = 0; i <= 20 ; i++)

{

if (i%2 == 0 )

continue;

Console.WriteLine(i);

 

}

}

}

Koniec kodu:

W powyższym przykładnie, w instrukcji if, jeżeli reszta dzielenia przez 2  zmiennej „i” jest równa zero to jest wykonywana instrukcja continue, która przenosi wykonywanie programu do wyrażenia iteracyjnego pętli, gdzie zmienna „i” jest inkrementowana poczym wykonywanie programu jest przenoszone do warunku pętli for, jeżeli jest on prawdą to pętla wykonuję się dalej. W ten oto sposób mamy wyświetlana same liczby nieparzyste.

Tobie pozostawiam za zadanie napisać program który wyświetla liczby parzyste, za pomocą polecenia continue. Rozwiązanie zadania znajduje się poniżej:

Początek kodu:

using System ;


class Pokaz

{

public static void Main()

{

for(int i = 0; i <= 20 ; i++)

{

if (i%2 != 0 )
continue ;

Console.WriteLine(i);

}

}

}
Koniec kodu:


 

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.