Programowanie w .NET
laboratorium
Informatyka
Prowadzący dr hab. inż. Krzysztof
Zatwarnicki, prof. PO
Uwagi
ogólne
W ramach przedmiotu zajmować się
będziemy zagadnieniami programowania w środowisku .NET. W ramach zajęć w określonych terminach podanych poniżej
należy oddać do oceny poszczególne etapy pracy. Za zadanie oddane z
opóźnieniem o tydzień można otrzymać co najwyżej ocenę 3, zadania oddane w
terminie późniejszym nie będą oceniane . Ocena końcowa będzie średnią ocen cząstkowych.
Zakres oraz terminy oddania
poszczególnych etapów
pracy
-
Proszę napisać program w konsoli wyświetlający tabelę 40x40 znaków.
Tabela ma być wypełniona w jednej czwartej gwiazdkami * (górna lewa część tabeli), plusami + (dolna prawa część),
a w pozostałych częściach znakami # i @.
Termin oddania zadania:
-
Proszę napisać program ankietę, który będzie zbierał dane o umiejętnościach
zawodowych użytkownika (co najmniej 10 pytań) i w zależności od zebranych
informacji przydzieli użytkownika do jednej z pięciu oferowanych w programie prac.
-
Proszę napisać program pracujący w konsoli umożliwiający rysowanie przedmiotów domowego użytku.
Program powinien zawierać kilka definicji klas (umożliwiających rysowanie trzech przedmiotów) posiadających
co najmniej trzy atrybuty różnego typu oraz metody (co najmniej 2 metody na klasę).
-
Proszę napisać program typu windows forms.
Program powinien zawierać ankietę dotyczącą nastroju, w jakim znajduje się użytkownik.
Po naciśnięciu guzika „podsumuj ankietę” powinno otworzyć się nowe okno zawierające
rysunek obrazujący nastrój użytkownika (muszą być różne obrazki dla różnych nastrojów)
oraz nazwę tego nastroju.
W przypadkach uzasadnionych możliwe jest samodzielne zaproponowanie
tematu ankiety.
-
Proszę napisać program w konsoli zawierający dwie klasy opisujące wybrane sprzęty rtv/agd (inne niż w zadaniu 3).
- klasy powinny zawierać atrybuty z różnymi modyfikatorami dostępu, dwa różne konstruktory w tym konstruktor kopiujący oraz kilka medod umożliwiających pracę z obiektami;
- argumenty w metodach mają być przekazywane przez wartość, referencję i wyjście - należy pokazać różnice w sposobie przekazywania wartości.
Program powinien umożliwiać prezentację działania metod (np. menu).
-
Proszę, kontynuując poprzednie zadanie, uzupełnić klasy o następujące elementy:
- jedna z klas musi zawierać funkcję statyczną oraz atrybut statyczny;
- odwołanie do atrybutów wszystkich klas powinno się odbywać z wykorzystaniem właściwości;
- proszę przeciążyć operatory dodawania (+) dla klasy sprzątu rtv tak, by możliwe było dodanie dwóch sprzętów do siebie;
- proszę przeciążyć operator większości i mniejszości tak, by możliwe było porównanie zużycia prądu;
Wszystkie wymienione zadania szczegółowe muszą zostać odpowiednio zaprezentowane w programie.
-
Proszę napisać nowy program zawierający dwie klasy opisujące urządzenia/pojazdy umożliwiające przemieszczanie się człowieka (nie może być samochód).
- proszę stworzyć bazową klasę dla wszystkich pojazdów;
- proszę stworzyć zdarzenie umożliwiające poinformowanie wszystkich obiektów pojazdów o wystąpieniu wypadku jednego z pojazdów i wywołać zdarzenie. Należy przygotować delegatę oraz w zdarzenia (event), do którego podepną się ze swoimi medodami inne obiekty;
-
Proszę, kontynuując poprzednie zadanie, uzupełnić klasy o następujące elementy:
- przerobić klasę bazową na klasę abstrakcyjną;
- dodać do klasy bazowej abstrakcyjną metodę związaną z przemieszczeniem się pojazdów;
- proszę stworzyć interfejs, po którym dziedziczyć będą wszystkie klasy pojazdów. Interfejs powinien definiować metodę umożliwiającą serwisowanie pojazdu;
- proszę samodzielnie przygotować w programie przykład obsługi wyjątku (exeption), należy utworzyć własną klasę wyjątku, wygenerować wyjątek oraz go obsłużyć;
Wszystkie wymienione zadania szczegółowe muszą zostać odpowiednio zaprezentowane w programie.
-
Proszę napisać nowy program realizujący następujące zadania:
- proszę utworzyć tablicę zawierającą elementy typu integer i wypełnić tablicę wykorzystując listę inicjacyjną, proszę wyświetlić tablicę;
- proszę utworzyć prostą klasą zawierającą dwa atrybuty, proszę utworzyć tablicę obiektów utworzonej klasy i zaprezentować dowolne operacje na elementach tablicy (np. zmianę wartości atrybutów itp.);
- proszę wykonać i pokazać przykład użycia funkcji, w której argumentem jest tablica, podobnie proszę pokazać przykład funkcji zwracającej tablicę;
- proszę pokazać przykłady zmiennej typu string, utworzonej po dodaniu dwóch tekstów i usunięciu fragmentu tekstu;
- proszę pokazać przykłady użycia klasy StringBuilder (co najmniej na 4 różne sposoby proszę zmodyfikować tekst);
-
Proszę napisać nowy program realizujący następujące zadania:
- proszę pokazać użycie kolekcji typu Hashtable;
- proszę wykonać program umożliwiający utworzenie pliku tekstowego oraz zapisanie i odczytanie danych z pliku;
- proszę dodać do programu możliwość tworzenia pliku binarnego, zapisanie do pliku danych różnych formatów oraz odczytanie tych danych z pliku.
-
Proszę napisać aplikację Windows Forms lub WPF umożliwiającą otwieranie i edytowanie plików tekstowych:
- do otwarcia pliku należy zastosować okno dialogowe OpenFileDialog z odpowiednimi maskami dla plików (np. otwieranie jedynie plików txt);
- w aplikacji musi istnieć możliwość tworzenia nowego dokumentu tekstowego i zapisywania tekstu do pliku (musi być miejsce gdzie plik będzie edytowany);
- należy zastosować odpowiednio obsługę błędów tak by aplikacja działała niezależnie od popełnionych przez użytkownika błędów.
Oceny z egzaminu
Oceny 1 termin 2020
Oceny 2 termin 2020
Wykłady
Wykład 1
Wykład 2
Wykład 3
Wykład 4
Wykład 5
Wykład 6
Dodatkowe źródła
informacji
https://www.udemy.com/c-net-od-podstaw-do-tworzenia-aplikacji-w-wpf-i-xaml/
https://mva.microsoft.com/pl/training-courses/podstawy-jzyka-c-14509?l=UlSPiieoB_1005192797#
http://csharp.net-tutorials.com/basics/introduction/
http://www.tutorialsteacher.com/csharp/csharp-tutorials
https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949