Skip to content
Open

Mkr1 #34

Show file tree
Hide file tree
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
148 changes: 148 additions & 0 deletions dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
==============================
Баскакова Олександра Володимирівна
==============================


1. Гілки в Git: для чого використовуються, який принцип роботи з гілками. Наведіть команди для створення нової гілки та переключення
між гілками.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.95

Викорисовуэться для:
- якщо необхідно зробити зміни вже у існуючому проекті, але доступу до викладення змін немає - можна створити "форк" проекту
- якщо необхідно протестувати три різні версії одного проекту, аби обрати більше еффективний.
Створення:

>>> $ git branch <назва_гілки> #дана команда лише СТВОРЮЄ ГІЛКУ - вона НЕ ПЕРЕКЛЮЧАЄ на цю гілку

Переключення:

>>> $ git checkout <назва_існуючої_гілки>

2. Що таке об'єднання гілок та для чого використовується? Конфлікти при об'єднанні.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1

Наведіть приклад конфлікту (синтаксис) та команди для внесення змін до репозиторію після вирішення конфлікту.
Коли гілка виправлена, не містить помилок і готова стати частиною первинної бази коду - її можна об’єднати з головною гілкою.
Об’єднання – це злиття двох гілок. Будь-який новий/ оновлений код стане офіційною частиною кодової бази. Той, хто відгалужується від точки злиття, також буде мати цей код в своїй гілці:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Будь-який новий/ оновлений код стане офіційною частиною кодової бази

с оговоркой, это касается лишь мастер-ветки


>>> $ git checkout master # перемикаємо на основну гілку
>>> $ git merge <назва_гілки_для_зиття>

Конфлікт злиття може статися під час злиття гілки, перебазування гілки або вибору комміту. Після виявлення конфлікту Git виділяє конфліктну область і просить вас її вирішити. Після вирішення конфлікту можна продовжувати об’єднання.

Конфлікт злиття відбувається у випадку змагання за коміти, коли в одних і тих самих рядках коду файлу відбуваються зміни, або файл був видалений в одній гілці, але існує та модифікується в іншій, Git не може автоматично вирішувати відмінност. Наприклад:
>>> $ git merge <назва_гілки_для_зиття>
>>> $ Auto-merging index.html
>>> $ CONFLICT (content): Merge conflict in index.html
>>> $ Automatic merge failed; fix conflicts and then commit the result

В такому випадку необхідно переглянути знову які саме файли спричинили конфлікт:
>>> $ git status
>>> On branch master
>>> You have unmerged paths.
>>> (fix conflicts and run "git commit")

>>> Unmerged paths:
>>> (use "git add <file>..." to mark resolution)
>>> both modified: index.html
>>> no changes added to commit (use "git add" and/or "git commit -a")

Все, що має конфлікти, які не були вирішені є в списку незлитих (unmerged) файлів. У кожен такий файл Git додає стандартні позначки-вирішенння для конфліктів, отже ви можете відкрити ці файли і вирішити конфлікти самостійно. У вашому файлі з конфліктом появиться блок, схожий на таке:

>>> <<<<<<< HEAD:index.html
>>> <div id="footer">contact : email.support@github.com</div>
>>> =======
>>> <div id="footer">
>>> please contact us at support@github.com
>>> </div>
>>> >>>>>>> <назва_гілки_для_злиття>:index.html

Щоб розв’язати цю несумісність,потрібно вибрати одну із версій, або самостійно поредагувати вміст файлу. Наприклад,можна замінити блок повністю:

>>> <div id="footer">
>>> please contact us at email.support@github.com
>>> </div>

Можна використовувати графічний інструмент для розв’язання конфліктів, виконайте команду git mergetool, яка запустить графічний редактор та проведе вас по всьому процесу:

>>> $ git mergetool

3. Строкові типи Python. У чому відмінність між Unicode-строкою та байтовою строкою? Наведіть приклад коду, що представляє строку
``'вічність'`` у вигляді байтової строки з кодуванням UTF-8 та KOI8-U

На мові Python пыдтримються три строкових типа:
- str – призначені для представлення тексту у форматі Unicode та інших систем кодування - wей формат містить символи ASCII і символи в інших кодуваннях;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

інших систем кодування

очень спорное утверждение. str – это Unicode-строка, а кодировка – это другое

- bytes – призначені для представлення двійкових даних;
- bytearray – призначені для представлення подвійних даних з урахуванням змін у типі байтів.
Передбачається, що строка - це послідовність символів: кодові точки Юнікоду - це абстрактна концепція і її неможливо зберігати безпосередньо на диску.
Байтова строка - це послідновність байтів - байти можнна зберігати безспосередньо на диску.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.5

>>> print("'вічність'".encode("utf-8"))
>>> print("'вічність'".encode("koi8-u"))


4. Якому емодзі відповідає байтова строка ``b'\xff\xfe=\xd8\r\xdc'`` (UTF-16)? Що значить даний запис байтової строки?
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1

Наведіть приклад коду, що перекодує дану строку в UTF-8 та вкажіть результат у вигляді коментаря
Емодзі змії. Код для перевірки:

>>> emoji = b'\xff\xfe=\xd8\r\xdc'.decode(encoding="utf-16")
print ('', emoji)

Вміст строки, точно еквівалентно зрізу байтів, а літера "b" на початку вказуэ саме на те, що дана строка байтова.

На оснві кода для перевірки можна створити код, що перекладає дану строку в UTF-8:

>>> emoji = b'\xff\xfe=\xd8\r\xdc'.decode(encoding="utf-16")
>>> print(" ", emoji.encode("utf-8"))
>>> # b'\xf0\x9f\x90\x8d'

5. Створіть функцію, яка приймає в якості першого аргументу бажаний опір паралельно з'єднаних резисторів *R* [Ом],
а в якості подальших аргументів – величини резисторів, що є в наявності [Ом].
Функція повертає кортеж (tuple), першим елементом якого є словник типу ``{номінал: кількість}``, а другим
елементом – абсолютне відхилення результуючого опору від бажаного [Ом].

>>> from collections import Counter
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.2

>>> def resistance(desired_resistance, *args):
>>> inv_res_resistance = 0
>>> for i in args:
>>> inv_res_resistance += 1/i
>>> res_resistance = 1/inv_res_resistance
>>> return dict(Counter(args)), abs(res_resistance-desired_resistance)
>>> first_output, second_output = resistance(18, 7, 8, 9, 9)
>>> print(first_output, second_output)

6. Що таке she-bang та для чого використовується? Який she-bang буде максимально коректним для Python 3?
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1

Чи використовується she-bang в скриптах? Якщо так, чому? Якщо ні, коли?
Шибенг - це послідовність із двох символів: «решітки» та знака оклику (#!), яка ставиться на початку файлу (текстового), написаного на скриптовій мові.
У системах Unix сценарії Python можна зробити безпосередньо виконуваними, як і сценарії оболонки, шляхом додавання рядка шибенгу на почтаку коду:
>>> /usr/bin/env python3.5

Коли даний скрипт виконується як програма, то кінець рядка після шибенгу розгялдається завантажувачем як ім'я програмим, що інтерпритує код. Завантажувач запускає дану программу і передає їй ім'я файлу скрипту з шебенгом як параметр.
У системах Windows не існує поняття «режим виконання». Програма встановлення Python автоматично пов’язує файли .py з python.exe, так що подвійне клацання файлу Python запускає його як сценарій.

Скрипту можна надати режим виконання або дозвіл за допомогою команди chmod:
>>> $ chmod +x myscript.py

7. Які цикли Python вам відомі? Який цикл буде виконуватися швидше та чому?
Наведіть приклад коду для виводу списка за допомогою кожного з типів циклу.
- цикл while - один із самих універсальних циклів в Python - виконує тіло циклу до тих пір, доки умова циклу істинна, через що досить повільний. тому досить повільний:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тому досить повільний

он медленный из-за того, что выполняется со скоростью интерпретации байткода

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.9


>>> num = [1, 2, 3, 4, 5]
>>> while i < len(lst):
>>> print(lst[i])
>>> i += 1

- цикл for - трохи складніший і менш універсальний - проходить по будь-яким ітерованим об'єктам (строка або список), і під час кожного проходу виконується тіло циклу - таким чином виконується швидше:

>>> num = [1, 2, 3, 4, 5]
>>> for i in range(len(num)):
>>> print(num[i])

8. Які цикли Python вам відомі? Яким чином можна реалізувати "якщо не було виконано жодного разу" з циклами?
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.45


Відповідь на першепитання аналогічна до відповіді на перше питання в блоці №7.

Якщо не було виконало жодного разу:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это делается с помощью конструкции else:

for ix in lst:
   ....
else:
   ....


- Для while:

>>> while type(n)!= int #цикл буде виконуватись поки аргумент n не прийме знаяення цілого числа

- Для for:

>>> for i in !spisok #цикл буде виконуватись доки значення аргументу i не належить значенню аргумента список
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

! символ не нужен

12 changes: 12 additions & 0 deletions dk92_baskakova/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
=============================================
Embedded Linux course: lab works
=============================================

Author
-----

* **Full name:** Baskakova Olexandra
* **Organization/University:** `Igor Sikorsky Kyiv Polytechnic Institute <https://kpi.ua/en>`__
* **Department:** `The Department of Design of Electronic Digital Equipment <http://keoa.kpi.ua/go/cPath/0_20737/lang/en/index.htm?language=en>`__
* **Telegram:** `@Akira_Deer <https://tg.me/Akira_Deer>`__
* **Email:** `lignum.elf@gmail.com <mailto:lignum.elf@gmail.com>`__
6 changes: 3 additions & 3 deletions students.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ Student List

================== =========================================
Student Directory
================== =========================================
=================== ==========================================
Anton Romanenko `dk92_romanenko </dk92_romanenko>`_
Artem Herashchenko `dk91_herashchenko </dk91_herashchenko>`_
================== =========================================

Baskakova Alexandra `dk92_Baskakova </dk92_baskakova>`_
=================== ==========================================