From 6767893b16ecdc9ad02c121e4ac204a67bcc8131 Mon Sep 17 00:00:00 2001 From: Filip Znachor Date: Wed, 22 Nov 2023 11:00:14 +0100 Subject: [PATCH] =?UTF-8?q?P=C5=99id=C3=A1n=C3=AD=2010.=20cvi=C4=8Den?= =?UTF-8?q?=C3=AD=20z=20TI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KIV TI/Cvičení/Cviceni10.excalidraw.svg | 5 + KIV TI/Cvičení/Cviceni10.md | 238 ++++++++++++++++++++++++ 2 files changed, 243 insertions(+) create mode 100644 KIV TI/Cvičení/Cviceni10.excalidraw.svg create mode 100644 KIV TI/Cvičení/Cviceni10.md diff --git a/KIV TI/Cvičení/Cviceni10.excalidraw.svg b/KIV TI/Cvičení/Cviceni10.excalidraw.svg new file mode 100644 index 0000000..bbec37a --- /dev/null +++ b/KIV TI/Cvičení/Cviceni10.excalidraw.svg @@ -0,0 +1,5 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1d21JcdTAwMWK7tn3PV6SyX5e1JU1dd9V5IFxcXHUwMDAyZFx1MDAxMVx1MDAwMmRBwqldKYNccjhcdTAwMThcdTAwMWJsXHUwMDEzLqvyIfvxfMup819nylx1MDAwMSzJbqvbxqZcdTAwMTPwWmWc7pZaLY15kTTn6L9fvX79pndzXn/zr9dv6teH1Waj1qlevfnDXHUwMDFk/17vdFx1MDAxYu1cdTAwMTae4v1/d9uXncP+ldXz83/985/tg26j1qi2yFntZ4F6s35Wb/W6eMl/479fv/67/+3dole/7vWv7Vx1MDAxZlx1MDAxZNyAyfjgh3arfy8pmFx1MDAwNWuAPVxc0Ogu4Y169Vx1MDAxYZ49qja79cFcdTAwMTl36E3rbOF4f6HVXHUwMDFj3Oeo0Wzu9G6a/SacVFx1MDAwZk8uO/XB2W6v0z6t7zVqvVx1MDAxM9eS6PhDuW5cdTAwMWL7ZlCq0748PmnVu92gTPu8etjo3bhjlD5cdTAwMWOtto77dVxmjlxc478qzMDDXHUwMDAxV6TCjSBWK6m4jFqx2G62O65cdTAwMTX/YHX336BcdTAwMWRcdTAwMDfVw9NjbEyr9nBNr1Ntdc+rXHUwMDFkXHUwMDFjisF1V3fPJ1x1MDAxOZFgrdCSxrc6qTeOT3puuL3b1/v9zKRcdTAwMTCcXHRlXHUwMDA2j+puer5W61x1MDAwZva/XHUwMDA3Xd2pntXXXFyR1mWz6fdWq3bXW8GJXHUwMDAzd2LZw82gqsvzWvXnKDNNqVx1MDAxMthcdTAwMDStqHo432y0TuPqmu3D01x1MDAxMcA4ard6O41bN1x1MDAwNpxcdTAwMDZHV6pnjeZNMIZ9jGI3fvy//5DX3Fx1MDAxYvHq1aeMU67IQrNx7KD8plk/XG4x3mugXFw9nO61z1x1MDAwN2dcdTAwMGaxXHTVRqveXHUwMDE57rJ2p3HcaFWbWffEx6+v3o9cdTAwMTgj3phcdTAwMWRUu3V31lx1MDAxZDf9gz/+XHUwMDE4LY71ZrNx3q2PkkgwWVx1MDAxMsmEtlxcSctcdTAwMDboTYnk9/anJr+sX5x11J9cdTAwMWI7lyf1dmXH/lx1MDAwMvIpQvlkSifls06BXHUwMDAxXHUwMDFiK5//ODo6tId2WDbVoFx1MDAwMVx1MDAwZrIoXHUwMDA3vXwvi1x1MDAwMKCNtGJwZmJZvEfEXHUwMDAwXHUwMDEz/O7Ij/mI6KTw1JBcdE/DQFoqeH54bl41Vlx1MDAwZVx1MDAxNs42XHUwMDE2K+8vrpc/2GXxcav05oNcdFx1MDAxZaFTM1winlx1MDAxZZ2UXHUwMDFhKSRcdTAwMTePYCl+WXRanYlOJTlYXUR5bi3Zi9byydJcdN3b3dnerH64OKetsqOzwiiL4UmT8JzWuclcdFGB+JTKeFxyeX5cdTAwMTA12Vx1MDAxMKWKUypcdTAwMDTVuSG6+H1bb3f0af3o1CzD0ipll1x1MDAxN99KXHUwMDBmUVx1MDAwZaVFKLPGXHUwMDE4LVhZXHUwMDExqueAUMZEJkRcdTAwMDU4XHUwMDAxNsbmhuif+zeru1x1MDAxN9dXl+364tH3dvcjfDirl1x1MDAxZKLSxFxiTZv4+SBU42yQXG5Fy2rlXHUwMDFmXHKgR1x1MDAxZHzg+yWRIYSqTIRabIqyrICdl1x1MDAwYt9uxeJcdTAwMTVb3vtyW4d3S5/P/zpoT4ZQSmJ8zFx1MDAxMKM6wqilM1/EwJFcdTAwMWVcdTAwMDYp4ypGqbVKopmXT7hqoZTW3IpcdTAwMDJwfDh83m74i2nuM/j1ejBcZv1/PPz+91x1MDAxZiOvrjD/clbscp68nPuXQ7HLZfJyXHUwMDExtD3deFx1MDAxNTQ+3Tc6uD7dXHUwMDFlXHUwMDFiPG36elx1MDAxNoyVyDFYYVx1MDAwMVuwgEyPgPGvV+lcdTAwMDFcdTAwMGW6SFx1MDAxNVx1MDAxYzItiuHNJHsoXHUwMDAwkEk+blx1MDAwMFxio1KXs6B6m6yeh9cnh4tcdTAwMDe9z2iy+8GGXHUwMDA1kk8gVFhAJ3so1Fx1MDAwZjT5XGbKXHUwMDE0LGB4wSZZVvChXHUwMDE5lWGJ5MAxXHUwMDE2NSqpW1g01jmwXHUwMDE0iI5Nilx1MDAwMoPgKYxJXHUwMDE2XHUwMDEwYYGk8DBcdTAwMTHAKS2dTFx1MDAwNndQ6X6VwUPL9DOoUOMlwVx1MDAxMVx1MDAxN0g3KSxcdTAwMDBJmWMy6CWeXHUwMDFlaVx1MDAxOVxuXfpcdTAwMTkkXHLRl1x1MDAxZbjgXHUwMDBl6Vx1MDAxNoV6I10/XHUwMDA0aruS7lRcdTAwMWVcdTAwMTZIjzNcctRGhaWxRyEskbQ9NmxTelx1MDAxY4wpWEBcdTAwMTcuIFx1MDAwYlx1MDAxNlBFXHUwMDFmOoRSJe0kXHQoNnJcdTAwMTBAr5JsUKj2Ksn28FB3Jy9cdTAwMGZcdTAwMWSeJIqCXHUwMDExy6FdXHUwMDAynT3x5a+iYm+a1W5vsX121ujhJOGjc/DjyUC3cXbZxCnEx1x1MDAwZU483Fx1MDAxY29oWnB3XCKcXHUwMDE5eN3x8vPlZ+l+3ktC/2/WYktWeFxiZIaHoMdmOWgl8y9WXHUwMDFmXrbX61x1MDAxN5dQ9sW/ysBo3K2ssNmvrEhcIpi11jBlrJDAcoaHaMo5lVxcP3l4SJF1v0GrJlx0XHUwMDBm8XZRvchcdTAwMTDv6DyCQrzbPUY8SJb88czddq2pVFx1MDAxMlR+8Ts93Fr5cLRxUXrxi/cvXHUwMDE5m/26piBcdTAwMWNQ/ChcdTAwMDdcdTAwMDE6l+hJXHUwMDE0UmY4PCPJXHUwMDFiXHUwMDFkkzXncKxHjsTKkryBWz9k+bDbqdDU5lx1MDAxN73N9f1ldb2/UHbRM4OF/DvRg7JcdTAwMWE+KdFcdTAwMDPRij9CLNavXCJ+v6Ph6181yvDZ+KDneFJcctp4XHUwMDExsSnxu7a9L93ubWupufB2/WTzuFGvyF8gXG5yaIOP8ZlL4yC0bbC95+01P7idILSUXHUwMDA2ylx1MDAxYVx0OZFQdnvVTu9to1VrtI7jXCL1Vi3jTI6FXHUwMDA1V+9Cp9O+OqlXh/pcdTAwMDJrzjz3uFx1MDAxYpHZK+6v/L9FRVx1MDAxNTJFVVx0zaUwkD9Y5Lha/7ojPn+5vlpZq24s73xdr/V2yi6pKFxyKJdUS0Wt1Vxc0zi8iVnCLZVWWHRcdTAwMWFcdTAwMThcdTAwMWZs4DyV+FxuXHUwMDAwha6rp2RfxPe5iq9nRyPx5VQojlx1MDAxZjUwNyn5rZuD87Xby9WNze2bq7XdT3ud629cdTAwMWbLLr/Dllx1MDAxNmZvaGGwTO+Fe1xyXHUwMDFiWum8XFypXiT115FUiHZgvD2SXFySmrlcdTAwMTibXHUwMDFkOWxcdTAwMDCFVfuWJyWp26fmbfPs/Fx1MDAxN4hnj+akPJ1cbjStbGpKuLaWc2EkSG93edyMVFDKOEg9XHUwMDE4pN9+Qlqjr//rtVx1MDAxODkrjU/NY2pcdTAwMWHfc5bLQ9lJemBcctpNo/OL4vFK09T3V1x1MDAxN8sviibcXHUwMDE4sYbEXHUwMDBipo++OkSJZdaCZi73ztJcXKLIlFx1MDAwMGaElU++OGR8MM4+aVx1MDAxNkbKYnxqbkmz8Liy2KlcdTAwMWb2flwic4RAqmzj2IdcdTAwMGVcIij/NHRjd6VT+7omm23efKeU3D7ZWil/Wlxys+HE06XVzFo+1YjVWm8o7lx1MDAwNdJcbma5kYMwwcd0Y++Dpca4sVx1MDAwZmVcdTAwMDals5S8XHUwMDA3g/Xd2/NGbevszcOpXHUwMDFm91x1MDAwZVxcptxranBmXSTsfFwi+zNme8JcdTAwMDDDSZvm+bcnXHUwMDFlnrP0XGJXhlxiZdFcdTAwMWW4LHhcdTAwMWFtVzDLZo53JolcdTAwMDVrjWaGK4bfZlx1MDAxOP/DXHUwMDA2iVNcdTAwMDVWXHUwMDAwmEfA/6RcdTAwMDapODCnM0j7I23RfoZcdTAwMTk6xFx1MDAwN6h3xlx1MDAxOKKzRq3ma/7QXHUwMDE2pTR2bJ7252iZdHY2XHUwMDFk5YZcdTAwMTnrZ1x1MDAxYqZE9WtzS99sn/757cxcdTAwMWW+++vghKnjnii73DLBSOg5MmWJLIdpQsFcdTAwMTA4m1x1MDAxNDNZYZmZadp82zveXap9L6NpXHUwMDFhMzfCXHUwMDExV5Tq/Ft3XHUwMDBmz1l2iCtNwFJ8NspcdTAwMWNcdTAwMDeGXHJXXHUwMDE0XW7erPHOgHCcKlx1MDAxOWlcdTAwMTVaQkHViM2AXHUwMDExcyVKhWZK2SdcXLeYt2n6ONI0fZyRaUqo7KGZ03w22P1toUhMXHUwMDA1XGJUh5Lll9KN61r94qh7c/V17dPpXnf5+87pRumtUoXxMMub09n7j/7m30Aqh4RSSkE5XHUwMDBlUfloXGKmkNXffNmfh4l5XprTK/9vYUHNXHUwMDBlhZFM9Yckv6CuXS3uftna25NvP6hcdTAwMWRtT1x1MDAxON0wl7+CoFx1MDAxMs00N5Zp9O11LLaGUIPTQsQnt5ZTXHUwMDFltWzG0ju0vS5AXHUwMDFhyrkqX3DMi/DmXHUwMDE03qKb65m+cPaqpLSCXHUwMDFhplxuXHUwMDA0x6x1ajeX9ZXT0ssrXGb+3Vx1MDAxN1AuZr9PwPphpI7ji6OCyFx1MDAxOUXKqdL9zYVHmPz9Ks7v+2rrf/+nOdJcdTAwMDOOT81joyC+5yw37SyPXHUwMDBmXHUwMDBlZqY4ZeNam/y7divQOrObizell0ZmdLT6XHUwMDAyXHUwMDEy5rFxR621QlJlQNqcSVx1MDAxNcBx8sH0U/LGaIqN9XZv57JxN3pcdTAwMTM9PjW3jbtH3kRcdTAwMWbLNZbNJyo1KK20yC+Tuyvb663tqj662V9cdTAwMTHvXHUwMDBl9nj35mzpXHUwMDE3XHUwMDEwUFx1MDAxM1x0qMixczd7RlFFXHJcdTAwMTWMQ/liz4rL6KT45Fwi22ZohXqNXHUwMDE2mX5dtL/Bbvf45v1cdTAwMTFb6yxurS0uflVfyo5PsHZcYp4suZo5e3i6XHUwMDFkQKu4eISFy19cdTAwMTaeOCnOVp/GUipM/m1gs1s1n/Uqbd5s0Gu2d7Z9+uniuuzorDAqY3gqPfvNpVxcXHUwMDEwZVK65Vx1MDAxOfWsVShT2Vx1MDAxOKWaXHUwMDBiSyXk31x1MDAwMFx1MDAxNVx1MDAxZk5uby8/8YVv3W+n+7b1Xq3flj6v0lx1MDAwNa2WXHUwMDE3o1x1MDAxNCTDKXNcdTAwMTnXmudm5k12oj3DNjAj8uvRT29cdTAwMTc63cvjLf61Ul3dbW/8eV17v1J2iFx1MDAwMlx1MDAxYlKjOaz8fCBqmFx1MDAxNkI8XHUwMDAzSz+O81x1MDAxNqfFmWrUYv9cdTAwMTh0R/Or0avG+lp39Uv33L5jy1+WYVx1MDAwZl3ZXHUwMDBmk2F0npy3fFiRSj6HTTs7XGZTXHUwMDA2Q7EkXHUwMDFjNSmVjNlfc/lcIrGgLonhILlcdTAwMTVcZmc+eJ9BfI37MFwiXGZOXHUwMDE2lb3/TtL8XHTC76uSblx0NOSOJVIzwc3D91S1XHUwMDAxUdJooOz+O0ngx11cdO95Q1x1MDAxZUZBtFA4wXn4nq46RayLXHUwMDEwXHUwMDE099+p2ioocjSoL+TpXHUwMDA1XCKCT5qUXHUwMDE2O0j7NYZcdTAwMDSMQLjXd5onKesqknBcdTAwMGYp0oT1XHUwMDE5ooJPmqTWXHUwMDEw4Y2tXGZcdTAwMTj0wLpcdTAwMTdrubdK3H0na4tIfvvv/nJRO3ffXHUwMDA1y0tEg188XHSGuLwlzP8kiytifDlcZtkylSHG74w0g/HYsdKcsEB0psSmYcRcdTAwMDbYnEqujVx1MDAwYlx1MDAwN/aeNdn1htigaSFDLCM6wHmqNnSZIIBlyFCLuPLkOs3bKIjxnzRkcmVcdTAwMTR1SFx1MDAxMZUjKFGBulx1MDAwZXVcdTAwMDRF1HnamiWlRlIs4MHEhOqfcVx1MDAwMsb7pGmM0ZJcdTAwMDftXHUwMDBiq1M4XHUwMDE2hrpccr2f36nqNCqVTJzgXHTiw8Skh1x1MDAxNrtcdTAwMWKEr1x1MDAxM4P60tTmjjpH+EjjRStcdTAwMDB0yD00RNTVxZ9IWMSXX+F0XHUwMDFk7l6JYf1cdTAwMGWK6lx1MDAwM1wiXG5pVWaAUL/HIayPkUA209SgXHUwMDE2NWF2+yi6M0pSbeHnd7J9KMNE+7ojkic0oZ5ccmBpKnJm0Ux7kFxyqUw1YYGNTFaHcOHe4NrpXHUwMDE0JXch25nSXliLc8lcYvU1b8iCb4n1ncd036HN5Vm6Q1x0XCJcdTAwMDPopWtcdTAwMGJMXHUwMDFlTihCZ7FgeWFcYvclqej9QVx1MDAxMa79T7q8XHUwMDBl3aNgrLgluph/hD1cdTAwMWK6g1x1MDAwMdBxrHwkpVsngGT6bs5qXHUwMDA0jn5cdTAwMGWco/vjq4lcdTAwMDCXhFx1MDAwZSRcdTAwMWG/00PHJdH+o4Zmo/Cchju17Hs/XHUwMDExXzXR0SetdXB6m2kmK5rwYJaU9jKwXHUwMDE2XHUwMDE3S5cxXHUwMDFlXHUwMDE1VNuhXHUwMDE5yMHYjHrW9/hinvHITuXwqlCAVdZcdTAwMTDnoPBmQlx1MDAxMpqF3zzlUWR4pu3PVYEgsmhcdTAwMTm3jeE7MHrKbnSvNFx1MDAwZTznsD5cdTAwMWGZ56SW0oBcdTAwMDbT61x1MDAxNTklXHUwMDEwXHUwMDE1R3PqT4mD+oBcZiDovtNcdTAwMWSIaldmXHUwMDBlXHUwMDFhJYFcdTAwMDa0Kq23XHUwMDEwRJA5VSi8PFx1MDAwMaiiM52RovN/XHUwMDEw6Fx1MDAwYmVJnCU07LpkbYwwXHUwMDFmKFwicuSIP03A79nV9yqq94W0/eXn8/x5L1x0/b9Fw1x1MDAxY9lgfWmI0lx1MDAwYjROJEWBjYK9T8ufzY0ufVx1MDAwMl5Fx1EqkuvZRzlORl5rNP4nrHlCfpJ5hzn+juS1mXHGmVx1MDAxObCAs35OWVx1MDAwMdb29+vfd9/vvz0svfzF28eSq9mzMVx1MDAxNKdtd9xcdTAwMTiCXG5cdTAwMTDPSPaeXHUwMDEzbztn2czRglx1MDAxOSb94PJk9nnz5vxWsNWyXHUwMDBiXHUwMDFmonlI+mxZjVx1MDAxZrXGJeqpJ004fzF+s0ssz+Y74dRSwFx0Yf6I/pOLZrVcdTAwMDJHZkltb56vb8rvi3t1U3ZxrDBcdTAwMTVcdTAwMTOeSC5nXHUwMDFmpjIsfqPIny1cdTAwMGVcdTAwMDBqwcdcYlJ58mgqry9/6/TUWZE/M5v5XCJ1Y5jV2qj8srr5ebvd2TqA1u171Vxc/rxa6e1cdTAwMWY3yy6rXHUwMDAyuFuZXHUwMDFikLfHclx1MDAwYlx1MDAwNGEpqETVxX1Wz7lI71xiaktsJ4hHee3Qi/Q+kfRcdTAwMTYlhM58SYpnuOOoZU41hVwi+axcdTAwMWKX65+X3l/ypU1oS750dHGyffK+7NI7wtIqOntLK81cYvL2UdRiXHUwMDE2r3yUcNBcdTAwMTdZnZOsekPrPt42US5RzV6TzfSK0SlmXHUwMDFjXHUwMDAxW+B9Yvv1XHUwMDAzda07vbKLp+VBiFD0Ylx1MDAxNOVWiFxm54rRcFx1MDAxYuvx01xmTH+diDsqac5MzpWifmBcdTAwMDDzo+rnP1FFY8G9N3TMhdFdj5ytxqfmxuiuXHUwMDFmd946LseCQ+bKLaeOKM+oXHUwMDAyr1x1MDAxZFs7/ry3slW/rdXWKzefXHUwMDE3lz9WKttcdTAwMTO+b2GeOVx1MDAxNlx1MDAxNWZDi+p432f/XHUwMDA2Tj2KWmlcdTAwMTBcdTAwMTT3wFx1MDAxMCFcdTAwMWTFoeZPmGKhlNZeVMojpljQMEhcdTAwMDA1UFx1MDAxMFx1MDAxNZF2NGlcdTAwMTgyXHUwMDFhx25NWT6dmMCIXG5yRKLItinLp4PPIYxtiqJUcsTWyyhcdTAwMDY7iD1KXHUwMDA37brYfJlcdTAwMTnVwtNcdTAwMGZgXFzci1x1MDAxZrdcdTAwMTP0X7p8lNqQbnBUIJ0uXHUwMDEwJS+kx1RcdTAwMTNcdTAwMWJi2i+v0phcdTAwMWHbpWpaTKRcdTAwMDOfXHUwMDEyQmHS3GJROFx1MDAxYlx1MDAwYmNcdTAwMTaTPaiIzk7QSKcyMVx1MDAxOFx1MDAxM0Fo09GgXHUwMDEwJnSEwUbpUF1cdTAwMWKGeYkwjJ2m08RYXHUwMDE47Fx1MDAxNKpERtOJXHUwMDEwJkqEXGLLJ1x1MDAwM8GUIFx1MDAxMMQzheWTPaBZXHUwMDE4TctcdTAwMGKWN4pApkrI0X4rQ/zYgv3HXFysYHZqXHUwMDA1TWdcbjBN9JhcdTAwMWVMamXH/8gzW5BcdTAwMGVmZ+Ay4jJcdTAwMDJKbVJcdTAwMDE4+vIgXHUwMDEyMFx1MDAxOEGTXGYyZpKTYFx1MDAwMEP5T2eCSEVEllx1MDAwMkzrL+ZcIi0zM1x1MDAwM1R6+FBcdTAwMDCyY5rT4fEsXGb2z5FcdFx1MDAxMlx1MDAxNcjRwtBMpkOMlVxu7GyYeprGk4LITVxiXHUwMDAwnX5A6chcdTAwMWayRTpdXHUwMDFlxqikdPNcdTAwMDXOuzNDjdN3XHUwMDE3lOjMXHUwMDAw8vRgXHUwMDAxXHUwMDFkXHUwMDEzvVpJw1x07ZnMXGaIZ2lxoCbM2ovCy5NcdTAwMGWFyytcblwiq8PyaX3Mw0y1opHihofxtVCwvLZcdTAwMDVcdTAwMGKgsIjsXHUwMDE0hHSHofpcdTAwMGLUZ1x1MDAxNE6fTu2WRGR3eFx1MDAxMjBgXGLLTidIp2Wa0HhB9PjJ8oqE3l+YXHUwMDAwkyzOQuNcdTAwMWIm96TTPey4XHUwMDE01bSm0oRnXHUwMDBlXTpcdTAwMDUvZ+lXUS0vcd8vP5/nz3tJ6P/NWsFcdTAwMWPHY+Qt9Vx1MDAwZe3nXHUwMDAzoONRYEfwbOH4+nLha23ly8eT1YWtzeraXHUwMDE5K31cdTAwMWO4vzP+k8VcYp1vXVx1MDAwNlx1MDAxNiPUgMxQY357LrjMPTCZXHUwMDE5bMIpXHUwMDE4XHUwMDE3k+RcclJcbp3vgO7tfdjcLj0gZbjrJcG5z6WLi1x1MDAxNlxiXHUwMDA1xeVTrqu/hEXPdndLjHlcdTAwMWKBpVZbVYQtdE80liudL5XtXHUwMDA1gFx1MDAxM/jytlM7PJ/w1Vx1MDAwNDPe3VwiVEph3dtHOXZcdTAwMDHTnoW42+9cdTAwMTJEMoXG0fGVS1xuocA6hrH+20dASTBCsVx1MDAxOUZwKo4zc6q1llxcS8W9oIGxvGNCoeyYx+DHKyPtWJ+D2ihtqGXGhsunhTP0gVx1MDAxOM1cdTAwMThOhtzLXHUwMDE3uaZ8Otqx8dVNwjtcdTAwMDbcusd0dIcgWTjbnIB3bFxcdVx1MDAxM/COITClcuxcbkxcYqNcIjKHSXjHXGZIKlxckINWwIVcYvfLJiFcdTAwMWVcdTAwMDOtuKFgldRcXEDQwMmIx/DGijKXuUVcclx1MDAwYqawz5B5zDJEXHUwMDAwolxcgGGKh1nsXHUwMDEzMI+NXHUwMDE5rEmYx8ahszBnzXjRnoB6TFjh0j5RgWONUzKPXHTULNaANlx1MDAwNmvVcXVFmceAWKq51k7BUs5cImbHosxj4NacrNJSo0Z2odNTMo85Zlx1MDAwN4VDIax7XHUwMDFihFxyyVx0JyBcdTAwMWWTXHUwMDA0IaxcdTAwMWT5XHUwMDE4VzLqulx0iMdcdTAwMTRcdTAwMDFqXHUwMDA1cJy9IO5UXHUwMDE4cVGYpstaXCKcSFCFXHUwMDE4RoelOO9cdTAwMTglOII4lMpYfJpouzRcdTAwMGbvXHUwMDE4glx1MDAxMUdccu0tejtCTs2kJiRqXdfXzr30gtl+VleYdkxp4lx1MDAxMljQ27GGXCIuXCKasMK0Y9pcdTAwMTCENVeAjdNcdTAwMWOdr7C+4rRjzlxugsK5lER7XHUwMDExR6BMQDvm6DTQ/WFcYm23XHJcdTAwMTexXHUwMDAyXHUwMDE2p1x1MDAxZHM9ZNGZMsDBmdxAc1x1MDAxNKZcdTAwMWTjTutzpq1kXHUwMDE0nYxQ5Vx1MDAxNmZcdTAwMWRcdTAwMDOJzrpmYFxcVqGKXHUwMDA2ozjrmHBEKcK9XHUwMDBmzFx1MDAxODlkr1xus45cdI2qRmNcdTAwMDMtyiVcYlx1MDAxOZKYXHUwMDE1p1x1MDAxZMty9t1nXHUwMDAyXHUwMDE2snHVTUBKNq66XHQ4yihiwUpwL03R8S7MXHUwMDA0XHUwMDFjZahVXGaOXHUwMDAwczpcdTAwMDB1b6SlXG6TlOFcdTAwMDNcdTAwMDX2NDRZXHUwMDEzsJTh41x1MDAwMlxi1Fx1MDAwNo4zXHUwMDEwwqiX4jRl+EBKXGIt0C6AVNPOgThqNVx1MDAwYkZcbjRcdTAwMTJoY4BHW6CFWcrQ2qNNRYuF6lx1MDAwMF3DcItrXCKSMoZqUqHsXG7K8Omm5yhcdTAwMTOo11x1MDAxMM6SKtRRJt7Dm4CjXGatLCpk0V8yk1JcdTAwMTXdxHUxJVRgNe7t80Bp4fJcdTAwMWOtKrdcZrW40px6aXq5K8BcdTAwMDZQia5cdTAwMTNOvFBBUl20XHUwMDAydFx1MDAwYlHn4/84g8PHMDBln1x1MDAxYZeIJ8C5rEbiVDVcdTAwMDJlccIyRpSDXHUwMDFiToDdU1I+JShcdTAwMTVFS6cpXHUwMDAweqCce5zw/fomICxz9DSo3bFcdTAwMDeNdau1fn2TXHUwMDEwlmFcdTAwMTNQ5zhcdTAwMWSLdp2pUGNcdTAwMTdf2UBcdTAwMTXv3oyJTr9wXHUwMDE2IDR2RVx1MDAxOctcdTAwMDAnc+5NOFx1MDAxYz1cdTAwMTlcdTAwMTn6bMVcdMsowdlcbqps1PxcdTAwMTTiXHUwMDE1oeJ8ZZNW9yqq9mXb+uXn8/x5L1x0/b9cdTAwMTNsW49JQ0fzz9FPgVwimaxAz7aW99+f0pXl2u6nk/3Ly1xyKPs2oVxuc27QVy7JtjXaXHUwMDFmrdEgl/Ft5vPZtoZsQlx1MDAxM+lSwlxu8Xnt/bV0+Hb1aKfseFx1MDAxY8SkPpDpzXzXXHUwMDFhXGK6dla7ZVx1MDAwZUBrXHUwMDBiIzLChjeu0VM0lIN9RnxeMHLjXHUwMDFh5rtxXHKPu3E9LqiJZVpcdTAwMDf0c3E+x1j+pMyDi+6OOJHc7CzQ269cdTAwMWZ7b1tcdTAwMDdcdTAwMDfVslx1MDAwYiNcdTAwMTODXHUwMDFluH8/cDmsXHUwMDAzToJBKEqfbVBcdTAwMTPPtlx1MDAwZdqltnNvYpdcdTAwMDSnbOzv3FxcrOyXXHUwMDFljyq2XHUwMDBlZvbWgVx1MDAxM+3Y5rS2XHUwMDFjJ8U5o5qAcrdcbv+MoppGv0p+zm+Rn/RcdTAwMDXyr+6m02+q5+c7PezHXHUwMDA3vYBcdTAwMDPXqN11xuDWb7436ldvR75a2n3evLpcdTAwMTNoJ0f9OfXfP179+H/v8av0In0= + + Př. 2121d0 = 4Př. 3ZPKanálPř. 4121d0 = 7234 \ No newline at end of file diff --git a/KIV TI/Cvičení/Cviceni10.md b/KIV TI/Cvičení/Cviceni10.md new file mode 100644 index 0000000..05a1163 --- /dev/null +++ b/KIV TI/Cvičení/Cviceni10.md @@ -0,0 +1,238 @@ +**Př. 1**: $\mathbb{Z}_{5}$ + +$$ +A = \begin{bmatrix} +1 & 4 & 1 & 1 & 1 \\ +2 & 4 & 0 & 0 & 1 \\ +0 & 2 & 1 & 1 & 1 +\end{bmatrix} +\begin{matrix} +\cdot \space 2 \\ +\cdot \space 1 \\ +\cdot \space 4 +\end{matrix} +$$ + +$$ +u = \begin{bmatrix} +2 & 1 & 4 +\end{bmatrix}^\text{T} +$$ + + +Získání vektoru $v$: +- násobíme matici $A$ vektorem $u$ + - $v = G^\text{T} \cdot u$ + - vynásobíme řádky a sečteme sloupce + +$$ +\begin{bmatrix} +2 & 3 & 2 & 2 & 2 \\ +2 & 4 & 0 & 0 & 1 \\ +0 & 3 & 4 & 4 & 4 +\end{bmatrix} +$$ +$$ +\begin{bmatrix} +4 & 0 & 1 & 1 & 2 +\end{bmatrix}^\text{T} +$$ + +Kontrolní matice: + +$$ +H_{A} = \begin{bmatrix} +1 & 2 & 0 & 1 & 0 \\ +1 & 2 & 1 & 0 & 0 +\end{bmatrix} +$$ + +$$ +H_{A} \cdot v = \begin{bmatrix} +0 & 0 +\end{bmatrix}^\text{T} +$$ + +Chybový vektor: + +$$ +e = \begin{bmatrix} +0 & 2 & 0 & 0 & 0 +\end{bmatrix} +$$ + +$$ +w = v + e = \begin{bmatrix} +4 & 2 & 1 & 1 & 2 +\end{bmatrix}^\text{T} +$$ + +Syndrom: +$$ +s = H \cdot w = \begin{bmatrix} +4 & 4 +\end{bmatrix}^\text{T} +$$ + +**Př. 2**: Navrhněte binární lineární kód, který umožní zakódovat šestiprvkové informační části tak, aby bylo možné **současně** opravovat jednoduché a detekovat dvojité chyby. + +Pozn.: Musíme vyjít od toho, jakou musí mít kód minimální Hammingovskou vzdálenost $d_{0}$. Potom si uvědomíme, jestli existují nějaké standardní kódy, které to splňují. Pokud neexistují, tak použijeme opakovací kód. + +Požadavky: +- jednoduchá chyba - opravit +- dvojitá chyba - detekovat + +Použitelné kódy: +- $d_{0} = 1 \dots$ _nedává smysl_ +- $d_{0} = 2 \dots$ parita +- $d_{0} = 3 \dots$ Hammingův kód (i zkrácený) +- $d_{0} = 4 \dots$ rozšířený Hammingův kód (i zkrácený) +- $d_{0} \geq 5 \dots$ opakovací kód + +$$ +e_{i} = \begin{bmatrix} +0 & \dots & 0 & 1 & 0 & \dots & 0 +\end{bmatrix}^\text{T} +$$ + +$$ +s = H \cdot w = H \cdot (v + e_{i}) = H \cdot v + H \cdot e_{i} = H \cdot e_{i} = H_{0,i} +$$ + +$$ +H = \left[\begin{array}{c:c} +-B^\text{T} & I_{n-k} +\end{array}\right] +$$ +- v matici $H$ jsou sloupce s více než jednou jedničkou + +$$ +G = \left[\begin{array}{c:c} +I_{k} & B +\end{array}\right] +$$ +- v $B$ alespoň dvě jedničky + +Opravování jednonásobných chyb: +- $k = 6$ (počet informačních prvků) +- počet syndromů $2^r \geq 1 + k+r$ + - 1 syndrom pro bezchybný přenos + - $k+r$ syndromů pro každý prvek + - $r = n-k$ + +Hledání $r$: +- $2^r \geq 1 + 6 + r$ +- $2^r \geq r + 7$ +- $r = 4$ + +$$ +G = \left[\begin{array}{cccccc:cccc|c} +1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 \\ +0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 \\ +0 & 0 & 1 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 1 \\ +0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 1 & 1 & 0 \\ +0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\ +0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 +\end{array}\right] \quad \begin{matrix} +3 \\ +5 \\ +6 \\ +7 \\ +9 \\ +10 +\end{matrix} +$$ + +Pozn.: Při vyplňování druhé části matice začínáme číslem 3 a nesmíme přidávat mocniny 2. Přidáme poslední sloupec, který je paritní, díky němuž můžeme detekovat dvojnásobné chyby. + +Vytvoříme **kontrolní matici**: + +$$ +H_{R} = \left[\begin{array}{cccccc:ccccc} +0 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ +0 & 1 & 1 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ +1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 0 \\ +1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 1 & 0 \\ +1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 1 +\end{array}\right] +$$ + +$$ +H = \left[\begin{array}{cccccc:cccc:c} +0 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ +0 & 1 & 1 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ +1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 0 \\ +1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 1 & 0 \\ +1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 +\end{array}\right] +$$ + +Přidáváme poslední řádek jedniček a poslední sloupec nul. + +**Zakódování dat**: +- $u = \begin{bmatrix} 1 & 1 & 0 & 0 & 0 \end{bmatrix}^\text{T}$ +- $v = \left[\begin{array}{cccccc:ccccc} 1 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \end{array}\right]^\text{T}$ +- pro zjištění druhé části $v$ sečteme první dva řádky matice $G_{R}$ + +**Jednoduchá chyba**: +- $e = \left[\begin{array}{ccccc:cccc} 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \end{array}\right]^\text{T}$ +- $w = \left[\begin{array}{ccccc:cccc} 1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 \end{array}\right]^\text{T}$ +- $s = H_{R} \cdot w$ + +Pozn.: Při výpočtu sčítáme hodnoty ve sloupcích určených vektorem $w$ po jednotlivých řádcích, výsledkem je syndrom $s$. + +$$ +s = \begin{bmatrix} +1 & 0 & 0 & 0 & 0 +\end{bmatrix}^\text{T} +$$ + +Pozn. 2: V případě jednoduché chyby je syndrom roven řádku kontrolné matice. + +**Dvojitá chyba**: +- $e' = \left[\begin{array}{ccccc:cccc} 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \end{array}\right]^\text{T}$ +- $w' = \left[\begin{array}{ccccc:cccc} 1 & 1 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \end{array}\right]^\text{T}$ + +$$ +s' = \begin{bmatrix} +0 & 0 & 1 & 0 & 1 +\end{bmatrix}^\text{T} +$$ + +Pozn.: Tento řádek v kontrolní matici nenajdeme. + +**Př. 3**: Sdělovací kanál přenáší 120 binárních znaků za sekundu. Zdroj generuje 100 binárních znaků za vteřinu. Navrhněte lineární binární kód, který umožní opravovat jednoduché chyby. + +Řešení: Hammingův kód vyhovující podmínce $2^r = k + r + 1$. + +H. kód (7, 4) - 4 informační +- $100$ znaků/s $\implies 25$ znaků/s $\implies 25 \cdot 7$ znaků/s $= 175$ znaků/s +- kanál tento přenos nezvládne + +| r | k | n | $2^r$ | k/n | +| --- | --- | --- | ----- | ------------------ | +| 3 | 4 | 7 | 8 | 0.57 | +| 4 | 11 | 15 | 16 | 0.73 | +| 5 | 26 | 31 | 32 | 0.838 $\geq 0.833$ | + +Redundance $\rho = 1-\frac{k}{n}$ +- $\frac{k}{n}$ - informační poměr + +Potřebujeme informační poměr lepší než $\frac{k}{n} \geq \frac{100}{120} = 0.833$. + +Počet informačních znaků vygenerovaných za jednotku času ... $k = 100$ +Počet znaků po zakódování ... $n = 120$ + +**Př. 4**: Navrhněte lineární kód, který umožní kódovat tříprvkové informační části tak, aby bylo možné **současně** opravovat dvojité a detekovat čtyřnásobné chyby. + +Řešení: opakovací kód s počtem opakování 7 + +$$ +G = \left[\begin{array}{ccc:c} +1 & 0 & 0 & 111111 & & \\ +0 & 1 & 0 & & 111111 & \\ +0 & 0 & 1 & & & 111111 +\end{array}\right] +$$ + +šířka: 21, výška: 3 \ No newline at end of file