From 119c8ca85d03e6ae3ee3e86ab5723551345ccfe7 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 3 Mar 2026 19:54:28 +0100 Subject: [PATCH] rzeczy --- .gitignore | 5 + .../matematyka_stosowana/laby/lab_1.R | 97 +++++++++++++++++++ .../programowanie/laby/lab1/main.cpp | 21 ++++ .../techniki_cyfrowe/Algebra boola.md | 32 ++++++ .../techniki_cyfrowe/Technika cyfrowa.md | 1 + 5 files changed, 156 insertions(+) create mode 100644 uczelnia/2_semestr/matematyka_stosowana/laby/lab_1.R create mode 100644 uczelnia/2_semestr/programowanie/laby/lab1/main.cpp create mode 100644 uczelnia/2_semestr/techniki_cyfrowe/Algebra boola.md create mode 100644 uczelnia/2_semestr/techniki_cyfrowe/Technika cyfrowa.md diff --git a/.gitignore b/.gitignore index ccc405c..a9aee60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ .syncthing .obsidian +.trash +.idea +*.out +.Rhistory main + diff --git a/uczelnia/2_semestr/matematyka_stosowana/laby/lab_1.R b/uczelnia/2_semestr/matematyka_stosowana/laby/lab_1.R new file mode 100644 index 0000000..160a07d --- /dev/null +++ b/uczelnia/2_semestr/matematyka_stosowana/laby/lab_1.R @@ -0,0 +1,97 @@ +# zad 1 + +# a) +(2 * 3^3)/(sin(pi/6)) + log(2401,7) # 112 + +# b) +abs(-9 + 5^-3) + (2^(1/3))^(1/5) # 10.03929 + +# c) +2^(1/3) * log((3^5 + 5^2 - 12),2) + (3 + (7^(4/3)))^(1/5) # 10.03929 + +# zad 2 + +a = c(1,-10,12,3,2,1,-8,4,5) +A = matrix(a, 3, 3) +b = c(1,3,-1,2,1,5) +B = matrix(b,3, 2) + +# a) +det(A) # 572 + +# b) +solve(A) + +#[,1] [,2] [,3] +#[1,] 0.01048951 -0.04020979 0.04895105 +#[2,] 0.17132867 0.17657343 0.13286713 +#[3,] -0.05944056 0.06118881 0.05594406 + + +# c) +t(A) + +#[,1] [,2] [,3] +#[1,] 1 -10 12 +#[2,] 3 2 1 +#[3,] -8 4 5 + +# d) + +A%*%B +# [,1] [,2] [,3] +#[1,] 1 -10 12 +#[2,] 3 2 1 +#[3,] -8 4 5 + + +A%*%t(A) +#[,1] [,2] [,3] +#[1,] 74 -36 -25 +#[2,] -36 120 -98 +#[3,] -25 -98 170 + +A%*%A +#[,1] [,2] [,3] +#[1,] -125 1 -36 +#[2,] 18 -22 108 +#[3,] 62 43 -67 + +# e) +A[1,] * B[,2] +# [1] 2 3 -40 + +# zad 3 na kolokwium + +c = c(1,2,5,-2,1,2,5,-3,-1,0,2,1,-2,3,5,2) +C = matrix(c, 4, 4) +D = c(-7,21,40,2) +solve(C,D) +# [1] 1 2 0 5 +solve(C)[2,3] +# [1] -0.1578947 + +# zad 4 na kolokwium +w = (1:100)^2 +summary.factor(w%%10) +# 0 1 4 5 6 9 +# 10 20 20 10 20 20 +summary.factor(w%%2 == 0) +# FALSE TRUE +# 50 50 +summary.factor(w%%3 == 0) +# FALSE TRUE +# 67 33 + +summary.factor(w%%3 == 0 & w%%2 == 0) +# FALSE TRUE +# 84 16 + +# zad 5 na kolokwium +w = seq(21,29903, by=7)^3 +summary.factor(w %% 100 == 23) +#FALSE TRUE +# 4226 43 + +# zad 6 + diff --git a/uczelnia/2_semestr/programowanie/laby/lab1/main.cpp b/uczelnia/2_semestr/programowanie/laby/lab1/main.cpp new file mode 100644 index 0000000..ac68c37 --- /dev/null +++ b/uczelnia/2_semestr/programowanie/laby/lab1/main.cpp @@ -0,0 +1,21 @@ +#include +#include + +class Klasa { +public: + std::string tekst; + + Klasa(std::string &str) { + tekst = str; + std::cout << "Tekst który podałeś przy tworzeniu klasy to: " << str << + std::endl; + } + + void wyswietl_tekst() { std::cout << "Tekst to: " << tekst << std::endl; } +}; + +int main() { + std::string tekst = "abc"; + Klasa k(tekst); + k.wyswietl_tekst(); +} diff --git a/uczelnia/2_semestr/techniki_cyfrowe/Algebra boola.md b/uczelnia/2_semestr/techniki_cyfrowe/Algebra boola.md new file mode 100644 index 0000000..29e5e80 --- /dev/null +++ b/uczelnia/2_semestr/techniki_cyfrowe/Algebra boola.md @@ -0,0 +1,32 @@ +- Rozdzielność, czyli: $$ a(b+c) = (a*b) + (a*c) $$ +To się sprawdza jakąś tam tabelką. + +Na podstawie tablicy prawdy chcemy automatycznie stworzyć matematyczny wzór. + +$2^{\text Liczba \space \text argumentów}$ = ilość elementów w tablicy prawdy +# Transformacje +- Tablica prawda → wyrażenia algebraiczne +- Tablica prawdy → schemat logiczny +- Wyrażenia algebraiczne → schemat logiczny +- Wyrażenia algebraiczne → tablica prawdy +- Wyrażenia algebraiczne → inna postać wyrażenia algebraicznego +- ... + +Przekształcanie służy redukcji liczby bramek i/lub liczby wejść + +W technice cyfrowej nie chodzi o robienie bramek tylko o automatyzacje tego. + +Nie będziemy się zajmowali współczesnymi algorytmami, bo ideą przedmiotu jest pokazanie zasad, a nie rozpatrywanie, badanie algorytmów, bo nie to jest naszym celem na informatyce. + +# Mintermy +Mintermy to negacja wybranych literek +np: +zmienne a b c +0 0 0 +term a' b' c' +1 1 1 +oznaczamy to jako $m_{0}$ +# Maxtermy +Oznaczamy wielką literą +Indeks znaczy to samo +Różni się tym, że tu term jest sumą a nie iloczynem. diff --git a/uczelnia/2_semestr/techniki_cyfrowe/Technika cyfrowa.md b/uczelnia/2_semestr/techniki_cyfrowe/Technika cyfrowa.md new file mode 100644 index 0000000..0bdd9fe --- /dev/null +++ b/uczelnia/2_semestr/techniki_cyfrowe/Technika cyfrowa.md @@ -0,0 +1 @@ +[[Algebra boola]] \ No newline at end of file