diff --git a/uczelnia/2_semestr/matematyka_stosowana/Prawdopodobieństwo.md b/uczelnia/2_semestr/matematyka_stosowana/Prawdopodobieństwo.md index a90111b..3fb7294 100644 --- a/uczelnia/2_semestr/matematyka_stosowana/Prawdopodobieństwo.md +++ b/uczelnia/2_semestr/matematyka_stosowana/Prawdopodobieństwo.md @@ -250,3 +250,42 @@ Sprawdzenie efektywności umożliwia nierówność Rao-Cramera. # Istotna uwaga Przy interpretacji przedziału ufności nie należy stosować następującego sformułowania: „parametr z prawdopodobieństwem należy do przedziału w okolicach (...)”, ponieważ parametr nie zalezy od wyników próby losowej. Jest stałą. Zmienny jest natomiast przedział ufności, którego końce zależą od próby losowej. + +# Parametryczne testy istotności +Weryfikacja hipotezy dotyczącej wariancji +- Obszar krytyczny K – Lewo prawo, oba +Jakieś dziwne znaczki. +--- +Przykład: +$s = 1.5$ +$n = 10$ +$\alpha = 0.05$ +Teza: odchylenie standardowe pomiarów różni się od $1.0$ na poziomie istotności $0.05$ + +1) Hipotezy +$$ +\begin{align} +h_0 = \chi = 1 \\ +h_1 = \chi ≠ 1 +\end{align} +$$ + +2) stat testowa +$$ +\chi^2 = \frac{ns^2}{\sigma^2} = \frac{10 \times 1.5^2}{1^2} = 22.5 +$$ +3) Kwantyle +$$ +\begin{align} +\chi^2(\frac{\alpha}{2}, n - 1) = \chi&2(0.025, 9) = 2.700 \\ +\chi^2(1 -\frac{\alpha}{2}, n - 1) = \chi&2(0.0975, 9) = 19.023 +\end{align} +$$ +4) Obszar krytyczny +$$ +k = <0;2.700> u <10.023;∞> +$$ +5) Wniosek +$\chi^2-2.5 e K$, więc na poziomie istotności 0.05 odrzucamy $H_0$ + + diff --git a/uczelnia/2_semestr/matematyka_stosowana/laby/lab8.RData b/uczelnia/2_semestr/matematyka_stosowana/laby/lab8.RData new file mode 100644 index 0000000..f9a09e4 Binary files /dev/null and b/uczelnia/2_semestr/matematyka_stosowana/laby/lab8.RData differ diff --git a/uczelnia/2_semestr/matematyka_stosowana/laby/lab_8.R b/uczelnia/2_semestr/matematyka_stosowana/laby/lab_8.R new file mode 100644 index 0000000..b54eae6 --- /dev/null +++ b/uczelnia/2_semestr/matematyka_stosowana/laby/lab_8.R @@ -0,0 +1,84 @@ +# zadanie 1 + +p.opisowe = function(wektor) { + library(moments) + srednia = round(mean(wektor), 2) + mediana = round(median(wektor), 2) + kwartyl_dolny = round(quantile(wektor, 1/4), 2) + kwartyl_gorny = round(quantile(wektor, 3/4), 2) + minimum = round(min(wektor), 2) + maximum = round(max(wektor), 2) + odchylenie = round(sd(wektor), 2) + rozstep_empiryczny = round(max(wektor) - min(wektor), 2) + rozstep_kwartylowy = round(IQR(wektor), 2) + wspolczynnik_zmiennosci = round(sd(wektor)/mean(wektor) * 100, 2) + skosnosc = round(skewness(wektor), 2) + kurtoza = round(kurtosis(wektor), 2) + + rbind(srednia, mediana, kwartyl_dolny, kwartyl_gorny, minimum, maximum, odchylenie, rozstep_empiryczny, rozstep_kwartylowy, wspolczynnik_zmiennosci, skosnosc, kurtoza) +} + + + +# zadanie 2 +# współczynnik zmienności +# |V| <= 10% – słaba zmienność +# 10% < |V| <= 50% – umiarkowana zmienność +# |V| > 50% – duża zmienność + +# skośność (współczynnik asymetrii) +# |G| <= 0.5 – słaba +# 0.5 < |G| < 1 – umiarkowana +# |G| > 1 – duża silna asymetria + +# G < 0 – lewostronna +# G > 0 – prawostronna +# G = 0 – symetria (prawie się nie zdarza) + +# kurtoza (współczynnik skupienia/spłaczszczenia) +# K = 3 – rozkład normalny +# K < 3 – niższe skupienie niż w rozkładzie normalnym +# K > 3 – wyższe skupienie niż w rozkładzie normalnym + + +# a) +p.opisowe(Ankieta$Wzrost) +# kwartyl_dolny 174.00 – wzrost 25% mężczyzn nie przekroczył 174 +# odchylenie 7.16 – wzrost mężczyzn odchylał się od średniej wzrostu przeciętnie o około 7.16 +# wspolczynnik_zmiennosci 3.98 – udział odchylenia standardowego wzrostu w wartości średniej wynosi 3.98 co świadczy o tym, że mężczyźni są słabo zróżnicowani pod względem wzrostu +# skosnosc 0.20 – rozkład wzrostu mężczyzn charakteryzuje się słabą asymetrią prawostronną + +# b) +p.opisowe(Ankieta$Średnia) +# mediana 3.80 – średnia 50% studentów w badanej grupie nie przekroczyla 3.80 +# kwartyl_gorny 4.24 – średnia 75% studentów w badanej grupie nie przekroczyla 4.24 + +# c) +p.opisowe(Ankieta$L.godzin) +# srednia 7.07 czas spędzany przy komputerze w badanej grupie skupiał się wokół wartości 7.07 +# kurtoza 2.55 rozklad czasu spędzanego przy komputerze w badanej grupie charakteryzuje się niższym skupieniem wokół średniej wagi niż w rozkładzie normalnym. + +# zadanie 3 + +przedzial.odchylenie = function(x, uf) { + # 1 - a = uf + # a = 1 - uf + a = 1 - uf + n = length(x) + ss_z_daszkiem = var(x) + # s^2 = (n - 1)/n * ss_z_daszkiem + ss = (n - 1)/n * ss_z_daszkiem + + dolna = sqrt((n * ss) / qchisq(1 - (a / 2), n - 1)) + gorna = sqrt((n * ss) / qchisq(a / 2, n - 1)) + round(cbind(dolna, gorna), 4) +} + +przedzial.odchylenie(Ankieta.M$Wzrost, 0.95) + +# zadanie 4 +# a) +ggplot(data.frame(x=c(-4, 4)), aes(x))+ylab('Gęstość rozkładu studenta')+ stat_function(fun=dt, args=1, col='red', size=1) + stat_function(fun=dt, args=2, col='pink', size=1) + stat_function(fun=dt, args=10, col='green', size=1) + stat_function(fun=dt, args=50, col='blue', size=1) + +# b) +ggplot(data.frame(x=c(-1, 100)), aes(x))+ylab('Gęstość rozkładu chi kwadrat') + stat_function(fun=dchisq, args=5, col='red', size=1) + stat_function(fun=dchisq, args=10, col='blue', size=1) + stat_function(fun=dchisq, args=20, col='green', size=1) + stat_function(fun=dchisq, args=50, col='pink', size=1) diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad1.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad1.cpp new file mode 100644 index 0000000..d2b143d --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad1.cpp @@ -0,0 +1,33 @@ +#include +#include +#include + +class Adres { + std::string ulica; + std::string miasto; + std::string kodPocztowy; + +public: + Adres(std::string ulica, std::string miasto, std::string kodPocztowy) + : ulica(ulica), miasto(miasto), kodPocztowy(kodPocztowy) {} + friend std::ostream &operator<<(std::ostream &os, Adres adres) { + os << adres.ulica << '\n' << adres.miasto << '\n' << adres.kodPocztowy; + return os; + } +}; + +class Osoba { + Adres adres; + +public: + Osoba(Adres adres) : adres(adres) {} + friend std::ostream &operator<<(std::ostream &os, Osoba osoba) { + os << osoba.adres; + return os; + } +}; + +int main() { + Osoba osoba = Osoba(Adres("żołnierska", "szczecin", "23-123")); + std::cout << osoba; +} diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad10.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad10.cpp new file mode 100644 index 0000000..7d372e8 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad10.cpp @@ -0,0 +1,92 @@ +#include +#include +#include +#include + +class Autor { + +public: + std::string imie, nazwisko; + Autor(std::string imie, std::string nazwisko) + : imie(imie), nazwisko(nazwisko) {} + Autor() {} +}; + +class Ksiazka { +public: + std::string tytul, rok; + Autor autor; + Ksiazka(std::string tytul, std::string rok, Autor autor) + : tytul(tytul), rok(rok), autor(autor) {} + Ksiazka() {} + friend std::ostream &operator<<(std::ostream &os, Ksiazka k) { + os << "Tytuł: " << k.tytul << "\nRok wydania: " << k.rok + << "\nAutor: " << k.autor.imie << ' ' << k.autor.nazwisko; + return os; + } +}; + +class Biblioteka { + Ksiazka *ksiazki; + int aktualna_ksiazka = 0; + +public: + Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {} + + void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; } + + Ksiazka *szukajPoTytule(std::string tytul) { + for (int i = 0; i < aktualna_ksiazka; i++) { + if (ksiazki[i].tytul == tytul) { + return &ksiazki[i]; + } + } + return nullptr; + } + + void wypiszWszystkie() { + for (int i = 0; i < aktualna_ksiazka; i++) { + std::cout << ksiazki[i]; + } + } +}; + +class Osoba { + std::string imie; + +public: + Osoba(std::string imie) : imie(imie) {} +}; + +class Czytelnik : Osoba { // dziedziczenie + Ksiazka *ksiazki; // agregacja + const int max_ilosc; + int aktualna_ilosc_ksiazek = 0; + +public: + Czytelnik(std::string imie, size_t max_ilosc) + : Osoba(imie), max_ilosc(max_ilosc), ksiazki(new Ksiazka[max_ilosc]) {} + void wypozycz(Ksiazka ksiazka) { + if (aktualna_ilosc_ksiazek < max_ilosc) { + ksiazki[aktualna_ilosc_ksiazek++] = ksiazka; + } + } + void wypiszWszystkie() { + for (int i = 0; i < aktualna_ilosc_ksiazek; i++) { + std::cout << ksiazki[i]; + } + } +}; + +int main() { + Biblioteka b = Biblioteka(12); + Ksiazka k1 = + Ksiazka("Ogniem i Mieczem", "1920", Autor("Henryk", "Sienkiewicz")); + b.dodajKsiazke(k1); + std::cout << "Książki biblioteki: "<< std::endl; + b.wypiszWszystkie(); + Czytelnik czytelnik = Czytelnik("Bogdan", 8); + std::cout << "Książki czytelnika: "<< std::endl; + czytelnik.wypozycz(k1); + czytelnik.wypiszWszystkie(); +} diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad2.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad2.cpp new file mode 100644 index 0000000..0066c1f --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad2.cpp @@ -0,0 +1,48 @@ +#include +#include +#include + +struct Student { + std::string imie; + std::string numerIndexu; + Student(std::string imie, std::string numerIndexu) + : imie(imie), numerIndexu(numerIndexu) {} + Student() {} +}; + +class Kurs { + const int max_student = 30; + int current_student = 0; + Student *studenci; + +public: + Kurs() : studenci(new Student[max_student]) {} + void zapiszStudenta(Student student) { + if (current_student >= max_student) { + throw std::range_error("You can't add more students!"); + } + studenci[current_student++] = student; + } + + void wypiszStudentów() { + for (int i = 0; i < current_student; i++) { + std::cout << "=== Student ===\n"; + std::cout << "- Imię : " << studenci[i].imie << '\n'; + std::cout << "- Numer indeksu : " << studenci[i].numerIndexu << std::endl; + } + } +}; + +int main() { + Student bogdan = Student("Bogdan", "23894"); + Student stanislaw = Student("Stanisław", "238947"); + Kurs matematyka = Kurs(); + Kurs programowanie = Kurs(); + matematyka.zapiszStudenta(bogdan); + matematyka.zapiszStudenta(stanislaw); + programowanie.zapiszStudenta(bogdan); + std::cout << "\nKurs matematyki:\n" << std::endl; + matematyka.wypiszStudentów(); + std::cout << "\nKurs programowania:\n" << std::endl; + programowanie.wypiszStudentów(); +} diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad3.md b/uczelnia/2_semestr/programowanie/laby/lab9/zad3.md new file mode 100644 index 0000000..a0a5918 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad3.md @@ -0,0 +1,7 @@ +|Para klas|Twoja odpowiedź| +|---|---| +|Książka – rodział|Kompozycja – nie da się mieć rozdziału w oderwaniu od książki| +|Biblioteka – książka|Agregacja – biblioteka posiada książkę, ale może ją komuś przekazać| +|Samochód – pojazd|Dziedziczenie – samochód to typ pojazdu| +|Uniwersytet – Profesor|Agregacja – Profesor może wykładać na wielu różnych uczelniach| +|Komputer – procesor|Kompozycja – komputer i procesor są ze sobą ściśle powiązane| diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad4.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad4.cpp new file mode 100644 index 0000000..c23e6e3 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad4.cpp @@ -0,0 +1,39 @@ +#include +#include +#include + +class Ksztalt { +public: + std::string kolor = "czerwony"; + +public: + void opis() { std::cout << "Kolor tego kształtu to: " << kolor; } +}; + +class Kolo : public Ksztalt { + float r = 3; + float pole() { return M_PI * pow(r, 2); } + friend std::ostream &operator<<(std::ostream &os, Kolo kolo) { + os << "Koło o kolorze: " << kolo.kolor << " i promieniu " << kolo.r + << " oraz polu " << kolo.pole(); + return os; + } +}; + +class Prostokat : public Ksztalt { + float a = 2, b = 4; + float pole() { return a * b; } + friend std::ostream &operator<<(std::ostream &os, Prostokat prostokat) { + os << "Prostokąt o kolorze: " << prostokat.kolor + << " i bokach dlugości a = " << prostokat.a << ", b = " << prostokat.b + << " i polu " << prostokat.pole(); + return os; + } +}; + +int main() { + Prostokat p = Prostokat(); + std::cout << p << std::endl; + Kolo k = Kolo(); + std::cout << k << std::endl; +} diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad5.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad5.cpp new file mode 100644 index 0000000..30a45a3 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad5.cpp @@ -0,0 +1,20 @@ +#include + +class A { +public: + A() { std::cout << "A "; } + ~A() { std::cout << "~A "; } +}; + +class B : public A { +public: + B() { std::cout << "B "; } + ~B() { std::cout << "~B "; } +}; + +class C : public B { +public: + C() { std::cout << "C "; } + ~C() { std::cout << "~C "; } +}; +int main() { C obj; } // A B C ~C ~B ~A diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad6.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad6.cpp new file mode 100644 index 0000000..75b9a9b --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad6.cpp @@ -0,0 +1,27 @@ +#include +#include + +class Konto { + float saldo = 2000; + +protected: + std::string numerKonta; + float getSaldo() { return saldo; } +}; + +class KontoOszczednosciowe : public Konto { + int oprocentowanie = 12; + +public: + // float naliczOdsetki() { + // return oprocentowanie * saldo; // nie możemy tego wykonać, ponieważ + // saldo jest polem prywatnym + // } + + float naliczOdsetki() { return oprocentowanie * getSaldo(); } +}; + +int main() { + KontoOszczednosciowe k = KontoOszczednosciowe(); + std::cout << k.naliczOdsetki(); +} diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad7.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad7.cpp new file mode 100644 index 0000000..f309765 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad7.cpp @@ -0,0 +1,16 @@ +#include +class Wektor3d { + int x, y, z; + +public: + Wektor3d(int x, int y, int z) : x(x), y(y), z(z) {} + friend int iloczynSkalarny(const Wektor3d &w1, const Wektor3d &w2) { + return w1.x * w2.x + w1.y * w2.y + w1.z * w2.z; + } +}; + +int main() { + Wektor3d w1(1, 2, 3); + Wektor3d w2(3, 4, 5); + std::cout << iloczynSkalarny(w1, w2); +} diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad8.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad8.cpp new file mode 100644 index 0000000..d491386 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad8.cpp @@ -0,0 +1,20 @@ +#include + +class Bazowa { +protected: + int x; + +public: + Bazowa(int x) : x(x) {} +}; + +class Pochodna : public Bazowa { +public: + Pochodna(int val) : Bazowa(val) {} + void wypisz() { std::cout << x << std::endl; } +}; + +int main() { + Pochodna p = Pochodna(1); + p.wypisz(); +} diff --git a/uczelnia/2_semestr/programowanie/laby/lab9/zad9.cpp b/uczelnia/2_semestr/programowanie/laby/lab9/zad9.cpp new file mode 100644 index 0000000..f1d4ff7 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab9/zad9.cpp @@ -0,0 +1,69 @@ +#include +#include +#include +#include + +class Autor { + +public: + std::string imie, nazwisko; + Autor(std::string imie, std::string nazwisko) + : imie(imie), nazwisko(nazwisko) {} + Autor() {} +}; + +class Ksiazka { +public: + std::string tytul, rok; + Autor autor; + Ksiazka(std::string tytul, std::string rok, Autor autor) + : tytul(tytul), rok(rok), autor(autor) {} + Ksiazka() {} + friend std::ostream &operator<<(std::ostream &os, Ksiazka k) { + os << "Tytuł: " << k.tytul << "\nRok wydania: " << k.rok + << "\nAutor: " << k.autor.imie << ' ' << k.autor.nazwisko; + return os; + } +}; + +class Biblioteka { + Ksiazka *ksiazki; + int aktualna_ksiazka = 0; + +public: + Biblioteka(size_t size) : ksiazki(new Ksiazka[size]) {} + + void dodajKsiazke(Ksiazka k) { ksiazki[aktualna_ksiazka++] = k; } + + Ksiazka *szukajPoTytule(std::string tytul) { + for (int i = 0; i < aktualna_ksiazka; i++) { + if (ksiazki[i].tytul == tytul) { + return &ksiazki[i]; + } + } + return nullptr; + } + + void wypiszWszystkie() { + for (int i = 0; i < aktualna_ksiazka; i++) { + std::cout << ksiazki[i]; + } + } +}; + +int main() { + Biblioteka b = Biblioteka(10); + Ksiazka k1 = + Ksiazka("Miecz przeznaczenia", "1920", Autor("Andrzej", "Sapkowski")); + Ksiazka k2 = Ksiazka("Dziki gon", "1800", Autor("Andrzej", "Sapkowski")); + + b.dodajKsiazke(k1); + b.dodajKsiazke(k2); + Ksiazka *znalezionaKsiazka = b.szukajPoTytule("Miecz przeznaczenia"); + if (!znalezionaKsiazka) { + return 1; + } + std::cout << "Znaleziona książka to: " << *znalezionaKsiazka << std::endl; + std::cout << "=== Wszystkie książki ===" << std::endl; + b.wypiszWszystkie(); +}