Wiersze zawierają: nr indeksu, liczbę zdobytych punktów i ocenę.
-
591029 12.5 3 - 86475 5.5 2
- 87578 12 3
- 87935 17 4
- 88384 4 2
- 91058 4.5 2
- 91141 10.5 2
- 95142 11 2
- 95146 3 2
- 95188 12.5 3
- 95198 14.5 3.5
- 95233 10 2
- 96559 11 2
- 96578 12.5 3
Wiersze zawierają: nr indeksu, liczbę zdobytych punktów i ocenę.
Ze względu na mój obowiązkowy udział w zebraniu kolegium elektorów UKSW termin rozpoczęcia poprawy laboratoriów przesuwam na godz. 14:30.
Pozostałe szczegóły.
Po konsultacjach termin został zmieniony na: 10 marca 2016 r.
Pozostałe szczegóły.
Drugi termin egzaminu został zaplanowany na: 18 lutego 10 marca 2016 (czwartek), na godz. 18:00 w sali 033 (pracownia komputerowa) budynek nr 21 Auditorium Maximum. Czas egzaminu: 90 minut.
Przypominam o zasadach przeprowadzania egzaminu (procedura sprawdzania tożsamości, zakaz korzystania z telefonów i własny zegarek), które są opisane tutaj.
Poprawa laboratoriów odbędzie się tuż przed egzaminem, tj. 18 lutego 10 marca, od godz. 14:00 14:30 również w sali 033. Będzie trwać do około 17:30. Dziękuję zainteresowanym za przesłane mi zgłoszeń udziału.
Wiersze zawierają: nr indeksu, liczbę zdobytych punktów i ocenę.
Osoby zainteresowane poprawą negatywnej oceny z zajęć laboratoryjnych proszę o wysłanie mi mailem swojego zgłoszenia. Taka informacja jest mi potrzebna aby zarezerwować w odpowiednim czasie pracownię komputerową. Metoda poprawy będzie podobna, jak w przypadku Programowania Obiektowego: konieczne będzie napisanie programu, w którym zademonstrowana zostanie pełna wiedza z całego wykładu (włącznie z metaprogramowaniem i C++11). Planowany czas trwania: 3 godz. zegarowe. Czekam na zgłoszenia do piątku, 5.02 (potem będę nieobecny na uczelni aż do początku letniego semestru). Jeżeli zgłoszeń nie będzie, poprawa nie zostanie zorganizowana.
Lista osób, które pozytywnie zaliczyły egzamin zerowy. Wiersze zawierają nr indeksu i ocenę. Wyniki uwzględniają ustalenia dotyczące udziału w specjalnym wykładzie prof Seredyńskiego.
Lista osób, które uczestniczyły w egzaminie zerowym, ale ich liczba zdobytych punktów nie przekroczyła progowej wartości 50% możliwych do zdobycia punktów.
Gdyby ktoś uczestniczył w egzaminie i jest zapisany na liście obecności, ale nie został wymieniony na żadnej z list i nie jest zwolniony z egzaminu za bardzo dobre wyniki z laboratoriów, proszę o pilny kontakt.
Poniżej znajdują się wyniki z zajęć laboratoryjnych w postaci listy. Każdy wiersz zawiera: nr indeksu, sumę zdobytych punktów, proponowaną ocenę, oraz – w przypadku bardzo wysokiej liczby zdobytych punktów – również proponowaną ocenę z wykładu.
Proszę o weryfikację liczby zdobytych punktów. W razie niezgodności ze stanem faktycznym proszę o pilny kontakt do prowadzącego zajęcia laboratoryjne.
Zwolnienia z egzaminu będą.
Dla osób posiadających komplet punktów z ćwiczeń prawdopodobieństwo zwolnienia z egzaminu graniczy z pewnością. Wobec pozostałych decyzje zostaną podjęte, kiedy otrzymam komplet ocen od p. Zembrowskiego.
Zadanie poprawkowe będzie polegało na przygotowaniu serii wartości pochodzących z generatora liczb losowych o wybranym rozkładzie, a następnie wykonaniu na tych danych określonych obliczeń. Wymagana będzie znajomość algorytmów oraz tworzenia wyrażeń lambda wykorzystywanych jako predykaty i funktory zamiast obiektów funkcyjnych.
Poniżej kod programu, którego znajomość może bardzo przydać się na zajęciach.
#include <iostream>
#include <iomanip>
#include <random>
#include <functional>
#include <algorithm>
#include <map>
#include <string>
using namespace std;
int round( double fValue ) {
return fValue < 0 ? (int)ceil( fValue - 0.5 )
: (int)floor( fValue + 0.5 );
}
int main () {
// generator liczb losowych o rozkładzie równomiernym
// do zainicjalizowania losową wartością właściwego generatora
random_device rd;
// właściwy generator liczb losowych o rozkładzie równomiernym
// - Mersenne Twister, autorzy: Matsumoto and Nishimura, 1998
mt19937 engine(rd());
// funktor do generowania liczb losowych z rozkładu normalnego;
// konfiguracja rozkładu: średnia 0, sigma 3
normal_distribution<> normal(0.0, 3.0);
// funktor do prawidłowego wywołania potrzebuje generatora
// liczb losowych dlatego musi być wywoływany z argumentem
// reprezentującym właściwy generator - tak jak poniżej:
cout << "Test generatora: " << normal(engine) << "\n\n";
// tworzenie histogramu opisującego funkcję gęstości
// dla rozkładu normalnego - tzw. krzywa dzwonowa
map<int, int> hist1;
for(int n=0; n<100000; ++n)
++hist1[round(normal(engine))];
// funktor do generowania liczb całkowitych losowych
// z rozkładu równomiernego <0,9>;
uniform_int_distribution<int> uni(0, 9);
// tworzenie histogramu opisującego funkcję gęstości
// dla rozkładu równomiernego
map<int, int> hist2;
for(int n=0; n<100000; ++n)
++hist2[uni(engine)];
// wizualizacja krzywej dla rozkładu normalnego
// (grafika w oknie konsoli!)
// Uwaga: pętla 'for' oparta na zakresie jednak
// nie jest obsługiwana w VS2010, dlatego nie można
// tu napisać: "for (auto p1 : hist1) {". Przepraszam.
for_each(hist1.begin(), hist1.end(),
[](pair<int,int> p) {
cout << fixed << setprecision(1) << setw(2)
<< p.first << ' ' << string(p.second/200, '*') << '\n';});
// wizualizacja krzywej dla rozkładu równomiernego
// (grafika w oknie konsoli!)
for_each(hist2.begin(), hist2.end(),
[](pair<int,int> p) {
cout << fixed << setprecision(1) << setw(2)
<< p.first << ' ' << string(p.second/200, '*') << '\n';});
system("pause");
return 0;
}