Блок-схема

У школах, як правило, вивчення Програмування починають з вирішення найпростіших завдань шляхом складання різних алгоритмів або блок-схем, яке багато хто так часто ігнорують, вважаючи нікому не потрібною нісенітницею. А даремно. Вміння правильно і швидко складати схеми є фундаментом, основою програмування. Блок-схема - графічне представлення алгоритму. Вона складається з функціональних блоків, які виконують різні призначення (введення / виведення, початок / кінець, виклик функції і т.д.). Існує кілька основних видів блоків, які неважко запам'ятати:




Задача 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?)



__________________________________________________