More Related Content Similar to Лекц 8 (Функц) (19) More from Мөнхбаярын Цэцэнцэнгэл (9) Лекц 8 (Функц)2. Функц
● Си хэл бол функциональ хэл.
● Си програм нь функцуудаар бичигддэг.
● Си програм main() функцээс эхэлж
ажилладаг.
● Функц гэдэг нь:
– Дэд програм буюу боловсруулалт хийгээд
тодорхой р д нг ү ү буцаадаг бүлэг кодуудыг
хэлнэ.
3. Жишээ
● Над 1-ээс 10, 1-ээс 20, 1-ээс 30 хүртэлх
натурал тоонуудын нийлбэрийг
харгалзан буцаах бодлого байя.
● Би 1-ээс 10, 1-ээс 20, 1-ээс 30 олдог
гурван давталтыг програмдаа
бичсэнээр бодлогоо бодож чадна.
4. Жишээ
● Sum1 ← 0
● For I ← 1 to 10 do
– Sum1 ← Sum1 + I
● End For
● Sum2 ← 0
● For I ← 1 to 20 do
– Sum2 ← Sum2 + I
● End For
● Sum3 ← 0
● For I ← 1 to 40 do
– Sum3 ← Sum3 + I
● End For
5. Жишээ
● Ийм маягаар кодоо бичээд явж болно.
● Асуудал:
– Нийлбэр олдог логик өөрчлөгдвөл энэ
жишээний гурван газар кодыг нь өөрчлөх
шаардлага гарна.
– Нэг үйлдлийг олон дахин бичсэнээр кодын
хэмжээ ихсэнэ.
– Алдаа олж засахад төвөгтэй.
● Энэ асуудлыг “Функ” шийднэ.
7. Асуудлыг шийдье
● 1-ээс n хүртэлх натурал тоонуудын
нийлбэр олдог функц бичээд энэ
функцээ n нь 20, 30, 40 харгалзан
утгатай байхаар гурван удаа дуудаж
асуудлыг шийднэ.
8. Асуудлыг шийдье
● Function sum(n)
● S ← 0
● For I ← 1 to n do
– S ← S + I
● End for
● Return S
● End function
10. Асуудлыг шийдье
● Код маань маш богино, ойлгомжтой
болсон.
● Нийлбэр олох логикоо ганц бичсэн учир
логикт алдаа гарсан тохиолдолд ганц
sum функцээ засахад бүгд зөв үр дүн
гаргана.
11. Си хэлэнд Функц
ФУНКЦ
Built-in function
Үндсэн функц
User-defined function
Шинээр тодорхойлсон
функц
12. Си хэлэнд Функц
● Функийн зарлагаа (function prototype)
● Функцийн тодорхойлолт (function
definition)
● Функцийн дуудлага (function call)
13. Функцийн зарлагаа
● Функцийн зарлагаа нь програмд энэ
функц байгаа шүү гэдгийг мэдүүлэх
зорилготой.
● Си програм танихгүй хүнтэй ярьдаггүй!
● Функцийг дуудаж байгаа кодоос өмнө
функцийн зарлагааг бичсэн
шаардлагатай.
● Ихэвчлэн main() функцийн дээр бичдэг.
15. Функцийн тодорхойлолт
● return_type function_name(parameter_list)
● {
– Функцийн эх бие.
● }
●
● int sum(int n)
● {
– int s = 0, i;
– for(i = 1; i <= n; i++)
● s += i;
– return s;
● }
18. Бүгдийг цугтана
● #include<stdio.h>
● int sum(int n);
● void main()
● {
– int s;
– s = sum(20);
● }
● int sum(int n)
● {
– int s = 0, i;
– for(i = 1; i <= n; i++)
● s+=i;
return s;
● }
Функцийн зарлагаа
Sum гэдэг функц байгааг мэдсэн
Функцийг дуудаж байна
Функцийг тодорхойлолт