Ćwiczenia #10

Tematyka: tablice i kolekcje, typ wyliczeniowy enum.

Jakie operacje/zagadnienia trzeba znać/rozważyć?
1) jak stworzyć tablicę, kolekcję… w typach prostych i referencyjnych
2) jaka przestrzeń nazw (using…) jest potrzebna?
3) co się dzieje, gdy dodajemy byty innego typu albo różnych typów?
4) jak dodaje się elementy na tablicę, kolekcję, czy trzeba po kolei, czy można dowolnie? czy muszą być niepowtarzalne?
5) jak wypisać wszystkie elementy tablicy/kolekcji na konsoli?
6) jak zwrócić ostatni i pierwszy element z tablicy/kolekcji?
7) jak zwrócić dowolny element z tablicy/kolekcji, o ile to możliwe?
8) jak posortować elementy na tablicy, kolekcji?
9) jak sprawdzić rozmiar/liczbę elementów w tablicy/kolekcji?
10) jak sprawdzić czy tablica/kolekcja zawiera daną wartość/referencję?
11) jak można odwrócić elementy w tablicy/kolekcji? w tym kontekście chodzi o odwrócenie kolejności (a nie odwrotne sortowanie)
12) jak można usuwać elementy z tablic/kolekcji? czy można pierwszy, ostatni lub jakiś ze środka?

Do nauki na kolejne ćwiczenia:

  • kolekcje: Stack<T>, Queue<T>, List<T>, ArrayList, Dictionary<TKey,TValue>.
  • tablice: jednowymiarowe, dwuwymiarowe.

Do nauki do czasu kolokwium:

  • Stack, Stack<T>, Queue, Queue<T>, ArrayList, List<T>, Dictionary<TKey,TValue>, SortedDictionary<TKey,TValue>, SortedList<TKey,TValue>, LinkedList<T>, BitArray, HashSet<T>, SortedSet<T>, Hashtable, OrderedDictionary, ListDictionary, HybridDictionary, Collection<T>, CollectionBase
  • tablice: jednowymiarowe, wielowymiarowe, poszarpane (postrzępione), tablice tablic.

Lista na ćwiczenia – gist

Trochę teorii:

  • poglądowy opis kolekcji – pdf
  • tablice jednowymiarowe – gist
  • stos generyczny – gist
  • stos niegeneryczny – gist
  • kolejka niegeneryczna – gist
  • typ wyliczeniowy enum – gist
  • interfejsy a kolekcje generyczne – link
  • interfejsy a kolekcje niegeneryczne – link
  • diagram UML interfejsów do kolekcji – link

Zaawansowane materiały:

  • algorytmy na stworzenie własnych tzw. klasycznych struktur danych – link
  • przykłady implementacji interfejsu IEnumerable – gist

Ćwiczenia #8

Tematyka: podsumowanie i utrwalenie zdobytej wiedzy i umiejętności. Napisanie jednego „dłuższego” programu.

Polecenia „z treścią”:

  • wersja 1 – gist (kasa fiskalna)
  • wersja 2 – gist (warsztat samochodowy)
  • wersja 3 – gist (bankomat)
  • wersja 4 – gist (telefon na kartę)

Polecenia z diagramem UML:

  • wersja 5- gist (biblioteka)
  • wersja 6 – gist (telefon)

Polecenia rozpisane „ręcznie”:

Prześlij kod na Githuba i link do repozytorium
wyślij na piojas@matman.uwm.edu.pl
(w treści podaj imię i nazwisko lub nr albumu).

Ćwiczenia #7

Tematyka: klasy finalne (sealed), operacje na plikach tekstowych, zarządzanie datą i czasem (DateTime), klasy częściowe, związki między klasami, diagramy UML, „drabinki” polimorfizmu, zabawy z interfejsami, separacja i składanie stringów, zabawy na stringach, operacje wejścia/wyjścia a obiekty.

Lista na ćwiczenia – gist

Trochę teorii:

  • modyfikator sealed – gist
  • DateTime – msdn, link
  • metody i klasy częściowe – gist
  • związki między klasami na diagramie UML – link