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 # 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. 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();
}