Дистанційна освіта з інформатики в період березня 2021 року
16.03.2021 - 21.03.2021
Конспект уроку для
учнів
Тема: Логічні
вирази та змінні. Операції над ними. Створення масивів та операції над
масивами.
Мотиваційна
частина
Запитання: Чи вірно, що без таланту та розумових задатків, не стати
програмістом?
Відповідь: Багато людей вважають себе
недостатньо розумними для програмування, а програмістів наділяють здібностями
роботів та геніїв. Однак, програмісти – це звичайні люди, які відчувають
пристрасть до створення комп’ютерних програм. Здатність людини до створення
ефективних програм – це результат прикладених зусиль, подібно результату
наполегливих тренувань у спорті.
На перший погляд, комп’ютерні програми здаються занадто складними і
незрозумілими. Що ж говорити про китайські ієрогліфи, проте, близько 1,3 млрд
жителів планети можуть спокійно читати, писати і розуміти китайське письмо. Щоб
писати код не потрібно бути генієм: досить мати інтерес, стимул та
самодисципліну.
Теоретична частина
Зразки алгоритмів: https://pythontask.pp.ua/
Вбудовані логічні типи Python
У наступних розділах
описуються стандартні типи, які вбудовані в інтерпретатор.
Основними вбудованими
типами є цифри, послідовності, відображення, класи, екземпляри та винятки.
Деякі класи колекції
можна змінювати. Методи, які додають, віднімають або переставляють своїх
членів на місце і не повертають певний елемент, ніколи не повертають сам
екземпляр колекції, але None.
Деякі операції
підтримуються декількома типами об'єктів; зокрема, практично всі об'єкти
можна порівняти за рівністю, перевірити на істинність і перетворити на рядок
(із repr()функцією або дещо
іншою str()функцією). Остання
функція неявно використовується, коли об’єкт записується print()функцією.
Перевірка цінності істини
Будь-який об'єкт може
бути перевірений на істинність, на використання у ifабо в whileстані або як операнд
булевих операцій нижче.
За замовчуванням об'єкт
вважається істинним, якщо його клас не визначає або __bool__()метод, який повертає, Falseабо __len__()метод, який повертає нуль, коли його викликають з
об'єктом. 1 Ось більшість
вбудованих об’єктів, які вважаються помилковими:
·
константи, визначені як хибні: Noneі False.
·
нуль будь-якого числового типу: 0, 0.0, 0j, Decimal(0), Fraction(0,
1)
·
порожні послідовності і колекції: '', (), [], {}, set(), range(0)
Операції та вбудовані
функції, які мають логічний результат, завжди повертаються 0 або Falseдля false, 1або Trueдля true, якщо не
вказано інше. (Важливий виняток: булеві операції orта andзавжди повертають один
із їх операндів.)
Булеві операції - and, or, not
Ось такі логічні
операції, упорядковані за зростанням пріоритету:
Операція |
Результат |
Примітки |
x |
якщо x хибне, то y ,
інакше x |
(1) |
x |
якщо x хибне, то x ,
інакше y |
(2) |
not |
якщо x хибне, то True,
інакшеFalse |
(3) |
Примітки:
1.
Це оператор короткого замикання, тому він обчислює лише другий
аргумент, якщо перший хибний.
2.
Це оператор короткого замикання, тому він обчислює лише другий
аргумент, якщо перший є істинним.
3.
notмає нижчий пріоритет,
ніж небулеві оператори, тому інтерпретується як і є синтаксичною
помилкою.not
a
==
bnot
(a
==
b)a
==
not
b
Порівняння
У Python існує вісім
операцій порівняння. Усі вони мають однаковий пріоритет (який вищий, ніж у
булевих операцій). Порівняння можна сковувати
довільно; наприклад, еквівалентно , за винятком того, що y обчислюється лише
один раз (але в обох випадках z взагалі
не обчислюється, коли виявляється хибним).x
<
y
<=
zx
<
y
and
y
<=
zx
<
y
Ця таблиця підсумовує
операції порівняння:
Операція |
Значення |
< |
строго менше ніж |
<= |
менше або дорівнює |
> |
строго більше ніж |
>= |
більше або дорівнює |
== |
рівний |
!= |
не рівний |
is |
ідентичність об’єкта |
is |
заперечена ідентичність об’єкта |
Об'єкти різних типів,
крім різних числових типів, ніколи не порівнюють рівними. ==Оператор завжди визначаються , але для деяких типів
об'єктів (наприклад, клас об'єкти) еквівалентні is. В <, <=, >і >= оператори визначені тільки , де вони мають
сенс; наприклад, вони викликають TypeErrorвиняток, коли одним із
аргументів є комплексне число.
Практична частина
Завдання 1. Реалізувати алгоритм вибору із чотирьох варіантів мовою програмування
Python3
в середовищі Thonny.
Реалізація вибору.
x
= int(input("Введіть ціле число: "))
if
x < 0:
x = 0
print('Це відємне число')
elif
x == 0:
print('Це число - Zero')
elif
x == 1:
print('А, це одиниця')
else:
print('це додатне число')
Завдання 2. Реалізувати алгоритм повтореня та переборів із
лічильником мовою програмування Python3 в середовищі
Thonny.
Реалізація повторення або циклів
print("Зразок 1 кодування циклів з лічильником і кроком +1")
for i in range(5, 10):
print(i)
#5, 6, 7,
8, 9
print("Зразок 2 кодування циклів з лічильником і кроком +3")
for n in range(0, 10, 3):
print(n) #0, 3, 6, 9
print("Зразок 3 кодування циклів з лічильником і кроком -30")
for k in range(-10, -100, -30):
print(k) #-10,
-40, -70
print("Зразок 4 кодування циклів з лічильником по усім номерам")
x=[56,-78,9,0,-5,1]
for m in range(len(x)):
print(2*m+x[m])
Завдання
3. Реалізувати
алгоритм створення одновимірних масивів мовою програмування Python3 в середовищі Thonny.
Реалізація основних операцій виведення елементів із одномірних масивів або списками
import random; print("Oперації із списками на Python3")
print("Oперації над одномірними масивами на Python3")
k=6; z=['None']*k; y=[2**k+5*k]*(10-k); x=[-3.95-k/4.5]*(8-k)
d=[random.randint(11,22)]*7; print("Порожній
масив або список:",z)
print("Нульовий масив або список:",y)
print("Числовий масив або список:",x)
print("Випадкове число у масиві або списку:",d)
squares = [1, 4, 9, 16, 25]; print(squares)
print("Початковий елемент",squares[0]) ; print("Останній
елемент",squares[-1])
print("Останні три елементи",squares[-3:]); print("Усі
елементи списку",squares[:])
print("Середні елементи списку",squares[2:4])
m=40; q=[s for s in
range(m,20,-8)]; print("Із кінця
запис елементи списку",q)
h=6;
for j in range(0,h):
z[j]=((-1)**h)*random.randint(-897+h,922-h)
print("Випадкові числа у масиві або списку:", z)
Завдання
4. Реалізувати алгоритм операції
створення одновимірних масивів(списками чисел) мовою програмування Python3 в середовищі Thonny.
Реалізація основних операцій з одномірними масивами або
списками (цикл всередині списку).
n=10; g=[s for s in range(0, n)]
print("Усі елементи списку", g)
k=20; f=[s for s in range(0, k, 3)]
print("Усі елементи списку 3k",
f)
m=30; q=[s for s in range(m, 0, -5)]
print("Не
усі елементи списку", q)
h=40; q=[s for s in range(h, 20, -8)]
print("Із кінця запис деяких елементів списку", q)
Завдання
5. Реалізувати алгоритм операцій з
одновимірними масивами(списками) мовою програмування Python3 в середовищі Thonny.
Реалізація основних операцій з одномірними масивами або
списками(цикли з умовами).
import random
g=[s for s in range(0,50)];
p=[s for s in g if int(g[s])%4==1];
print("Усі елементи списку 4k+1:",p)
u=[s for s in g if int(g[s])%4!=1];
print("Усі елементи списку, окрім 4k+1:",u)
c=[s for s in g if int(g[s])%2==0];
print("Усі елементи списку 2k:",c)
u.append([1,2]);
print("Дописування [1,2] до кінця елементів списку u=",u)
p.append(c);
print("Дописування списку c до кінця елементівсписку p=",p)
u.extend([1,2]);
print("Дописування [1,2] до кінця елементів списку u=",u)
p.extend(c); print("Дописування списку c до кінця елементів списку p=",p)
p.insert(1,[0,0,0]);
print("Вставлення [0,0,0] у середину списку p=", p)
u.pop(3);
print("Видалення 4-го елементу із середину списку u=",u)
u.pop(2);
print("Видалення 3-ого елементу",u.pop(2)," із середину списку u=",u)
Завдання
6. Реалізувати
алгоритм операцій з одновимірними масивами(списками) мовою програмування Python3 в середовищі Thonny.
Реалізація основних операцій з одномірними масивами або
списками(цикли з умовами).
import random
g=[s for s in range(0,50)];
h=12; p=[((-1)**h)*random.randint(-897+h,922-h) for s
in g if int(g[s])%6==3];
print("Усі випадкові елементи списку
вигляду 23k+19:",p)
u=[s for s in g if int(g[s])%7!=5]; print("Усі
елементи списку, окрім 41k+17:",u)
c=[((-1)**h)*random.randint(-897+h,922-h) for s in g
if int(g[s])%10==0];
print("Усі випадкові елементи списку
вигляду списку 10k:",c)
u.remove(2)
print("Видалення елемента 2 із списку u=",u)
del u[0]
print("Вилучення 0-го елементу із списку
u=",u)
u[0:2]=[]
print("Вилучення 0,-2-го елементів із списку
u=",u)
u.pop(3)
print("Видалення 4-го елементу із середину
списку u=",u)
u.pop(2)
print("Видалення 3-ого
елементу",u.pop(2)," із середину списку u=",u)
u[2:3]=[-2,-4,-6,-8]
print("Видалення 2-ох елементів і долучення 4-ох
елементів в середину списку u=",u)
logic1=2 in [2,9,-5]; print('перевірка належності
числа: 2 до списку [2,9,-5]',logic1)
logic2=0 in [2,9,-5]; print('перевірка належності
числа: 0 до списку [2,9,-5]',logic2)
a=[2,9,-5,1,0, 2].index(2,3); print('пошук номера у
масиві [2,9,-5,1,0, 2] для числа: 2 ',a)
b=[2,2,-5,2,0, 2].count(2); print('пошук у
[2,2,-5,2,0, 2] кількості двійок: ',b)
w=sorted(u); print('упорядкування чисел за зростанням
у масиві: ',w)
p.sort(); print('упорядкування чисел за зростанням у
масиві: ',p)
f=p.copy(); print('копіювання
чисел у масиві f=p: ',f)
f1=p[:]; f1[1]=0;f1[4]=0; f1[5]=0; print('копіювання чисел і заміна на 0 у
масиві f1=p: ',f1)
Результат
виконаної практичної роботи це файли( із результатами виконання програм) надіслати
вашому учителю на електронну скриньку:
vinnser@gmail.com (Сергій Петрович)
ktdfz@i.ua (Юрій Васильович)
**************************
Додаткові завдання для самостійного вироблення умінь, навичок компетенцій учнів з креативним рівнем програмування
Створити і реалізувати алгоритми мовою програмування для наступних завдань.
Найпростіші завдання з програмування
Завдання E
E1. Дано два випадкових числа. Визначити більше з двох чисел за допомогою таких трьох дій.
1. Знайти середнє арифметичне двох чисел.
2. Знайти модуль різниці двох чисел.
3. Додати два попередні результати.
Упорядкувати ці числа за зростання.
E2. Дано два випадкових числа. Визначити менше з двох чисел за допомогою таких дій.
1)Знайти середнє арифметичне двох чисел.
2)Знайти модуль різниці двох чисел.
3)Від середнього арифметичного відняти модуль різниці, тобто, відняти два попередні результати.
Упорядкувати ці числа за спаданням.
E3. Дано три випадкових числа. Визначити більше з таких трьох чисел за допомогою умовних операторів розгалуження. Упорядкувати ці числа за спаданням.
E4. Дано три випадкових числа. Визначити менше з таких трьох чисел за допомогою умовних операторів розгалуження. Упорядкувати ці числа за зростання.
E5. Дано чотири випадкових числа. Визначити більше з таких чисел за допомогою умовних операторів розгалуження. Упорядкувати ці числа за спаданням.
E6 Дано чотири випадкових числа. Визначити менше з таких чисел за допомогою умовних операторів розгалуження. Упорядкувати ці числа за зростанням.
Додаткові
завдання для самостійного вироблення
умінь, навичок компетенцій учнів
Для наступних завдань записати, реалізувати
програму мовою програмування та протестувати її на правильність.
Завдання А1
А1. Задано одновимірний масив на 10 елементів типу випадкових
цілих чисел із числового проміжку (-100;100). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який замінює
елементи в заданому масиві на протилежні за знаком.
А2. Задано одновимірний масив на 5 елементів типу випадкових
цілих чисел із числового інтервалу (-150; 120). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який замінює
елементи в заданому масиві на квадрати.
А3. Задано одновимірний масив на 7 елементів типу випадкових
цілих чисел із числового інтервалу (-950; 820). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який замінює
елементи в заданому масиві на вдвічі збільшені.
А4. Задано одновимірний масив на 8 елементів типу випадкових
дробових чисел із числового інтервалу (-9; 8). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який підраховує
кількість додатних елементів масиву.
А5. Задано одновимірний масив на 20 елементів типу випадкових
дробових чисел із числового інтервалу (-95; 80). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який підраховує
кількість від´ємних елементів масиву.
А6. Задано одновимірний масив на 18 елементів типу випадкових
дробових чисел із числового інтервалу (-29; 89). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
кількість додатних елементів масиву.
А7. Задано одновимірний масив на 20 елементів типу випадкових
дробових чисел із числового інтервалу (-95; 80). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який підраховує
кількість від´ємних елементів масиву.
А8. Задано одновимірний масив на 12 елементів типу випадкових
дробових чисел із числового інтервалу (-79; 89). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який підраховує
середнє арифметичне додатних елементів масиву.
А9. Задано одновимірний масив на 10 елементів типу випадкових
дробових чисел із числового інтервалу (-65; 60). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який підраховує
середнє арифметичне від´ємних елементів масиву.
А10. Задано одновимірний масив на 10 елементів типу випадкових
дробових чисел із числового інтервалу (-65; 60). Створити алгоритм мовою
програмування Python в середовищі програмування Thonny, який підраховує
кількість парних від´ємних елементів масиву.
Двовимірні масиви
Завдання А2
А21. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових цілих чисел із числового проміжку
(-100;100). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який замінює
елементи в заданому масиві на протилежні за знаком.
А22. Задано двовимірний масив розміром 5х4( 5 рядків, чотири
стовпці) елементів типу випадкових цілих чисел із числового інтервалу
(-150; 120). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який замінює
елементи в заданому масиві на квадрати.
А23. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових цілих чисел із числового інтервалу
(-950; 820). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який замінює
елементи в заданому масиві на вдвічі збільшені.
А24. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових дробових чисел із числового інтервалу
(-9; 8). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
кількість додатних елементів масиву.
А25. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових дробових чисел із числового інтервалу
(-95; 80). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
кількість від´ємних елементів масиву.
А26. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових дробових чисел із числового інтервалу
(-29; 89). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
кількість додатних елементів масиву.
А27. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових дробових чисел із числового інтервалу
(-95; 80). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
кількість від´ємних елементів масиву.
А28. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових дробових чисел із числового інтервалу (-79;
89). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
середнє арифметичне додатних елементів масиву.
А29. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових дробових чисел із числового інтервалу (-65;
60). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
середнє арифметичне від´ємних елементів масиву.
А30. Задано двовимірний масив розміром 3х4(три рядки, чотири
стовпці) елементів типу випадкових дробових чисел із числового інтервалу (-65;
60). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує
кількість парних від´ємних елементів масиву.
Додаткові завдання на розвиток кмітливості
Немає коментарів:
Дописати коментар