пʼятниця, 15 січня 2021 р.

Дистанційна освіта з інформатики 18.01.2021 - 24.01.2021

 

Дистанційна освіта з інформатики в період січня 2021 року

18.01.2021 - 24.01.2021

Тема: Середовище опису та виконання алгоритмів. Властивості алгоритмів. Властивості виконавців.

Мотиваційна частина

Осмислюємо властивості команд в таких алгоритмах.


Теоретична частина.

 

Осмислюємо основні властивості алгоритмі на таких текстових зразках

Нагадаємо із попереднього уроку Приклад 1.

1)У вас є два  відра ємністю на 4 літри та 7 літрів.  Опишемо систему команд для виконавця:

 А. Воду брати із річки і наповнювати повне відро.

Б. Виливати воду  із відра  у річку так, щоб відро було порожнім.

В. Переливати воду можна із відра у відро так, щоб відро, в яке наливають воду, стало повним.

Як отримати  точно 6 літрів води за допомогою даних двох відер?


Складемо алгоритм отримання 6  літрів  води у вигляді таблиці:

Алгоритм переливання води у двох відрах для отриматння рівно 6 літрів

№ переливання

Кількість води у відрі на 4 літри

Кількість води у відрі на 7 літри

Сума води у двох відрах

1 дія А

0 літрів

7 літрів

7 літрів

2 дія В

0+4=4 літрів(наповнюється)

7-4=3 літри

7 літрів

3 дія Б

4-4=0 літрів(виливаємо)

3літри

3 літрів

4 дія В

0+3=3 літри(наповнюємо)

3-3=0 літрів

3 літрів

5 дія А

3 літрів

0+7=7 літрів(наповнюємо)

10 літрів

6 дія В

3+1=4 літрів

7-1=6 літрів

10 літрів

7 дія Б

4-4=0 літрів

6 літрів

6 літрів

Самостійно отримайте рівно 5 літрів води якщо буде така система команд.

У вас є два  відра ємністю на 4 літри та 7 літрів.   Змінюємо систему команд для виконавця-учня:

А.  Воду можна брати із річки і наповнювати повне відро.

Б. Переливати воду можна тільки із відра у відро так, щоб відро із якого виливають стало порожнім.

В. Виливати воду можна назад у річку так, щоб відро стало порожнім.

Як отримати  точно 5 літрів води за допомогою даних двох відер?

 

Алгоритм переливання води

у відрах для отримання рівно 5 літрів

№ переливання

Кількість води у відрі на 4 літри

Кількість води у відрі на 7 літри

Сума води у двох відрах

1 дія А

4 літрів

0 літрів

4 літрів

2 дія Б

4-4=0 літрів

4+0=4 літри

4 літрів

3 дія А

0+4=4 літрів(наповнюємо)

4 літри

8 літрів

4 дія Б

4-3=1 літр

4+3=7 літрів

8 літрів

5 дія В

1 літрів

7-7=0 літрів(виливаєм)

1 літрів

6 дія Б

1-1=0 літрів

0+1 =1 літрів

1 літрів

7 дія А

0+4=4 літрів

1 літрів

5 літрів

8 дія Б

4-4=0 літрів

1+4=5 літрів

5 літрів

 

Осмислюємо відповіді на проблемні запитання

Запитання 1.
Які властивості притаманні алгоритмам?
Відповідь.
1)
Дискретна властивість алгоритма означає те, що алгоритм складається з певної обмеженої кількості упорядкованих команд. Отже,  в алгоритмі не може бути незлічена кількість операцій.
2)
Зрозумілість алгоритма, як властивість, означає, що виконавець виконає тількі ті команди, які належать до сфери його компетенцій. Отже, виконавець алгоритмів, не виконує незрозумілі йому команди.
3)
Визначеність алгоритма, як властивість, означає, що виконавець чітко дотримується того порядку виконання команд, які записані в самому алгоритмі. Отже, в алгоритмі не існує подвійного чи потрійного трактування способів виконання команд.
4)
Результативність алгоритма, як властивість, означає, що після завершення роботи алгоритму виконавець досягає конкретного  чи успішного результату. Отже, не може відбутися те, що після завершення роботи алгоритму не отримано чіткого результату.
5)
Масовість алгоритма, як властивості, означає, що виконавцем алгоритму може стати жива компетентна істота, або деяка нежива істота з відповідним програмним забезпеченням.
Запитання 2.
Які характеристики притаманні виконавцям алгоритмів?
Відповідь.
1)
Виконавець алгоритмів має обмежену сферу компетенцій, тобто він може виконувати лише обмежену кількість алгоритмів певної предметної області знань. Наприклад, алгоритми побудови комп'ютерної графіки.
2)
Виконавець алгоритмів має середовище виконавця, тобто деяку базу знань, умови роботи та ресурси для роботи програмованих середовищ, для виконання алгоритмів і вміє керувати ними.
3)
Виконавець алгоритмів має часові обмеження для виконання алгоритмів, тобто у нього існує свій режим роботи над виконання алгоритмів.
4)
Виконавець алгоритмів знає деяку систему управління  командами, яка успішно виконує алгоритми певної предметної області у певному програмному середовищі.
5)
Виконавець алгоритмів знає, про введення вхідних даних, що потрібні для успішного виконання алгоритму.
6)
Виконавець алгоритмів вміє аналізувати точність чи неточність вихідних даних, тобто результат роботи алгоритму.
Запитання 3.
Згадайте правила виконання арифметичних дій над багатоцифровими натуральними числами.  Оберіть ті дії, якими ви володієте, як виконавець алгоритмів і впорядкуйте їх за ознакою складності виконання.
1) усне додавання одноцифрових чисел.
2)усне віднімання двоцифрових чисел.
3)письмове множення трицифрових чисел.
4)письмове ділення чотирицифрових чисел на двоцифрове число.
5)знаходження остачі від ділення двох натуральних чисел.
6)знаходження суми декількох послідовних натуральних чисел від 1 до n.
7)побудова числового магічного квадрата розміром 3х3 на числах від 1 до 9 на сумах.
8)побудова числового магічного квадрату розміром 3х3 на добутках.
Відповідь:  один із можливих варіантів: 12345678.
Запитання 4.
Уважно прочитайте систему команд для того, щоб її правильно застосувати, як виконавець, алгоритму.
1. Обчислюється довжина (в символах) вхідного ланцюжка символів. І потім визначається парне чи непарне це число.
2. Якщо довжина вхідного ланцюжка непарна, то справа приписується цифра 1, інакше ланцюжок не змінюється.
3. У ланцюжку символи попарно міняються місцями(перший - з другим, третій - з четвертим, п'ятий - з шостим, і т.д.)
4. Справа до отриманого ланцюжка дописується цифра 2.

1)
ЯК зміниться вхідний ланцюжок А#В після застосування до нього системи 1.-4. команд?
2
) Як зміниться вхідний ланцюжок АБВ@ після застосування до нього системи 1.-4. команд?
Відповідь. Якщо все правильно виконали, то отримаєте: 1)#А1В2;   2)БА@В2

Запитання 5.
У запитанні  4 прописаний такий алгоритм, який володіє цікавою властивістю. Кожен вихідний ланцюжок, що був отриманий, як результат виконання алгоритму, закінчується цифрою 2.
Отже, якщо після виконання алгоритму при будь-яких вхідних даних, у всіх вихідних результатах алгоритму, існує однакова властивість, то цю властивість називають
інваріантною(незмінюваною) властивістю алгоритма. У протилежному випадку алгоритм володіє тільки варіативною(змінюваною) властивістю.

У запитанні  4 прописаний такий алгоритм, який володіє ще такою варіативною властивістю. Кожен вихідний ланцюжок, що був отриманий, як результат виконання алгоритму, може розпочинаєтися довільним символом.


Осмислюємо властивості окремих команд в алгоритмах

Теоретичні дослідження Андрія Андрійовича Маркова (1903-1979), виконані в середині минулого століття, показали, що в загальному випадку алгоритми повинні містити в собі команди двох видів:
1) команди, що безпосередньо перетворюють і змінюють вхідну інформацію(це функціональні оператори);
2)команди, що визначають подальший напрям дій серед деякого набору можливостей(це логічні оператори).

Приклади алгоритмів для самостійного осмислення учнями.
Приклад 1.
Система команд для виконавця з іменем "Дослідник" скаладається із двох команд, яким надані номери:
1. - приписати 2;
2. - поділити на 2.

Згідно першої команди до вхідного числа приписується справа цифра 2.
Згідно другої команди вхідне число ділиться на 2.

А)Як буде перетворене число 8, якщо виконавець "Дослідник" виконає алгоритм 22212?
Реалізація. Вхідні дані:8.
1. 8:2=4;   2. 4:2=2;  3. 2:2=1;  4. із (1) _ отримаємо 12; 5. 12:6=6.
Вихідні дані: 6.
Результат. 6.

Б) Який треба створити алгоритм в системі команд виконавця "Дослідник", що із числа 1 отримати число 16?
Реалізація. Вихідні дані: 16.
Спосіб спроб і помилок.
Аналіз систем команд з кінця.
а)1. 16:2=8;
2. 8:2=4; 
3. 4:2=2;
4. 2:2=1. - це хибний шлях пошуку.
Аналіз протилежних арифметичних дій:
б) 1. 16×2=32.
2. (32) _ (3); 
3. 3×2 =6;
4. 6×2=12. 
5. (12)  _ (1). - це вірний шлях пошуку.
Отже. Маємо такий алгоритм 12212, первіряємо його виконання.
Вхідні дані: 1.
1.  (1) _ (12);  2. 12:2=6;  3. 6:2=3; 4. (3)_(32); 5. 32:2=16.
Вихідні дані: 16.
Результат: 12212.

Приклад 2.
Система команд для виконавця з іменем "Ювелір" скаладається із двох команд, які надані номери:
1. - прикріпити справа до ланцюжка золоте кільце;
2. - прикріпити справ до ланцюжка срібне кільце.


Згідно першої команди до вхідного ланцюжка під'єднується справа золоте кільце
Згідно другої команди  до вхідного ланцюжка під'єднується справа срібне кільце.

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

Виконавець "Ювелір" задумався над запитанням, а скільки можна утворити різних  алгоритмів, якщо у нього є тільки 3 золотих і 3 срібних кільця і йому треба отримувати лише 6-ланкові ланцюжки.

Реалізація:  У вигляді "дерева".
Якщо перше вхідне кільце золоте:
А)                           З                    1 ланка
                   С                         З           2 ланка
             С          З            С         З        3 ланка
          С   З     С    З       С     З      С        4 ланка     
      З     С З   С З   С     С З    С     С      5 ланка
     З      З  С  З  С   С     З  С    С     С      6 ланка
У цьому випадку ми отримаємо 10 різних алгоритмів.

Якщо перше вхідне кільце срібне.
Б) Аналогічно до пункту А) створюємо "дерево" при умові, що кожна буква "З" замінюється на букву "С" а кожна буква "С"  замінюється на букву "З".  Отримаємо ще 10 різних алгоритмів.
10+10=20 алгоритмів для створення 6 ланкового ланцюжка із трьох золотих та трьох срібних кілець. Проте ці 20 алгоритмів дають можливість утворити тільки 10 різних ланцюжків, бо ланцюжок не зміниться, якщо його крутити навколо центру симетрії.
Результат. 20 алгоритмів. 

 Ме́тод в об'єктно-орієнтованому програмуванні — це підпрограма (це процедура, це функція), що використовується виключно разом із класом деяких об’єктів(методи класу) або з одним об'єктом (методи екземпляра). Розрізняють прості методи і статичні методи (методи класу): прості методи мають доступ до даних об'єкта (конкретного екземпляра даного класу)

Наприклад. Об'єкт: натуральне число 100. Його властивість: парне число.  Метод, який можна застосувати до цього об'єкта - це спосіб множення 100 на будь-яке натуральне число або функція кількості парних цифр у цьому числі, або  процедура пошуку кількості натуральних дільників цього числа.

Запитання. Які методи можна застосувати до числа «-106»?

Відповідь: Метод, який можна застосувати до цього об'єкта - це спосіб множення -1000000 на будь-яке натуральне число, або - це функція кількості парних цифр у цьому числі, або   - це процедура пошуку кількості натуральних дільників цього числа, або це функція кількості представлень числa  у вигляді суми двох від'ємних доданків, або функція перетворення натурального числа в двійкову систему числення, тощо.

Зразки алгоритмів:  https://pythontask.pp.ua/


Практична частина.

 Для користувачів OS Windows, бажано встановити Середовище Thonny, оскільки робота в ньому непогано описана в нашому підручнику.

Середовище Thonny Python IDE for beginners https://thonny.org/

Для завантаження можна прямо перейти за посиланням

Для Windows: https://github.com/thonny/thonny/releases/download/v3.3.2/thonny-3.3.2.exe

 

Приклади запису математичних дій мовою Python

                                                            http://binfo.com.ua/?page_id=109

Математичні оператори

Оператор

Команда

Приклад

Результат

+

додавання

15+3

18

віднімання

6-4

2

*

множення

5*4

20

/

ділення

24/3

8

//

ділення націло

7//3

2

%

залишок від ділення

9 %6

3

**

піднесення до степеня

2**2

4

Порядок операцій

1.       дужки ()

2.       піднесення до степеня **

3.       множення *, ділення /, остача від ділення %

4.       додавання+, віднімання 

 

ВИКОНАТИ зразки алгиритмів мовою  Python3

Навчальна вправа 1. Алгоритм обчислення з цілими числами

Створити  та реалізувати в середовищі Thonny подану нижче програму мовою Python, зберегти її  та протестувати для трьох таких числових пар: 1) (a;b)=(2;3);  2) (a;b)=(-4;-3); 3) (a;b)=(84;-45);

a=int(input(''Введіть непарне натуральне число а=''))

b=int(input('' Введіть парне натуральне число b=''))

c=int((a-b)+(2*b))

x=int(a+b-7*a)

y=int(a//b+9*(3%x-c+a))

print('c= ', c)

print('x= ', x)

print('y= ', y)

print(c, x, y)

print('2*c+3*x+4*y = ', 2*c+3*x+4*y)

 Увага. Якщо дані коди програми надруковані у середовищі Thonny вірно і без помилок, то спочатку зберігаємо цю програму на комп’ютері, потім шукаємо і натискаємо піктограму: «зелений кружок з білим трикутником», проходить підготовка до виконання алгоритму і внизу вікна пропонується вам  ввести вхідні дані: а)друкуємо перше число - потім Enter - б)друкуємо друге число - потім Enter. Через деякий час виводяться вихідні дані тобто результати обчислення - це п’ять рядків чисел. Аналізуємо ці числа, на правильність і точність.

Копіюємо ці коди і встовляємо на сторінку текстового редактора  Блокнот, підптсуємо як «Кодування вправу 1». Копіюємо вхідні дані і результати обчислення цього алгоритму  і вставляємо в Блокнот після слів: Виконання вправи 1.  Зберігаємо цей текстовий файл «Вправа1.txt». Вправу виконано.

Навчальна вправа 2. Алгоритм обчислення з дробовими числами

Створити та реалізувати в середовищі Thonny подану нижче програму мовою Python, зберегти, як файл  та протестувати для трьох таких числових пар: 1) (a;b)=(2.75; 3.25);  2) (a;b)=(-4.57; -3.198); 3) (a;b)=(83.423;-41.598).

a=float (input ('Введіть дробове число а=''))

b=float(input ('Введіть дробове число b=''))

c=a/b

d=b/a

print('c= ', c)

print('d= ', d)

print('c+d = ', c+d)

Увага. Якщо коди програми надруковані у середовищі вірно і без помилок, то спочатку зберігаємо цю програму на компютері, потім натискаємо піктограму: «зелений кружечок з білим трикутником», проходить трансляція кодів(підготовка до виконання) і внизу пропонується вам  ввести вхідні дані: друкуємо перше число - потім Enter - друкуємо друге число - потім Enter. Через деякий час виводяться вихідні дані - це три числа. Аналізуємо ці три числа, на правильність і точність.

 Копіюємо ці коди в середовищі Thonny і вставляємо на чисту сторінку текстового редактора  Блокнот, а тепер прописуємо перший рядок, як «Кодування вправи 2». Потім. Копіюємо вхідні дані і результати обчислення цього алгоритму в середовищі Thonny  і вставляємо їх в Блокнот після слів: "Виконання вправи 2".  Зберігаємо цей текстовий файл «Вправа2.txt». Вправу виконано. Потім цей файл треба буде відправити вашому учителю інформатики на перевірку. 

Навчальна вправа 3. Обчислювальння з дробовими і цілими числами

Створити та реалізувати в середовищі Thonny подану нижче програму мовою Python, зберегти, як файл  та протестувати для трьох таких числових пар: 1) (a; f)=(2.75; 3);  2) (a; f)=(-4.57; -3); 3) (a;b)=(83.423;-41).

a=float(input('Введіть дробове число а=''))

V=a*a*a

S=6*a*a

print('V = ', float(V), '; S = ', float(S))

f=int(input('Введіть натуральне число f=''))

f=2*f+3/f

print('f=', f)

print('round f = ',int(f))

Увага. Якщо коди програми надруковані у середовищі вірно і без помилок, то спочатку зберігаємо цю програму на компютері, потім натискаємо піктограму: «зелений кружечок з білим трикутником», проходить трансляція кодів і внизу пропонується вам  ввести вхідні дані: друкуємо перше число - потім Enter - друкуємо друге число - потім Enter. Через деякий час виводяться вихідні дані - це три числа. Аналізуємо ці три числа, на правильність і точність.

  Копіюємо ці коди в середовищі Thonny і вставляємо на чисту сторінку текстового редактора  Блокнот, а тепер прописуємо перший рядок, як «Кодування вправи 3». Потім. Копіюємо вхідні дані і результати обчислення цього алгоритму в середовищі Thonny  і вставляємо їх в Блокнот після слів: "Виконання вправи 3".  Зберігаємо цей текстовий файл «Вправа3.txt». Вправу виконано. Потім цей файл треба буде відправити вашому учителю інформатики на перевірку. 

Результат виконаної практичної роботи( а це три текстові файли із трьома реалізованими програмами мовою Python в середовищі Thonny)  надіслати вашому учителю на електронну скриньку: 
vinnser@gmail.com (Сергій Петрович)
ktdfz@i.ua (Юрій Васильович)

*******************************************************************

Додаткова інформація для учнів


Мова програмування Рython 3 - це штучна мова високого рівня, зручна для створення та реалізації алгоритмів. Останнім часом ця мова набула великої популярності серед тих, хто починає вивчати програмування.

Запитання 1.
Які переваги має мова Python 3 над іншими мовами програмування?
Відповідь: Переваги мови Python 3 такі:
1. Можна мати низький поріг інтелекту для осмислення  кодів та алгоритмів
2. Зрозумілий і простий синтаксис запису кодів.
3. Короткий запис кодів.
4. Велика бібліотека готових реалізацій алгоритмів та швидкий виклик цих програм.
5. Об'єднує навколо себе велику кількість програмістів, які готові тобі допомогти у разі проблеми з програмуванням алгоритму. Досить правильно гуглити запитання.
Запитання 2.

А що можна вагоме зробити на штучній мові програмування Python 3?
Відповідь.
Сфери застосування мови програмування Python 3 такі:
1. Цю мову  використовують для веб-розробки різних інформаційних ресурсів в мережі.
2. Проводити аналіз великої кількості даних.
3. Створювати алгоритми для машинного навчання штучного інтелекту.
4. Розробляти ігри з глибоким зануренням в  тонкощі стратегій поведінки істот.
5. Автоматизувати роботу під широке коло завдань.
6. Програмувати додатки для смартфонів.


Первірте власні знання


Тренувальне тестування  з теми:

«Алгоритмізація та програмування».

А1.Символом "паралелограм" в графічній схемі позначається:

1.   Кінець алгоритму;

2.   Початок алгоритму;

3.   Умовний оператор;

4.   Ввід данних;

5.   Вивід данних.

 

А2.Запишіть результат виконання наступного арифметичного дії: 819 mod 10.

Відповідь: 9, бо це є остача від ділення цілого числа 819 на ціле число10.

 

А3.Запишіть результат виконання наступного арифметичного дії: 38 mod 3.

Відповідь: 2, бо це є остача від ділення цілого числа 38 на ціле число 3.

 

А4.Запишіть результат виконання наступного арифметичного дії: 18 mod 2

Відповідь: 0, бо це є остача від ділення цілого числа 18 на ціле число 2.

 

А5.У блок-схемі, всередині паралелограма слід написати:

1.   Повторити 3 рази дію;

2.   Кінець програми;

3.   X> Y;

4.   Вивести X;

5.   X: = X + 1;

А6.Засобом записи алгоритму є ..

1.   Шкільна  алгоритмічна мову(псевдокод);

2.   Мови програмування;

3.   Блок-схеми;

4.   Розмовні мови.

 

А7.Запишіть результат виконання наступного арифметичного дії: 37 div 3

Відповідь: 12, бо це є неповна частка(ціла частина) від ділення цілого числа 37 на ціле число 3.

 

А8.

Розташуйте послідовно дії в алгоритмі приготування чаю, обвівши кружечком номер дії в системі команд:

Реалізація.

1)    1 2 3 4 5 6 7 - Микита захотів чаю.

 

2)    1 2 3 4 5 6 7 - Закип'ятив в чайнику воду.

 

3)    1 2 3 4 5 6 7 - Він налив туди кип'яток.

 

4)    1 2 3 4 5 6 7 - Поклав в чашку пакетик заварки

 

5)    1 2 3 4 5 6 7 - Додав дві чайні ложки цукру.

 

6)    1 2 3 4 5 6 7 - Розколотив їх ложкою.

 

7)    1 2 3 4 5 6 7 - Випив чай.

 

А9.

Визначте значення змінної b після виконання алгоритму:

а: = 2

b: = 4

а: = 2 * а + 3 * b

b: = a / 2 * b

Варіанти відповідей:

А) b: = 32;   Б) b: = 16;   B) b: = 4;   Г) b: = 128;   д) b: = 64

 

А10.

Визначте значення змінної b (не змінної а, що у кінцевому рядку ) після виконання алгоритму:

а: = 5

b: = 4

b: = 100 - a * b

a: = b / 16 * a

Варіанти відповідей:

А) a: = 1,25;   Б) a: = 25;   B) b: = 20;   Г) b: = 80;   д) b: = 64


Довідник для учнів, що цікавляться програмуванням


Python

·         Теорія

·         I. Інтерпретатор Python

·         Робота з редактором Python. Загальні питання. Інтерактивний та програмний режими роботи. Набір тексту програми

·         II. Основи Python

·         1. Типи, числа, операції

·         1.1. Представлення даних в Python. Поняття об’єкту. Ідентичність, тип, значення об’єкту. Функції id()type(). Оператори isis not

·         1.2. Літерали. Створення (генерування) об’єкту. Базові типи об’єктів

·         1.3. Числа

·         1.3.1. Представлення чисел різних типів. Базові числові типи. Функції перетворення чисел

·         1.3.2. Числа з фіксованою точністю. Клас Decimal

·         1.3.3. Раціональні числа. Клас Fraction

·         1.4. Оператори (операції)

·         1.4.1. Оператори (операції) для роботи з числовими об’єктами. Таблиця пріоритетності операцій

·         1.4.2. Змішування типів. Перетворення типів в операторах

·         1.4.3. Математичні (арифметичні) оператори. Приклади

·         1.4.4. Оператори порівняння

·         1.4.5. Бітові оператори

·         2. Рядки

·         2.1. Рядки. Загальні поняття. Оголошення рядка. Операції над рядками. Приклади

·         2.2. Екрановані послідовності. Неформатовані рядки. Багаторядкові блоки тексту

·         2.3. Доступ за індексами. Зрізи. Отримання фрагменту рядка. Приклади

·         2.4. Вбудовані функції для роботи з рядками

·         2.4.1. Засоби перетворення рядків та одиночних символів. Функції int()str()repr()float()ord()chr()

·         2.4.2. Функції len()max()min()

·         2.5. Клас str. Функції роботи з рядками

·         2.5.1. Функції для роботи з рядками, що визначають особливості рядка

·         2.5.2. Функції пошуку та заміни підрядка в рядку

·         2.5.3. Функції що визначають та обробляють початок та кінець рядка

·         2.5.4. Функції обробки рядка згідно з форматом чи правилом кодування. Стилі форматування

·         2.5.5. Функції вирівнювання рядків

·         2.5.6. Функції які змінюють регістр символів у рядку

·         2.5.7. Функції розбиття рядків на частини та утворення нових рядків з допомогою кортежів та списків

·         3. Списки

·         3.1. СпискиВластивості списків. Приклади, що демонструють властивості списків

·         3.2. Операції над списками: конкатенація (+), дублювання (*), видалення, зріз, доступ за індексом

·         3.3. Обробка списків у циклах. Створення списків з допомогою генераторів списківІтерації по списках. Представлення та обробка матриць з допомогою списків. Операція in

·         3.4. Методи роботи зі списками. Приклади

·         3.5. Об’єкти-ітератори. Використання ітераторів та генераторів для списків. Функції range()next()iter()

·         4. Словники

·         4.1. Словники. Основні поняття. Характеристики. Створення словників. Доступ до значень у словнику

·         4.2. Вбудовані функції та операції обробки словників

·         4.3. Методи роботи зі словниками

·         4.4. Робота зі словниками. Вбудовані функції list()zip(). Обхід словника. Генератори словників. Сортування. Поєднання словників з множинами

·         5. Кортежі

·         5.1. Кортежі. Основні поняття. Властивості кортежів

·         5.2. Операції над кортежами. Обхід кортежу. Методи роботи з кортежами

·         6. Файли

·         6.1. Загальні поняття. Відкриття/закриття файлу. Функції open()close()

·         6.2. Приклади роботи з текстовими файлами

·         6.3. Приклади роботи з бінарними файлами

·         6.4. Модуль struct. Робота з бінарними файлами. Приклади збереження/читання упакованих двійкових даних

·         6.5. Модуль pickle. Серіалізація об’єктів. Приклади використання для запису/читання інформації з бінарних файлів

·         6.6. Приклади розв’язку задач на модифікацію текстових файлів

·         7. Множини

·         7.1. Основні поняття. Створення множини. Операція in. Операції над множинами, які утворюють нову множину

·         7.2. Операції та функції для визначення надмножин та підмножин. Порівняння множин

·         7.3. Класи setfrozensetФункції для роботи з множинами. Приклади

·         7.4. Обмеження на застосування множин. Застосування класу frozenset. Генератори множин

·         9. Керуючі інструкції

·         9.1. Оператор присвоєння. Форми присвоювання. Приклади. Позиційне присвоювання кортежів, списків

·         9.2. Інструкція (оператор) if. Визначення. Приклади

·         9.3. Оператор whileПриклади

·         9.4. Оператор forПриклади

·         10. Функції. Видимість імен

·         10.1. Поняття функції. Загальна форма. Приклади оголошення та використання функцій

·         10.2. Області видимості імен в Python. Локальні та глобальні імена. Правила видимості імен. Правило LEGB. Ключове слово global. Перевизначення імен в функціях

·         10.3. Вкладені функції. Вкладені області видимості. Правила пошуку імен у випадку вкладених функцій. Фабричні функції. Передача значень у вкладену функцію

·         10.4. Ключове слово nonlocal. Особливості використання. Приклади

·         10.5. Аргументи в функціях

·         10.5.1. Передача аргументів у функцію. Зміна аргументів у тілі функції

·         10.5.2. Режими співставлення аргументів. Класифікація. Співставлення за позицією. Співставлення за іменами. Аргументи за замовчуванням

·         10.5.3. Режими співставлення аргументів. Аргументи змінної довжини. Комбінування різних способів співставлення аргументів. Приклади

·         12. Класи

·         12.1. Класи в Python. Загальні поняття. Ключове слово class. Об’єкти класів. Об’єкти екземплярів

·         12.2. Спадковість у класах. Правила застосування спадковості. Приклади

·         12.3. Класи і модулі. Звертання до класів інших модулів

·         12.4. Перевантаження операторів у класах

·         12.4.1. Перевантаження операторів. Загальні відомості. Методи, що перевантажують оператори. Приклади

·         ІІІ. Стандартна бібліотека Python

·         1. Модуль io. Ієрархія класів. Клас IOBase. Методи роботи з файлами

·         2. Модуль math

·         2.1. Теоретико-числові функції та функції представлення

·         2.2. Степеневі та логарифмічні функції

·         2.3. Тригонометричні функції

·         2.4. Гіперболічні функції

·         2.5. Спеціальні функції та константи

·         3. Модуль random

·         3.1. Генерування випадкових чисел. Класи RandomSystemRandom. Функції рахівництва. Функції для цілих чисел

·         3.2. Функції для послідовностей

·         3.3. Функції генерування випадкових чисел з плаваючою комою

·         4. Модуль struct. Упакування/розпакування даних. Базові методи модуля

 


Немає коментарів:

Дописати коментар