Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 04 / README.md
diff options
context:
space:
mode:
Commit72eb06dcc769114c7dbdcf7092e218b58d2196bf (patch)
Author
 Kamen Mladenov <kamen.d.mladenov@protonmail.com>
2021-11-03 19:39:06 +0200
Committer
 GitHub <noreply@github.com>
2021-11-03 19:39:06 +0200
Files452ee4354c0cd3edac025f81be477fd3f4268916 /Sem. 04/README.md
Introduction_to_programming_FMI-72eb06dcc769114c7dbdcf7092e218b58d2196bf.tar
Introduction_to_programming_FMI-72eb06dcc769114c7dbdcf7092e218b58d2196bf.tar.gz
Introduction_to_programming_FMI-72eb06dcc769114c7dbdcf7092e218b58d2196bf.zip
Parentd0071de8895c62003670e95421b5bc11185e69a9 (diff)
Parent91c58192153aec6803de90951e2d72b36fcc4e16 (diff)
Merge branch 'Angeld55:main' into sem03-solutions
1 files changed, 117 insertions, 0 deletions
-rw-r--r--Sem. 04/README.md117
diff --git a/Sem. 04/README.md b/Sem. 04/README.md
new file mode 100644
index 0000000..8e8acb0
--- /dev/null
+++ b/Sem. 04/README.md
@@ -0,0 +1,117 @@
+.
+# Функции
+
+![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*
+
+<h3>Задачи:</h3>
+
+**Задача 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 са прости и 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)
+
+