Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

My Mkr1 #54

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions mkr1/DK-91_Koval'chuk_Danylo_Olehovych.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,121 @@

#. Наведіть команди git для додавання файлів та директорій ./dev ./dev/file.c ./.gitignore до локального репозиторію одним комітом
(уважно).

#. Яким чином можна додати зміни до вже створеного (останнього) коміту? Наведіть приклад.
Чи варто так робити в основних публічних гілках віддаленого репозиторію? Якщо так, коли? Якщо ні, чому?

#. Числові типи Python. **Коротко** опишіть з прикладами використання. Створіть функцію, що розраховує реактивний опір
конденсатора з ємністю *C* [Ф] на частоті *f* [Гц]. Якщо значення *f* не задано користувачем, за замовчуванням
використати 1 кГц.
- Відповідь:
У мові Python існують числові типи: int, long, float, complex

int - звичайне ціле число (1, 2, 42375, -4357234)
long - велике ціле число яке більше від [-2^32 .. 2^32 - 1], може бути представлене у шістнадцятковому вигляді (5353245543523629843, 0xFFFFFFFFFBBBFFFFAA)
float - число з плаваючою крапкою (2.431, 0.5, -324.888777)
complex - комплексне число (3j, 3e+1j, 1e-8j)

Функція:
PI = 3.14

def react_res(cap, freq = 1000):
rezult = 1/(2*PI*freq*cap)
return rezult

#. Яким чином можна виконати замір швидкості виконання блоку коду Python?
Що є швидшим для розрахунку квадратного кореня: оператор піднесення до степеню, функція піднесення для степеню з бібліотеки
``math`` чи спеціалізована функція взяття квадратного кореню з ``math``? Наведіть приклад коду, що визначає швидкість виконання
для кожного з випадків.

-Відповідь
import datetime
import math

start = datetime.datetime.now()

num = 25
sqrt = num ** (0.5)
print("Квадратный корень из числа "+str(num)+" это "+str(sqrt))

finish = datetime.datetime.now()
print finish-start

start = datetime.datetime.now()

num = 25
sqrt = math.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

finish = datetime.datetime.now()
print finish-start

#. Docstring у функціях. Для чого використовуються? Наведіть приклад функції, що виконує розрахунок за певною формулою
з області електроніки або фінансів (на власний розсуд) та містить Docsting (Coding Style – Google)
- Відповідь:
Docsting у функціях використовується для коментування та написання документації для
функції зовнішніх скриптів, бібліотек, модулів, тощо.
Потрібен задля розуміння функцій які виконує ця чи інша функція.

Приклад:

def OmFunc(amperage, resistance):
"""Example Google codig style:

This module shows how to calculate voltage by elementary Ohm's law.
U = I * R

Args:
amperage (float): current amperage in gain.
resistance (float): resistance of chain section

Example:
>> OmFunc(2, 220)
440.00

Return:
Voltage of cahin section
"""

return amperage * resistance

#. Аргументи функцій. Яким чином задати значення аргументу за замовчуванням? Коли це не спрацює?
Наведіть приклади (пов'язані з галуззю електроніки, наприклад, розрахунок за формулою).

#. Конструкція умовного виконання Python. Яким чином можна реалізувати приорітетну логіку перевірок з її допомогою?
Наведіть приклад коду, де спочатку перевіряється виконання логічного виразу *A та B*, далі виразу *лише A*.
Якщо виконується перша умова *A та B*, вивести "ONE"; якщо наступна *лише А*, вивести "TWO"; якщо жодна з умов, вивести "FAIL".
- Відповідь
Умовне виконання

if (state):
...task...
else:
...task...

Пріорітетну логіку можливо реалізувати завдяки конструкціїї elif послідовно перевіряти умову, де за пріорітетністю
спочатку перевіряється перша умова, потім друга, третя і тп.

if (state1):
...task1...
elif (state2):
...task...
elif (state3):
...task...
else:
...task...

Приклад логічного виразу *A та B*
if (a == b == 1)
print("ONE")
elif (a == 1 and b == 0)
print("TWO")
else
print("FAIL")

Якщо виконується перша умова *A та B*, вивести "ONE"; якщо наступна *лише А*, вивести "TWO"; якщо жодна з умов, вивести "FAIL".
#. Тернарний оператор Python. Навести код, що **за допомогою тернарного оператора**
присвоїть змінній ``var`` значення ``69`` якщо змінна ``arg`` задана в ``None``, в іншому випадку – присвоїть значення ``arg``.
Як зробити це без тернарного оператора? Наведіть приклад коду.
- Відповідь
return var = 69 if arg == None else arg = 69