Занятие №3 на курса по програмиране на C# 2013 провеждан от ДАВИД академия в ПМГ "Никола Обрешков" - Казанлък. Включва темите:
- Функции и методи
- Рекурсия
3. Функции и методи
• Какво е „функция“? Какво е „метод“?
– Функция е подпрограма, която извършва конкретна
дейност и може да бъде извиквана от друга част от
програмата
– Функциите могат да приемат параметри (аргументи) и
да връщат стойност
– Метод е функция дефинирана в рамките на клас или
структура
– В езика C# методът е единственият начин за
дефиниране на функции
– Процедурите са функции без връщана стойност
4. Функции и методи
• Приложение на функциите
– Разработка на по-големи програми на основата на
по-малки парчета код
– BCL представлява библиотека от методи подпомагащи
разработчика в създаването на приложения без това
да става от нулата
– По-четим и разбираем код чрез реорганизация в помалки парчета код
– Преизползване на кода за унифицираност на
операциите и по-лесна модификация
– Подобрена поддръжка и разделение на
отговорностите
5. Функции и методи
• Характеристики на функциите
– Наименование
– Брой и тип на аргументите
– Връщана стойност
• Наименованието на функцията трябва да
отразява нейното предназначение
• В една и съща област може да има повече от
една функция с едно и също име, само ако броят
и/или типът на параметрите се различават
6. Функции и методи
• Деклариране на функции
– Обявяват се типа на данните на връщаната
стойност, наименованието и параметрите на
функцията
– Ако функцията връща стойност, преди
наименованието ѝ се записва типът на връщаната
стойност
– Ако функцията не връща стойност, преди
наименованието ѝ се записва ключовата дума “void”
• Използване на функции
7. Функции и методи
• Използване на параметри
–
–
–
–
–
Незадължителни параметри
Променлив брой параметри
Изходни параметри
Параметри предавани по референция
Презаписване на функции
9. Често използвани функции
•
•
•
•
•
Функции за работа със символни низове
Функции за превръщане на данни
Функции за работа с текстови файлове
Функции за работа с масиви
Други функции
11. Рекурсия
• Какво е „рекурсия“?
– Извикване на една функция от нея самата
– Различаваме „проста„ и „сложна/косвена“ рекурсия
– За рекурсия се използват възможностите на „стека“
• Опашна рекурсия
– Последната операция е самото рекурсивно извикване
– Опашната рекурсия може да се сведе до итерация
• Примери за рекурсия
12. Рекурсия
• Примери за рекурсия
–
–
–
–
–
Намиране на факториел;
Обръщане на масив;
Двоично търсене в сортиран масив;
Търсене на път в лабиринт;
Други.