diff --git a/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst b/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst new file mode 100644 index 0000000..4484cac --- /dev/null +++ b/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst @@ -0,0 +1,148 @@ +============================== +Баскакова Олександра Володимирівна +============================== + + +1. Гілки в Git: для чого використовуються, який принцип роботи з гілками. Наведіть команди для створення нової гілки та переключення + між гілками. +Викорисовуэться для: + - якщо необхідно зробити зміни вже у існуючому проекті, але доступу до викладення змін немає - можна створити "форк" проекту + - якщо необхідно протестувати три різні версії одного проекту, аби обрати більше еффективний. +Створення: + +>>> $ git branch <назва_гілки> #дана команда лише СТВОРЮЄ ГІЛКУ - вона НЕ ПЕРЕКЛЮЧАЄ на цю гілку + +Переключення: + +>>> $ git checkout <назва_існуючої_гілки> + +2. Що таке об'єднання гілок та для чого використовується? Конфлікти при об'єднанні. + Наведіть приклад конфлікту (синтаксис) та команди для внесення змін до репозиторію після вирішення конфлікту. +Коли гілка виправлена, не містить помилок і готова стати частиною первинної бази коду - її можна об’єднати з головною гілкою. + Об’єднання – це злиття двох гілок. Будь-який новий/ оновлений код стане офіційною частиною кодової бази. Той, хто відгалужується від точки злиття, також буде мати цей код в своїй гілці: + +>>> $ 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 ..." 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 + >>> + >>> ======= + >>> + >>> >>>>>>> <назва_гілки_для_злиття>:index.html + +Щоб розв’язати цю несумісність,потрібно вибрати одну із версій, або самостійно поредагувати вміст файлу. Наприклад,можна замінити блок повністю: + +>>> + +Можна використовувати графічний інструмент для розв’язання конфліктів, виконайте команду git mergetool, яка запустить графічний редактор та проведе вас по всьому процесу: + +>>> $ git mergetool + +3. Строкові типи Python. У чому відмінність між Unicode-строкою та байтовою строкою? Наведіть приклад коду, що представляє строку +``'вічність'`` у вигляді байтової строки з кодуванням UTF-8 та KOI8-U + +На мові Python пыдтримються три строкових типа: + - str – призначені для представлення тексту у форматі Unicode та інших систем кодування - wей формат містить символи ASCII і символи в інших кодуваннях; + - bytes – призначені для представлення двійкових даних; + - bytearray – призначені для представлення подвійних даних з урахуванням змін у типі байтів. + Передбачається, що строка - це послідовність символів: кодові точки Юнікоду - це абстрактна концепція і її неможливо зберігати безпосередньо на диску. + Байтова строка - це послідновність байтів - байти можнна зберігати безспосередньо на диску. +>>> print("'вічність'".encode("utf-8")) +>>> print("'вічність'".encode("koi8-u")) + + +4. Якому емодзі відповідає байтова строка ``b'\xff\xfe=\xd8\r\xdc'`` (UTF-16)? Що значить даний запис байтової строки? + Наведіть приклад коду, що перекодує дану строку в 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 +>>> 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? + Чи використовується she-bang в скриптах? Якщо так, чому? Якщо ні, коли? +Шибенг - це послідовність із двох символів: «решітки» та знака оклику (#!), яка ставиться на початку файлу (текстового), написаного на скриптовій мові. + У системах Unix сценарії Python можна зробити безпосередньо виконуваними, як і сценарії оболонки, шляхом додавання рядка шибенгу на почтаку коду: +>>> /usr/bin/env python3.5 + +Коли даний скрипт виконується як програма, то кінець рядка після шибенгу розгялдається завантажувачем як ім'я програмим, що інтерпритує код. Завантажувач запускає дану программу і передає їй ім'я файлу скрипту з шебенгом як параметр. +У системах Windows не існує поняття «режим виконання». Програма встановлення Python автоматично пов’язує файли .py з python.exe, так що подвійне клацання файлу Python запускає його як сценарій. + +Скрипту можна надати режим виконання або дозвіл за допомогою команди chmod: +>>> $ chmod +x myscript.py + +7. Які цикли Python вам відомі? Який цикл буде виконуватися швидше та чому? + Наведіть приклад коду для виводу списка за допомогою кожного з типів циклу. +- цикл while - один із самих універсальних циклів в Python - виконує тіло циклу до тих пір, доки умова циклу істинна, через що досить повільний. тому досить повільний: + +>>> 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 вам відомі? Яким чином можна реалізувати "якщо не було виконано жодного разу" з циклами? + +Відповідь на першепитання аналогічна до відповіді на перше питання в блоці №7. + +Якщо не було виконало жодного разу: + + - Для while: + + >>> while type(n)!= int #цикл буде виконуватись поки аргумент n не прийме знаяення цілого числа + +- Для for: + + >>> for i in !spisok #цикл буде виконуватись доки значення аргументу i не належить значенню аргумента список diff --git a/dk92_baskakova/README.rst b/dk92_baskakova/README.rst new file mode 100644 index 0000000..f0af45c --- /dev/null +++ b/dk92_baskakova/README.rst @@ -0,0 +1,12 @@ +============================================= +Embedded Linux course: lab works +============================================= + +Author +----- + +* **Full name:** Baskakova Olexandra +* **Organization/University:** `Igor Sikorsky Kyiv Polytechnic Institute `__ +* **Department:** `The Department of Design of Electronic Digital Equipment `__ +* **Telegram:** `@Akira_Deer `__ +* **Email:** `lignum.elf@gmail.com `__ \ No newline at end of file diff --git a/students.rst b/students.rst index e66921f..dbebdb0 100644 --- a/students.rst +++ b/students.rst @@ -3,8 +3,8 @@ Student List ================== ========================================= Student Directory -================== ========================================= +=================== ========================================== Anton Romanenko `dk92_romanenko `_ Artem Herashchenko `dk91_herashchenko `_ -================== ========================================= - +Baskakova Alexandra `dk92_Baskakova `_ +=================== ==========================================