МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Int a(){.....a().....} Непрямою рекурсією є рекурсія, що здійснює рекурсивний виклик функції за допомогою ланцюжка виклику інших функцій. Всі функції, що входять в ланцюжок, теж вважаються рекурсивними. приклад: a(){.....b().....} b(){.....c().....} c(){.....a().....} .Всі функції а,b,c є рекурсивними, оскільки при виклику однієї з них, здійснюється виклик інших і самій себе. Всі функції в мові Сі можуть бути рекурсивними, тобто будь-яка з них може непрямо викликати саму себе. /* Програма обчислення факторіала */ /* n!=1*2*3*...*(n-1)*n */ #include <stdio.h> unsigned long F(unsigned long n); main() { unsigned long n,fac; сout<<"\n Введіть N="; cin>>n; fac=F(N); cout<<“\n N!="<<fac); } unsigned long F(unsigned n); { return n==1?1:n*F(n-1); } Приклад: Скласти функцію для обчислення n!, де використовуючи рекурсію, можна так: Long factorial (int n) { Long fact; If (n>1) fact=n*factorial(n-1); else fact=1; return fact; }
П р и к л а д: Рекурсивна функція обчислення суми цілих чисел від а до b має вигляд: Int Suma (int a, int b) { Int S; If (a==b) S=a; else S=b+Suma(a,b-1); return S; }
Тема. Класи пам’яті . Локальні та глобальні змінні. Шаблони функцій. План 1. Класи пам’яті. 2. Локальні та глобальні змінні 3. Шаблони функцій
1. Класи пам’яті. Для того, щоб безпосередньо вказати комп’ютеру як і де у його пам’яті мають зюерігатися значення змінних чи функцій, як можна отримати доступ до цих даних, як визначити область видимості цих даних, використовують специфікатори класу пам’яті. Є п’ять спецтфікаторів: · Auto · Regicter · Static · Extern · Volatile
Дія цих специфікаторів. Auto – застосовується для локальних змінних по замовчуванню. Область видимості – обмежена блоком, в якому вони оголошені. Register – вказує компілятору, що значення слід зберігати в регістрах процесора (не в оперативній пам’яті). Це зменшує час доступу до змінної, що прискорює виконання програми Область видимості – обмежена блоком, в якому вони оголошені. Static – застосовується як для локальних, так і для глобальних змінних. Область видимості – значення локальної статичної змінної зберігається після виходу з блока чи функції, де ця змінна оголошена. Під час повторного виклику функції змінна зберігає своє попереднє значення. Якщо змінна явно не ініцілізована, то за замовчуванням надається значення 0.їй
|
||||||||
|