вівторок, 14 вересня 2021 р.

16.09.2021-23.10.2021. Операції над одновимірними масивами(списками).

 

16.09.2021-23.10.2021

 

Тема: Операції над одновимірними масивами(списками). Пошук найменших та найбільших значень лінійних виразів на числових множинах мовою програмування Python3

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

Повторення

Самоперевірка залишкових знань

Тестове завдання «Операційна система Windows».

 

 

1. Виклик довідки в Проводнику відбувається при натисненні функціональної клавіші:

                a) F2; b) F4; c) F1; d) F3.

 

2. Перехід між вікнами Проводника здійснюється за допомогою клавіші:

          a) Ctrl; b) Tab; c) Alt; d) Shift.

 

3. Технологія drang-and-drop – це:

a) переміщення папки в файл;

b)  спосіб роботи з об’єктами, при якому можна взяти об’єкт мишкою і перетягнути в інше місце;

c)  пересилка документа в Корзину;

d)  суміщення двох папок в одну.

 

4. Виклик контекстного меню здійснюється:

a)  клацанням на об’єкті лівою кнопкою мишки;

b)  клацанням на об’єкті правою кнопкою мишки;

c)  подвійним клацанням на об’єкті лівою кнопкою мишки;

d)  утримуванням курсора мишки над об’єктом протягом двох

секунд.

 

5.У Кошику  знаходяться файли:

a) видалені з жорсткого диска.
b) видалені з флешки.
c) тимчасові файли.
d)
копії файлів, з якими в даний момент працює користувач.

 

6.Вікно нормального розміру якщо воно:

a) розгорнуте на весь екран.
b) згорнуте до піктограми на панелі задач.

 c) займає частину екрана.
d) закрите.

 

7.Жорсткий диск належить до:

a) зовнішньої пам’яті. b) оперативної пам’яті. c) постійної пам’яті.
d) кеш-пам’яті.

 

8. Пошук файлів можна виконувати:

a) за іменем автора;
b) за кількістю символів;
c) за іменем, типом, датою створення, розміром;
d) жодне з наведених тверджень не відповідає істині.

 

9. Щоб файл при видаленні не потрапив до корзини, слід утримувати натиснутою клавішу:

a) CTRL. b) ALT. c) ESC. d) SHIFT.

 

10. Щоб виділити об’єкти, які розташовані не поряд, слід утримува- ти натиснутою клавішу:

a) CTRL.  b) ALT. c) ESC. d) SHIFT.

 

11. Ярлик – це:

a) вигляд значка файлу;
b) фаи
̆л, призначений для виклику програми чи документа;

c) інформація про розмір файла;
d) короткии
̆ зміст файла.

 

12.Ємність жорсткого диска вимірюється в:

a) Метрах. b) Гігабайтах. c) Бітах. d) Кг.

 

13.Панель задач на Робочому столі ОС Windows може бути розташована:

a) Зліва від панелі «Microsoft Office».

b) З будь якої сторони екрану.

c) Виключно знизу екрана.
d) Виключно під значками піктограми на Робочому столі.

 

14.Перерахуйте можливі стани активного вікна ОС Windows.

 

a)  Згорнуте у вигляді кнопки на Панелі завдань, частково за- крите іншими вікнами.

b)  Розташоване зверху інших вікон, які розташовані на Робо- чому столі у вигляді піктограм.

c)  Закрите іншими вікнами, розташоване зверху інших вікон.

d)  Згорнуте, нормальне і розгорнуте.

 

15.Коли з'являється смуга прокрутки у вікні ОС Windows?

a)  Якщо включено відповідну установку в «Панелі керування».

b)  Якщо включено відповідну кнопку на Панелі інструментів.

c)  Якщо включено відповідну команду з меню «Вид».

d)  Якщо площа основного робочого простору вікна недостатня

для відображення даних.

 

16.Об'єкти заголовка вікна –

a)  Назва вікна, головне меню, три кнопки управління вікном.

b)  Назва вікна, головне меню, системне меню.

c)  Кнопка системного меню, назва вікна, кнопки для управлін-

ня вікном.

d)  Назва вікна, системне меню, рамка заголовка вікна.

 

17.Тека (папка, каталог), в якій тимчасово потрапляють видалені об’єкти, називається ...

a) Корзина. b) Оперативна пам’ять. c) Портфель. d) Блокнот.

 

18. Активний диск це...

a) диск, з яким користувач працює в даний момент часу;

 b) CD-ROM;
c) жорсткии
̆ диск;
d)
диск, в якому зберігається операційна система.

 

19.Технологія Plug and Play:

a)  дозволяє синхронізувати роботу комп’ютера і пристрою;

b)  дозволяє новим пристроям автоматично настроюватися під

конфігурацію даного комп’ютера;

c)  використовується замість зовнішніх пристроїв.

 

20.До функціональних можливостей ОС Windows не відноситься:

a) підтримка мультимедіа;
b) технологія Plug and Play;
c) багатозадачність;
d) підтримка імен фаи
̆лів лише формату 8.3

 

21.Що не записується в повному імені файла?

a) Ім’я файла.
b) Розширення.
c) Імена папок.
d) Ім’я комп’ютера.

 

22.Вказати неправильне твердження:

a)  Апаратні засоби управляють програмним забезпеченням.

b)  Програмне забезпечення управляє апаратними засобами.

c)  Програмне забезпечення – це інформація, що записана на дисках.

d)  Апаратні засоби – це обладнання у складі ПК.

 

23.Що таке драйвер?

a)  Системне програмне забезпечення, яке призначене для вико- нання допоміжних функцій.

b)  Текстовий редактор.

c)  Системне програмне забезпечення, яке призначене для роботи з конкретним зовнішнім пристроєм комп'ютера.

d) Системне програмне забезпечення, яке призначене для управління роботою комп’ютера.

 

24. Під час виконання прикладна програма зберігається:

a) у відеопам’яті;
b) в процесорі;
c) в оперативніи
̆ пам’яті;

d) в ПЗП.

 

Інформація про списки в Python

 a, b, c, d, e, f, …, z - це lдійсні  числа.

Множина  lst=[a, b, c, d, e, f, …, z] - це список чисел 

Нумерація елементів списку:

lst[0]=a - це перший елемент списку або масиву;

lst[1]=b - це другий елемент списку або масиву;;

lst[2]=c - це третій елемент списку або масиву;;

lst[3]=d - це  четвертий елемент списку або масиву

………Перелік  операцій  над елементами у списку …

 1.Створення списку з числовими елементами записується командою:

lst=[(i**2)(i+3)//(i-2) for i in range(11) ]

2.Видаляємо елемент зі списку з індексом 4  за допомогою команди

lst.pop(4)    або    del  lst[4]

3.Видаляємо зі списку елемент із значення 7 за допомогою команди

lst.remove(4)

4.Видаляємо декілька елементів списку за допомогою команди

lst[3:6]=[]

5.У списку видаляється два елементи і додається пять елементів 

lst[3:5]=[0,2,4,6,8]

6.Створення копії списку записується командою:

A1=lst

7.Створення копії списку за допомогою зрізу записується командою:

В1=lst[:]

8.Створення копії списку за допомогою методу copy  записується командою:

H1=lst.copy

 

 

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

 

Завдання 1. Створити,  реалізувати та протестувати алгоритм мовою програмування  Python3 в середовищі програмування  Thonny для створення одновимірних масивів(списків) з числовими елементами типу цілих та дробових чисел різними способами та їх наповнення елементами.

Реалізація.

 

import random

print('********Перший спосіб утворення списку lst')

print('Введіть числа з клавіатури в рядок через один пропуск lst=')

lst=[int(x) for x in input().split()]

print('rez=',lst)

for k in range(0, len(lst)):

    lst[k]=2*lst[k]

print('Подвоєнні елементи списку',lst)

print('********Другий спосіб утворення списку lst1')

print('Список, що автоматично створений лічильником lst1')

lst1=[int(x) for x in range(1,56,5)]

print('rez1=',lst1)

for k in range(0, len(lst1)):

    lst1[k]=3*lst1[k]

print('Потроєнні елементи списку lst1=',lst1)

print('*******Третій спосіб утворення списку lst3******')

print('Список, що створений  генератором випадкових цілих чисел lst3')

lst3=[1000*random.randint(11,22)]*7; 

print('rez3=',lst3)

for k in range(0, len(lst3)):

    lst3[k]=0.5*lst3[k]

print('Половині елементи списку lst3=',lst3)

print('*******Четвертий спосіб утворення списку lst3******')

print('Список, що створений  генератором випадкових дробових чисел lst3=')

lst3=[1000*random.gauss(11,22)]*7; 

print('rez3=',lst3)

for k in range(0, len(lst3)):

    lst3[k]=0.5*lst3[k]

print('Половині елементи списку lst3=',lst3)

print('*******Пятий спосіб утворення списку lst4******')

print('Список, що створений циклом із генератором випадкових цілих чисел lst4=')

h=6; k=6;   lst4=['None']*k;     

for j in range(0,h):

     lst4[j]=((-1)**h)*random.randint(-817+h,962-h)

print("Випадкові цілі числа у масиві або списку lst4=", lst4)

for k in range(0, len(lst4)):

    lst4[k]=1.5*lst4[k]

print('Півторашні елементи списку lst4=',lst4)

 

Протестуйте алгоритм, якщо 1) [1, 2, 3];  2) [0, 1, 2, 3, 4];  3[7, 9]; 

 

Завдання 2. Створити та реалізувати алгоритм мовою програмування  Python3 в середовищі програмування  Thonny для створення масивів з числовими елементами типу цілих та дробових чисел різними способами та їх наповнення елементами.

Реалізація.

import random;   print("Різні способи створення масиву на 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=[1000*random.gauss(11,22)]*3;  print("Порожній масив або список:",z)

print("Числовий одновимірний масив або список:",y)

print("Втричі збільшений числовий одновимірний масив або список:", 3*y)

print("Числовий масив або список:",x)

print("Випадкові дробові числа у масиві або списку:",d)

squares = [1, 4, 9, 16, 25];

print("Довільно задані елементи масиву:", squares)

print("Початковий елемент масиву: a[0]=",squares[0])

print("Другий елемент масиву: a[1]=",squares[1])

print("Останній елемент масиву: a[4]==",squares[-1])

print("Останні три елементи масиву: a[2], a[3], a[4]:",squares[-3:])

print("Усі елементи списку",squares[:])

print("Проміжкові  елементи масиву",squares[2:4])

m=40;  q=[s for s in range(m,10,-4)];

print("Запис елементи списку з кінця" ,q)

h=6; 

for j in range(0,h):

     z[j]=((-1)**h)*random.randint(-897+h,922-h)

print("Випадкові цілі числа у масиві або списку:", z)

 

Протестувати цей алгоритм чотири рази.

Тест 1k=3;   z=['OK!']*k;     y=[3**k-8*k]*(20-k);     x=[-9.25-k/1.6]*(19-k)

 

Тест 2. k=10;   z=['123456789']*k;     y=[4**k-2*k]*(15-k);     x=[-1.75-k/0.5]*(14-k)

 

Тест 3.  k=7;   z=['99778866']*k;     y=[5**k-3*k]*(12-k);     x=[-0.75-k/0.25]*(11-k)

Тест 4. k=15;   z=['903008800309']*k;     y=[5**(k-10)-3*k]*(19-k);     x=[-8.75-k/9.25]*(18-k)

 

 

Завдання 3. Створити та реалізувати алгоритм мовою програмування  Python3 в середовищі програмування  Thonny для сортування та пошуку середніх величин у числових масивах із числовими елементами типу цілих та дробових чисел різними способами.

Реалізація.

import random;

 n=10; a=[]*n; b=[]*n; c=[]*n;

for i in range(n):

    a.append(round((19.9 - random.gauss(-23,97) * 4.0), 2))

    b.append(round((17.8 - random.random() * 7.0), 3))

    c.append(round((15.6 - random.randint(-234,876) * 2.0), 0))

print('Перший вхідний масив випадкових дробових чисел: ', a)

print('Другий вхідний масив випадкових дробових чисел: ', b)

print('Третій вхідний масив випадкових цілих чисел: ', c)

a.sort(); b.sort(); c.sort();

print('Впорядкувані елементи масиву а[] за зростанням: ', a)

print('Впорядкувані елементи  масиву b[] за зростанням: ', b)

print('Впорядкувані елементи  масиву c[] за зростанням: ', c)

suma=sum(a); sumb=sum(b);sumc=sum(c);

print('Сума усіх елементів масиву а[]: ', round(suma,2))

print('Сума усіх елементів масиву b[]: ', round(sumb,4))

print('Сума усіх елементів масиву  c[]: ', round(sumc,1))

la=len(a); lb=len(b);lc=len(c);

mina=min(a); minb=min(b); minc=min(c);

print('Найменший із усіх елементів масиву а[]: ', mina)

print('Найменший із усіх елементів масиву b[]: ', minb)

print('Найменший із усіх елементів масиву c[]: ', minc)

maxa=max(a); maxb=max(b); maxc=max(c);

print('Найбільший із усіх елементів масиву а[]: ', maxa)

print('Найбільший із усіх елементів масиву b[]: ', maxb)

print('Найбільший  із усіх елементів масиву c[]: ', maxc)

midlea=sum(a)/n; midleb=sum(b)/n;  midlec=sum(b)/n;

seraryfa=(max(a)+min(a))*0.5; seraryfb=(max(b)+min(b))*0.5; seraryfc=(max(c)+min(c))*0.5;

print('Відхилення середніх величин в масиві а[]: ', round(midlea-seraryfa,3))

print('Відхилення середніх величин в масиві  b[]: ', round(midleb-seraryfb,3))

print('Відхилення середніх величин в масиві  c[]: ', round(midlec-seraryfc,3))

print('Кількість чисел масиву а: ', len(a),'max(a) = ', n)

print('Відсортований масив за зростанням: ',a)

for i in range(0,9):

    b[9-i]=a[i]

print('Відсортований масив a[] за спаданням: ',b)

print('max = {0}; min = {1}'.format(a[-1], a[0]))

print('Різниця max-min: ', round(a[-1] - a[0], 2))

 

Протестувати цей алгоритм чотири рази.

Тест 1. Змінити кількість елементів масиву на n=15; 

Тест 2. Змінити кількість елементів масиву на n=25; 

Тест 3. Змінити кількість елементів масиву на n=16;

Тест 4. Змінити кількість елементів масиву на n=27; 


Результати виконання практичної частини надіслати на електронну адресу учителя: vinnser@gmail.com

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

Для тих, хто хоче самостійно програмувати:


Самостійна  робота. 

Компетентнісні завдання для самостійного  програмування.

 

0. Визначити, яку заробітну платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано грн., а податок становить 20%.
Вхідні дані
Ви вводите з клавіатури одне дійсне число S.

Вихідні дані
Ви виводите на екран одне дійсне число з двома знаками після коми (без округлення).

Приклад вхідних і вихідних даних
Вхід: 1000
Вихід: 800.00


1. Максим задумав число х, яке нікому не повідомив. Але на дошці записав інше число
m, а саме: подвоєнне задумане число, збільшене на 7.  Відгадайте, яке число задумав Максим. Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за числом m, що записане на дошці, знаходить задумане Максимом число x.

Математична модель: x=0.5*m-3.5

2.  На праву тарілку великих терезів став Котигорошко, масою k кг, а на ліву тарілку стали три дівчинки відповідно з масами m кг,  n кг, p кг. Аби досягти рівноваги на терезах Котигорошко з'їв  b кг гороху. Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за  числами k, m n, p знаходить число b.

Математична модель: b= m+n+p-k.


3.  Артем доглядає у зоопарку плазунів
:  k гадюк довжиною по 1,12 м кожна, m  удавів довжиною 2,75 м кожний, n вужів довжиною 1,24 кожний.  Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за числами k, m n, p знаходить довжину усіх плазунів, за якими доглядає Артем.
Математична модель:
s=1.12*k+2.75*m+1.24*n


4.  Богдан записав на дошці ціле число k.  Вікторія записала на дошці  ціле число m. Марія записала на дошці ціле число n. Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за цілими числами k, m, n знаходить  такі  цілі числа х та у, що виконується рівність k*x+m*y=n.
 
Математична модель:
x=-mz+xo,  y=kx+yo, де (xo; yo ) - пара цілих чисел таких, що k*xо+m*yо=n


5. Дмитро закупив k м'ячів вартістю m грн,  n м’ячів вартістю g грн,
t м’ячів вартістю р грн, заплативши за м'ячі кожного виду однакові суми грошей.  Усього м’ячів k+n+t=b. Скільки м'ячів кожного виду купив Дмитро, якщо серед набору чисел k, m n, g немає рівних чисел. Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за чотирьма цілими числами b, m, g, p знаходить три цілі  числа: k м'ячів по m грн,  t м'ячів по p гривень, n м'ячів по g грн.
Математична модель:
k*m==g*n==t*p==s та k+n+t==b.


6. Трицифрове число має k coтень, m десятків, і  n одиниць.
Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за числами k, m, n  знаходить  різницю h між цим числом та cyмою цифр трицифрового числа. Математична модель: h = 99*x+9*y.

7. Ігор  задумав чотири послідовних парних чисел і повідомив своєму другові Максиму лише суму цих чотирьох чисел. Через деякий час Максим самостійно знайшов усі задумані Ігорем чотири числа. Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за відомою сумою s знаходить чотири послідовні парні числа k, m n, p, які задумав Ігор.
Математична модель.
S=2x+(2x+2)+(2x+4)+2x+6
S=8x+12
8x=s-12
x= (s-12)//8
k=(s-12)//4 - перше задумане число
m = k + 2 - друге задумане число
n= m+2 - третє задумане число
p=n+2 - четверте задумане число.

8. Для нумерації  m сторінок книги використали n цифр(символів)( n<1002). До речі, кількість сторінок у книзі повинна бути кратною 4. Створити, реалізувати, протестувати алгоритм мовою програмування у середовищі програмування, який за
числом використаних n цифр знаходить кількість сторінок y книзі.
Математична модель.
9 цифр для усіх одноцифрових чисел.
90*2=180 цифр для усіх двоцифрових позначень.
900*3=2700  цифр для усіх трифрових позначень.
1002-189= 813 цифр для позначення трицифрових чисел.

Створимо розгалуження окремих випадків.

1)Якщо  (186<n<1002)and((n-189)%3==0), тоді
(n-189)//3 - кількість сторінок, що позначає трьома цифрами
m =9+90+(n-189)//3 - кількість сторінок у книзі, і при цьому m повинна бути кратне 4.(
m%4==0)
2)Якщо ( 9<n<=189)and((n-9)/%2==0), тоді
m =9+(n-9)//3 - кількість сторінок у книзі
і прицьому  m повинно бути кратне 4(
m%4==0).
3)Якщо (n==4)or(n==8), тоді
m=n - кількість сторінок.
4)Інакше такої книги не може існувати.

 


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

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