From 09bbffaca8d060c4cc70438cfd393d0566c47509 Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Tue, 2 Nov 2021 14:32:04 +0200 Subject: Update and rename Sem. 04_KN/tasks.cpp to Sem. 04/README.md --- Sem. 04/README.md | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 Sem. 04/README.md (limited to 'Sem. 04/README.md') diff --git a/Sem. 04/README.md b/Sem. 04/README.md new file mode 100644 index 0000000..3433548 --- /dev/null +++ b/Sem. 04/README.md @@ -0,0 +1,88 @@ +. +# Функции + +![enter image description here](https://i.ibb.co/PCGYQ71/func.png) +В контекста на _програмирането_, _функциясе нарича именувана група от инструкции, които изпълняват дадена функционалност. + +### Синтаксис +```c++ +<тип на връщане> <идентификатор> (параметър1, параметър ...) +{ + //тяло +} +``` +Всеки параметър се състои от **тип** и **идентификатор**. + +Пример: +```c++ +int max(int n, int k) +{ + return n > k ? n : k; +} +``` +Оператор **return**: + + - Прекратява изпълнението на функцията + - Замества извикването и с резултата (връща резултата) + +Операторът може да се използва и при функции, които не връщат нищо (void функции). Тогава return единствено прекратява функцията. + +### Параметри по копие +**Важно**: Функциите, написани по този начин, приемат своите параметри **по копие**. (Функции, които приемат параметри по референция (не по копие) ще учим по-натам). +```c++ +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* + -- cgit v1.3.1-24-gd84d From 72c9987765cf118b71bfdc9020e97bcf7f2a999a Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Tue, 2 Nov 2021 14:32:28 +0200 Subject: Update README.md --- Sem. 04/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Sem. 04/README.md') diff --git a/Sem. 04/README.md b/Sem. 04/README.md index 3433548..a56ecd1 100644 --- a/Sem. 04/README.md +++ b/Sem. 04/README.md @@ -2,7 +2,8 @@ # Функции ![enter image description here](https://i.ibb.co/PCGYQ71/func.png) -В контекста на _програмирането_, _функциясе нарича именувана група от инструкции, които изпълняват дадена функционалност. + +В контекста на програмирането, функция се нарича именувана група от инструкции, които изпълняват дадена функционалност. ### Синтаксис ```c++ -- cgit v1.3.1-24-gd84d From 01016f0f0540a15db4a7cf900a9fc42133b1964a Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Tue, 2 Nov 2021 15:01:08 +0200 Subject: Update README.md --- Sem. 04/README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'Sem. 04/README.md') diff --git a/Sem. 04/README.md b/Sem. 04/README.md index a56ecd1..0135d76 100644 --- a/Sem. 04/README.md +++ b/Sem. 04/README.md @@ -87,3 +87,30 @@ int main() *Вход: 90 3 Изход: 4* +

Задачи

+ +**Задача 1:** Напишете функция, която приема цяло число и връща модула му. + +*Вход: 4, Изход: 4* + +*Вход: -4, Изход: 4* + +*Вход: 5 4 3 0 Изход: 12* + +**Задача 2:** Напишете функция, която приема 4 цели числа - координати на 2 точки. Функцията да връща разстоянието между тези точки. + +*Вход: 1 1 4 3, Изход: 6.403* + +**Задача 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* +**Задача 4:** Да се напише функция, която приема естествено число n и отпечатва всички двойки , такива че a и b са прости и a + b = n. + +**Задача 5:** Да се напише функция, която приема две естествени числа a и b и отпечава всички числа k и интервала [a,b], такива че k = x^y (за някои ест. числа x и y) +*Вход: 15 30, Изход: 16 25 27* , защото (4^2, 5^2, 3^3) + + -- cgit v1.3.1-24-gd84d From 0fa86a114caa8384886fa20ba73803e69938d6f8 Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Tue, 2 Nov 2021 15:01:32 +0200 Subject: Update README.md --- Sem. 04/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Sem. 04/README.md') diff --git a/Sem. 04/README.md b/Sem. 04/README.md index 0135d76..55b21b0 100644 --- a/Sem. 04/README.md +++ b/Sem. 04/README.md @@ -108,9 +108,10 @@ int main() **Задача 4:** Да се напише функция, която приема три естествени числа a и b и k отпечатва всички числа в интервата [a...b], които имат точно k различни прости делители. *Вход: 19 32 3, Изход: 20 30* *Вход: 19 32 1, Изход: 19 23 29 31* -**Задача 4:** Да се напише функция, която приема естествено число n и отпечатва всички двойки , такива че a и b са прости и a + b = n. -**Задача 5:** Да се напише функция, която приема две естествени числа a и b и отпечава всички числа k и интервала [a,b], такива че k = x^y (за някои ест. числа x и y) +**Задача 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) -- cgit v1.3.1-24-gd84d From a0d9a533e6e4f6b5b06fff9268e9bf6233ef3eef Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Tue, 2 Nov 2021 15:04:04 +0200 Subject: Update README.md --- Sem. 04/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Sem. 04/README.md') diff --git a/Sem. 04/README.md b/Sem. 04/README.md index 55b21b0..d6f9af9 100644 --- a/Sem. 04/README.md +++ b/Sem. 04/README.md @@ -87,7 +87,7 @@ int main() *Вход: 90 3 Изход: 4* -

Задачи

+

Задачи:

**Задача 1:** Напишете функция, която приема цяло число и връща модула му. -- cgit v1.3.1-24-gd84d From 84591aa00535f2b036418b38fa8f070ae98a372d Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Tue, 2 Nov 2021 12:04:37 -0400 Subject: Update README.md --- Sem. 04/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Sem. 04/README.md') diff --git a/Sem. 04/README.md b/Sem. 04/README.md index d6f9af9..1d5fcb8 100644 --- a/Sem. 04/README.md +++ b/Sem. 04/README.md @@ -66,7 +66,7 @@ int main() *Вход: 288, 28, Изход: true* -**Задача 6:** Напишете функция, която приема неотрицателни числа n и k и връща дали k се съдържа в n. +**Задача 6:** Напишете функция, която приема неотрицателни числа n и k и връща дали k е инфикс в n. *Вход: 2831, 83, Изход: true* -- cgit v1.3.1-24-gd84d From 1d126d6a6aa59e7c3aadc3943b80395bb28865ef Mon Sep 17 00:00:00 2001 From: Angel Dimitriev Date: Wed, 3 Nov 2021 18:00:27 +0200 Subject: Update README.md --- Sem. 04/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Sem. 04/README.md') diff --git a/Sem. 04/README.md b/Sem. 04/README.md index 1d5fcb8..8e8acb0 100644 --- a/Sem. 04/README.md +++ b/Sem. 04/README.md @@ -99,7 +99,7 @@ int main() **Задача 2:** Напишете функция, която приема 4 цели числа - координати на 2 точки. Функцията да връща разстоянието между тези точки. -*Вход: 1 1 4 3, Изход: 6.403* +*Вход: 1 1 4 3, Изход: 3,605* **Задача 3:** Напишете функция, която приема 6 целочислени координати (3 точки) и връща обиколката на триъгълника по тези точки. -- cgit v1.3.1-24-gd84d