From d17154b6c8de10026ebcfdc5f10a3606f77b3ee7 Mon Sep 17 00:00:00 2001 From: Alexandra Baskakova Date: Wed, 15 Sep 2021 23:01:47 +0300 Subject: [PATCH 1/4] Add student folder --- dk92_Baskakova/README.rst | 12 ++++++++++++ students.rst | 10 +++++----- 2 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 dk92_Baskakova/README.rst 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 f874a21..813bbbf 100644 --- a/students.rst +++ b/students.rst @@ -1,9 +1,9 @@ Student List ############ -============= ======================= -Student Directory -============= ======================== -Name Lastname `dk91_lastname `_ -============= ======================== +==================== ======================= +Student Directory +==================== ======================== +Baskakova Alexandra `dk92_Baskakova `_ +==================== ======================== From 21ca30000415c08d1e11ab8a012afccec7dc78d6 Mon Sep 17 00:00:00 2001 From: thodnev Date: Thu, 30 Sep 2021 13:23:04 +0300 Subject: [PATCH 2/4] fix(lab0): change dir case --- {dk92_Baskakova => dk92_baskakova}/README.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {dk92_Baskakova => dk92_baskakova}/README.rst (100%) diff --git a/dk92_Baskakova/README.rst b/dk92_baskakova/README.rst similarity index 100% rename from dk92_Baskakova/README.rst rename to dk92_baskakova/README.rst From 452cf464bc09ce553dc602589cbf5ed378a9a573 Mon Sep 17 00:00:00 2001 From: DeerAkira <54910051+DeerAkira@users.noreply.github.com> Date: Thu, 11 Nov 2021 14:22:58 +0200 Subject: [PATCH 3/4] Create DK-92_Baskakova_Oleksandra_Volodymyrivna.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ответила, как Вы сказали - на каждый из блока. К сожалению - на все не хватило - долго возилась с офоромлением. --- ...-92_Baskakova_Oleksandra_Volodymyrivna.rst | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst 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..89f8a2f --- /dev/null +++ b/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst @@ -0,0 +1,62 @@ +============================== +Баскакова Олександра Володимирівна +============================== + + +#. Гілки в Git: для чого використовуються, який принцип роботи з гілками. Наведіть команди для створення нової гілки та переключення + між гілками. +Викорисовуэться для: + - якщо необхідно зробити зміни вже у існуючому проекті, але доступу до викладення змін немає - можна створити "форк" проекту + - якщо необхідно протестувати три різні версії одного проекту, аби обрати більше еффективний. +Створення: + >>> $ git branch <назва_гілки> //дана команда лише СТВОРЮЄ ГІЛКУ - вона НЕ ПЕРЕКЛЮЧАЄ на цю гілку + +Переключення: + >>> $ git checkout <назва_існуючої_гілки> +#. Що таке об'єднання гілок та для чого використовується? Конфлікти при об'єднанні. + Наведіть приклад конфлікту (синтаксис) та команди для внесення змін до репозиторію після вирішення конфлікту. + +#. Строкові типи Python. У чому відмінність між Unicode-строкою та байтовою строкою? Наведіть приклад коду, що представляє строку + ``'вічність'`` у вигляді байтової строки з кодуванням UTF-8 та KOI8-U +На мові Python пыдтримються три строкових типа: + - str – призначені для представлення тексту у форматі Unicode та інших систем кодування - wей формат містить символи ASCII і символи в інших кодуваннях; + - bytes – призначені для представлення двійкових даних; + - bytearray – призначені для представлення подвійних даних з урахуванням змін у типі байтів. + Передбачається, що строка - це послідовність символів: кодові точки Юнікоду - це абстрактна концепція і її неможливо зберігати безпосередньо на диску. + Байтова строка - це послідновність байтів - байти можнна зберігати безспосередньо на диску. +>>> print(``'вічність'``.encode('utf-8')) +>>> print(``'вічність'``.encode('koi8-u')) + +#. Якому емодзі відповідає байтова строка ``b'\xff\xfe=\xd8\r\xdc'`` (UTF-16)? Що значить даний запис байтової строки? + Наведіть приклад коду, що перекодує дану строку в UTF-8 та вкажіть результат у вигляді коментаря + +#. Створіть функцію, яка приймає в якості першого аргументу бажаний опір паралельно з'єднаних резисторів *R* [Ом], + а в якості подальших аргументів – величини резисторів, що є в наявності [Ом]. + Функція повертає кортеж (tuple), першим елементом якого є словник типу ``{номінал: кількість}``, а другим + елементом – абсолютне відхилення результуючого опору від бажаного [Ом]. + +#. Що таке 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 + +#. Які цикли 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]) + +#. Які цикли Python вам відомі? Яким чином можна реалізувати "якщо не було виконано жодного разу" з циклами? From 693025ecac4b2b4ff7989bcf230f66516d14e297 Mon Sep 17 00:00:00 2001 From: DeerAkira <54910051+DeerAkira@users.noreply.github.com> Date: Thu, 11 Nov 2021 20:47:20 +0200 Subject: [PATCH 4/4] Update DK-92_Baskakova_Oleksandra_Volodymyrivna.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit дополнила ответы на вопросы, на которые не успевала ответить --- ...-92_Baskakova_Oleksandra_Volodymyrivna.rst | 122 +++++++++++++++--- 1 file changed, 104 insertions(+), 18 deletions(-) diff --git a/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst b/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst index 89f8a2f..4484cac 100644 --- a/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst +++ b/dk92_baskakova/DK-92_Baskakova_Oleksandra_Volodymyrivna.rst @@ -3,39 +3,110 @@ ============================== -#. Гілки в Git: для чого використовуються, який принцип роботи з гілками. Наведіть команди для створення нової гілки та переключення +1. Гілки в Git: для чого використовуються, який принцип роботи з гілками. Наведіть команди для створення нової гілки та переключення між гілками. Викорисовуэться для: - якщо необхідно зробити зміни вже у існуючому проекті, але доступу до викладення змін немає - можна створити "форк" проекту - якщо необхідно протестувати три різні версії одного проекту, аби обрати більше еффективний. Створення: - >>> $ git branch <назва_гілки> //дана команда лише СТВОРЮЄ ГІЛКУ - вона НЕ ПЕРЕКЛЮЧАЄ на цю гілку + +>>> $ git branch <назва_гілки> #дана команда лише СТВОРЮЄ ГІЛКУ - вона НЕ ПЕРЕКЛЮЧАЄ на цю гілку Переключення: - >>> $ git checkout <назва_існуючої_гілки> -#. Що таке об'єднання гілок та для чого використовується? Конфлікти при об'єднанні. + +>>> $ 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. У чому відмінність між Unicode-строкою та байтовою строкою? Наведіть приклад коду, що представляє строку - ``'вічність'`` у вигляді байтової строки з кодуванням UTF-8 та KOI8-U На мові Python пыдтримються три строкових типа: - str – призначені для представлення тексту у форматі Unicode та інших систем кодування - wей формат містить символи ASCII і символи в інших кодуваннях; - bytes – призначені для представлення двійкових даних; - bytearray – призначені для представлення подвійних даних з урахуванням змін у типі байтів. Передбачається, що строка - це послідовність символів: кодові точки Юнікоду - це абстрактна концепція і її неможливо зберігати безпосередньо на диску. Байтова строка - це послідновність байтів - байти можнна зберігати безспосередньо на диску. ->>> print(``'вічність'``.encode('utf-8')) ->>> print(``'вічність'``.encode('koi8-u')) +>>> print("'вічність'".encode("utf-8")) +>>> print("'вічність'".encode("koi8-u")) -#. Якому емодзі відповідає байтова строка ``b'\xff\xfe=\xd8\r\xdc'`` (UTF-16)? Що значить даний запис байтової строки? + +4. Якому емодзі відповідає байтова строка ``b'\xff\xfe=\xd8\r\xdc'`` (UTF-16)? Що значить даний запис байтової строки? Наведіть приклад коду, що перекодує дану строку в UTF-8 та вкажіть результат у вигляді коментаря + Емодзі змії. Код для перевірки: -#. Створіть функцію, яка приймає в якості першого аргументу бажаний опір паралельно з'єднаних резисторів *R* [Ом], + >>> 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), першим елементом якого є словник типу ``{номінал: кількість}``, а другим елементом – абсолютне відхилення результуючого опору від бажаного [Ом]. - -#. Що таке she-bang та для чого використовується? Який she-bang буде максимально коректним для Python 3? + +>>> 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 можна зробити безпосередньо виконуваними, як і сценарії оболонки, шляхом додавання рядка шибенгу на почтаку коду: @@ -47,16 +118,31 @@ Скрипту можна надати режим виконання або дозвіл за допомогою команди chmod: >>> $ chmod +x myscript.py -#. Які цикли Python вам відомі? Який цикл буде виконуватися швидше та чому? +7. Які цикли Python вам відомі? Який цикл буде виконуватися швидше та чому? Наведіть приклад коду для виводу списка за допомогою кожного з типів циклу. - цикл while - один із самих універсальних циклів в Python - виконує тіло циклу до тих пір, доки умова циклу істинна, через що досить повільний. тому досить повільний: - >>> num = [1, 2, 3, 4, 5] - >>> while i < len(lst): - >>> print(lst[i]) - >>> i += 1 + +>>> 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]) -#. Які цикли Python вам відомі? Яким чином можна реалізувати "якщо не було виконано жодного разу" з циклами? +8. Які цикли Python вам відомі? Яким чином можна реалізувати "якщо не було виконано жодного разу" з циклами? + +Відповідь на першепитання аналогічна до відповіді на перше питання в блоці №7. + +Якщо не було виконало жодного разу: + + - Для while: + + >>> while type(n)!= int #цикл буде виконуватись поки аргумент n не прийме знаяення цілого числа + +- Для for: + + >>> for i in !spisok #цикл буде виконуватись доки значення аргументу i не належить значенню аргумента список