prezentacja - Przemysław Juszczuk

Transkrypt

prezentacja - Przemysław Juszczuk
Języki programowania imperatywnego
dr Przemysław Juszczuk
Katedra Inżynierii Wiedzy
laborki 1
dr Przemysław Juszczuk
Języki programowania imperatywnego
e-mail: [email protected]
Konsultacje: na stronie katedry + na stronie domowej
Pokój 202c budynek A
pjuszczuk.pl
dr Przemysław Juszczuk
Języki programowania imperatywnego
Języki imperatywne
Wykład - 15 godzin;
Laborki - 30 godzin.
Języki imperatywne - warunki zaliczenia
Sprawdzian 1 – oceniany w skali punktowej od 0 do 25 punktów;
Sprawdzian 2 – oceniany w skali punktowej od 0 do 25 punktów;
Ocena uzyskana z laboratorium stanowi 50% oceny końcowej;
Wykład: Egzamin ustny – pytania otwarte.
dr Przemysław Juszczuk
Języki programowania imperatywnego
Skala ocen
0 – 25 pkt. ocena niedostateczna;
26 – 30 pkt. ocena dostateczna;
31 – 35 pkt. ocena plus dostateczny;
36 – 40 pkt. ocena dobry;
41 – 45 pkt. ocena plus dobry;
46 – 50 pkt. ocena bardzo dobry.
dr Przemysław Juszczuk
Języki programowania imperatywnego
Jeszcze organizacyjnie
zestaw ok. 5 zadań na każde ćwiczenia;
z każdego zestawu minimum 50% zadań musi zostać wykonanych
(na ćwiczeniach, lub pokazanych najpóźniej na ćwiczeniach
kolejnych);
powyższe jest warunkiem zaliczenia danych laborek;
dr Przemysław Juszczuk
Języki programowania imperatywnego
Zagadnienia
klasy i obiekty: stałe, pola, właściwości, konstruktory, modyfikatory
dostępu;
klasy i obiekty: stałe, pola, właściwości, konstruktory, modyfikatory
dostępu cz. 2;
klasy statyczne;
przeciążanie metod i operatorów;
dziedziczenie przysłanianie metod, klasy abstrakcyjne i interfejsy I;
dziedziczenie przysłanianie metod, klasy abstrakcyjne i interfejsy II;
dziedziczenie przysłanianie metod, klasy abstrakcyjne i interfejsy III;
sprawdzian I;
system IO z uwzględnieniem asynchronicznych operacji wejścia wyjścia;
Windows Presentation Foundation (WPF) – projektowanie UI z
wykorzystaniem XAML praca z programem Blend for visual studio;
dr Przemysław Juszczuk
Języki programowania imperatywnego
Zagadnienia II
Windows Presentation Foundation (WPF) I;
Windows Presentation Foundation (WPF) II;
Windows Forms;
Windows Apps (programy dla Windows 8.1 Windows 10);
Sprawdzian II.
dr Przemysław Juszczuk
Języki programowania imperatywnego
Metodyka (paradygmat) programowania - czyli?
Metodyka (zwana też często paradygmatem) to ustandaryzowane dla
wybranego obszaru podejście do rozwiązywania problemów.
sposób programowania oparty na mechanizmach udostępnianych
przez wybrany język programowania;
w związku z odmiennym przeznaczeniem języków programowania
mogą występować istotne różnice pomiędzy poszczególnymi
paradygmatami;
środowisko przeważnie nie narzuca paradygmatu;
dobór odpowiedniej metodyki zależy od rozwiązywanego
problemu;
dr Przemysław Juszczuk
Języki programowania imperatywnego
Nadtypy paradygmatów
Programowanie stacjonarne - tworzenie programu, uwzględniającego
obliczenia wykonywane przez jeden procesor;
Programowanie rozproszone - tworzenie programu, uwzględniającego
obliczenia wykonywane bez współdzielenia zasobów obliczeniowych
(współdzielenie danych - często rozproszonych);
Programowanie równoległe - tworzenie kodu z uwzględnieniem
obliczeń wykonywanych przez więcej niż jeden procesor. Konieczność
synchronizacji i komunikacji;
dr Przemysław Juszczuk
Języki programowania imperatywnego
Typy paradygmatów
Programowanie imperatywne - słynna instrukcja ”goto”; Przykłady
języków: Algol, Fortran, Pascal, C.
Programowanie funkcyjne - Haskell (Wartościowanie leniwe);
Programowanie opisowe - VHDL (język opisu i projektowania
układów cyfrowych);
Programowanie logiczne - Prolog (fakty i reguły);
dr Przemysław Juszczuk
Języki programowania imperatywnego
Podstawowe rodzaje metodyk
Programowanie liniowe - całość programu jest postrzegana jako
jeden, ciągły blok;
Programowanie proceduralne - dekompozycja problemu. Blok główny
to szkielet programu, a poszczególne procedury i funkcje są
wywoływane w określonej kolejności;
Programowanie funkcyjne - wynik w programowaniu funkcyjnym
otrzymywany poprzez złożenie funkcji. Przykładowo pętla
zastępowana jest poprzez rekurencję.
Programowanie obiektowe - klasa, obiekt, metoda, pole,
enkapsulacja.
Programowanie generyczne - programowanie uogólnione.
Programowanie agentowe - dekompozycja kodu i wydzielenie zadań
dla osobnych podprogramów/wątków/procesów.
dr Przemysław Juszczuk
Języki programowania imperatywnego
Zadanie 1
Przygotuj klasę Punkt3D pozwalającą na reprezentowanie punktów w
przestrzeni 3D. Współrzędne punktu to wartości rzeczywiste.
przygotuj konstruktor domyślny bezparametrowy ustalający wartości
punktu w początku układu współrzędnych (0,0,0);
przygotuj konstruktor z trzema parametrami wskazującymi
przesunięcie punktu względem początku układu współrzędnych;
do każdego pola klasy napisz gettery oraz settery;
napisz metodę pozwalającą wyznaczyć odległość punktu od
początku układu współrzędnych w metryce euklidesowej;
jw. ale przygotuj metodę dla metryki Manhattan.
dr Przemysław Juszczuk
Języki programowania imperatywnego
Zadanie 2
Przygotuj klasę Student zawierającą pola: nazwisko, imię, wiek, rok
studiów, oraz średnia. Następnie:
przygotuj konstruktor inicjalizujący obiekt wartościami: ”noname”,
”noname”, 19, 1, 0.0;
przygotuj drugi konstruktor inicjalizowany pięcioma parametrami
odpowiadającymi poszczególnym polom, przy czym: wiek musi być
większy od 18 i mniejszy od 65. Jeżeli nie jest - ustaw wartość
domyślną równą 18. Rok studiów z przedziału 1 do 5 - w
przeciwnym wypadku ustaw na 1; średnia z przedziału 2.0 do 5.0 - w
przeciwnym wypadku ustaw na 4.0.
klasa powinna zawierać metodę obliczSrednia, która przyjmuje jako
parametr tablicę wartości typu double (oceny), a zwraca średnią
ocen;
przygotuj dodatkowo metodę ileZostalo przyjmującą jako parametr
tablicę wartości typu double obliczającą liczbę przedmiotów
pozostałych do zaliczenia w danej sesji - wartość ta wyznaczana jest
poprzez zliczenie elementów tablicy mniejszych od 3.0. Wartość int
zwracana jest jako rezultat funkcji.
dr Przemysław Juszczuk
Języki programowania imperatywnego