SlideShare a Scribd company logo
1 of 18
Download to read offline
Лекц 8: Функ
Функц 
● Си хэл бол функциональ хэл. 
● Си програм нь функцуудаар бичигддэг. 
● Си програм main() функцээс эхэлж 
ажилладаг. 
● Функц гэдэг нь: 
– Дэд програм буюу боловсруулалт хийгээд 
тодорхой р д нг ү ү буцаадаг бүлэг кодуудыг 
хэлнэ.
Жишээ 
● Над 1-ээс 10, 1-ээс 20, 1-ээс 30 хүртэлх 
натурал тоонуудын нийлбэрийг 
харгалзан буцаах бодлого байя. 
● Би 1-ээс 10, 1-ээс 20, 1-ээс 30 олдог 
гурван давталтыг програмдаа 
бичсэнээр бодлогоо бодож чадна.
Жишээ 
● 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
Жишээ 
● Ийм маягаар кодоо бичээд явж болно. 
● Асуудал: 
– Нийлбэр олдог логик өөрчлөгдвөл энэ 
жишээний гурван газар кодыг нь өөрчлөх 
шаардлага гарна. 
– Нэг үйлдлийг олон дахин бичсэнээр кодын 
хэмжээ ихсэнэ. 
– Алдаа олж засахад төвөгтэй. 
● Энэ асуудлыг “Функ” шийднэ.
Функц, чи миний сүпер баатар!
Асуудлыг шийдье 
● 1-ээс n хүртэлх натурал тоонуудын 
нийлбэр олдог функц бичээд энэ 
функцээ n нь 20, 30, 40 харгалзан 
утгатай байхаар гурван удаа дуудаж 
асуудлыг шийднэ.
Асуудлыг шийдье 
● Function sum(n) 
● S ← 0 
● For I ← 1 to n do 
– S ← S + I 
● End for 
● Return S 
● End function
Асуудлыг шийдье 
● Sum1 ← sum(20) 
● Sum2 ← sum(30) 
● Sum3 ← sum(40)
Асуудлыг шийдье 
● Код маань маш богино, ойлгомжтой 
болсон. 
● Нийлбэр олох логикоо ганц бичсэн учир 
логикт алдаа гарсан тохиолдолд ганц 
sum функцээ засахад бүгд зөв үр дүн 
гаргана.
Си хэлэнд Функц 
ФУНКЦ 
Built-in function 
Үндсэн функц 
User-defined function 
Шинээр тодорхойлсон 
функц
Си хэлэнд Функц 
● Функийн зарлагаа (function prototype) 
● Функцийн тодорхойлолт (function 
definition) 
● Функцийн дуудлага (function call)
Функцийн зарлагаа 
● Функцийн зарлагаа нь програмд энэ 
функц байгаа шүү гэдгийг мэдүүлэх 
зорилготой. 
● Си програм танихгүй хүнтэй ярьдаггүй! 
● Функцийг дуудаж байгаа кодоос өмнө 
функцийн зарлагааг бичсэн 
шаардлагатай. 
● Ихэвчлэн main() функцийн дээр бичдэг.
Функцийн зарлагаа 
● return_type function_name( parameter list); 
● int sum(int n);
Функцийн тодорхойлолт 
● return_type function_name(parameter_list) 
● { 
– Функцийн эх бие. 
● } 
● 
● int sum(int n) 
● { 
– int s = 0, i; 
– for(i = 1; i <= n; i++) 
● s += i; 
– return s; 
● }
Функцийн дуудлага 
● function_name(parameter list); 
● 
● sum(20); 
● sum(30);
Анхааруулга 
● Функцийн нэр нь хувьсагчийн нэрийг 
өгдөг бүх дүрэм биелэнэ.
Бүгдийг цугтана 
● #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 гэдэг функц байгааг мэдсэн 
Функцийг дуудаж байна 
Функцийг тодорхойлолт

More Related Content

What's hot (20)

Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогууд
 
си хэл 10
си хэл 10си хэл 10
си хэл 10
 
Ci hel
Ci helCi hel
Ci hel
 
с++ хэл
с++ хэлс++ хэл
с++ хэл
 
For ci
For ciFor ci
For ci
 
Do..while presentation
Do..while presentationDo..while presentation
Do..while presentation
 
SW206 labo
SW206 laboSW206 labo
SW206 labo
 
C++
C++C++
C++
 
Smallbasic
SmallbasicSmallbasic
Smallbasic
 
U.cs101 лаборатори 6
U.cs101 лаборатори 6U.cs101 лаборатори 6
U.cs101 лаборатори 6
 
C cons
C consC cons
C cons
 
Lec4 хereglegchiinpunkts
Lec4 хereglegchiinpunktsLec4 хereglegchiinpunkts
Lec4 хereglegchiinpunkts
 
си хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиси хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р анги
 
U.cs101 лаборатори 7
U.cs101 лаборатори 7U.cs101 лаборатори 7
U.cs101 лаборатори 7
 
бие даалт № 1 borland c++
бие даалт № 1 borland c++бие даалт № 1 borland c++
бие даалт № 1 borland c++
 
U.cs101 laboratory 10
U.cs101 laboratory 10U.cs101 laboratory 10
U.cs101 laboratory 10
 
Programchlaliin c hel
Programchlaliin c helProgramchlaliin c hel
Programchlaliin c hel
 
Лекц 3 (Давталт)
Лекц 3 (Давталт)Лекц 3 (Давталт)
Лекц 3 (Давталт)
 
Lec1 pragraming language
Lec1 pragraming languageLec1 pragraming language
Lec1 pragraming language
 
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
 

Similar to Лекц 8 (Функц)

Similar to Лекц 8 (Функц) (19)

Лекц №9
Лекц №9Лекц №9
Лекц №9
 
Mtms3 mathematical softs
Mtms3   mathematical softsMtms3   mathematical softs
Mtms3 mathematical softs
 
Лекц №6
Лекц №6Лекц №6
Лекц №6
 
үндсэн функцууд
үндсэн функцуудүндсэн функцууд
үндсэн функцууд
 
Bayartsetsg
BayartsetsgBayartsetsg
Bayartsetsg
 
Bayartsetsg
BayartsetsgBayartsetsg
Bayartsetsg
 
Bayartsetsg
BayartsetsgBayartsetsg
Bayartsetsg
 
Gerelmaa
GerelmaaGerelmaa
Gerelmaa
 
Lekts 8
Lekts 8Lekts 8
Lekts 8
 
Excel
ExcelExcel
Excel
 
Excel
ExcelExcel
Excel
 
Mathcad beginning-part1
Mathcad beginning-part1Mathcad beginning-part1
Mathcad beginning-part1
 
u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4
 
Lecture10
Lecture10Lecture10
Lecture10
 
Lab7 excel
Lab7 excelLab7 excel
Lab7 excel
 
7
77
7
 
Mathematica Анхны тойм мэдэгдэхүүн.pptx
Mathematica Анхны тойм мэдэгдэхүүн.pptxMathematica Анхны тойм мэдэгдэхүүн.pptx
Mathematica Анхны тойм мэдэгдэхүүн.pptx
 
Dadlagyn xotolbor zagvar
Dadlagyn xotolbor zagvarDadlagyn xotolbor zagvar
Dadlagyn xotolbor zagvar
 
Excel 2007
Excel 2007Excel 2007
Excel 2007
 

More from Мөнхбаярын Цэцэнцэнгэл (9)

Lecture 12: File Handling
Lecture 12: File HandlingLecture 12: File Handling
Lecture 12: File Handling
 
Лекц 11: (Рекурс, Ханойн цамхаг)
Лекц 11: (Рекурс, Ханойн цамхаг)Лекц 11: (Рекурс, Ханойн цамхаг)
Лекц 11: (Рекурс, Ханойн цамхаг)
 
Лекц 10: (Рекурс)
Лекц 10: (Рекурс)Лекц 10: (Рекурс)
Лекц 10: (Рекурс)
 
Лекц 9(Заагч)
Лекц 9(Заагч)Лекц 9(Заагч)
Лекц 9(Заагч)
 
Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)Лекц 7 (Давталтуудын Си хэлэнд)
Лекц 7 (Давталтуудын Си хэлэнд)
 
Лекц 5 (Өгөгдлийн дүрслэл)
Лекц 5 (Өгөгдлийн дүрслэл)Лекц 5 (Өгөгдлийн дүрслэл)
Лекц 5 (Өгөгдлийн дүрслэл)
 
Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)Лекц 4 (Тооллын Систем)
Лекц 4 (Тооллын Систем)
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
 
Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)Лекц 1 (Алгоритм Програмчлал - 1)
Лекц 1 (Алгоритм Програмчлал - 1)
 

Лекц 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. Жишээ ● Ийм маягаар кодоо бичээд явж болно. ● Асуудал: – Нийлбэр олдог логик өөрчлөгдвөл энэ жишээний гурван газар кодыг нь өөрчлөх шаардлага гарна. – Нэг үйлдлийг олон дахин бичсэнээр кодын хэмжээ ихсэнэ. – Алдаа олж засахад төвөгтэй. ● Энэ асуудлыг “Функ” шийднэ.
  • 6. Функц, чи миний сүпер баатар!
  • 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
  • 9. Асуудлыг шийдье ● Sum1 ← sum(20) ● Sum2 ← sum(30) ● Sum3 ← sum(40)
  • 10. Асуудлыг шийдье ● Код маань маш богино, ойлгомжтой болсон. ● Нийлбэр олох логикоо ганц бичсэн учир логикт алдаа гарсан тохиолдолд ганц sum функцээ засахад бүгд зөв үр дүн гаргана.
  • 11. Си хэлэнд Функц ФУНКЦ Built-in function Үндсэн функц User-defined function Шинээр тодорхойлсон функц
  • 12. Си хэлэнд Функц ● Функийн зарлагаа (function prototype) ● Функцийн тодорхойлолт (function definition) ● Функцийн дуудлага (function call)
  • 13. Функцийн зарлагаа ● Функцийн зарлагаа нь програмд энэ функц байгаа шүү гэдгийг мэдүүлэх зорилготой. ● Си програм танихгүй хүнтэй ярьдаггүй! ● Функцийг дуудаж байгаа кодоос өмнө функцийн зарлагааг бичсэн шаардлагатай. ● Ихэвчлэн main() функцийн дээр бичдэг.
  • 14. Функцийн зарлагаа ● return_type function_name( parameter list); ● int sum(int n);
  • 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; ● }
  • 16. Функцийн дуудлага ● function_name(parameter list); ● ● sum(20); ● sum(30);
  • 17. Анхааруулга ● Функцийн нэр нь хувьсагчийн нэрийг өгдөг бүх дүрэм биелэнэ.
  • 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 гэдэг функц байгааг мэдсэн Функцийг дуудаж байна Функцийг тодорхойлолт