У школах, як правило, вивчення Програмування починають з вирішення найпростіших завдань шляхом складання різних алгоритмів або блок-схем, яке багато хто так часто ігнорують, вважаючи нікому не потрібною нісенітницею. А даремно. Вміння правильно і швидко складати схеми є фундаментом, основою програмування. Блок-схема - графічне представлення алгоритму. Вона складається з функціональних блоків, які виконують різні призначення (введення / виведення, початок / кінець, виклик функції і т.д.). Існує кілька основних видів блоків, які неважко запам'ятати:
Задача 1. Розрахувати площу та периметр даного прямокутника по відомим формулам.
Технічні умови: Програма зчитує з клавіатури через пропуск два числа - висоту a та широту b прямокутника. На екран виведення через пропуск виводиться два числа - площа та периметр відповідно.
Складемо алгоритм виконання таких завдань:
1) Прочитати задачу.
2) Виписати відомі і невідомі нам змінні в «дано». (У задачі №1 до відомим змінних відносяться сторони: a, b; до невідомим - площа S і периметр P)
3) Згадати або скласти необхідні формули. (У нас: S = a * b; P = 2 * (a + b)) 4) Скласти блок-схему.
5) Записати рішення на мові програмування Python.
Запишемо умову в більш стислому вигляді.
Дано: a, b
Знайти: S, P
Блок-схема:
Програма у Python 3 матиме вигляд:
_____________________________________
Іноді нам потрібно зайти цілу частину від ділення, або остачу.
Наприклад:
Задача 1. У вас є 7 кусків піцци, її потрібно поділити на 3 людей. Скільки кусків піцци отримає кожен, а скільки залишиться?
Очевидно, що 7:3=2,3... - така відповідь вас не задовільняє оскільки націло 7 не ділиться на 3. тому беремо найбільше число, яке націло поділиться на 3, але за умови, що воно менше 7.
6 шматків чудово поділимо на 3 людини і в результаті отримаємо по 2 на людину.
А скільки ж залишилось не розділених шматків?
7-6=1
В Python для виконання подібних обчислень нам допоможуть такі операції:
Але зазвичай подібні задачі мають рахувати будь-які комбінації і тому завжди є так звані технічні умови і ця задача матиме наступний вигляд:
Задача 1. У вас є a кусків піцци, її потрібно поділити на b людей. Скільки кусків піцци отримає кожен, а скільки залишиться?
Технічні умови: користувач вводить з клавіатури через пропуск два числа a,b - кількість шматків піцци та кількість людей. На екран через пропуск виводить кількість шматків, які припадають на одну людину і кількість шматків, які не залишаютья.
Розв'язання:
дано:
a,b
знайти:
кількість шматків на людину (k)
залишок (o)
___________________________________
Задача 2. "Електронний годнник"
http://pythontutor.ru/lessons/inout_and_arithmetic_operations/problems/electronic_watch/
(Підказка 1: подумайте скільки хвилин в одній годині)
(Підказка 2: подивіться, що буде, якщо 150 поділити без остачі на 60 і якщо дізнатись остачу від ділення 150 на 60)
________________________________________________
https://www.e-olymp.com/uk/problems/1
Приклад:
Вхідні дані: 23
Виведення: 2 3
Дано:
a - двоцифрове число
Знайти:
per - першу цифру числа
dr - другу цифру числа
(Підказка 1. Яке число отримаємо, якщо 23 поділимо на 10 без остачі?)
(Підказка 2. Яке число отримаємо, якщо дістанемо остачу від ділення на 10 числа 23?)
__________________________________________________
Задача 1. Розрахувати площу та периметр даного прямокутника по відомим формулам.
Технічні умови: Програма зчитує з клавіатури через пропуск два числа - висоту a та широту b прямокутника. На екран виведення через пропуск виводиться два числа - площа та периметр відповідно.
Складемо алгоритм виконання таких завдань:
1) Прочитати задачу.
2) Виписати відомі і невідомі нам змінні в «дано». (У задачі №1 до відомим змінних відносяться сторони: a, b; до невідомим - площа S і периметр P)
3) Згадати або скласти необхідні формули. (У нас: S = a * b; P = 2 * (a + b)) 4) Скласти блок-схему.
5) Записати рішення на мові програмування Python.
Запишемо умову в більш стислому вигляді.
Дано: a, b
Знайти: S, P
Блок-схема:
Програма у Python 3 матиме вигляд:
_____________________________________
Іноді нам потрібно зайти цілу частину від ділення, або остачу.
Наприклад:
Задача 1. У вас є 7 кусків піцци, її потрібно поділити на 3 людей. Скільки кусків піцци отримає кожен, а скільки залишиться?
Очевидно, що 7:3=2,3... - така відповідь вас не задовільняє оскільки націло 7 не ділиться на 3. тому беремо найбільше число, яке націло поділиться на 3, але за умови, що воно менше 7.
6 шматків чудово поділимо на 3 людини і в результаті отримаємо по 2 на людину.
А скільки ж залишилось не розділених шматків?
7-6=1
В Python для виконання подібних обчислень нам допоможуть такі операції:
Операція
|
Назва
|
Приклад
|
Результат
|
/
|
ділення
|
print (7/3)
|
2.3
|
// |
ціла частина від ділення
|
print (7//3)
|
2
|
%
|
остача від ділення
|
print (7%3)
|
1
|
Але зазвичай подібні задачі мають рахувати будь-які комбінації і тому завжди є так звані технічні умови і ця задача матиме наступний вигляд:
Задача 1. У вас є a кусків піцци, її потрібно поділити на b людей. Скільки кусків піцци отримає кожен, а скільки залишиться?
Технічні умови: користувач вводить з клавіатури через пропуск два числа a,b - кількість шматків піцци та кількість людей. На екран через пропуск виводить кількість шматків, які припадають на одну людину і кількість шматків, які не залишаютья.
Розв'язання:
дано:
a,b
знайти:
кількість шматків на людину (k)
залишок (o)
___________________________________
Задача 2. "Електронний годнник"
http://pythontutor.ru/lessons/inout_and_arithmetic_operations/problems/electronic_watch/
(Підказка 1: подумайте скільки хвилин в одній годині)
(Підказка 2: подивіться, що буде, якщо 150 поділити без остачі на 60 і якщо дізнатись остачу від ділення 150 на 60)
________________________________________________
https://www.e-olymp.com/uk/problems/1
Приклад:
Вхідні дані: 23
Виведення: 2 3
Дано:
a - двоцифрове число
Знайти:
per - першу цифру числа
dr - другу цифру числа
(Підказка 1. Яке число отримаємо, якщо 23 поділимо на 10 без остачі?)
(Підказка 2. Яке число отримаємо, якщо дістанемо остачу від ділення на 10 числа 23?)
__________________________________________________