Отримання знань
дистанційна підтримка освіти школярів
Поняття допоміжного алгоритму. Функція def у Python
Алгоритм (латин. Algorithmi від арабського імені узбекського математика аль-Хорезмі) - набір інструкцій (команд), які описують порядок дій виконавця, які слід виконати для досягнення результату розв’язання задачі за скінченну кількість дій.
Досить часто при написанні алгоритму задачі використовують алгоритми, написані раніше. Наприклад, алгоритм знаходження меншого серед двох чисел можна використати при знаходженні мінімального серед 4-ох чисел.
Алгоритми, які є самостійними і які включаються до складу інших алгоритмів, називають допоміжними алгоритмами.
Якщо допоміжний алгоритм у процесі роботи програми виконується неодноразово для різних вхідних значень, то його оформляють у вигляді алгоритму процедури або алгоритму функції.
У мові Python використовують функцію def.
Функція – це незалежна частина програми, що має своє ім’я і яку можна викликати з будь-якої точки програми для виконання певних дій, результатом яких є певне значення.
Опис функції мовою Python
def Назва_функції (формальні параметри):
список команд
return кінцевий результат
Приклади
Програма | Пояснення | Результат виконання |
def Syma (x, y): s1=Syma (11, 53) |
Описуємо функцію Syma, яка залежить від x і y Викликаємо функцію для чисел 11 і 53: |
>>> s1= 64 |
def Syma (x, y): z=x+y return z a=input('a=') |
Вводимо значення змінної a Вводимо значення змінної b Викликаємо функцію Syma для введених значень a і b: у змінну x буде записане значення змінної a (для вказаного справа прикладу – число 24) , у змінну y – значення змінної b (число 16) z= x+y= 24+16= 40 команда return поверне знайдене значення z (число 40) у місце виклику функції Отриманий від функції результат (число 40) запишеться у змінну s2 Друкуємо фразу 's2=' та знайдене значення s2 |
>>> a=24 b=16 s2= 40 |
def Syma (x, y): z=x+y return z a=input('a=') |
Викликаємо функцію Syma для введених значень a+7 і b-4 Для вказаного прикладу (a=51, b=27) матимемо: a+7= 51+7= 58, b-4= 27-4= 23. Тобто в змінну x буде записане число 58, у змінну y – число 23. z= x+y= 58+23= 81 Команда return поверне знайдене значення z (число 81) у місце виклику функції |
>>> a=51 b=27 s3= 81 |
Задача “Module.py”
Для чисел a і b знайти .
Контрольні приклади
1) a= 15, b= -20 =>
2) a= -32, b= -8 =>
Розв’язання
Для розв’язання задачі потрібно вміти знаходити значення модуля заданого числа.
За означення модуля:
Напишемо допоміжний алгоритм, який для деякого числа x буде повертати його модуль.
Допоміжний алгоритм | Пояснення |
алг ціл Модуль (ціл x) арг x поч якщо x≥0 то m=x інакше m= -x все знач= m кін |
Описуємо алгоритм Модуль, який буде повертати ціле значення від аргумента x (даного числа) Початок алгоритму якщо число x більше або рівне 0 то модуль m дорівнюватиме x інакше m дорівнюватиме -x Функція має повернути знайдене значення m Кінець алгоритму |
Допоміжний алгоритм | Переклад мовою Python |
алг ціл Модуль (ціл x) арг x поч якщо x≥0 то m=x інакше m= -x все знач= m кін |
def Modul(x): if x>=0: m=x else: m=-x return m
|
Розглянемо основний алгоритм знаходження .
Основний алгоритм | Пояснення |
алг Задача (ціл a, b, дійсн s) арг a, b рез s поч s=(Модуль(a)+Модуль(b))/2 кін |
Описуємо алгоритм Задача, який, отримавши цілі числа a і b, буде повертати дробове (дійсне) значення s Початок алгоритму Описуємо формулу, використавши допоміжний алгоритм Модуль Кінець алгоритму |
Основний алгоритм | Програма мовою Python | Пояснення |
алг Задача (ціл a, b, дійсн s) арг a, b рез s поч s=(Модуль(a)+Модуль(b))/2 кін |
a=input('a=') b=input('b=') s=(Modul(a)+Modul(b))/2.0 print 's=',s |
Вводимо змінну a Вводимо змінну b Описуємо формулу Виводимо значення s |
Повністю програма матиме вигляд:
def Modul(x):
if x>=0:
m=x
else:
m=y
return m
a=input('a=')
b=input('b=')
s=(Modul(a)+Modul(b))/2.0
print 's=',s