25.10.2021-31.10.2021
Тема: Нелінійні алгоритми з циклами та розгалуженнями для числових даних МОВОЮ ПРОГРАМУВАННЯ PYTHON3
Теоретична частина
Побудова математичної моделі
Завдання 1. Створити, реалізувати, протестувати алгоритм в середовищі Scratch для знаходження кількості двоцифрових чисел, сума цифр яких дорівнює 9.
Математична модель завдання 1: 90 - це кількість усіх двоцифрових натуральних чисел ab=10*a+b i для них перевiрити умови a+b=9=9+0=8+1=7+2=6+3=5+4 та врахувати можливі перестановки доданків.
Якщо ab - двоцифрове число, то а- цифра десятків шукається, як менша ціла частина від поділу цього числа на 10.
Якщо ab - двоцифрове число, то b-цифра одиниць шукається, як остача від ділення цього числа на 10.
Завдання 2. Створити, реалізувати, протестувати алгоритм в середовищі Scratch для знаходження кількості трицифрових чисел, сума цифр яких дорівнює 5.
Математична модель завдання 2: 900 - це кількість усіх трицифрових натуральних чисел abc=100*a+10*b+c i для них перевiрити умови a+b+c=5=5+0+0=4+1+0=3+2+0=2+2+1=3+1+1 та врахувати можливі перестановки доданків.
Якщо abс -трицифрове число, то а- цифра сотень шукається, як менша ціла частина від поділу цього числа на 100.
Якщо abс -трицифрове число, то b-цифра десятків шукається, як: менша ціла частина від ділення (результату остачі ділення цього числа на 100) на 10 .
Якщо abс -трицифрове число, то с-цифра одиниць шукається, як: остача від ділення цього числа на 10 .
Практична частина
Лінійні алгоритми та нелінійні алгоритми з циклами та розгалуженнями з числовими даними
Створити та протестувати наступні алгоритми
Завдання 1. У фермера є кури і k корів. Інших тварин у нього немає. Кількість курячих лапок дорівнює кількрості ніг корів. Скільки усіх голів: у курей та у корів? Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості усіх голів у тварин на фермі.
Математична модель завдання 1: M=3*k – це кількість усіх голів у тварин на фермі.
Реалізація.
import random
k=random.randint(1, 999)
print('Kількість корів на фермі: ', k)
print('Kількість ніг у корів на фермі: ', 4*k)
print('Kількість лапок у кур на фермі: ', 4*k)
print('Kількість кур на фермі: ', 2*k)
print('Kількість усіх голів у кур та у корів на фермі:', 3*k)
Завдання 2. У школі р учнів. З них m учнів займаються в секції легкої атлетики, а k учнів займаються в секції плавання. Відомо, що n учнів займаються в обох секціях. Скільки учнів школи не займаються ні в жодній з секцій? Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості учнів, що не відвідують спортивні секції, в залежності від введених випадковим чином натуральних чисел k, p, n, m.
Математична модель завдання 2: X= p-m-k+n - кількості учнів, що не відвідують спортивні секції.
Реалізація.
import random
p=random.randint(304, 999)
m=random.randint(50, 100)
k=random.randint(50, 100)
n=random.randint(1, 50)
print('Kількість учнів у школі: ', p)
print('Kількість учнів займаються в секції легкої атлетики : ', m)
print('Kількість учнів займаються в секції плавання: ', k)
print('Kількість учнів займаються в обох секціях: ', n)
print('Kількість учнів займаються тільки одним плаванням: ', k-n)
print('Kількість учнів займаються тільки однією легкою атлетикою: ', m-n)
print('Kількість учнів школи не займаються ні в жодній з секцій:', p-m-k+n)
Завдання 3. Оксана спекла пампушки. Коли вона намагалась розділити серед k своїх подруг, то залишилися одна пампушка. Коли вона намагалась розділити серед k+1 своїх подруг, то залишилися одна пампушка. Коли вона намагалась розділити серед k+2 своїх подруг, то залишилися одна пампушка. Скільки пампушок спекла Оксанка? Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості спечених пампушок в залежності від введеного випадковим чином натурального числа k.
Математична модель завдання 3:
X=k*(k+1)*(k+2)*p+1 - кількості спечених пампушок, де р, k – натуральне число
Реалізація.
import random
k=random.randint(2, 5)
p=random.randint(1, 2)
m=(k*(k+1)*(k+2)*p+1)
print('Kількість пампушок в одні руки, які отримали',k,' подруг : ', m//k,' залишок пампушок', m%k)
print('Kількість пампушок, які отримали',k+1,' подруг : ', m//(k+1),' залишок пампушок', m%(k+1))
print('Kількість пампушок, які отримали',k+2,' подруг : ', m//(k+2),' залишок пампушок', m%(k+2))
print('Kількість пампушок, які спекла Оксана: ', m)
Завдання 4. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості двоцифрових чисел, сума цифр яких дорівнює 9.
Математична модель завдання 4: ab=10*a+b i перевiрити умови a+b=9=9+0=8+1=7+2=6+3=5+4
Реалізація.
print('Алгоритм пошуку кількості двоцифрових чисел з сумою цифр 9')
k=0
for a in range(1,10):
for b in range(0,10):
if a+b==9:
k=k+1
print('Шукане двоцифрове число з сумою цифр 9', 10*a+b)
print('Kількість двоцифрових чисел з сумою цифр 9 =', k)
Завдання 5. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості трицифрових чисел, сума цифр яких дорівнює 5.
Математична модель завдання 5: abc=100*a+10*b+c i перевiрити умови a+b+c=5=5+0+0=4+1+0=3+2+0=2+2+1=3+1+1 та врахувати перестановки
Реалізація.
print('Алгоритм пошуку кількості 3-цифрових чисел з сумою цифр 5')
k=0
for a in range(1,10):
for b in range(0,10):
for c in range(0,10):
if a+b+c==5:
k=k+1
print('Шукане 3-цифрове число з сумою цифр 5 =', 100*a+10*b+c)
print('Kількість 3-цифрових чисел з сумою цифр 5 =', k)
Завдання 6. У танцювальному гуртку m хлопчиків і n дівчаток. Кожного тижня р хлопчиків та k дівчаток записуються до колективу. Через скільки тижнів кількість хлопчиків та дівчаток у колективі зрівняється? Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості тижнів, в залежності від введених випадковим чином натуральних чисел k, p, n, m.
Математична модель завдання 6:
Якщо одночасно виконуються такі три умови: m>n і k>p і остача від ділення (m-n)%(k-p) дорівнює нулю, тоді кількість тижнів Х= (m-n)//(k-p)
Якщо одночасно виконуються такі три умови: m<n і p>k і остача від ділення (n-m)%(p-k) дорівнює нулю, тоді кількість тижнів Х= (n-m)//(p-k)
Для усіх інших випадків кількість тижнів Х=0.
Реалізація.
print('Алгоритм пошуку кількості тижнів, коли зрівняються дві статті')
import random
m=random.randint(20, 28)
print('кількість хлопчиків у танцювальному гуртку ', m)
n=random.randint(16,20)
print('кількість дівчаток у танцювальному гуртку', n)
p=random.randint(1,4)
print('кількість новоприбулих хлопчиків у танцювальному гуртку', p)
k=random.randint(2,6)
print('кількість новприбулих дівчаток у танцювальному гуртку', k)
if (m>n)and(k>p)and((m-n)%(k-p)==0):
print('кількість тижнів Х=(m-n)//(k-p)=', (m-n)//(k-p))
elif (m<n)and(p>k)and((n-m)%(p-k)==0):
print('кількість тижнів Х=(n-m)//(p-k)=', (n-m)//(p-k))
elif not((m<n)and(p>k)and((n-m)%(p-k))==0):
print('Kількість тижнів =', 0)
Результат виконаної практичної роботи надіслати вашому учителю на електронну скриньку: vinnser@gmail.com (Сергій Петрович)
*********************************
Додаткові завдання для шанувальників програмування
Створити алгоритм для таких задач мовою Python3
1. Знайти градусну міру кутів прямокутного трикутника, якщо відомо один його кут, який вводиться з клавіатури.
2. Одна сторона трикутника дорівнює A дм, друга – у N разів коротша за першу, а третя - на 12 дм довша за другу. Знайдіть периметр трикутника.
3. Ламана складається з трьох ланок. Довжина першої ланки дорівнює W см, що на 3,7 см більше за довжину другої ланки і у T разів менше від довжини третьої. Чому дорівнює довжина ламаної?
4. Поле прямокутної форми має площу S а, його ширина – L м. Обчисліть периметр поля.
Примітка. 1 а (ар) = 100 кв. м
5. Учень-невдаха Сашко сів виконувати домашнє завдання і просидів за столом 2 години. З них х хвилин він чухав потилицю і дивився у вікно, у хвилин шукав у письмовому столі гумку, щоб стерти у підручнику з англійської мови карикатуру на свого товариша, на малювання якої він витратив перед цим z хвилин. Решту часу Сашко перекладав англійські слова. Скільки слів він встиг перекласти, якщо переклад одного слова у нього займав 5 хвилин?
6. Якщо на одну шальку терезів посадити Даринку, яка важить n кг, і Тетянку, яка важить на 5 кг більше, а на іншу насипати m кг цукерок, то скільки кілограм цукерок доведеться з'їсти дівчаткам, щоб шальки терезів врівноважились? Дівчатка можуть брати цукерки лише з великої цукерниці, а не з іншої шальки терезів.
7. Визначити, яку заробітну платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано S грн., а податок становить 20%.
8. Петро задумав число і нікому його не назвав. Друзі спіймали його і примусили подвоїти задумане число, а потім додати до нього 5. І тільки після того, як вони пообіцяли Петрові благодійну допомогу на контрольній з математики, він зізнався, що вийшло число n. Визначте, яке число задумав і приховав від своїх друзів Петро.
9. Із тераріуму втекли х гадюк, у кобр та z гюрз. Довжина кожної гадюки 1 м, кожної кобри - 1 м 30 см, а гюрзи - 1 м 15 см. Яка довжина у сантиметрах отруйних змій втекла з тераріуму?
10. Дано ціле число. Якщо воно є додатне, то додати до нього 1; в іншому разі не змінювати його. Вивести отримане число.
11. Дано ціле число. Якщо воно є додатне, то додати до нього 1; в іншому випадку відняти від нього 2. Вивести отримане число.
12. Дано ціле число. Якщо воно є додатне, то додати до нього 1; якщо від’ємне, то відняти від нього 2; якщо нульовим, то замінити його на 10. Вивести отримане число.
13 . Дано три цілих числа. Знайти кількість додатних чисел в початковому наборі.
14. Дано три цілих числа. Знайти кількість додатних і кількість від’ємних чисел в початковому наборі.
15 . Дано два натуральні числа. Вивести більше з них.
16. Дано два дробові числа. Вивести порядковий номер меншого з них.
17 . Дано два цілі числа. Вивести спочатку більше, а потім менше з них.
Завдання на розвиток кмітливості
***************
Немає коментарів:
Дописати коментар