This commit is contained in:
2026-05-05 15:27:55 +02:00
parent 1a8ba1c2bf
commit 6270be5805
13 changed files with 494 additions and 0 deletions

View File

@@ -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$

View File

@@ -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)

View File

@@ -0,0 +1,33 @@
#include <iostream>
#include <ostream>
#include <string>
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;
}

View File

@@ -0,0 +1,92 @@
#include <cstddef>
#include <iostream>
#include <ostream>
#include <string>
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();
}

View File

@@ -0,0 +1,48 @@
#include <iostream>
#include <stdexcept>
#include <string>
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();
}

View File

@@ -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|

View File

@@ -0,0 +1,39 @@
#include <cmath>
#include <iostream>
#include <string>
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;
}

View File

@@ -0,0 +1,20 @@
#include <iostream>
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

View File

@@ -0,0 +1,27 @@
#include <iostream>
#include <string>
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();
}

View File

@@ -0,0 +1,16 @@
#include <iostream>
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);
}

View File

@@ -0,0 +1,20 @@
#include <iostream>
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();
}

View File

@@ -0,0 +1,69 @@
#include <cstddef>
#include <iostream>
#include <ostream>
#include <string>
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();
}