Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 04
NameSize
..
README.md5.4 KiBlog stats plain blame
Solutions42 Blog stats plain
example01_no_functions.cpp689 Blog stats plain blame
example01_with_functions.cpp361 Blog stats plain blame
example02-08.cpp3.0 KiBlog stats plain blame
example09 .cpp236 Blog stats plain blame
example10.cpp236 Blog stats plain blame

.

Функции

enter image description here

В контекста на програмирането, функция се нарича именувана група от инструкции, които изпълняват дадена функционалност.

Синтаксис

<тип на връщане> <идентификатор> (параметър1, параметър ...)
{
    //тяло
}

Всеки параметър се състои от тип и идентификатор.

Пример:

int max(int n, int k)
{
    return n > k ? n : k;
}

Оператор return:

  • Прекратява изпълнението на функцията
  • Замества извикването и с резултата (връща резултата)

Операторът може да се използва и при функции, които не връщат нищо (void функции). Тогава return единствено прекратява функцията.

Параметри по копие

Важно: Функциите, написани по този начин, приемат своите параметри по копие. (Функции, които приемат параметри по референция (не по копие) ще учим по-натам).

void f(int n)
{
    n++;
}
int main()
{
    int n = 4;
    f(n);
    cout << n << endl; //4
}

Примери:

Задача 1: Въвежда се неотрицателно число n. Да се отпечатат всички двойки прости числа, които са във вида 6k-1 и 6k+1.

-решена без функции и решена с функции.

Задача 2: Напишете функция, която приема неотрицателно число n и връща числото обърнато

Вход: 288, Изход: 882

Задача 3: Напишете функция, която приема неотрицателно число и връща дали числото е палиндром.

Вход: 2882 Изход: true

Задача 4: Напишете функция, която приема неотрицателни числа n и k и връща дали k е суфикс на n.

Вход: 288, 88, Изход: true

Задача 5: Напишете функция, която приема неотрицателни числа n и k и връща дали k е префикс на n.

Вход: 288, 28, Изход: true

Задача 6: Напишете функция, която приема неотрицателни числа n и k и връща дали k е инфикс в n.

Вход: 2831, 83, Изход: true

Задача 7: Напишете функция, която приема неотрицателно число и връща дали цифрите му са сортирани (във възходящ или в низходящ ред).

Вход: 122239, Изход: true

Задача 8: Напишете функция, която приема неотрицателно число и връща дали цифрите му са еднакви.

Вход: 111111, Изход: true

Задача 9: Напишете функция, която приема неотрицателно числа n и k връща n^k

Вход: 3 4, Изход: 81

Задача 10: Напишете функция, която приема неотрицателно числа n и k връща log_k(n) (закръглено надолу)

Вход: 90 3 Изход: 4

Задачи:

Задача 1: Напишете функция, която приема цяло число и връща модула му.

Вход: 4, Изход: 4

Вход: -4, Изход: 4

Вход: 5 4 3 0 Изход: 12

Задача 2: Напишете функция, която приема 4 цели числа - координати на 2 точки. Функцията да връща разстоянието между тези точки.

Вход: 1 1 4 3, Изход: 3,605

Задача 3: Напишете функция, която приема 6 целочислени координати (3 точки) и връща обиколката на триъгълника по тези точки.

Вход: 1 1 4 7 0 10, Изход: 20.764

Задача 4: Да се напише функция, която приема три естествени числа a и b и k отпечатва всички числа в интервата [a...b], които имат точно k различни прости делители. Вход: 19 32 3, Изход: 20 30 Вход: 19 32 1, Изход: 19 23 29 31

Задача 5: Да се напише функция, която приема естествено число n и отпечатва всички двойки , такива че a и b са прости и a + b = n.

Задача 6: Да се напише функция, която приема две естествени числа a и b и отпечава всички числа k и интервала [a,b], такива че k = x^y (за някои ест. числа x и y) Вход: 15 30, Изход: 16 25 27 , защото (4^2, 5^2, 3^3)