Практичне завдання до уроку Поняття підпрограми. Функції в Python

Про матеріал
Даний документ "Практичне завдання до уроку Поняття підпрограми. Функції в Python"", можна використати для проведення уроку з інформатики в 10 класі при вивченні програми Python, зокрема роботи з функціями
Перегляд файлу

Практичне завдання до уроку

Поняття підпрограми. Функції.

Функція – це засіб (спосіб) групування фрагментів програмного коду таким чином, що цей програмний код може викликатись багатократно з допомогою використання імені функції.

Загальний запис функції:

 

 

 

тут

  • name – ім’я функції;
  • arg1, arg2, …, argN – параметри функції (якщо такі є);
  • statement1, statement2, statementN – інструкції, що реалізовані в тілі функції;
  • value – значення, яке повертає функція.

Визначення функції з допомогою інструкції def може бути реалізовано всередині інших інструкцій, наприклад, всередині інструкції if.

Виклик функції

Після того, як функція створена (оголошена), можна здійснювати її виклик. Виклик функції здійснюється з допомогою її імені та переліку параметрів.

Приклад1.

def dob(a, b):

    return a*b

print(dob(3,5))
 

Результат: 15

 

Приклад1.1

def dob(a, b):

    return a*b                      

a=int(input('а='))

b=int(input('b='))

d=dob(a,b)

print('d=',d)

Результат:

Приклад3. Функція без параметрів

# Функції без параметрів.

# Оголосити функцію з іменем Hello(),

# яка виводить "Hello world!" на екран.

def Hello():

    print("Hello world!")

 

# Викликати функцію Hello() в циклі while

i=0

while i<3:

    Hello()

    i=i+1

 

Результат:

 

Приклад 4.

Функція, яка отримує параметр та повертає результат. Функція здійснює реверсування рядка.

# Функція, яка реверсує рядок

def Reverse(s):                              

    s2 = ''

    i = len(s)-1

    while i>=0:

        s2 = s2 + s[i]

        i = i-1 

    return s2

 

# Виклик функції Reverse()

s1 = "abcdef"

s2 = Reverse(s1) # s2 = 'fedcba'

print("s2 = ", s2)

Результат:

 

 

 

 

Приклад5.

# Функція, яка реверсує рядок

def Reverse(s):   

    s2 = ''                                      

    i = len(s)-1

    while i>=0:

        s2 = s2 + s[i]

        i = i-1 

    return s2

 

# Виклик функції Reverse()

s1 = input('s1=')

s2 = Reverse(s1) # s2 -результат

print("s2 = ", s2)

 

Оголошення функції в інструкції if. 

Визначення функції з допомогою засобу def може бути вкладене в іншу інструкцію, наприклад, інструкцію if. У цьому випадку виникає альтернатива при виконанні програми.

Приклад. У прикладі на основі введеного значення n створюється функція Fn(), яка обчислює тригонометричний вираз за наступним правилом:

  • sin(x)*cos(x), якщо n==1;
  • sin(x2)+cos(x), якщо n==2;
  • 1-sin(x), в противному випадку.

Потім ця функція викликається для заданого значення x.

 

# За заданим значенням n визначити функцію Fn(),

# яка обчислює:

# sin(x)*cos(x), якщо n==1

# sin(x*x)+cos(x), якщо n==2

# 1-sin(x), в іншому випадку

# Імпортувати математичну бібліотеку

import math

# Ввести значення n

n = int(input('n = '))

x = float(input('x = '))

# Визначити код функції Fn()

if (n==1):

    def Fn(x):

        print("n==1. res = sin(x)*cos(x).")

        return math.sin(x)*math.cos(x)

else:

    if (n==2):

        def Fn(x):

            print("n==2. res = sin(x*x)+cos(x)")

            return math.sin(x*x)+math.cos(x)

    else:

        def Fn(x):

            print("n==3. res = 1-sin(x)")

            return 1-math.sin(x)

 

# Виклик функції Fn()

res = Fn(x)

print("res = ", res)

 

 

 

 

 

 

 

 

 

Результат:

 

 

 

 

 

 

Всередині функції можуть бути оголошені локальні змінні. Локальна змінна – це ім’я (об’єкт), що є доступне тільки всередині визначення функції (інструкції def). Локальна змінна існує тільки під час виконання функції.

У тілі будь-якої функції локальні змінні визначаються на основі наступних ознак:

  • якщо змінна розміщується в лівій частині операції присвоювання;
  • якщо змінна (ім’я) є параметр (аргумент) функції;
  • якщо змінна є ітератором в циклі for.

Приклад. У прикладі створюється функція SquareTriangle(), яка обчислює площу трикутника за його сторонами. Довжини сторін трикутника з іменами a, b, c є вхідними параметрами функції. Якщо з a, b, c неможливо утворити трикутник, то функція повертає значення None.

Потім відбувається виклик функції SquareTriangle() та обробка результату повернення з функції.

# Обчислити площу трикутника на основі його довжин a,b,c

# Імпортувати математичну бібліотеку

import math

def SquareTriangle(a,b,c):

    if (((a+b)<c) or ((b+c)<a) or ((a+c)<b)):

        return None

    else:

        p = (a+b+c)/2 # це є локальна змінна p

        s = math.sqrt(p*(p-a)*(p-b)*(p-c)) # локальна змінна s

        return s

# Використання функції SquareTriangle()

s = SquareTriangle(5,4,5)

if (s==None):

    print("The values of a, b, c is incorrect.")

else:

    print("s = ", s)

 

 

 

 

 

 

Результат:

s =  9.16515138991168

docx
Додано
6 грудня 2022
Переглядів
1205
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку