Created
December 17, 2025 02:41
-
-
Save hestiwahyuningsih/bf2da83218fb3a46318238c54449d9e1 to your computer and use it in GitHub Desktop.
python_execise.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "6adf1055-f764-4edb-99fb-7cea97331903", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "a\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 01\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('a')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "c783a4f3-48ea-499e-b917-d04134d8c5fa", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "NameError", | |
| "evalue": "name 'a' is not defined", | |
| "output_type": "error", | |
| "traceback": [ | |
| "\u001b[31m---------------------------------------------------------------------------\u001b[39m", | |
| "\u001b[31mNameError\u001b[39m Traceback (most recent call last)", | |
| "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 4\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# 02\u001b[39;00m\n\u001b[32m 2\u001b[39m get_ipython().run_line_magic(\u001b[33m'\u001b[39m\u001b[33mreset\u001b[39m\u001b[33m'\u001b[39m, \u001b[33m'\u001b[39m\u001b[33m-f\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m----> \u001b[39m\u001b[32m4\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[43ma\u001b[49m)\n", | |
| "\u001b[31mNameError\u001b[39m: name 'a' is not defined" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 02\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print(a)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "86b36210-c121-4dab-b925-2b70948ad1c4", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "a\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 03\n", | |
| "%reset -f\n", | |
| "\n", | |
| "a = 'a'\n", | |
| "print(a)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "e4fa7f33-bebd-429b-8086-683282c55b4e", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Hello, World!\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 04\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('Hello, World!')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "id": "7c96a41d-2b96-4dff-98a5-7b427f723233", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Hello, World!\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 05\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('Hello', end=', ')\n", | |
| "print('World!')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "id": "19455257-8e6c-491e-94de-17016f83973a", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Hello, world!" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 06\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('Hello', 'world', sep=', ', end='!')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "id": "6910afb1-7165-4314-84d8-e0a7895ee6c0", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "a b c d e\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 07\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('a', 'b', 'c', 'd', 'e')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "id": "d37e3599-79a1-427e-88ff-2249b25aef43", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "abcde\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 08\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('a', 'b', 'c', 'd', 'e', sep='')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "id": "2959c3a9-ca7a-4110-9c53-b523c64c8c75", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "a;b;c;d;e\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 09\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('a', 'b', 'c', 'd', 'e', sep=';')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "id": "1593ada1-5dce-4291-ba8e-06dc46eb8854", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "a\n", | |
| "b\n", | |
| "c\n", | |
| "d\n", | |
| "e\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 10\n", | |
| "%reset -f\n", | |
| "\n", | |
| "print('a', 'b', 'c', 'd', 'e', sep='\\n')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "id": "3f0bc67f-bd69-48bc-bfd4-43854c39d228", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "range(0, 10)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 11\n", | |
| "%reset -f\n", | |
| "\n", | |
| "r = range(10)\n", | |
| "print(r)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "id": "059854d1-52b6-434b-a189-b0fcd39ff054", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "range(1, 10)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 12\n", | |
| "%reset -f\n", | |
| "\n", | |
| "r = range(1, 10)\n", | |
| "print(r)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "id": "ad94247c-7303-41dc-ba01-2467c855a5b8", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "range(2, 9, 3)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 13\n", | |
| "%reset -f\n", | |
| "\n", | |
| "r = range(2, 9, 3)\n", | |
| "print(r)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "id": "390ac04a-9f12-4618-979e-91e81f0554fa", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "2,5,8," | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 14\n", | |
| "%reset -f\n", | |
| "\n", | |
| "r = range(2, 11, 3)\n", | |
| "for i in r :\n", | |
| " print(i, end=',')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "id": "590ad47a-1181-4686-8813-a48e2c782a3b", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "10,8,6,4,2," | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 15\n", | |
| "%reset -f\n", | |
| "\n", | |
| "r = range(10, 0, -2)\n", | |
| "for i in r :\n", | |
| " print(i, end=',')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 18, | |
| "id": "59a435ff-6f17-4ba6-a688-ea87df72c0a3", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "line 1\n", | |
| "line 2\n", | |
| "line 3\n", | |
| "line 4\n", | |
| "line 5\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 16\n", | |
| "%reset -f\n", | |
| "\n", | |
| "n = 5\n", | |
| "r = range(1, n+1)\n", | |
| "for i in r:\n", | |
| " print('line', i)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "id": "afcc1e5f-0c8f-4ba4-8399-baa38fe4f904", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "sum = 1\n", | |
| "sum = 3\n", | |
| "sum = 6\n", | |
| "sum = 10\n", | |
| "sum = 15\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 17\n", | |
| "%reset -f\n", | |
| "\n", | |
| "s = 0\n", | |
| "n = 5\n", | |
| "r = range(1, n+1)\n", | |
| "for i in r:\n", | |
| " s += i\n", | |
| " print('sum =', s)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 20, | |
| "id": "79ef0fbd-ff73-4a7a-b745-124812debf3a", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "list = [1]\n", | |
| "list = [1, 2]\n", | |
| "list = [1, 2, 3]\n", | |
| "list = [1, 2, 3, 4]\n", | |
| "list = [1, 2, 3, 4, 5]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 18\n", | |
| "%reset -f\n", | |
| "\n", | |
| "l = []\n", | |
| "n = 5\n", | |
| "r = range(1, n+1)\n", | |
| "for i in r:\n", | |
| " l.append(i)\n", | |
| " print('list =', l)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "id": "9be56e19-ec3c-4326-ac02-004c495ff88c", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "sum of [1] is 1\n", | |
| "sum of [1, 2] is 3\n", | |
| "sum of [1, 2, 3] is 6\n", | |
| "sum of [1, 2, 3, 4] is 10\n", | |
| "sum of [1, 2, 3, 4, 5] is 15\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 19\n", | |
| "%reset -f\n", | |
| "\n", | |
| "l = []\n", | |
| "n = 5\n", | |
| "r = range(1, n+1)\n", | |
| "for i in r:\n", | |
| " l.append(i)\n", | |
| " s = sum(l)\n", | |
| " print('sum of', l, 'is', s)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "id": "19168c25-f65a-4961-8091-cb0de5401641", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "average of [1] is 1.0\n", | |
| "average of [1, 2] is 1.5\n", | |
| "average of [1, 2, 3] is 2.0\n", | |
| "average of [1, 2, 3, 4] is 2.5\n", | |
| "average of [1, 2, 3, 4, 5] is 3.0\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 20\n", | |
| "%reset -f\n", | |
| "\n", | |
| "l = []\n", | |
| "n = 5\n", | |
| "r = range(1, n+1)\n", | |
| "for i in r:\n", | |
| " l.append(i)\n", | |
| " s = sum(l)\n", | |
| " m = len(l)\n", | |
| " avg = s /m\n", | |
| " print('average of', l, 'is', avg)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "id": "2f36adcc-899a-4d76-b153-de40c3026e7e", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "range(1, 11)\n", | |
| "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 21\n", | |
| "%reset -f\n", | |
| "\n", | |
| "r = range(1, 11)\n", | |
| "print(r)\n", | |
| "\n", | |
| "x = [*r]\n", | |
| "print('x =', x)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "id": "139dcd54-affd-41b1-aa7d-1d34edaabed1", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", | |
| "sum x = 55\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 22\n", | |
| "%reset -f\n", | |
| "\n", | |
| "x = [*range(1, 11)]\n", | |
| "s = 0\n", | |
| "for i in x:\n", | |
| " s += i\n", | |
| "\n", | |
| "print('x =', x)\n", | |
| "print('sum x =', s)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "id": "6c98c6a1-3d5a-48cd-8160-e07754c48c6a", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", | |
| "sum x = 55\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 23\n", | |
| "%reset -f\n", | |
| "\n", | |
| "def my_sum(x):\n", | |
| " ss = 0\n", | |
| " for i in x:\n", | |
| " ss += i\n", | |
| " return ss\n", | |
| "\n", | |
| "x = [*range(1, 11)]\n", | |
| "s = my_sum(x)\n", | |
| "\n", | |
| "print('x =', x)\n", | |
| "print('sum x =', s)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "id": "af016837-9e94-4f04-8929-cad6aafc1681", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", | |
| "sum x = 55\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 24\n", | |
| "%reset -f\n", | |
| "\n", | |
| "x = [*range(1, 11)]\n", | |
| "s = sum(x)\n", | |
| "\n", | |
| "print('x =', x)\n", | |
| "print('sum x =', s)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "id": "1c2ff079-644b-47d4-bfa2-4b70ed242748", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", | |
| "sum x^2 = 385\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 25\n", | |
| "%reset -f\n", | |
| "\n", | |
| "x = [*range(1, 11)]\n", | |
| "s2 = 0\n", | |
| "for i in x:\n", | |
| " s2 += i*i\n", | |
| "\n", | |
| "print('x =', x)\n", | |
| "print('sum x^2 =', s2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "id": "6b569f6b-63cf-411b-b18c-303887c2cadc", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", | |
| "sum x^2 = 385\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 26\n", | |
| "%reset -f\n", | |
| "\n", | |
| "def sum_square(x):\n", | |
| " s2 = 0\n", | |
| " for i in x:\n", | |
| " s2 += i*i\n", | |
| " return s2\n", | |
| "\n", | |
| "x = [*range(1, 11)]\n", | |
| "s = sum_square(x)\n", | |
| "\n", | |
| "print('x =', x)\n", | |
| "print('sum x^2 =', s)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "id": "e3fc4d38-e4bc-4826-a5eb-debf9be67404", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "n = 3\n", | |
| "x = [0, 1, 2, 3]\n", | |
| "sum i^n = 36\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 27\n", | |
| "%reset -f\n", | |
| "\n", | |
| "x = [*range(0, 4)]\n", | |
| "n = 3\n", | |
| "sn = 0\n", | |
| "for i in x:\n", | |
| " xn = 1\n", | |
| " for j in range(n):\n", | |
| " xn *= i\n", | |
| " sn += xn\n", | |
| "\n", | |
| "print('n =', n)\n", | |
| "print('x =', x)\n", | |
| "print('sum i^n = ', sn)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "id": "72dee30e-f599-49fd-b928-31e9808dc088", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "n = 3\n", | |
| "x = [0, 1, 2, 3]\n", | |
| "sum i^n = 36\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 28\n", | |
| "%reset -f\n", | |
| "\n", | |
| "def sum_power(x, n):\n", | |
| " sn = 0\n", | |
| " for i in x:\n", | |
| " xn = 1\n", | |
| " for j in range(n):\n", | |
| " xn *= i\n", | |
| " sn += xn\n", | |
| " return sn\n", | |
| "\n", | |
| "x = [*range(0, 4)]\n", | |
| "n = 3\n", | |
| "sn = sum_power(x, n)\n", | |
| "\n", | |
| "print('n =', n)\n", | |
| "print('x =', x)\n", | |
| "print('sum i^n = ', sn)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "id": "9897226e-22d4-4b06-b3c8-71b7c0928191", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "n = 2\n", | |
| "x = [0, 1, 2, 3, 4]\n", | |
| "sum i^n = 30\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 29\n", | |
| "%reset -f\n", | |
| "\n", | |
| "def sum_power(x, n):\n", | |
| " sn = 0\n", | |
| " for i in x:\n", | |
| " xn = 1\n", | |
| " for j in range(n):\n", | |
| " xn *= i\n", | |
| " sn += xn\n", | |
| " return sn\n", | |
| "\n", | |
| "x = [*range(0, 5)]\n", | |
| "n = 2\n", | |
| "sn = sum_power(x, n)\n", | |
| "\n", | |
| "print('n =', n)\n", | |
| "print('x =', x)\n", | |
| "print('sum i^n = ', sn)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "id": "831af737-34be-4f87-82a2-f4053497a6e5", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "n = 1\n", | |
| "x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", | |
| "sum i^n = 55\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 30\n", | |
| "%reset -f\n", | |
| "\n", | |
| "def sum_power(x, n):\n", | |
| " sn = 0\n", | |
| " for i in x:\n", | |
| " xn = 1\n", | |
| " for j in range(n):\n", | |
| " xn *= i\n", | |
| " sn += xn\n", | |
| " return sn\n", | |
| "\n", | |
| "x = [*range(0, 11)]\n", | |
| "n = 1\n", | |
| "sn = sum_power(x, n)\n", | |
| "\n", | |
| "print('n =', n)\n", | |
| "print('x =', x)\n", | |
| "print('sum i^n = ', sn)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "id": "d530f384-4a65-4c88-9b90-8e0869a0d1aa", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "quadratic function = [16, -10, 1]\n", | |
| "root x1 = 2.0\n", | |
| "root x2 = 8.0\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 31\n", | |
| "%reset -f\n", | |
| "\n", | |
| "a = 1\n", | |
| "b = -10\n", | |
| "c = 16\n", | |
| "coefs = [c, b, a]\n", | |
| "\n", | |
| "D = b**2 - 4*a*c\n", | |
| "x1 = (-b - D**0.5) / (2*a)\n", | |
| "x2 = (-b + D**0.5) / (2*a)\n", | |
| "\n", | |
| "print('quadratic function =', coefs)\n", | |
| "print('root x1 =', x1)\n", | |
| "print('root x2 =', x2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "id": "97e6a843-bb60-4933-b848-de085199f240", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "quadratic function = [1, -9, 20]\n", | |
| "root x1 = 4.0\n", | |
| "root x2 = 5.0\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 32\n", | |
| "%reset -f\n", | |
| "\n", | |
| "def quad_roots(coefs):\n", | |
| " a = coefs[0]\n", | |
| " b = coefs[1]\n", | |
| " c = coefs[2]\n", | |
| " \n", | |
| " D = b**2 - 4*a*c\n", | |
| " x1 = (-b - D**0.5) / (2*a)\n", | |
| " x2 = (-b + D**0.5) / (2*a)\n", | |
| " \n", | |
| " return x1, x2\n", | |
| "\n", | |
| "coefs = [1, -9, 20]\n", | |
| "print('quadratic function =', coefs)\n", | |
| "x1, x2 = quad_roots(coefs)\n", | |
| "print('root x1 =', x1)\n", | |
| "print('root x2 =', x2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "id": "52e3466c-0896-4252-99f7-6f151c2ef817", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "n = 21\n", | |
| "x = [0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 33\n", | |
| "%reset -f\n", | |
| "\n", | |
| "n = 21\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "dx = (xmax - xmin) / (n - 1)\n", | |
| "x = []\n", | |
| "for i in range(n):\n", | |
| " x.append(xmin + i * dx)\n", | |
| "\n", | |
| "print('xmin =', xmin)\n", | |
| "print('xmax =', xmax)\n", | |
| "print('n =', n)\n", | |
| "print('x =', x)\n", | |
| "# 34\n", | |
| "%reset -f\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "id": "ac406af5-2ef7-4a1c-b83f-26da5b8bc4c7", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "n = 21\n", | |
| "x = [0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 34\n", | |
| "%reset -f\n", | |
| "\n", | |
| "def gen_x(xmin, xmax, n):\n", | |
| " dx = (xmax - xmin) / (n - 1)\n", | |
| " x = []\n", | |
| " for i in range(n):\n", | |
| " x.append(xmin + i * dx)\n", | |
| " return x\n", | |
| "\n", | |
| "n = 21\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "x = gen_x(xmin, xmax, n)\n", | |
| "\n", | |
| "print('xmin =', xmin)\n", | |
| "print('xmax =', xmax)\n", | |
| "print('n =', n)\n", | |
| "print('x =', x)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "id": "29e52928-9998-45d0-9a19-b02aea407f93", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "n = 11\n", | |
| "x = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 35\n", | |
| "\n", | |
| "n = 11\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "x = gen_x(xmin, xmax, n)\n", | |
| "\n", | |
| "print('xmin =', xmin)\n", | |
| "print('xmax =', xmax)\n", | |
| "print('n =', n)\n", | |
| "print('x =', x)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "id": "ee521297-7c5e-4e33-a46a-c871f446336c", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "coefs = [18, -11, 1]\n", | |
| "x = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]\n", | |
| "y = [18.0, 8.0, 0.0, -6.0, -10.0, -12.0, -12.0, -10.0, -6.0, 0.0, 8.0]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 36\n", | |
| "\n", | |
| "n = 11\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "x = gen_x(xmin, xmax, n)\n", | |
| "\n", | |
| "coefs = [18, -11, 1]\n", | |
| "y = []\n", | |
| "for i in x:\n", | |
| " y0 = coefs[0]\n", | |
| " y1 = coefs[1] * i\n", | |
| " y2 = coefs[2] * i*i\n", | |
| " y.append(y0 + y1 + y2)\n", | |
| "\n", | |
| "print('coefs =', coefs)\n", | |
| "print('x =', x)\n", | |
| "print('y =', y)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "id": "edd3a4ab-4832-4d50-915f-20d008705aee", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "coefs = [18, -11, 1]\n", | |
| "x = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]\n", | |
| "y = [18.0, 8.0, 0.0, -6.0, -10.0, -12.0, -12.0, -10.0, -6.0, 0.0, 8.0]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 37\n", | |
| "\n", | |
| "def gen_y(coefs, x):\n", | |
| " y = []\n", | |
| " for i in x:\n", | |
| " y0 = coefs[0]\n", | |
| " y1 = coefs[1] * i\n", | |
| " y2 = coefs[2] * i*i\n", | |
| " y.append(y0 + y1 + y2)\n", | |
| " return y\n", | |
| "\n", | |
| "n = 11\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "x = gen_x(xmin, xmax, n)\n", | |
| "\n", | |
| "coefs = [18, -11, 1]\n", | |
| "y = gen_y(coefs, x)\n", | |
| "\n", | |
| "print('coefs =', coefs)\n", | |
| "print('x =', x)\n", | |
| "print('y =', y)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 18, | |
| "id": "349a39b4-6b5f-4b1f-bff9-04bdea7c4665", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAGwCAYAAACpYG+ZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAARJFJREFUeJzt3Qd4FHX+x/HPppOQhBJCEkiAkNB7FStFQFQUsYOK5TzPrnjeqXcWbFj+ejZOT+8sd4qADXuhih4l9F4SigESUihJSCCk7P+ZSTmqUnYzuzPv1/PM7ewmbH73y7r7yfdXxuV2u90CAABwgACrGwAAAFBXCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxgqxugK+prKxUVlaWIiMj5XK5rG4OAAA4Dsa2hEVFRUpISFBAwLHrOgSfwxihJzEx8Xj6GAAA+JitW7eqefPmx/w6wecwRqWnpuOioqI89osoKyvTDz/8oCFDhig4ONhjzwv62Qq8nulru+E17f/9XFhYaBYuaj7Hj4Xgc5ia4S0j9Hg6+ISHh5vPSfDxHvq5btDPdYe+pp/tpKwOPgt/a5oKk5sBAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHzqSHbBfqUXuMxbAABgDYJPHZi8MFP9X5ij19YEmrfGfQAAUPcIPl6WXbBPD366UpXuqvvG7UOfrjIfBwAAdYvg42Wb84trQ0+NCrdbW/JLvP2jAQDAYQg+XtYqJkIBrkMfC3RJLWPCvf2jAQDAYQg+XhYfXU/jR3Y+JPzcfHay+TgAAKhbBJ86cGXvJM2+72y1j6407+cUltbFjwUAAIch+NSR+OgwDUusCj5fr8zW7uIDdfWjAQBANYJPHUqqL3WIj9SB8kp9smRbXf5oAABA8KlbLpd0Ve/m5vnEtEy53Yct9wIAAF5FxaeODe8Sr4iQQG3KK9b8Tbvq+scDAOBoBJ86Vj80SBd1a1Zb9QEAAHWH4GOB0X2TzNvvVmVr515WeAEAUFcIPhbo1CxaXZpHq6zCrY8XM8kZAIC6QvCxyKg+VVWfD9MyVXn4NS0AAIBXEHwsMrxrgjnfZ8vOEs3btNOqZgAA4CgEH4tEhAZpRPcE83ziAiY5AwBQFwg+FhrVp4V5+/3qHcorYpIzAADeRvCxUIeEKHVLbKDySrc+WrzVyqYAAOAIBB+Ljape2j4pbSuTnAEA8DKCj8WGd0lQZFiQMneV6OeMfKubAwCArRF8LFYvJFAju1fv5MwkZwAAvIrg4wNG9a2a5DxtbY5yC/db3RwAAGyL4OMD2sZFqmeLhqqodGvKIiY5AwDgLQQfH7t+14dpW80ABAAAPI/g4yPO7xyv6HrB2r5nn+ZsyLO6OQAA2BLBx0eEBQfq0h7NzfMPmOQMAIBXEHx8yKi+iebtzHU5yi7YZ3VzAACwHYKPD0mJjVSfVo1kTPGZvJBJzgAAeBrBx0cnORvBp7yi0urmAABgKwQfH3Nepzg1DA9WdsF+zV7PJGcAADyJ4ONjQoMCdVnPqknOE9MyrW4OAAC2QvDxQVf3qRrumr0+11zeDgAAHBh85syZo+HDhyshIUEul0tTp0495OvXX3+9+fjBx3nnnSd/k9ykvvolN66a5EzVBwAAZwaf4uJide3aVRMmTDjm9xhBJzs7u/b48MMP5Y9G1UxyXsQkZwAAPCVIfmTYsGHm8WtCQ0MVFxcnfze0Y5waR4Qop7BUM9blmvcBAICDgs/xmD17tmJjY9WwYUMNHDhQTz75pBo3bnzM7y8tLTWPGoWFheZtWVmZeXhKzXMd73O6JI3snqC3ft6iD+Zv0cA2x/7/gJPvZ5wc+rnu0Nf0s52UefE9+rg/X91ut19eEdOYv/PZZ59pxIgRtY9NmjRJ4eHhatWqlTZu3KiHHnpI9evX17x58xQYGHjU53nsscc0bty4Ix6fOHGi+VxWytsnPbksSC659XD3CjUOs7Q5AAD4rJKSEo0aNUoFBQWKiopyRvA53KZNm9S6dWtNnz5dgwYNOu6KT2JiovLz83+1404miU6bNk2DBw9WcHDwcf+7Me8u0tyNu3Tr2a00dnCqx9pjVyfbz6CffRWvafrZTsq8+B5tfH7HxMT8ZvCx3VDXwZKTk81OyMjIOGbwMeYEGcfhjF+INz44T/R5rzmtpRl8Pl6apbFD2yk40K/mo1vGW78/0M9W4TVNP9tJsBfeo4/3+Wz9Kbpt2zbt3LlT8fHx8leDOzRVk8hQ5RWVavqaHKubAwCAX/Or4LN3714tW7bMPAybN282zzMzM82v3X///Zo/f762bNmiGTNm6OKLL1ZKSoqGDh0qf2VUeK7oxU7OAAA4LvgsWrRI3bt3Nw/D2LFjzfNHHnnEnLy8YsUKXXTRRWrTpo1uuukm9ezZUz/99NNRh7L8yVW9k+RyST+l52tLfrHVzQEAwG/51Ryf/v3769fmYn///feyo8RG4To7tYl+3JCnDxdm6sFh7a1uEgAAfsmvKj5OVrOT88eLtulAeaXVzQEAwC8RfPzEoHaxahoVqp3FB/T96h1WNwcAAL9E8PETQYEBurJXonk+cUGm1c0BAMAvEXz8yJV9khTgkuZt2qlNeXutbg4AAH6H4ONHmjWop/5tY83zD9Oo+gAAcKIIPn5mVJ/qSc6Lt2l/WYXVzQEAwK8QfPxM/7ZNFB8dpt0lZUxyBgDgBBF8/HGSc++qSc4fMMkZAIATQvDxQ0bwMSY5p23epYzcIqubAwCA3yD4+KH46Hoa2K6peT5xwVarmwMAgN8g+Pip0dU7OX+yhEnOAAAcL4KPnzq7TRNzeXvBvjJ9szLb6uYAAOAXCD5+KjDApav7sJMzAAAnguDjx67olaigAJcW/bJbG3KY5AwAwG8h+Pix2Kgwndu+ZpIzOzkDAPBbCD5+btRBk5z3HWAnZwAAfg3Bx8+dmRKjpEbhKtpfri9XZFndHAAAfBrBx88FBLh0FZOcAQA4LgQfG7i8Z9Uk52Vb92hNVqHVzQEAwGcRfGygSWSohnaMM88npv1idXMAAPBZBB+bTXKeujRLxaXlVjcHAACfRPCxiX7JjdWycbj2lpbry+VMcgYA4GgIPjaa5Hx1n6qqz8Q09vQBAOBoCD42clnP5goJDNCKbQVatb3A6uYAAOBzCD420rh+qIZ2qprk/AE7OQMAcASCj82Mqh7u+mLZdnO+DwAA+B+Cj82cltxIyU0iVHygQp8v2251cwAA8CkEH5txuVy1VR/jwqVut9vqJgEA4DMIPnad5BwUoNVZheZEZwAAUIXgY0MNwkN0Qef42qoPAACoQvCx+U7OXyzPUuH+MqubAwCATyD42FSvFg2VGltf+8oq9PlSJjkDAGAg+Nh5knN11cfY04dJzgAAEHxsbWT35goNCtC6HUVakrnH6uYAAGA5Kj42Fh0erAu7JJjnTHIGAIDgY3s1w11frchSQQmTnAEAzkbFx+Z6JDVQu7hIlZZX6tOl26xuDgAAliL4OGiSMzs5AwCcjuDjACO6N1O94ECl5+7Vol92W90cAAAsQ/BxgKiwYA3vyk7OAAAQfBxiVN8W5u3XK7O1u/iA1c0BAMASBB+H6No8Wh3io3SgvFKfLGGSMwDAmQg+TpzknMZOzgAAZyL4OGySc0RIoDblFWvB5l1WNwcAgDpH8HGQ+qFBuqhbM/OcnZwBAE7kV8Fnzpw5Gj58uBISEsyhm6lTpx7ydeNCnI888oji4+NVr149nXvuuUpPT7esvb5odPVw13erdmgXk5wBAA7jV8GnuLhYXbt21YQJE4769eeee06vvPKK3njjDS1YsEAREREaOnSo9u/fX+dt9VWdmkWrS/NoHaio1MeLt1rdHAAA6pRfBZ9hw4bpySef1CWXXHLE14xqz0svvaS//vWvuvjii9WlSxf9+9//VlZW1hGVIacb1aeq6vNh2laz3wAAcIog2cTmzZu1Y8cOc3irRnR0tPr27at58+bpqquuOuq/Ky0tNY8ahYWF5m1ZWZl5eErNc3nyOU/WeR2a6ImvA7U5v1g/bchRv+TGsgtf6mc7o5/pa7vhNe3//Xy8z2mb4GOEHkPTpk0Pedy4X/O1oxk/frzGjRt3xOM//PCDwsPDPd7OadOmyRd0axCg/+YE6MUvFuqGNpWyG1/pZ7ujn+lru+E17b/9XFJS4qzgc7IefPBBjR079pCKT2JiooYMGaKoqCiPJlHjFz148GAFBwfLaq2yi3TR3+dp1e5A9Tl7gGLqh8oOfK2f7Yp+pq/thte0//dzzYiNY4JPXFyceZuTk2Ou6qph3O/Wrdsx/11oaKh5HM74hXjjg9Nbz3uiuiQ1UrfEBlq2dY8+W75Dt/VPkZ34Sj/bHf1MX9sNr2n/7efjfT6/mtz8a1q1amWGnxkzZhyS/ozVXf369bO0bb6qZifnSWlbVVnJJGcAgP35VfDZu3evli1bZh41E5qN88zMTHNfn3vuucdc9fXFF19o5cqVuu6668w9f0aMGGF1033S8C4JigwLUuauEv2ckW91cwAA8Dq/GupatGiRBgwYUHu/Zm7OmDFj9O677+pPf/qTudfP73//e+3Zs0dnnnmmvvvuO4WFhVnYat9VLyRQI7s303vzfjF3cj67TROrmwQAgFf5VfDp37//r+47Y1R9Hn/8cfPA8RnVt4UZfKatzVFu4X7FRhESAQD25VdDXfC8tnGR6tmioSoq3ZqyiJ2cAQD2RvDBITs5GwEIAAC7IvhAF3SJV3S9YG3fs09z0vPoEQCAbRF8oLDgQF3ao7nZE8YkZwAA7IrgA9Oovonm7cx1udpRwNXsAQD2RPCBKSU2Un1aNTLn+ExeyCRnAIA9EXxQa3T1Ts6TF2YyyRkAYEsEH9Q6r1OcGoYHK6tgv2avz6VnAAC2Q/BBrdCgQF3Wk0nOAAD7IvjgEFdX7+kza32uubwdAAA7IfjgEMlN6qtfcmMZ+xhOTmNpOwDAXgg+OMKomknOi7aqvKKSHgIA2AbBB0cY2jFOjSNClFNYqr/P3qjsAoa8AACnLrtgv9ILXOatVQg+OEJIUIA6NYsyz1+ctkFnPDPTXOIOAMDJMj5Hznlhjl5bE6j+L8yx7HOF4IMjGBWen9Lza+8b830e+nQVlR8AwEl/rjz46Uq53dZ/rhB8cITN+cXmi/JgFW63tuSX0FsAAL/+XCH44AitYiIU4DrsheKSWsaE01sAgBPWpH7oEY8FulyWfK4QfHCE+Oh6Gj+ys/mirNEtsaH5OAAAJ+q7VTuO+GP66ZGdLPlcCarznwi/cGXvJJ3dpolmrM3VX6eu0rKtu81SpVENAgDgeBXuL9NbP20yzx8+v512b1mtK84foKSYSFmBig+OyUji15zWQoPaxZpjs6/OSKe3AAAn5J2ft6hwf7lSYutrdN9EpUa7FR8dJqsQfPCb7j431bydumy7NubtpccAAMelYF+Z/vlzVbXnrkGpCjx8AqkFCD74TV2aN9C57an6AABOzNs/b1bR/nKlxtbXBZ3j5QsIPjgu95zbxrz9YnmWMnKp+gAAfrva8/Z/N9eOHPhCtcdA8MFx6dQsWoM7NK2a6zOTuT4AgF/3r+pqT9umkTq/k29UewwEHxy3uwelHlT1KaLnAABHVVBSpnd+/l+1J8BHqj0Ggg9OqOozpENTc8vxl2dk0HMAgKMyJjQXlZarXVykzusYJ19C8MFJzfX5akWWNuRQ9QEAHGpPyQG9898ttSMFvlTtMRB8cEI6JESZ6b2q6sNcHwDAoYzNCvdWV3uG+li1x0DwwUnv6/PNymyt30HVBwBQZXfxAb1bXe0xRgh8rdpjIPjghLWPj9L5nauqPq9Q9QEAHFTtKT5QoQ7xURrasal8EcEHJ+XuQVVzfb5ema11OwrpRQBwuF3FB/Te3JpqT6pcB13o2pcQfHBS2sZF1u7C+fJ05voAgNO9Oaeq2tMxIcrc981XEXxwSnN9jED/7aodWpNF1QcAnGrn3lL9e97/5vb4arXHQPDBSWvT9KCqz4wN9CQAOLjaU3KgQp2bRZvXdvRlBB+cEmOPBiPYf786R6uzCuhNAHCYfLPa84vPz+2pQfDBKUltGqnhXRLMc+b6AIAzqz37yirUtXm0Brbz7WqPgeCDU3ZXddXnhzU5WrWdqg8AOEVekf/M7alB8MEpS4mtr4u6VlV9XmKFFwA4xj9+3Kj9ZZXqmthA/ds2kT8g+MBjVR9jg87pa3O0chtVHwCwu9yi/Xp/gf/M7alB8IFHtG5SXxd3a2aevzSdFV4AYHdvzN5kVnu6GdWeNv5R7TEQfOAxdw5MMas+M9blavnWPfQsANhUbuF+fVBd7bl3sH/M7alB8IHHJDeprxHdq6o+XLkdAOzr9R83qrS8Uj2SGujs1Bj5E4IPPOrOgakKDHBp5rpcLaPqAwC2k2NWezL9stpjIPjAo1rFRGgEc30AwLZen71RB8or1bNFQ52Z4l/VHgPBBx5316AUs+oze32elmTupocBwCZ2FOzXxLTqao+f7Ntj6+Dz2GOPmb+Eg4927dpZ3SzHadE4QiOr5/qwrw8A2MffZ2eY1Z7eLRvqjJTG8ke2Cj6Gjh07Kjs7u/b4+eefrW6SY+f6BAW4NGdDnhb/QtUHAPxddsE+TUrb6tfVHlsGn6CgIMXFxdUeMTH+N/5oB0mNw3Vpj+bmOfv6AID/+/usjTpQUak+rRqpX2v/rPYYgmQz6enpSkhIUFhYmPr166fx48crKSnpmN9fWlpqHjUKCwvN27KyMvPwlJrn8uRz+rpbzm6hT5Zs00/p+VqwMc9c9uhtTuxnK9DP9LXd8Jr+ddkF+zVpYdXcnrsGJKu8vFy+1s/H+5wut9vtlk18++232rt3r9q2bWsOc40bN07bt2/XqlWrFBkZecx5Qcb3HW7ixIkKDw+vg1bb26SNAZqXG6A20ZW6vUOl1c0BAJyEKZsC9N+cAKVEuXVnxwr5opKSEo0aNUoFBQWKiopyRvA53J49e9SiRQu9+OKLuummm4674pOYmKj8/Pxf7biTSaLTpk3T4MGDFRwcLKfYtnufBr/0s8or3frwd73Vq0VDr/48p/ZzXaOf6Wu74TV9bNv3VL2Pl1W49f6NvdS3VSP5Yj8bn9/G9JbfCj62G+o6WIMGDdSmTRtlZGQc83tCQ0PN43DGL8QbH5zeel5f1So2WJf3StSHaZl6ddYmTbz5tDr5uU7rZ6vQz/S13fCaPtI/flpnhp5+yY11Zpum8tV+Pt7ns93k5oMZw14bN25UfHy81U1xtDsGpig40KW5G3dqwaadVjcHAHCctu0u0UeLqldyDW4jO7BV8PnjH/+oH3/8UVu2bNHcuXN1ySWXKDAwUFdffbXVTXO0Zg3q6YpeieY5+/oAgP+YMCvDnKpg7NljrOayA1sFn23btpkhx5jcfMUVV6hx48aaP3++mjRpYnXTHO+2AVVVn3mbdmo+VR8A8HlbdxnVnm21+/bYha3m+EyaNMnqJuBXqj5X9k7U+/Mz9bdpGzT5ln70FQD4sNdmVlV7zkqNUa+W9qj22K7iA992+4AUhQQGaMHmXZq7Md/q5gAAjiFzZ4k+XlJV7bnn3FTZCcEHdSY+up6u6lM912daumy8kwIA+LVXZ6arorra07OFfao9BoIP6tRt/VMUEhSgtC1G1YcVXgDga37ZWaxPl2631UqugxF8UKfiosM0qk9S7TW8qPoAgG95dWaGWe05p00T9Ujy7qazViD4oM7d2r+1WfVZuGW3/ptB1QcAfMWW/GJ9ZuNqj4HggzrXNOp/VZ+/UfUBAJ/xSvXcngFtm6hbovcvLG0Fgg8scVv/1goNCtDiX3abV28HAFhrU95eTa2u9txto317DkfwgSVio8I0um8L85yqDwD4xtyeSrc0sF2sbas9BoIPLPOH/slm1Wdp5h79uCGP3wQAWGRj3l59vmy7LfftORzBB5aJjQzTNae1qL2GFyu8AMAar85IN6s957aPVZfm9q32GAg+sNQfzmmtsOAALdu6R7Op+gBAncvI3asvlmeZ5/fYeG5PDYIPLNUkMlTX1lR9prGvDwDUtVeqqz2DOzRVp2bRtv8FEHxguVvOaa16wYFavq1As9bnWt0cAHCM9Jwifbmiqtpz9yB7z+056eAzZswYzZkzxzutgSPF1A/Vdf2Y6wMAde3lGcb8SmmIQ6o9JxV8CgoKdO655yo1NVVPP/20tm+vmgUOnIrfn51sVn1WbCvQjLVUfQDA2zbkFOnrldmOmdtz0sFn6tSpZti59dZbNXnyZLVs2VLDhg3Txx9/rLKyMu+0ErbX2Kj6nF5d9ZnBXB8AqKtqz3kd49QhIcoxHX5Sc3yaNGmisWPHavny5VqwYIFSUlJ07bXXKiEhQffee6/S09M931LY3i1nt1Z4SKBWbS/UdKo+AOA163cU6Zvqas/dNt+3x6OTm7OzszVt2jTzCAwM1Pnnn6+VK1eqQ4cO+tvf/ua5VsIRGkWEaMzpLc1zrtwOAN7zsllZl87vHKf28c6p9pxU8DGGsz755BNdeOGFatGihT766CPdc889ysrK0nvvvafp06drypQpevzxx73TYtja789KVkRIoFZnFeqHNTlWNwcAbGdtdqG+WbnDPL/LISu5DhZ0ov8gPj5elZWVuvrqq5WWlqZu3bod8T0DBgxQgwb23vkR3tEwIkTXn9FSE2ZtNHdzHty+qQICXHQ3AHjIy9OrpqNc0Dle7eKcVe05qYqPMYRlVHcmTJhw1NBjMELP5s2bPdE+ONDvzkxW/dAg86+SH9ZU/VUCADh1a7IK9d3qHXK5nDe356SDjzGJOSwszDutAWqqPrVzfdJVaWwpCgDwyNyemmpPm6aRciJ2boZP+t1ZrRQZGqR1O4r0/WqqPgBwqlZnFej71TlV1R4Hzu2pQfCBT2oQHqIbzqDqAwCeYlTQDcO7JCjVodUeA8EHPuumM5MVGRak9TlF+nYVVR8AOFmrthdo2pqqao8TV3IdjOADnxUdHqwbz2hVOy7NXB8AODnG3miGi7omKCW2vqO7keADn3bjma3Mqs+GnL2115QBABy/ldsKzN3wjZ1B7nJ4tcdA8IFPi64XrJvOrKr6vDIjXRWs8AKAk6r2XNytmVo3cXa1x0DwgV9UfaLCgpSeS9UHAE7E8q17NGNdVbXnzoEpdB7BB/4gKixYvzsr2Tx/efoGqj4AcILVnhHdmymZao+Jig/8grG03Rj22phXrK9WZFndHADweUszd2vW+jwFBrh010Dm9tQg+MAvRIYF6+azalZ4MdcHAI53354R3ZqpZUwEHVaN4AO/Meb0lmoQHqxNecX6Yvl2q5sDAD5rSeZu/bihutoziLk9ByP4wM+qPlVzfV6dkaHyikqrmwQAPl3tGdm9mVo0ptpzMIIP/K7q09Co+uQbVR/m+gDA4Rb/sltzNuQpKMClO5nbcwSCD/xK/dAg3Xx2cu2+PlR9AODoK7ku7dFcSY3D6Z7DEHzgd8b0a6lGESHasrNEU5dR9QGAGou27NJP6flmtecO9u05KoIP/E5EaJB+X131eXUmVR8AqPG36mrPZT2bK7ER1Z6jIfjAL117Wguz6vPLzhJ9upQVXgCQtnmX/pux06z23D6AlVzHQvCB31Z9bqmu+rw2M0NlrPAC4HA1c3su75VItedXEHzgt67t10Ix9UOUuatEny2h6gPAuRZs2qm5G3cqOJC5Pb+F4AO/FR5iVH1am+evzkqn6gNATp/bc0WvRDVrUM/q5vg0gg/82jWnGVWfUG3dtU+fLN5mdXMAoM7N27hT8zftMqs9zO35bQQf+LV6IYH6wzk1K7wydKCc3ZwBOIfb7a6t9lzZO1EJVHt+E8EHfm9036qqz/Y9+/TpUvb1AeAc8zbtNFdzhQQGUO1xcvCZMGGCWrZsqbCwMPXt21dpaWlWNwlervrc2r9qrs/rP24SRR8ATqn2vDSt6ppcV/VJVHw0c3scGXwmT56ssWPH6tFHH9WSJUvUtWtXDR06VLm5uVY3DV40um+SYiNDlVWwX19mupRdsJ/+BmBrX67IUtqWqrk9t/Vn357jFSSbefHFF3XzzTfrhhtuMO+/8cYb+vrrr/X222/rgQcesKZRbrd0oFiBFaXmrdzB1rTDxsIkndWynr5ZWaAF2dKwF37QuIs66rKeiVY3zZ7Kyng909f24mev6Y8WbdUjX6yWUeNxVUg/r9niH+93ZdX9bHwuWsTlNmplNnHgwAGFh4fr448/1ogRI2ofHzNmjPbs2aPPP//8iH9TWlpqHjUKCwuVmJio/Px8RUVFeahhxQp+voVnngsAAD9Xcs9GBUdEe/Q5jc/vmJgYFRQU/Ornt60qPkZYqaioUNOmTQ953Li/bt26o/6b8ePHa9y4cUc8/sMPP5ghyhOMdHuhR54JAAD/N3PmTFUEhnr0OUtKSo7r+2wVfE7Ggw8+aM4JOrziM2TIEM9VfNxulQwcaP6iBw4cqOBgx3e7x+0oLNV5r/ysysPql1/fcboSGzLhz9PKysp5PdcR+pp+PpgxSHPL+8s0f8uuQx4PcEnf3XWm4qI8Gya89noeeoGCQ0I8+tzG5/fxsNUnsFHiCgwMVE5OziGPG/fj4uKO+m9CQ0PN43DBwcHm4TGuaDPdGqU9jz4vTIkR0iMje+vBT1ceEn6mri3S2MHx9JKnlZXxeq4r9DX9fJBPl2zTrC0lCnSFyXirM97vAl0uPT2ykxLjDx3t8OnXc0iIxz8Lj/f5bBV8QkJC1LNnT82YMaN2jk9lZaV5/4477rC6efCyK3snqV+rhpryzSw1ad1Rj365ThNmZWhIh6bq1MyzY8kAUNd2FOzXY1+sNs/HDmmrkT2aaUt+iVrGhLOU3cnL2Y1hq7feekvvvfee1q5dq1tvvVXFxcW1q7xgb/HRYUqNdmtUnyRd0CVeFZVu3TdluUrLK6xuGgCc0hDXg5+uUOH+cnVpHq1bzk42w06/1o0JPSfIVhUfw5VXXqm8vDw98sgj2rFjh7p166bvvvvuiAnPsL8nLu5kXrF4fU6RXpmRrvuHtrO6SQBwUj5avE2z1ueZOzS/cHlXBQXarm5RZ2zZc8aw1i+//GIuU1+wYIG5ezOcp1FEiJ4c0ck8f332Ri3fusfqJgHACcvas09PfLnGPB87pI1Sm0bSi6fAlsEHqHFep3hd1DXBnAD4x4+Wa38ZQ14A/GuI64FPV6qotFzdEhvo5rOqLsqMk0fwge0ZOzgbFzFNz92rl6ZXXdcGAPzB5IVbNWdDnkKCAvR/l3dVoLFuHaeE4APbaxgRoqcvqRryenPORi3J3G11kwDgN23bXaInv15rnt8/pK1SYuvTax5A8IEjDOkYp5HdmzHkBcB/hrg+Wam9peXq2aKhbjyzldVNsg2CDxzj0eEdzSu4b8or1ovTNljdHAA4polpmfo5I19hwQF6/rIuDHF5EMEHjhEdHqzxIzub52/9tEmLfzl0y3cA8AVbd5XoqZohrqHtlNyEIS5PIvjAUQa1b6rLejY3Lp+mP360QvsOsMoLgO+orHTrTx+vUMmBCvVp2Ug3nN7S6ibZDsEHjvPwhR0UFxWmzfnFev779VY3BwBqvb/gF83btFP1ggP13GVdFMAqLo8j+MBxousFa/ylVUNe78zdrLTNDHkBsN4vO4s1/pt15vkDw9qpZUyE1U2yJYIPHGlA21hd2SvRHPK6/+PlKjlQbnWTADh8iOv+j1doX1mFTktupGtPa2F1k2yL4APH+suF7ZUQHaZfdpboue8Y8gJgnffmbTGrz+EhgXru0q4McXkRwQeOFRUWrGcv62Kevzt3i+Zt3Gl1kwA4kDHf8Nnvqoa4Hjy/vZIah1vdJFsj+MDRzkptolF9k8xzY8iruJQhLwB1p8IY4jKvI1ipM1Iaa3SfqvcjeA/BB4730Pnt1axBPW3bvU/PfFv1VxcA1IV3/rtZi37ZrYiQQD17Kau46gLBB45XPzTIXDZq+M/8X/TfjHzH9wkA79uYt7d2S42/XNBBzRsyxFUXCD6ApDNSYmpXURibhxXtL6NfAHh1iOuPHy1XaXmlzkqN0dV9EuntOkLwAaoZ+2YkNqqn7Xv26enqvTQAwBv++dMmLc3co8jQIHOIy+Vy0dF1hOADVIswhrwu7Wqef5iWqTkb8ugbAB6XkVukF6ovlGzsJJ/QoB69XIcIPsBB+rVurOurr43zwCcrVMiQFwAPKq+o1H0frdCB8kr1b9tEl/dqTv/WMYIPcJg/nddWLRqHK6tgv576quoKyQDgCW/+tEnLt+5RZFiQnhnJEJcVCD7AYcJDgvT8ZV1lDLlPXrRVs9bn0kcATtn6HUV6aVq6ef7o8I6Kiw6jVy1A8AGOok+rRrrh9Fa1Q14F+1jlBeDklVVUmqu4DlRUalC7WF3aoxndaRGCD3AM9w9tq1YxEcopLNUTX62hnwCctH/8uFErtxcoul6wnh7ZmVVcFiL4AMdQLyRQ/3e5MQYvfbx4m2aszaGvAJywtdmFenlG1RDXYxd1UNMohrisRPABfkXPFo1081nJ5vmDn67UnpID9BeAExrium/KcpVVuDW4Q1ON6MYQl9UIPsBvGDu4jVo3iVBuUanGfcmQF4DjN2FWhtZkF6pBeLCeuqQTQ1w+gOAD/IawYGPIq6sCXNJnS7frh9U76DMAv2l1VoFem5lhnj9+cSfFRjLE5QsIPsBx6J7UUL8/u7V5/tBnq7S7mCEvAMdmbFBoDHGVV7o1rFOchneJp7t8BMEHOE73nJuq1Nj6yt9bqke/WE2/ATim12ama92OIjWKCNETIxji8iUEH+AEh7wCA1z6YnmWvl2ZTd8BOMLKbQWaMHujef7ExZ0UUz+UXvIhBB/gBHRNbKA/nFO1yuuvU1dp595S+g9ArdLyCt330TJVVLp1QZd484BvIfgAJ+iuQalq2zRSO4sP6BGGvAAc5JUZ6dqQs1cx9UPMag98D8EHOEGhQYF64YqqIa+vV2TrqxVZ9CEA8+Kjr1cPcT05orM5vwe+h+ADnIROzaJ1+4AU8/zhqauUV8SQF+Bk+8uMIa7lqnRLF3VN0Hmd4qxuEo6B4AOcpDsGpKh9fJR2l5Tpr1NXyu1205eAQ/1t+gZl5BpDXKEad1FHq5uDX0HwAU5SSFCAeS2voACXvl+dY670AuA8SzJ36605m8zzpy/ppIYMcfk0gg9wCjomROvOganmubG3T27RfvoTcNgQ1x+rh7hGdm+mIR0Z4vJ1BB/gFN02oLU6JkRpT0mZ/vLZKoa8AAd54Yf12pRXrNjIUD06nCEuf0DwAU5RcGCAucorONClaWtyNHXZdvoUcIBFW3bpnz9vNs/Hj+ys6PBgq5uE40DwATygXVyU7h5UPeT1+WrlFDLkBdjZvgNVQ1zGmobLejbXoPZNrW4SjhPBB/CQP5zTWp2bRatwf7ke+pRVXoCdPf/9em3ZWaK4qDA9fGEHq5uDE0DwATwkqHrIKyQwQDPW5eqTJQx5AXa0YNNOvTO3aojrmUs7K7oeQ1z+hOADeFCbppG6d3Ab83zcl6uVXbCP/gVspORAue7/eIU5xHVlr0T1bxtrdZNwggg+gIfdfFYr82KmRfvL9cAnDHkBdvLst+uUuatECdFh+suF7a1uDk4CwQfwxpDX5V3MDQ5/3JCnjxZto48BG5i3cafem/eLef7sZV0UFcYQlz+yVfBp2bKlXC7XIcczzzxjdbPgQCmxkfrjkKohrye+WqPtexjyAvxZcakxxLXcPB/VN0lnpTaxukk4SbYKPobHH39c2dnZtcedd95pdZPgUDedmaweSQ1UVGoMeRlzAriWF+Cvxn+7Vtt271OzBvX00PkMcfkz2wWfyMhIxcXF1R4RERFWNwkOFRjg0v9d3lWhQQH6KT1fH6ZttbpJAE7Cz+n5en9+pnn+/GVdVD80iH70Y7b77RlDW0888YSSkpI0atQo3XvvvQoKOvb/zdLSUvOoUVhYaN6WlZWZh6fUPJcnnxO+38+JDUJ13+BUPf3tej319Rr1a9VAzRvWk7/ztX62M/ra2n42Fin8qXqIa3SfRPVuEc3r3kdfz8f7nC63jervL774onr06KFGjRpp7ty5evDBB3XDDTeYjx/LY489pnHjxh3x+MSJExUeHu7lFsMJjIsXvro6UJuKXEqNqtRtHSoV4LK6VQCOx+SNAZqbG6DGoW79uWuFQgPpN19VUlJiFjwKCgoUFRXlv8HngQce0LPPPvur37N27Vq1a9fuiMfffvtt3XLLLdq7d69CQ0OPu+KTmJio/Pz8X+24k0mi06ZN0+DBgxUczEoAb/HVfv5lZ4kunDBX+8sq9djw9uZfjv7MV/vZjuhr6/r5p4x83fjeEvP8/Rt7qW+rRnXUGvsq8+J7h/H5HRMT85vBx+eHuu677z5df/31v/o9ycnJR328b9++Ki8v15YtW9S2bdujfo8RiI4WioxfiDfe0L31vPDtfk6Ji9YD57XTY1+u0XPfb9DAdnFKauz/FUVf62c7o6/rtp8L95fpL1PXmI9df3pLndmGa3H5+uv5eJ/P54NPkyZNzONkLFu2TAEBAYqNZWdNWO+6fi317aodWrB5l7ks9sObT1MAY16AT3ryqzXKLtivFo3D9afzjv6HM/yTbVZ1zZs3Ty+99JKWL1+uTZs26YMPPjAnNl9zzTVq2LCh1c0DzJDz/GVdFR4SaIaf/8yv2ggNgG+ZtT5XUxZtk8ul6v9mfb5GACcGH2O4atKkSTrnnHPUsWNHPfXUU2bwefPNN61uGlDLGN56cFjVfLRnvl2nLfnF9A7gQwr2lZn7bhluPKOV+jCvx3ZsE2ON1Vzz58+3uhnAbxrdt4U55DV3405zyGvy7/sx5AX4iKe+Xa+cwlIlx0Toj0MY4rIj21R8AH8a8nr20i6KCAnUwi279c7cLVY3CYCkVbtc+mxpVtUQ1+VdVC+Etet2RPABLJDYKFwPXVC17f2z367VJ4u3KruA63kBVlm/o0gfZFR9JN58VrJ6tmDpul0RfACLjOqTpJTY+jpQ4dZ9H63QGc/M1OSFVdviA6g7xn93F06Yp5KKqp1Fkxr5/1YTODaCD2CRHYX7tSlv7yE7PD/06UoqP0AdMiqtD3yy8pDHHv18Nf8d2hjBB7DI5vxiM+wcrMItbc5jpRdQV16anq7DL19Q4XZrS34JvwSbIvgAFmkVE3HUa3ZNWpipysMTEQCPmzArQ5MXbj3i8UCXSy1jGO6yK4IPYJH46HoaP7Kz+SZrMG6Msy+WZ+uBT1cQfgAvem1mup7/fr15PqRD09o/Qozbp0d2Mv/7hD3ZZh8fwB9d2TtJZ7dpYpbVjb8w0zbv0r2Tl5m7xhpFH2PZeyCXtQA86pUZ6Xpx2gbz/P6hbXX7gBRl5hdpyjezdMX5A5QUE0mP2xjBB7CY8ZdlzV+XF3drpgCXS/dMXqaPF2+T2y09dxnhB/CUl6ZvMOf1HBx6qv47DFNqtNu8hb0RfAAfM7xrgjnsdfekZfpkyTa55TavF0TlBzg1f5u2QS/PqAo9fz6vnW7t35oudSCCD+CDLuySIJdcumvSUn26ZLtZ+fm/ywk/wMlwu9362/R0c4jLYFwv75ZzCD1ORfABfNQFXeLNiZZ3frhUny01wo9bL1zRjcoPcAKM/26M+Tyvzsww7z90fjv9/mxCj5OxqgvwYcM6x+u1Ud0VFODS1GVZGjtlmcorKq1uFuAXzD8Wfvhf6PnrBe0JPSD4AL7uvE5G+Olhhp/Pl2Xp3inLCT/AcYQeY7n6a7P+F3p+d1Yy/QaCD+APzusUp7+P7qHgQJe+XJ5lrvqi8gMcO/Q8+916/X32RvP+Ixd2IPSgFkNdgJ8Y0tEIPz3N8PPVimxz1VcZw17AEaHnme/W6Y0fq0LPY8M76MYzW9FLqEXwAfzI4A5N9Xp1+Pl6pRF+lhJ+gINCz/hv1+kfP24y74+7qKOuP4PQg0MRfAA/c26Hpnrjmp4KCQzQNyt36K4PCT+AEXqe+nqt3pxTFXoev7ijxpzeko7BEQg+gB8a1L6p/nFtVfj5dtUO3TFxiQ6Us9oLzg09T369Vv/8ebN5/4kRnXRdP0IPjo7gA/ipAe1i9Y/reiokKEDfr84h/MCxoefxr9boX9Wh56lLOuna01pY3Sz4MIIP4McGtI3Vm0blJyhAP6zJ0e1UfuCw0DPuyzV6579bzPtPX9JZo/sSevDrCD6An+vfNlZvXdfLDD/T1uTotg8Wq7S8wupmAV4PPY99sVrvzq0KPeNHdtaovkn0On4TwQewgXPaNNE/r+ul0KAATV+bq9veX0L4gW0ZoeeRz1frvXm/mBf0ffbSzrq6D6EHx4fgA9jE2W2a6F9jepvhZ8a6XN1K+IENVVa69fDnq/Sf+dWhZ2QXXdmb0IPjR/ABbOTM1Bi9fX1vhQUHaOa6XP3hP4u1v4xhL9gr9Lw/P9MMPc9d2kVX9E60ulnwMwQfwGbOSInR22Oqws+s9Xm6hfADm4Sev0xdpQ8WVIWe5y/rqst7EXpw4gg+gA2dnhKjd67vo3rBgfpxQ55+T/iBn4eehz5bqQ/TqkLPC5d31WU9m1vdLPgpgg9gU/1aN9Y7N/Q2w8+cDXm6+d+LGPaCX4aeBz9dqUkLtyrAJb14RVeN7EHowckj+AA2dlpyY717Q2+FhwTqp/R8/e69Rdp3gDk/8J/Q8+dPVmjyoprQ002XdCf04NQQfACb62uGnz5m+Pk5I1+/+/dCwg98XkWlW3/6ZIU+WrzNDD1/u7KbRnRvZnWzYAMEH8AB+rRqpPdu7KOIkED9N2OnbnqP8AMfDz0fr9DH1aHnpau66+JuhB54BsEHcIjeLf8XfuZu3Kkb312okgPlVjcLOCL03P/Rcn2yZJsCA1x6+aruuqhrAr0EjyH4AA7Sq2Uj/fumPqofGqR5mwg/8L3Q88ePluvTpdvN0PPKVd01nNADDyP4AA7Ts0VV5ccIP/M37dL17yxUcSmVH1irvKJSY6cs02fVoefVq7vrgi7x/FrgcQQfwIF6tmhoVn4iQ4OUtnmXbiD8wPLQs1yfL8tSUIBLr13dXed3JvTAOwg+gEP1SGqo//yuryLDgpS2xaj8pGkvlR9YEHrunbJcXyyvDj2jemgYoQdeRPABHKxbYgO9f1NV+Fm4Zbeuf5vwg7oNPXdPXqYvq0PPhNE9dF6nOH4F8CqCD+BwXRMb6IPf9VVUWJAW/bJbY95OU9H+MqubBZsrM0LPpGX6ekW2ggNd+vvoHhrakdAD7yP4AFCX5kb4OU3R9YK1mPCDOgk9S/X1yqrQ8/ronhpC6EEdIfgAMHVuHm1WfozwsyRzj657O02FVH7ghdBz58Sl+mblDoUEBuiNa3rq3A5N6WfUGYIPgFqdmlWFnwbhwVpqhJ9/EX7gOQfKK3XHxCX6bnV16Lm2hwa1J/SgbhF8ABwz/CzbukfX/itNBfuY8wPPhJ7vV+coJChA/7iupwa2I/Sg7hF8AByhY0K0Jv7uNDUMD9ZyM/wsUEEJ4QcnH3pu+2CJflhTFXrevLanBrSNpTthCYIPgKPqkBCliTefpkYRIVqxrUDXEH5wEkrLK3TbB4s1fW1V6Hnrul7qT+iBhQg+AI6pfbwRfvqa4Wfl9gKN/td87Sk5QI/h+EPP+0s0fW2uQoMC9M/reumcNk3oPVjKb4LPU089pdNPP13h4eFq0KDBUb8nMzNTF1xwgfk9sbGxuv/++1VezjWIgFPRLi5KH958mhpHhGjV9kKN/ucC7WHYC79hf1mF/vCfxZqxrjr0jOmlswk98AF+E3wOHDigyy+/XLfeeutRv15RUWGGHuP75s6dq/fee0/vvvuuHnnkkTpvK2A3beMi9eHvT1NM/RCtzirU1f9M04qdLmUX7Le6afBBW/KLdeWb8zRrfZ7CggP09vW9dVYqlR74Br8JPuPGjdO9996rzp07H/XrP/zwg9asWaP3339f3bp107Bhw/TEE09owoQJZhgCcGraNI00Kz/1QwOVkVesf20IVP8X5mjywky6FrX++dMm9f+/2Vq+tcC8f+1pLXRGSgw9BJ8RJJuYN2+eGYqaNv3f8sihQ4eaFaLVq1ere/fuR/13paWl5lGjsLDQvC0rKzMPT6l5Lk8+J+jnuhYaKBUfqKi9X+mWHvhkpZIahqlXi4a8JL3AX9478opK9fKMDE1evP2Qx//182Zd2zdR8dFh8mX+0s/+rsyL/Xy8z2mb4LNjx45DQo+h5r7xtWMZP368WU06WgXJmCvkadOmTfP4c4J+rivpBS653YGHPOaWNOqfaerdxK0hzSrVpB6vSG/w1feOwgPSjKwA/TfHpbJK1xFfN8LxlG9mKTXaeKX4Pl/tZ7uZ5oV+Likp8f3g88ADD+jZZ5/91e9Zu3at2rVr57U2PPjggxo7duwhFZ/ExEQNGTJEUVFRHk2ixi968ODBCg4O9tjzgn6uS8acnr+vnWN+mB3MLZfS8lxalB+gi7rE67b+yWoVE8HL08bvHblFpXrzp82atHybSssrzcfax0Vq3Y4iMwzXCHBJV5w/wC8qPr7Yz3ZT5sV+rhmx8engc9999+n666//1e9JTk4+rueKi4tTWlraIY/l5OTUfu1YQkNDzeNwxi/EGy9+bz0v6Oe6kBQTrPEjO+vBT1ea4cf4UDPut42L0svTN5iTWacuz9YXK7J1cbdmumNgilo3qc/L00bvHTsK9uuNHzdqYlqmuTGhoXtSA91zbhudnRqjKYu26qFPV6nC7Vagy6WnR3ZSUkyk/IWv9LPdBXuhn4/3+SwNPk2aNDEPT+jXr5+55D03N9dcym4wUqVRtenQoYNHfgYA6creSerXqqE5fGH8JV/zofbODX3MXZ5fmZFuLmH+bOl2fb5su4Z3TdCdA1OUEus/H344euB5fXaGPly4tTbw9GzRUHcPStVZqTFyuVy1rw9j2fqW/BK1jAlXfDRjn/AtfjPHx9ijZ9euXeatsXR92bJl5uMpKSmqX7++OTRlBJxrr71Wzz33nDmv569//atuv/32o1Z0AJw8Y9jCmLNx+PBF18QG+tf1vbViW1UAMjau+3xZlr5YnqULuyToroEpSm1KAPInWXv26fXZGzXZCDwVVYGnd0sj8LTRGSmNawPPwYywQ+CBr/Kb4GPsx2PszVOjZpXWrFmz1L9/fwUGBuqrr74yV3EZ1Z+IiAiNGTNGjz/+uIWtBpypS/MG+ueY3lq1vUAvz0jXtDU5+nJ5lr5akaULOsfrrkGp5vJ4+K7tZuDJ0JSF22oDT5+WjXTPuanq1/rogQfwB34TfIzNCI3j17Ro0ULffPNNnbUJwG9f6d24NtPqrAKzAmRcmfurFdn6emW2zu8UrzsHpZg7Q8N3bNtdor/P3qiPFm1VWUXVNOW+rRrpbiPwJBN44P/8JvgA8O+rvf/j2l5ak1VoBqDvVu8ww49xDOsUZ1aAjOuCwTpbdxmBJ0MfL95WG3hOS25kDmkZFR7ALgg+AOr0iu9vXNtTa7ML9erMdH2zcoe+XVV1nNexKgAZ34O6DTwTZlUFnvLqfQpOb93YnLTcN5nAA/sh+ACoc0Z15++je2r9jiK9YgagbLMKZBxDOjQ1A5AxTAbvydxZotdmpevTJdtrA8+ZKTHmkFbvlo3oetgWwQeApRc/nTCqhzbkFJlDYMbQ1w9rcszj3PZNzYm0BCDPX0D0tVkZ5nYDFdWBx1iOblR4ehF44AAEHwCWM1Z4vTaqh+7OKdKrMzP05YosTV+bYx6D2sWaVQhjpRhO3mYj8MzM0NRl/ws8xn47RuAx9uMBnILgA8BnGHv8vHJ1d3Oo67WZ6eb+P8ZmiMYx0AhAg1LNvYJw/Dbl7a0NPDWXGunftonZxz2SCDxwHoIPAJ+TEltfL13VXXeaASjD3AF65rpc8zA+tI0A1J0P7V+Vkbu3NjzWBJ4BRt+d20bdCI9wMIIPAJ9lXOfrb1d2My95YcxLmbp0u2avzzMPhmmOLiO3arjQCDzu6sBjDBcaFR6qZQDBB4AfSG5SXy9e0U13DUytnZg7Z0OeeRgTc41J0D1bOHslUroxQXxmhrk7dk3gMSaIG9Wxzs1ZIQfUoOIDwG+0jInQ/13e1awAGXvPfLJku35KzzcPpy7FPnhLgJrAw5YAwLERfAD4nRaNI/TcZV11x4DU6gC0TT9n5JuHUzbfW7ejUK/OyDC3AKgxtGPVHkjGTtkAjo7gA8BvJTUO17OXddEdA1PMyy18tGib5m7caR7GdaWMCtBpNgtAxq7Xxp5Hxm7XNYzLftw5kF2vgeNB8AHg9xIbhWv8yC66fUBK7QU2523aqXlv7jzkAps7Cveb+9m0iolQfHQ9+YPsgv1KL3BpTnqepizOMi/0WsO40j0XegVODMEHgG00bxiupy/pXBWAZmVoyqKtWrB5l0a9tUCtGkdoy65icx5MgEv609C2urBrgnzZV8uz9Oz36+V2B0prlpqPuVzS+Z3jzYnexs7XAE4MwQeA7TRrUE9PVQeg12dv1KS0TG3eWVz7dWNfm2e+W28e/sQl6f2b+uqMlBirmwL4LYIPANtKaFBPT4zopL7JjXTHxKqKycGCA1wKMMo/Pqiy0q2ymp0Hqxn3AoySD4CTRvABYHvGtaiMfHNwjgh0uTTnzwN8dq5PdsE+nfHMzCPa3DIm3MpmAX4vwOoGAIC3GeFm/MjOZnAwGLdPj+zks6Hn4DbXFKSMW19vM+APqPgAcIQreyeZl7nYkl9iVk38IUAYbe7XqqGmfDNLV5w/QEkxTGYGThXBB4BjGGHHHwLPweKjw5Qa7TZvAZw6hroAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjEHwAAIBjcK2uw7jdbvO2sLDQox1dVlamkpIS83mDg4M9+tygn+sar2f62m54Tft/P9d8btd8jh8LwecwRUVF5m1iYqJHfyEAAKBuPsejo6OP+XWX+7eikcNUVlYqKytLkZGRcrlcHk2iRpjaunWroqKiPPa8oJ+twOuZvrYbXtP+389GnDFCT0JCggICjj2Th4rPYYzOat68ubzF+EUTfLyPfq4b9HPdoa/pZzuJ8tJn4a9VemowuRkAADgGwQcAADgGwaeOhIaG6tFHHzVvQT/7O17P9LXd8Jp2Tj8zuRkAADgGFR8AAOAYBB8AAOAYBB8AAOAYBB8AAOAYBJ86MmHCBLVs2VJhYWHq27ev0tLS6upHO8L48ePVu3dvc8ft2NhYjRgxQuvXr7e6Wbb3zDPPmDuc33PPPVY3xXa2b9+ua665Ro0bN1a9evXUuXNnLVq0yOpm2UpFRYUefvhhtWrVyuzj1q1b64knnvjNaz3ht82ZM0fDhw83d1E23iOmTp16yNeNPn7kkUcUHx9v9v25556r9PR01QWCTx2YPHmyxo4day7hW7Jkibp27aqhQ4cqNze3Ln68I/z444+6/fbbNX/+fE2bNs28EN6QIUNUXFxsddNsa+HChfrHP/6hLl26WN0U29m9e7fOOOMM8yKO3377rdasWaMXXnhBDRs2tLpptvLss8/q9ddf12uvvaa1a9ea95977jm9+uqrVjfN7xUXF5ufdcYf/Udj9PMrr7yiN954QwsWLFBERIT5ubh//37vN864Vhe8q0+fPu7bb7+99n5FRYU7ISHBPX78eLreS3Jzc40/2dw//vgjfewFRUVF7tTUVPe0adPc55xzjvvuu++mnz3oz3/+s/vMM8+kT73sggsucN94442HPDZy5Ej36NGj6XsPMt6LP/vss9r7lZWV7ri4OPfzzz9f+9iePXvcoaGh7g8//NDtbVR8vOzAgQNavHixWcY7+Hpgxv158+Z5+8c7VkFBgXnbqFEjq5tiS0Z17YILLjjkdQ3P+eKLL9SrVy9dfvnl5tBt9+7d9dZbb9HFHnb66adrxowZ2rBhg3l/+fLl+vnnnzVs2DD62os2b96sHTt2HPL+YVxjy5gGUhefi1yk1Mvy8/PNceSmTZse8rhxf926dd7+8Y5UWVlpzjkxhgo6depkdXNsZ9KkSeaQrTHUBe/YtGmTOQRjDJE/9NBDZl/fddddCgkJ0ZgxY+h2D3nggQfMq4W3a9dOgYGB5nv1U089pdGjR9PHXmSEHsPRPhdrvuZNBB/YshqxatUq8y83eNbWrVt19913m/OojIn68F54Nyo+Tz/9tHnfqPgYr2ljPgTBx3OmTJmiDz74QBMnTlTHjh21bNky848mY0Iu/WxfDHV5WUxMjPmXRE5OziGPG/fj4uK8/eMd54477tBXX32lWbNmqXnz5lY3x3aMYVtjUn6PHj0UFBRkHsbEcmOSonFu/MWMU2esdOnQocMhj7Vv316ZmZl0rwfdf//9ZtXnqquuMlfNXXvttbr33nvNVaLwnprPPqs+Fwk+XmaUpnv27GmOIx/815xxv1+/ft7+8Y5hzJ8zQs9nn32mmTNnmstT4XmDBg3SypUrzb+Maw6jMmEMDRjnRsjHqTOGaQ/fjsGYh9KiRQu614NKSkrMOZcHM17Dxns0vMd4fzYCzsGfi8aQo7G6qy4+FxnqqgPGOL1RNjU+IPr06aOXXnrJXOp3ww031MWPd8zwllGu/vzzz829fGrGiY0Jc8YeEfAMo28PnzdlLEM19pphPpXnGFUHY+KtMdR1xRVXmPt+vfnmm+YBzzH2mTHm9CQlJZlDXUuXLtWLL76oG2+8kW4+RXv37lVGRsYhE5qNP46MBSdGfxtDik8++aRSU1PNIGTsp2QMMRp7sHmd19eNwfTqq6+6k5KS3CEhIeby9vnz59MzHmS8lI92vPPOO/Szl7Gc3Tu+/PJLd6dOncwlvu3atXO/+eabXvpJzlVYWGhuxWC8N4eFhbmTk5Pdf/nLX9ylpaVWN83vzZo166jvyWPGjKld0v7www+7mzZtar7GBw0a5F6/fn2dtM1l/I/34xUAAID1mOMDAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADAAAcg+ADwNby8vIUFxdnXum8xty5cxUSEqIZM2ZY2jYAdY+LlAKwvW+++UYjRowwA0/btm3VrVs3XXzxxXrxxRetbhqAOkbwAeAIt99+u6ZPn65evXpp5cqVWrhwoUJDQ61uFoA6RvAB4Aj79u1Tp06dtHXrVi1evFidO3e2ukkALMAcHwCOsHHjRmVlZamyslJbtmyxujkALELFB4DtHThwQH369DHn9hhzfF566SVzuCs2NtbqpgGoYwQfALZ3//336+OPP9by5ctVv359nXPOOYqOjtZXX31lddMA1DGGugDY2uzZs80Kz3/+8x9FRUUpICDAPP/pp5/0+uuvW908AHWMig8AAHAMKj4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAMAxCD4AAEBO8f8iF5jg/RrgYAAAAABJRU5ErkJggg==", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "# 38\n", | |
| "\n", | |
| "n = 11\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "x = gen_x(xmin, xmax, n)\n", | |
| "\n", | |
| "coefs = [18, -11, 1]\n", | |
| "y = gen_y(coefs, x)\n", | |
| "\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "plt.plot(x, y, '.-')\n", | |
| "plt.xlabel('x')\n", | |
| "plt.ylabel('y')\n", | |
| "plt.plot([xmin, xmax], [0, 0])\n", | |
| "plt.grid()\n", | |
| "plt.show()\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 19, | |
| "id": "936f31a4-04fb-4773-ad27-09b3e8d0f604", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "# 39\n", | |
| "\n", | |
| "n = 21\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "x = gen_x(xmin, xmax, n)\n", | |
| "\n", | |
| "coefs = [18, -11, 1]\n", | |
| "y = gen_y(coefs, x)\n", | |
| "\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "plt.plot(x, y, '.-')\n", | |
| "plt.xlabel('x')\n", | |
| "plt.ylabel('y')\n", | |
| "plt.plot([xmin, xmax], [0, 0])\n", | |
| "plt.grid()\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 20, | |
| "id": "8338700f-a208-4b4a-bcb4-3baf7b4ff0f4", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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", | |
| "text/plain": [ | |
| "<Figure size 640x480 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "# 40\n", | |
| "\n", | |
| "n = 101\n", | |
| "xmin = 0\n", | |
| "xmax = 10\n", | |
| "x = gen_x(xmin, xmax, n)\n", | |
| "\n", | |
| "coefs = [18, -11, 1]\n", | |
| "y = gen_y(coefs, x)\n", | |
| "\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "plt.plot(x, y, '.-')\n", | |
| "plt.xlabel('x')\n", | |
| "plt.ylabel('y')\n", | |
| "plt.xlim(1, 3)\n", | |
| "plt.plot([xmin, xmax], [0, 0])\n", | |
| "plt.grid()\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "id": "8ed19229-c71a-4b7a-bcf9-1a9623b208b4", | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3 (ipykernel)", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.13.9" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 5 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment