Autor: Krzysztof
PO2020: Wejściówka na Lab.2
Napisz program szyfrujący tekst wprowadzany przez użytkownika. W tym celu przygotuj tablicę kwadratową A o wymiarze 5 na 5 przechowującą wartości typu char
, oraz tablicę jednowymiarową B, Czytaj dalej..
PO2020: ogłoszenia na początek semestru
Wejściówka na pierwszych zajęciach
Wejściówki nie ma na pierwszych zajęciach z PO.
Komputerowe stanowiska pracy i czas pracy
Ocenie podlegają wyłącznie rozwiązania wykonane na stanowisku komputerowym w pracowni, natomiast nie podlegają ocenie zadania wykonane Czytaj dalej..
ZI2020: pierwsze zajęcia w semestrze
Pierwsze zajęcia konwersatorium odbędą się we wtorek, 25 lutego.
ZTP 2019: Wyniki z egzaminu w terminie pierwszym
Lista ocen osób, które brały udział w egzaminie. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę. Czytaj dalej..
ZTP 2019: Lista osób zwolnionych z egzaminu i wyniki z egzaminu zero
Trzy ostatnie cyfry z nr indeksu osób, które zostają zwolnione z egzaminu z wykładu za bardzo dobre wyniki na zajęciach laboratoryjnych:
- ***262
- ***278
- ***425
- ***455
- ***649
Osoby te otrzymują ocenę 5 (bardzo dobry).
Lista osób, które otrzymały ocenę pozytywną z zajęć lab. i osiągnęły co najmniej 50% pkt. na egzaminie zerowym. Wiersze zawierają: trzy ostatnie cyfry nr indeksu i proponowaną ocenę.
- ***018 4
- ***178 3
- ***179 3.5
- ***184 3
- ***280 4.5
- ***353 3.5
- ***362 3
- ***372 3.5
- ***389 3.5
- ***396 3.5
- ***402 3
- ***420 3
- ***423 4
- ***424 3
- ***460 3.5
- ***479 3.5
- ***480 3
- ***507 4
- ***563 3
- ***634 3.5
- ***635 3
- ***638 5
- ***642 4
- ***644 3
- ***648 4.5
- ***653 4
- ***874 4
Lista osób, które otrzymały ocenę pozytywną z zajęć lab. 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.
- ***088
- ***136
- ***137
- ***319
- ***388
- ***399
- ***403
- ***422
- ***646
- ***651
- ***880
W razie niejasności, proszę o kontakt. Oceny nie podlegają negocjacji.
ZTP 2019: Wykład 12 – slajdy
ZTP 2019: Wykład 11 – slajdy
ZTP 2019: Zadania przed lab.7
Zadania, które dotyczą zakresu materiału, jaki będzie poruszany na lab. 7. Rozwiązanie nie jest wymagane. Zadania stanowią wyłącznie pomoc w przygotowaniu się do zajęć.
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. Znaleziony punkt niezdominowany 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 o promieniu 1 (Algorytm 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 122 i 123, wykład 8) policz odległości euklidesowe miedzy sąsiednimi punktami (tj. między punktami 1 i 2, 2 i 3, 3 i 4, itd.). 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 8. 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.
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.
Zmiana terminu zajęć lab. ZTP
Zajęcia laboratoryjne ZTP zaplanowane na 18 grudnia (jutro, środa) zostają przełożone na 8 stycznia (środa) w tych samych godzinach i w tej samej pracowni komputerowej (tj. od 11:30 do 14:45 w 1203).