Ze względu na obowiązkowy udział w spotkaniu przedwyborczym z JM ks. Rektorem dwóch osób z komisji egzaminacyjnej egzamin komisyjny rozpocznie się wcześniej, tj. o godz. 9:30. Proszę o przybycie kilka minut przed godziną 9:30, aby można było rozpocząć punktualnie.
Archiwa kategorii: Zaawansowane Techniki Programowania 2023
ZTP2023: uwaga! zmiana terminu egzaminu komisyjnego
W związku z Uchwałą Nr 15/2024 Uniwersyteckiej Komisji Wyborczej UKSW z 15.03.2024 w sprawie zwołania zebrania kolegium elektorów Uniwersytetu na dzień 18 marca 2024 r. o godz. 11.00, informuję, że ze względu na obowiązkowy udział w tym zebraniu dwóch osób z komisji egzaminacyjnej, egzamin komisyjny z ZTP zostaje przełożony na 22 marca (piątek) w godz. 10:00-12:00, w s. 316, bud. 21.
ZTP2023: egzamin komisyjny
Egzamin komisyjny z ZTP odbędzie się 18 marca (poniedziałek) w godz. 10:00-12:00, w auli 108, bud. 21. Do egzaminu są dopuszczone tylko te osoby, które uzyskają zgodę Prodziekana ds. studenckich. Formuła egzaminu taka sama jak w pierwszym terminie:
- Egzamin jest pisemny. Proszę zabrać ze sobą kartki papieru i długopisy oraz legitymacje studenckie. Proszę być punktualnie. Prace osób spóźnionych mogą nie podlegać ocenie.
- Szczegółowe zasady udziału są opisane na stronie www: Zasady zaliczenia wykładu, ale nie ma części praktycznej, to znaczy, nie będzie kartki z kodem programu, dla którego należy podać komunikaty wypisywane w oknie konsoli.
- Opuszczenie sali w trakcie egzaminu jest jednoznaczne z zakończeniem egzaminu.
- Zwracam uwagę na zasadę: Na egzaminie nie wolno sięgać do telefonów komórkowych. Telefony w czasie egzaminu muszą być wyciszone i schowane np. w torbie czy plecaku. Telefony nie mogą być w tym czasie trzymane przy sobie, tj. np. w kieszeni spodni czy bluzy. Niestosowanie się do tej zasady skutkuje natychmiastowym zakończeniem egzaminu przez studenta i opuszczeniem sali.
ZTP2023: Wyniki z egzaminu w terminie drugim
Lista ocen osób, które uczestniczyły w egzaminie w drugim terminie. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- ***235 12+ ε 3
- ***274 12.5 3
- ***327 0 2
- ***466 14 3
- ***475 12+ ε 3
- ***478 12+ ε 3
- ***482 9 2
- ***526 4 2
- ***531 10 2
- ***536 6 2
- ***587 9.5 2
- ***595 12.5 3
- ***807 8 2
- ***867 10 2
- ***986 5 2
W razie niejasności, proszę o kontakt mailowy.
Prace będą do wglądu w poniedziałek (26 lutego), w godz. 11:15-12:00 (lub do ostatniej zainteresowanej osoby) w pok. 1247, bud. 12.
ZTP2023: terminy w sesji poprawkowej
- Poprawa oceny z zajęć lab.: 20 lutego (wtorek) w godz. 16:45-20:00, sala 119 w bud. 21. Osoby zainteresowane proszę o przyjście na egzamin ZTP i udział w egzaminie. Jeżeli poprawa da pozytywny wynik, praca egzaminacyjna zostanie sprawdzona. Proszę też o mail z potwierdzeniem chęci udziału. Wystarczy krótki tekst w rodzaju „Zgłaszam swój udział w poprawie ZTP lab.” i podpis. Zgłoszenia są potrzebne, abym wiedział ile przygotować zadań. Zgłoszenia można nadsyłać do niedzieli (18.02) wieczorem.
- Egzamin z ZTP, drugi termin: 20 lutego (wtorek) w godz. 11:30-13:30, aula Schumana. Formuła egzaminu taka sama jak w pierwszym terminie:
- Egzamin jest pisemny. Proszę zabrać ze sobą kartki papieru i długopisy oraz legitymacje studenckie. Proszę być punktualnie. Prace osób spóźnionych mogą nie podlegać ocenie.
- Szczegółowe zasady udziału są opisane na stronie www: Zasady zaliczenia wykładu, ale nie ma części praktycznej, to znaczy, nie będzie kartki z kodem programu, dla którego należy podać komunikaty wypisywane w oknie konsoli.
- Zwracam uwagę na zasadę: Na egzaminie nie wolno sięgać do telefonów komórkowych. Telefony w czasie egzaminu muszą być wyciszone i schowane np. w torbie czy plecaku. Niestosowanie się do tej zasady skutkuje natychmiastowym zakończeniem egzaminu przez studenta i opuszczeniem sali.
ZTP2023: Wyniki z egzaminu w terminie pierwszym
Lista ocen osób, które uczestniczyły w egzaminie w pierwszym terminie. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- ***235 9.5 2
- ***274 8 2
- ***466 11 2
- ***468 15 3.5
- ***475 2 2
- ***478 8 2
- ***482 6 2
- ***511 18 4
- ***512 12 + ε 3
- ***526 6.5 2
- ***531 8 2
- ***536 8 2
- ***553 16 3.5
- ***587 7.5 2
- ***595 10 2
- ***639 16 3.5
- ***658 18 4
- ***659 14 3
- ***807 5 2
- ***810 22.5 5
- ***867 2 2
- ***986 9 2
W razie niejasności, proszę o kontakt mailowy.
Prace będą do wglądu we czwartek (8 lutego), w godz. 12:00-12:30 (lub do ostatniej zainteresowanej osoby) w pok. 1247, bud. 12.
ZTP2023: Wyniki z egzaminu zerowego
Lista osób, które otrzymały ocenę pozytywną z zajęć lab. ale nie zostały zwolnione z egzaminu za bardzo dobre wyniki i osiągnęły co najmniej 50% pkt. na egzaminie zerowym. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- ***238 17.5 4
- ***272 19 4
- ***172 23 5
- ***479 20.5 4.5
- ***533 22.5 5
- ***543 13.5 3
- ***548 14.5 3.5
- ***560 19.5 4.5
- ***561 13 3
- ***563 18.5 4
- ***578 14.5 3.5
- ***579 14 3
- ***585 12 + ε 3
- ***594 13 3
- ***627 19.5 4.5
- ***637 20.5 4.5
- ***677 15 3.5
- ***729 15 3.5
Lista osób, które otrzymały ocenę pozytywną z zajęć lab., nie zostały zwolnione z egzaminu za bardzo dobre wyniki i uczestniczyły w egzaminie zerowym, ale liczba zdobytych na egzaminie punktów nie przekroczyła progowej wartości 50% możliwych do zdobycia. Wiersze zawierają trzy ostatnie cyfry nr indeksu.
- ***235
- ***466
- ***468
- ***475
- ***478
- ***482
- ***511
- ***512
- ***526
- ***531
- ***536
- ***553
- ***595
- ***658
- ***867
W razie niejasności, proszę o kontakt mailowy.
ZTP2023: Lista osób zwolnionych z egzaminu
Lista zawiera trzy ostatnie cyfry numeru indeksu osób zwolnionych z egzaminu za bardzo dobre wyniki na zajęciach lab.
- ***065
- ***245
- ***378
- ***467
- ***487
- ***497
- ***501
- ***534
- ***545
- ***614
Osoby te z egzaminu z wykładu otrzymują ocenę taką, jaką otrzymały z zajęć lab. tj. 5 (bardzo dobry), która zostanie wpisana do protokołu USOS jako ocena zdobyta w pierwszym terminie.
W razie niejasności proszę o kontakt mailowy.
ZTP2023: Informacje organizacyjne na koniec semestru
Poprawa jednej oceny z zajęć lab.
- Dn. 17 stycznia (środa) w pracowni komputerowej 119, bud. 21, w godz. 11:30 – 14:45 odbędą się zajęcia lab., na których będzie można uzyskać ocenę, która zastąpi jedną z ocen uzyskanych na zajęciach lab. w semestrze.
- Zajęcia lab. w dn. 17 stycznia nie są obowiązkowe. Są to zajęcia tylko dla osób, które chcą skasować jedną ze swoich ocen i zastąpić ja nową oceną zdobytą na tych zajęciach. Np. jeżeli ktoś ma trzy zera z zajęć, co oznacza, że otrzyma ocenę negatywną z lab., może przyjść, aby zdobyć lepszą ocenę, która zastąpi jedno z tych zer.
- Przed rozpoczęciem zajęć wszystkim uczestnikom kasowana jest jedna, wskazana przez nich ocena z zajęć lab. w semestrze. Jeżeli jest to ocena inna niż zero punktów, wskazane punkty są tracone bezpowrotnie.
- Na zajęciach będzie do zrobienia jedno zadanie, za które można zdobyć do 10 pkt. Zadanie obejmuje materiał całego semestru. Warunki realizacji są takie same jak na zajęciach w semestrze, tj. praca samodzielna bez korzystania z zasobów internetu (za wyjątkiem strony https://cplusplus.com/ oraz platformy learningowej UKSW).
- Zajęcia w tej sali są wspólne dla zainteresowanych z wszystkich trzech grup.
W razie niejasności proszę o pytania mailem.Warunki zwolnienia z egzaminu za bardzo dobre wyniki z lab. zostaną ustalone dopiero po zakończeniu semestru, kiedy będą znane wszystkie wyniki z lab.
Egzamin zerowy
- Dn. 25 stycznia (czwartek) w sali wykładowej 205, bud. 21, w godz. 16:45 – 18:15 planowany jest egzamin zerowy z ZTP.
- Egzamin jest pisemny. Proszę zabrać ze sobą kartki papieru i długopisy oraz legitymacje studenckie. Proszę być na miejscu kilka minut wcześniej, ponieważ sala zostanie otwarta już w trakcie przerwy, tak aby punktualnie o godz. 16:45 można było rozpocząć egzamin.
- Szczegółowe zasady udziału są opisane na stronie www: Zasady zaliczenia wykładu, ale uwaga: (1) egzamin nie ma części praktycznej, to znaczy, nie będzie kartki z kodem programu, dla którego należy podać komunikaty wypisywane w oknie konsoli, (2) wszystkie osoby, które mają szansę na ocenę pozytywną z lab. na koniec semestru są oczekiwane na egzaminie.
- Ocenie podlegają prace egzaminacyjne tylko tych osób, które na koniec semestru, tj. 26 stycznia (piątek) będą miały z zajęć lab. dostateczną liczbę punktów oraz spełnią warunki gwarantujące ocenę pozytywną.
- Oceny pozytywne uzyskane z tego egzaminu są wpisywane do protokołu jako zdobyte w pierwszym terminie.
- Oceny negatywne nie są nigdzie wpisywane i są zapominane.
- Jeżeli będą takie osoby, które zostaną zwolnione z egzaminu za bardzo dobre wyniki lab., to proponowana im ocena zastąpi ocenę z egzaminu zerowego. Jednak decyzja o zastosowaniu w tym roku zwolnień z egzaminu za bardzo dobre wyniki jeszcze nie została podjęta.
- Brak zainteresowania (niedostateczna liczba studentów na sali) spowoduje odwołanie egzaminu zerowego.
Zwracam uwagę na zasadę: Na egzaminie nie wolno sięgać do telefonów komórkowych. Telefony w czasie egzaminu muszą być wyciszone i schowane np. w torbie czy plecaku. Niestosowanie się do tej zasady skutkuje natychmiastowym zakończeniem egzaminu przez studenta i opuszczeniem sali.
ZTP2023: Zadania przed lab.7
Założenia
Przyjmijmy, że mamy zbiór punktów w przestrzeni n-wymiarowej, przy czym współrzędne pojedynczego punktu są reprezentowane w postaci wektora liczb rzeczywistych o długości n. Mówimy, że punkt A dominuje nad punktem B, jeżeli dla każdej współrzędnej A(i) odpowiadająca jej współrzędna B(i) jest mniejsza lub równa, oraz istnieje co najmniej jedna taka współrzędna j dla której A(j)>B(j). Można też wtedy powiedzieć, że B jest zdominowane przez A. Jeżeli natomiast dla pary punktów taki warunek nie jest spełniony, tj. ani A nie dominuje nad B, ani B nad A, wtedy uważamy punkty A i B za nieporównywalne względem siebie.
W zbiorze punktów punkt niezdominowany to taki, który może tylko dominować lub być nieporównywalnym z wszystkimi pozostałymi punktami.
Zadanie #1
Wygeneruj zbiór 100 losowych punktów w przestrzeni n-wymiarowej, po czym znajdź w nim zbiór punktów niezdominowanych. Algorytm znajdowania punktów niezdominowanych polega na porównaniu każdego punktu ze wszystkimi pozostałymi (nie dokonujemy porównania punktu z samym sobą). Jeżeli dla aktualnie sprawdzanego punktu z żadnego porównania nie wyniknie, że jest zdominowany, to znaczy, że jest niezdominowany. Kopię znalezionego punktu niezdominowanego należy zapisać w kontenerze pomocniczym. Na koniec sprawdzania kontener pomocniczy zawiera wyłącznie punkty niezdominowane.
Algorytm można zrealizować z pomocą dwóch kontenerów zawierających zestawy tych samych 100 punktów oraz kontenera pomocniczego, który początkowo jest pusty. Punkty z pierwszego kontenera są punktami sprawdzanymi, a punkty z drugiego – punktami z którymi dokonywane jest sprawdzenie. Do kontenera pomocniczego trafiają kopie tych punktów z kontenera pierwszego, które okazały się niezdominowane. Realizacja czynności odbywa się za pomocą dwóch pętli for
– zewnętrznej (punkty z pierwszego kontenera) i wewnętrznej (punkty z drugiego kontenera).
Po zaimplementowaniu algorytmu spróbuj zaimplementować go ponownie, ale tym razem bez używania pętli for, while, repeat
, natomiast stosując algorytmy STL oraz własne lub biblioteczne obiekty funkcyjne. Sprawdź, czy uzyskałeś ten sam wynik.
Zadanie #2
Wygeneruj zbiór 100 punktów losowo rozłożonych na okręgu (w przestrzeni 2-wymiarowej) o promieniu 1 (zobacz Zadania przed lab. 6: zadanie #2), po czym znajdź w nim zbiór punktów niezdominowanych. W kontenerze uporządkuj rosnąco niezdominowane punkty pod względem ich pierwszej współrzędnej. Wykorzystując algorytm adjacent_difference
(slajdy 121 i 122, wykład 9) policz odległości euklidesowe miedzy sąsiednimi punktami (tj. między punktami 1 i 2, 2 i 3, 3 i 4, itd.). Uwaga: w obiekcie funkcyjnym służącym do obliczenia odległości euklidesowej miedzy dwoma punktami skorzystaj z algorytmu inner_product
, tak jak to jest pokazane na slajdzie 121 wykładu 9. Policzone odległości zapisz do pomocniczego kontenera, a na koniec policz średnią odległość między punktami oraz wariancję tej odległości.
Przy pisaniu kodu programu unikaj pętli for, while, repeat
, a zamiast nich stosuj algorytmy STL oraz własne lub biblioteczne obiekty funkcyjne.
Wskazówka: kod zawierający przykładowy fragment rozwiązania zadania 2 – wykorzystanie algorytmu inner_product
do policzenia odległości euklidesowych miedzy sąsiednimi punktami: ZTP_Zad2przedLab7.cpp
Hint:
Zadanie dotyczące znajdowania zbioru punktów niezdominowanych może pojawić się na lab.7. Na zajęciach można będzie wykorzystać fragmenty własnego kodu opracowanego w domu.