SlideShare a Scribd company logo
1 of 28
БАТЛАВ.......... ТЭНХИМИЙН
ЭРХЛЭГЧ Л.БАТБИЛЭГ
ОГНОО.................
IT102 LECTURE 4 Teacher G.Tuguldurbayar
•Review
•Blocks and Compound Statements
•Control Flow
• Conditional Statements
• Loops
•Functions
•Modular Programming
•Variable Scope
• Static Variables
• Register Variables
REVIEW
 Хувьсагч - Нэр /заагч бүхий утга хадгалагч
Өгөгдлийн төрөл - Хувьсагчын санах ойд эзлэх
хэмжээ, авах утга , хийж болох үйлдлүүдийг
тодорхойлно
Оператор – 1-с 3-н хувьсагчийн хооронд хийгдэх
аливаа үйлдлийг хэлнэ
Илэрхийлэл – Функц, хувьсагч, операторуудийн
хослол
OPERATORS
Unary, binary, ternary /1-3 аргумент/
Арифметик операторууд , хамаарлын операторууд,
бинар, утга олгох гэх мэт
Нөхцөлт илэрхийлэл
Үйлдлийн гүйцэтгэх дараалал
•Review
•Blocks and Compound Statements
•Control Flow
• Conditional Statements
• Loops
•Functions
•Modular Programming
•Variable Scope
• Static Variables
• Register Variables
BLOCKS AND COMPOUND STATEMENTS
oA simple statement ends in a semicolon: z = foo(x+y);
oConsider the multiple statements:
temp = x+y;
z = foo(temp);
o• Угалзан хаалт { } – Нэгдмэл стэйтмент
үүсгэнэ/block
BLOCKS
oЭнгийн стэйтментийг Блок орлож болно
oНэг нэгж болж компайлдагдана
oБлок дотор хувьсагч зарлаж болно
{
int temp = x+y;
z = foo(temp);
}
oБлок хоосон байж болно {}
oБлокий төгсгөлд цэг таслал тавихгүй
БАГТСАН БЛОК
Блокууд бие биедээ багтаж болно
{
int temp = x+y;
z = foo(temp);
{
float temp2 = x∗y;
z += bar(temp2);
}
}
•Review
•Blocks and Compound Statements
•Control Flow
• Conditional Statements
• Loops
•Functions
•Modular Programming
•Variable Scope
• Static Variables
• Register Variables
CONDITIONAL STATEMENTS
oif statement
oswitch statement
THE IF STATEMENT
if ( x % 2 = = 0)
y + = x / 2;
o Шалгах нөхцөл нь x % 2 = = 0
o Хэрэв үнэн байвал y + = x / 2; биелэнэ
o Эсрэг тохиолдолд юу ч хийхгүй
THE ELSE KEYWORD
if ( x % 2 = = 0)
y + = x / 2;
else
y + = ( x + 1 ) / 2;
o Шалгах нөхцөл нь x % 2 = = 0
o Хэрэв үнэн байвал y + = x / 2; биелэнэ
o Эсрэг тохиолдолд y + = ( x + 1 ) / 2; биелэнэ
o Мөн биелэх үйлдлүүд нь Блок байж болно
THE ELSE IF KEYWORD
if ( x % 2 = = 0)
y + = x / 2;
else if ( x % 4 = = 1)
y + = 2 ∗ (( x + 3 ) / 4 );
else
y + = ( x + 1 ) / 2;
o Шалгах нэмэлт нөхцөлтэй
o Хэрэв эхний нөхцөл үнэн байвал зөвхөн эхний шалгах нөхцөл
биелэнэ
oБагтсан if стэйтмент гэж ойлгож болно
NESTING IF STATEMENTS
if (x%4 == 0)
if (x%2 == 0)
y= 2;
else
y= 1;
Аль if стэйтментэд else хамаарах вэ?
NESTING IF STATEMENTS
if (x%4 == 0) {
if (x%2 == 0)
y= 2; }
else
y= 1;
Хэрвээ эхний if нөхцөлд дээрхи угалзан хаалтыг нэмбэл else нь
эхний if-д хамаарна
THE SWITCH STATEMENT
oОлон нөхцөлт стэйтмент
oТоо эсвэл тэмдэгтийг оролтоо болгож авна
oХувьсагчийн утга шалгах нөхцөл нь болно
switch (ch) {
case ’Y’ :/ ∗ ch == ’Y’ ∗ /
/ ∗ do something ∗ /
break ;
case ’N’ :/ ∗ ch == ’N’ ∗ /
/ ∗ do something else ∗ /
break ;
default :/ ∗ otherwise ∗ /
/ ∗ do a third thing ∗ /
break;
}
SWITCH
case ’N’ :/ ∗ ch == ’N’ ∗ /
/ ∗ do something else ∗ /
/ ∗ do something else ∗ /
/ ∗ do something else ∗ /
/ ∗ do something else ∗ /…
break ;
break түлхүүр үг хүртэл бүх код биелэнэ
LOOP STATEMENTS
Давталтын Стэйтментүүд
oThe while loop
oThe for loop
oThe do-while loop
oThe break and continue keywords
THE WHILE LOOP
while (/ ∗ condition ∗ /)
/ ∗ loop body ∗ /
oХамгийн энгийн давталын хэлбэр– шалгах нөхцөл
үнэн үед давталт хийгдсээр л байна
oДавталтын бие биелэхгүй байх нөхцөл байж болох
уу?
THE FOR LOOP
int factorial ( int n) {
int i, j=1;
for (i =1; i<= n; i++)
j ∗= i;
return j;
}
oТоолуурт давталт
oХаалтан доторх 3 илэрхийлэл хоорондоо цэг таслалаар
тусгаарлагдсан байна:
 Initialization: i=1
 Condition: i <= n
 Increment: i++
oЗарим илэрхийлэл хоосон бичигдэж болно.
while давталтаар дээрх кодыг бичсэн нь: Энэ 2 код нь адилхан
үйлдэл гүйцэтгэнэ.
int factorial ( int n) {
int j =1;
int i=1; / ∗ initialization ∗ /
while (i <= n / ∗ condition ∗ /) {
j ∗= i;
i ++; / ∗ increment ∗ /
}
return j;
}
THE DO-WHILE LOOP
do-while давталтаар дээрх кодыг бичсэн нь: Энэ 3 код адилхан
үйлдэл гүйцэтгэнэ.
int factorial ( int n) {
int j =1;
int i=1; / ∗ initialization ∗ /
do {
j ∗= i;
i ++; / ∗ increment ∗ /
} while (i <= n / ∗ condition ∗ /);
return j;
}
Нөхцөл шалгалт нь давталтын биеийн дараа гүйцэтгэгдэнэ
Давталтын бие ядаж нэг удаа биелэнэ
Давталтын төгсгөлд цэг таслал тавьна гэдгийг анхаараарай
THE BREAK KEYWORD
oЗаримдаа давталтыг эрт дуусгах шаардлага гардаг
obreak; энэ түлхүүр үгээр давталтаас эрт гарах үйлдлийг хийдэг
oДээрх кодонд өөрчлөлт оруулсан жишээг ажиглана уу
int factorial ( int n) {
int j =1;
int i=1; / ∗ initialization ∗ /
do {
j ∗= i;
i ++; / ∗ increment ∗ /
If(n>30)
break;
} while (i <= n / ∗ condition ∗ /);
return j;
}
•Review
•Blocks and Compound Statements
•Control Flow
• Conditional Statements
• Loops
•Functions
•Modular Programming
•Variable Scope
• Static Variables
• Register Variables
FUNCTIONS
Бид өмнө нь хэд хэдэн функцуудтай таарлаа, жишээ
нь main():
int main ( void ){
/ ∗ do stuff ∗ /
return 0; / ∗ success ∗ /
}
Функц ашиглаж хэрхэн програм бичих вэ?
FUNCTIONS
o Void – утга буцаахгүй функц гэдгийг илэрхийлнэ
o print - функцийн нэр
o int а – бүхэл тоон төрлийн утга дамжуулж авна. Энэ утгыг
функц дотор а гэсэн хувьсагчид хадгалан ашиглана гэдгийг заана
o printf(“%d”,a); - функцийн бие
FUNCTIONS
Утга буцаадаг функцийн жишээ
#include <stdio.h>
int kvadrat(int k){
int z
z=k*k;
return z;
}
void main(){
int a=13,b;
b=kvadrat(a);
printf(“%d”,b)
}

More Related Content

What's hot

Video lecture-2
Video lecture-2Video lecture-2
Video lecture-2bsuren_bn
 
семинар9
семинар9семинар9
семинар9boogii79
 
математик анализ лекц№4
математик анализ лекц№4математик анализ лекц№4
математик анализ лекц№4narangerelodon
 
математик анализ лекц№10
математик анализ лекц№10математик анализ лекц№10
математик анализ лекц№10narangerelodon
 
матщматик анализ 6
матщматик анализ 6матщматик анализ 6
матщматик анализ 6narangerelodon
 

What's hot (6)

Video lecture-2
Video lecture-2Video lecture-2
Video lecture-2
 
семинар9
семинар9семинар9
семинар9
 
математик анализ лекц№4
математик анализ лекц№4математик анализ лекц№4
математик анализ лекц№4
 
математик анализ лекц№10
математик анализ лекц№10математик анализ лекц№10
математик анализ лекц№10
 
Ci hel
Ci helCi hel
Ci hel
 
матщматик анализ 6
матщматик анализ 6матщматик анализ 6
матщматик анализ 6
 

Viewers also liked (18)

Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Lecture 6
Lecture 6Lecture 6
Lecture 6
 
Chap15
Chap15Chap15
Chap15
 
Lecture 14
Lecture 14Lecture 14
Lecture 14
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
Lecture 13
Lecture 13Lecture 13
Lecture 13
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Design+Startup 2013
Design+Startup 2013Design+Startup 2013
Design+Startup 2013
 
Output Screens of wget based web crawler
Output Screens of wget based web crawler Output Screens of wget based web crawler
Output Screens of wget based web crawler
 
Coding for a wget based Web Crawler
Coding for a wget based Web CrawlerCoding for a wget based Web Crawler
Coding for a wget based Web Crawler
 
Working with WebSPHINX Web Crawler
Working with WebSPHINX Web Crawler Working with WebSPHINX Web Crawler
Working with WebSPHINX Web Crawler
 
Working of a Web Crawler
Working of a Web CrawlerWorking of a Web Crawler
Working of a Web Crawler
 

Lecture 4

  • 2. IT102 LECTURE 4 Teacher G.Tuguldurbayar
  • 3. •Review •Blocks and Compound Statements •Control Flow • Conditional Statements • Loops •Functions •Modular Programming •Variable Scope • Static Variables • Register Variables
  • 4. REVIEW  Хувьсагч - Нэр /заагч бүхий утга хадгалагч Өгөгдлийн төрөл - Хувьсагчын санах ойд эзлэх хэмжээ, авах утга , хийж болох үйлдлүүдийг тодорхойлно Оператор – 1-с 3-н хувьсагчийн хооронд хийгдэх аливаа үйлдлийг хэлнэ Илэрхийлэл – Функц, хувьсагч, операторуудийн хослол
  • 5. OPERATORS Unary, binary, ternary /1-3 аргумент/ Арифметик операторууд , хамаарлын операторууд, бинар, утга олгох гэх мэт Нөхцөлт илэрхийлэл Үйлдлийн гүйцэтгэх дараалал
  • 6. •Review •Blocks and Compound Statements •Control Flow • Conditional Statements • Loops •Functions •Modular Programming •Variable Scope • Static Variables • Register Variables
  • 7. BLOCKS AND COMPOUND STATEMENTS oA simple statement ends in a semicolon: z = foo(x+y); oConsider the multiple statements: temp = x+y; z = foo(temp); o• Угалзан хаалт { } – Нэгдмэл стэйтмент үүсгэнэ/block
  • 8. BLOCKS oЭнгийн стэйтментийг Блок орлож болно oНэг нэгж болж компайлдагдана oБлок дотор хувьсагч зарлаж болно { int temp = x+y; z = foo(temp); } oБлок хоосон байж болно {} oБлокий төгсгөлд цэг таслал тавихгүй
  • 9. БАГТСАН БЛОК Блокууд бие биедээ багтаж болно { int temp = x+y; z = foo(temp); { float temp2 = x∗y; z += bar(temp2); } }
  • 10. •Review •Blocks and Compound Statements •Control Flow • Conditional Statements • Loops •Functions •Modular Programming •Variable Scope • Static Variables • Register Variables
  • 12. THE IF STATEMENT if ( x % 2 = = 0) y + = x / 2; o Шалгах нөхцөл нь x % 2 = = 0 o Хэрэв үнэн байвал y + = x / 2; биелэнэ o Эсрэг тохиолдолд юу ч хийхгүй
  • 13. THE ELSE KEYWORD if ( x % 2 = = 0) y + = x / 2; else y + = ( x + 1 ) / 2; o Шалгах нөхцөл нь x % 2 = = 0 o Хэрэв үнэн байвал y + = x / 2; биелэнэ o Эсрэг тохиолдолд y + = ( x + 1 ) / 2; биелэнэ o Мөн биелэх үйлдлүүд нь Блок байж болно
  • 14. THE ELSE IF KEYWORD if ( x % 2 = = 0) y + = x / 2; else if ( x % 4 = = 1) y + = 2 ∗ (( x + 3 ) / 4 ); else y + = ( x + 1 ) / 2; o Шалгах нэмэлт нөхцөлтэй o Хэрэв эхний нөхцөл үнэн байвал зөвхөн эхний шалгах нөхцөл биелэнэ oБагтсан if стэйтмент гэж ойлгож болно
  • 15. NESTING IF STATEMENTS if (x%4 == 0) if (x%2 == 0) y= 2; else y= 1; Аль if стэйтментэд else хамаарах вэ?
  • 16. NESTING IF STATEMENTS if (x%4 == 0) { if (x%2 == 0) y= 2; } else y= 1; Хэрвээ эхний if нөхцөлд дээрхи угалзан хаалтыг нэмбэл else нь эхний if-д хамаарна
  • 17. THE SWITCH STATEMENT oОлон нөхцөлт стэйтмент oТоо эсвэл тэмдэгтийг оролтоо болгож авна oХувьсагчийн утга шалгах нөхцөл нь болно switch (ch) { case ’Y’ :/ ∗ ch == ’Y’ ∗ / / ∗ do something ∗ / break ; case ’N’ :/ ∗ ch == ’N’ ∗ / / ∗ do something else ∗ / break ; default :/ ∗ otherwise ∗ / / ∗ do a third thing ∗ / break; }
  • 18. SWITCH case ’N’ :/ ∗ ch == ’N’ ∗ / / ∗ do something else ∗ / / ∗ do something else ∗ / / ∗ do something else ∗ / / ∗ do something else ∗ /… break ; break түлхүүр үг хүртэл бүх код биелэнэ
  • 19. LOOP STATEMENTS Давталтын Стэйтментүүд oThe while loop oThe for loop oThe do-while loop oThe break and continue keywords
  • 20. THE WHILE LOOP while (/ ∗ condition ∗ /) / ∗ loop body ∗ / oХамгийн энгийн давталын хэлбэр– шалгах нөхцөл үнэн үед давталт хийгдсээр л байна oДавталтын бие биелэхгүй байх нөхцөл байж болох уу?
  • 21. THE FOR LOOP int factorial ( int n) { int i, j=1; for (i =1; i<= n; i++) j ∗= i; return j; } oТоолуурт давталт oХаалтан доторх 3 илэрхийлэл хоорондоо цэг таслалаар тусгаарлагдсан байна:  Initialization: i=1  Condition: i <= n  Increment: i++ oЗарим илэрхийлэл хоосон бичигдэж болно.
  • 22. while давталтаар дээрх кодыг бичсэн нь: Энэ 2 код нь адилхан үйлдэл гүйцэтгэнэ. int factorial ( int n) { int j =1; int i=1; / ∗ initialization ∗ / while (i <= n / ∗ condition ∗ /) { j ∗= i; i ++; / ∗ increment ∗ / } return j; }
  • 23. THE DO-WHILE LOOP do-while давталтаар дээрх кодыг бичсэн нь: Энэ 3 код адилхан үйлдэл гүйцэтгэнэ. int factorial ( int n) { int j =1; int i=1; / ∗ initialization ∗ / do { j ∗= i; i ++; / ∗ increment ∗ / } while (i <= n / ∗ condition ∗ /); return j; } Нөхцөл шалгалт нь давталтын биеийн дараа гүйцэтгэгдэнэ Давталтын бие ядаж нэг удаа биелэнэ Давталтын төгсгөлд цэг таслал тавьна гэдгийг анхаараарай
  • 24. THE BREAK KEYWORD oЗаримдаа давталтыг эрт дуусгах шаардлага гардаг obreak; энэ түлхүүр үгээр давталтаас эрт гарах үйлдлийг хийдэг oДээрх кодонд өөрчлөлт оруулсан жишээг ажиглана уу int factorial ( int n) { int j =1; int i=1; / ∗ initialization ∗ / do { j ∗= i; i ++; / ∗ increment ∗ / If(n>30) break; } while (i <= n / ∗ condition ∗ /); return j; }
  • 25. •Review •Blocks and Compound Statements •Control Flow • Conditional Statements • Loops •Functions •Modular Programming •Variable Scope • Static Variables • Register Variables
  • 26. FUNCTIONS Бид өмнө нь хэд хэдэн функцуудтай таарлаа, жишээ нь main(): int main ( void ){ / ∗ do stuff ∗ / return 0; / ∗ success ∗ / } Функц ашиглаж хэрхэн програм бичих вэ?
  • 27. FUNCTIONS o Void – утга буцаахгүй функц гэдгийг илэрхийлнэ o print - функцийн нэр o int а – бүхэл тоон төрлийн утга дамжуулж авна. Энэ утгыг функц дотор а гэсэн хувьсагчид хадгалан ашиглана гэдгийг заана o printf(“%d”,a); - функцийн бие
  • 28. FUNCTIONS Утга буцаадаг функцийн жишээ #include <stdio.h> int kvadrat(int k){ int z z=k*k; return z; } void main(){ int a=13,b; b=kvadrat(a); printf(“%d”,b) }