Klikacz klawiszy

Jak szybko potrafisz naciskać guziki na klawiaturze?
Możemy to teraz sprawdzić pisząc krótki program w C#. Poniższy kod zbiera informację o czasie, który upłynął pomiędzy kolejnymi naciśnięciami na klawiaturze.

Ciąg Fibonacciego

Ciąg Fibonacciego jest ciągiem rekurencyjnym. Każdy wyraz, oprócz dwóch pierwszych jest sumą dwóch poprzednich wyrazów. Pierwszy i drugi element ciągu jest równy 1, a każdy następny otrzymujemy dodając do siebie dwa poprzednie.

Silnia

Najprostsza implementacja silni w C# polega na wykorzystaniu rekurencji, ale w tym wypadku lepszym rozwiązaniem będzie rozwiązanie iteracyjne:

FizzBuzz

Napisz program, który wyświetla liczby od 1 do 100. Dla liczb podzielnych przez 3 niech program wyświetli tekst “Fizz”, dla liczb podzielnych przez 5 niech wyświetli “Buzz”, a dla liczb podzielnych przez 15 niech wyświetli “FizzBuzz”.

Kąt między wskazówkami

Jak znaleźć kąt między wskazówkami godzinowymi i minutowymi zegara w dowolnym momencie? Użytkownik wprowadzi godzinę i minutę, a metoda powinna podać kąt między wskazówką godzinową a minutową w tym podanym czasie.

Poprawność rozmieszczonych nawiasów

Napiszemy funkcję sprawdzającą poprawność rozmieszczonych nawiasów w stringu. Będziemy sprawdzać ciąg pod kątem zrównoważonego nawiasu, czyli czy wszystkie nawiasy otwierające mają nawias zamykający i czy są one logicznie umieszczone w ciągu. Takie sprawdzanie może służyć do sprawdzania plików xml, json itp…

C# – Events

Kolejnym typem, który możemy mieć w klasie są zdarzenia. Wielokrotnie w rozwoju oprogramowania potrzebujemy interakcji aby śledzić komponenty, które wykonują jakieś interesujące rzeczy w nieprzewidywalnym czasie. Na przykład przycisk na ekranie jest elementem, który chcemy śledzić, i chcemy wiedzieć, kiedy użytkownik klika ten przycisk.

C# – Delegate

Wyobraź sobie, że chcesz zadeklarować zmienną, która odwołuje się do metody, a więc nie jest zmienną do trzymania liczby całkowitej, lub ciągu znaków lub dowolnego obiektu jakiejś klasy.

C# – Killing the system!

C# i środowisko uruchomieniowe języka (common language runtime) są ściśle ze sobą powiązane. I Jednym z przykładów tej relacji jest sposób działania czyszczenia pamięci. Wiemy, że w C# możemy zbudować nowy obiekt, kiedy tylko będziemy go potrzebować. Używając operatora new, możemy stworzyć obiekt.

Efektywne manipulowanie Stringiem.

Chcemy posłużyć się zawartością obiektu typu String, ale chcemy uniknąć jego nadmiarowości przy jego automatycznym tworzeniu z powodu niezmienności takich obiektów.

Klasyfikacja Algorytmów

Istnieje wiele różnych sposobów klasyfikacji algorytmów. Możemy je klasyfikować ze względu na:

Algorytm

Algorytm to zestaw ściśle określonych czynności, które prowadzą do wykonania określonego zadania. Algorytm określa sposób rozwiązania problemu i ma on zastosowanie w różnych dziedzinach.