Лекц №8
Сэдэв: Давталт
Давталт
/Loop/
Давталт жишээ
// C program to illustrate need of loops
#include <stdio.h>
int main()
{
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
printf( "Hello Worldn");
return 0;
}
Үр дүн:
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Давталт жишээ
// C program to illustrate for loop
#include <stdio.h>
int main()
{
int i=0;
for (i = 1; i <= 10; i++)
{
printf( "Hello Worldn");
}
return 0;
}
Үр дүн:
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Давталт гэж юу вэ?
Давталт нь заасан нөхцөл худал болох хүртэл олон удаа
дараалсан үйлдлүүдийг гүйцэтгэдэг. Давталтын
хяналтын нөхцөл болон биелэгдэх үйлдлүүд болон гэсэн
хоёр хэсгээс бүрдэнэ. Хяналтын нөхцөл нь тогтоосон
нөхцөл худал болох хүртэл давталтын үед биелэгдэх
үйлдлүүдийг гүйцэтгэнэ. Давталтын зорилго нь ижил код
буюу үйлдлүүдийг хэд хэдэн удаа давтах явдал юм.
Давталтын төрлүүд
1. for loop
2. while loop
3. do...while loop
1
2 3
For давталт
/For loop/
For давталт
Бичигдэх хэлбэр:
for ( анхны утга; нөхцөл; алхам өөрчлөх)
{
// давталтын бие
}
Анхны утгыг зөвхөн нэг удаа гүйцэтгэдэг. Дараа нь нөхцөлийг шалгана. Хэрэв
нөхцөл худал бол for давталт дуусна. Нөхцөл үнэн бол for давталт доторх
үйлдлүүдийг гүйцэтгэж, алхам шинэчилэгдэнэ. Дахин нөхцөл шалгана. Энэ үйл
явц нөхцөл худлаа болох хүртэл үргэлжилнэ. Нөхцөл худал болвол давталт
дуусна.
For давталт жишээ №1
// Print numbers from 1 to 10
#include <stdio.h>
int main()
{
int i;
for (i = 1; i < 11; ++i)
{
printf("%d ", i);
}
return 0;
}
Үр дүн:
1 2 3 4 5 6 7 8 9 10
Тайлбар:
1. i=1
2. 1<11 учир давталтын бие “1” хэвлэнэ.
3. ++i буюу i=i+1 /i=1+1/ үйлдлээр i алхамыг
1 нэмэгдүүлж i=2 болно.
4. 2<11 учир учир давталтын бие “2” хэвлэнэ.
5. ++i буюу i=i+1 /i=2+1/ үйлдлээр i алхамыг
1 нэмэгдүүлж i=3 болно.
For давталт жишээ №2
#include <stdio.h>
int main() {
int num, count, sum = 0;
printf("Enter a positive integer: ");
scanf("%d", &num);
for(count = 1; count <= num; ++count)
{
sum += count;
}
printf("Sum = %d", sum);
return 0; }
Үр дүн:
Enter a positive integer: 10
Sum = 55
Тайлбар:
1. sum += count; sum = sum+ count;
For давталт жишээ №3
#include <stdio.h>
int main()
{
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++)
{ // outer loop
for (j = 0; j <= max; j++)
{ // inner loop
printf("%d x %d = %dn", i, j, i*j);
}
printf("n");
}
}
Үр дүн:
1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
For давталт жишээ №4
#include <stdio.h>
int main()
{
int i,j;
for (i=1,j=1 ; i<3 || j<5; i++,j++)
{
printf("%d, %dn",i ,j);
}
return 0;
}
Үр дүн:
1, 1
2, 2
3, 3
4, 4
While давталт
/While loop/
while давталт
Бичигдэх хэлбэр:
while (нөхцөл)
{
// давталтын бие
алхам өөрчлөх
}
While давталт нь нөхцөл үнэн бол давталтын их биеийн доторх үйлдлийг
гүйцэтгэнэ. Дараа нь дахин нөхцөлийг шалгана. Нөхцөл худал гэж үнэлэх хүртэл
үйл явц буюу давталт үргэлжилнэ. Хэрэв нөхцөл худал бол давталт дуусна.
while давталт жишээ №1
// Print numbers from 1 to 5
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5)
{
printf("%dn", i);
++i;
}
return 0;
}
Үр дүн:
1
2
3
4
5
Тайлбар:
1. i=1
2. 1<5 учир давталтын бие “1” хэвлэнэ.
3. ++i буюу i=i+1 /i=1+1/ үйлдлээр i алхамыг
1 нэмэгдүүлж i=2 болно.
4. 2<5 учир учир давталтын бие “2” хэвлэнэ.
5. ++i буюу i=i+1 /i=2+1/ үйлдлээр i алхамыг
1 нэмэгдүүлж i=3 болно.
while давталт жишээ №2
#include <stdio.h>
int main()
{
int var = 6;
while (var >=5)
{
printf("%d", var); var++;
}
return 0;
}
Үр дүн:
1. Хязгааргүй давтана.
while давталт жишээ №3
#include <stdio.h>
int main()
{
int i=1, j=1;
while (i <= 4 || j <= 3)
{
printf("%d %dn",i, j);
i++;
j++;
}
return 0;
}
Үр дүн: 1 1
2 2
3 3
4 4
while давталт жишээ №2
// Print numbers from 1 to 5
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5)
{
printf("%dn", i);
++i;
}
return 0;
}
Үр дүн:
1
2
3
4
5
Тайлбар:
1. i=1
2. 1<5 учир давталтын бие “1” хэвлэнэ.
3. ++i буюу i=i+1 /i=1+1/ үйлдлээр i алхамыг
1 нэмэгдүүлж i=2 болно.
4. 2<5 учир учир давталтын бие “2” хэвлэнэ.
5. ++i буюу i=i+1 /i=2+1/ үйлдлээр i алхамыг
1 нэмэгдүүлж i=3 болно.
Do while давталт
/Do while loop/
Do давталт
Бичигдэх хэлбэр:
do {
// давталтын бие
алхам өөрчлөх
}
while (нөхцөл)
Do ... while давталтын биеийг нэг удаа гүйцэтгэдэг. Зөвхөн дараа нь нөхцөлийг
шалгана. Хэрэв нөхцөл үнэн бол давталтын их биеийг дахин гүйцэтгэнэ. Нөхцөл
худал болох хүртэл энэ үйл явц буюу давталт үргэлжилнэ. Нөхцөл худал бол
давталт дуусна.
Do давталт жишээ №1
#include <stdio.h>
int main()
{
double number, sum = 0;
do
{
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
return 0;
}
1
2
3
4
5
Үр дүн: Enter a number: 1.5
Enter a number: 2.4
Enter a number: -3.4
Enter a number: 4.2
Enter a number: 0
Sum = 4.70
Do давталт жишээ №2
#include <stdio.h>
int main()
{
int j=0;
do {
printf("Value of variable j is: %dn", j);
j++;
}
while (j<=3);
return 0;
}
Үр дүн: Value of variable j is: 0
Value of variable j is: 1
Value of variable j is: 2
Value of variable j is: 3
Do давталт жишээ №3
#include <stdio.h>
int main ()
{
int a = 1, s=1;
do {
s=s*a;
a = a + 1;
}
while( a < 10 );
printf("s= %dn", s);
return 0;
}
Үр дүн: s= 362880
Do давталт жишээ №4
#include <stdio.h>
int main ()
{
int a = 1, s=0;
do {
s=s+a;
a = a + 1;
}
while( a<11 );
printf("s= %dn", s);
return 0;
}
Үр дүн: s= 55
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
www.emust.edu.mn
АНХААРАЛ ТАВЬСАНД
БАЯРЛАЛАА
25

Лекц №8

  • 1.
  • 2.
  • 3.
    Давталт жишээ // Cprogram to illustrate need of loops #include <stdio.h> int main() { printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); printf( "Hello Worldn"); return 0; } Үр дүн: Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World
  • 4.
    Давталт жишээ // Cprogram to illustrate for loop #include <stdio.h> int main() { int i=0; for (i = 1; i <= 10; i++) { printf( "Hello Worldn"); } return 0; } Үр дүн: Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World
  • 5.
    Давталт гэж юувэ? Давталт нь заасан нөхцөл худал болох хүртэл олон удаа дараалсан үйлдлүүдийг гүйцэтгэдэг. Давталтын хяналтын нөхцөл болон биелэгдэх үйлдлүүд болон гэсэн хоёр хэсгээс бүрдэнэ. Хяналтын нөхцөл нь тогтоосон нөхцөл худал болох хүртэл давталтын үед биелэгдэх үйлдлүүдийг гүйцэтгэнэ. Давталтын зорилго нь ижил код буюу үйлдлүүдийг хэд хэдэн удаа давтах явдал юм.
  • 6.
    Давталтын төрлүүд 1. forloop 2. while loop 3. do...while loop 1 2 3
  • 7.
  • 8.
    For давталт Бичигдэх хэлбэр: for( анхны утга; нөхцөл; алхам өөрчлөх) { // давталтын бие } Анхны утгыг зөвхөн нэг удаа гүйцэтгэдэг. Дараа нь нөхцөлийг шалгана. Хэрэв нөхцөл худал бол for давталт дуусна. Нөхцөл үнэн бол for давталт доторх үйлдлүүдийг гүйцэтгэж, алхам шинэчилэгдэнэ. Дахин нөхцөл шалгана. Энэ үйл явц нөхцөл худлаа болох хүртэл үргэлжилнэ. Нөхцөл худал болвол давталт дуусна.
  • 9.
    For давталт жишээ№1 // Print numbers from 1 to 10 #include <stdio.h> int main() { int i; for (i = 1; i < 11; ++i) { printf("%d ", i); } return 0; } Үр дүн: 1 2 3 4 5 6 7 8 9 10 Тайлбар: 1. i=1 2. 1<11 учир давталтын бие “1” хэвлэнэ. 3. ++i буюу i=i+1 /i=1+1/ үйлдлээр i алхамыг 1 нэмэгдүүлж i=2 болно. 4. 2<11 учир учир давталтын бие “2” хэвлэнэ. 5. ++i буюу i=i+1 /i=2+1/ үйлдлээр i алхамыг 1 нэмэгдүүлж i=3 болно.
  • 10.
    For давталт жишээ№2 #include <stdio.h> int main() { int num, count, sum = 0; printf("Enter a positive integer: "); scanf("%d", &num); for(count = 1; count <= num; ++count) { sum += count; } printf("Sum = %d", sum); return 0; } Үр дүн: Enter a positive integer: 10 Sum = 55 Тайлбар: 1. sum += count; sum = sum+ count;
  • 11.
    For давталт жишээ№3 #include <stdio.h> int main() { int i, j; int table = 2; int max = 5; for (i = 1; i <= table; i++) { // outer loop for (j = 0; j <= max; j++) { // inner loop printf("%d x %d = %dn", i, j, i*j); } printf("n"); } } Үр дүн: 1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
  • 12.
    For давталт жишээ№4 #include <stdio.h> int main() { int i,j; for (i=1,j=1 ; i<3 || j<5; i++,j++) { printf("%d, %dn",i ,j); } return 0; } Үр дүн: 1, 1 2, 2 3, 3 4, 4
  • 13.
  • 14.
    while давталт Бичигдэх хэлбэр: while(нөхцөл) { // давталтын бие алхам өөрчлөх } While давталт нь нөхцөл үнэн бол давталтын их биеийн доторх үйлдлийг гүйцэтгэнэ. Дараа нь дахин нөхцөлийг шалгана. Нөхцөл худал гэж үнэлэх хүртэл үйл явц буюу давталт үргэлжилнэ. Хэрэв нөхцөл худал бол давталт дуусна.
  • 15.
    while давталт жишээ№1 // Print numbers from 1 to 5 #include <stdio.h> int main() { int i = 1; while (i <= 5) { printf("%dn", i); ++i; } return 0; } Үр дүн: 1 2 3 4 5 Тайлбар: 1. i=1 2. 1<5 учир давталтын бие “1” хэвлэнэ. 3. ++i буюу i=i+1 /i=1+1/ үйлдлээр i алхамыг 1 нэмэгдүүлж i=2 болно. 4. 2<5 учир учир давталтын бие “2” хэвлэнэ. 5. ++i буюу i=i+1 /i=2+1/ үйлдлээр i алхамыг 1 нэмэгдүүлж i=3 болно.
  • 16.
    while давталт жишээ№2 #include <stdio.h> int main() { int var = 6; while (var >=5) { printf("%d", var); var++; } return 0; } Үр дүн: 1. Хязгааргүй давтана.
  • 17.
    while давталт жишээ№3 #include <stdio.h> int main() { int i=1, j=1; while (i <= 4 || j <= 3) { printf("%d %dn",i, j); i++; j++; } return 0; } Үр дүн: 1 1 2 2 3 3 4 4
  • 18.
    while давталт жишээ№2 // Print numbers from 1 to 5 #include <stdio.h> int main() { int i = 1; while (i <= 5) { printf("%dn", i); ++i; } return 0; } Үр дүн: 1 2 3 4 5 Тайлбар: 1. i=1 2. 1<5 учир давталтын бие “1” хэвлэнэ. 3. ++i буюу i=i+1 /i=1+1/ үйлдлээр i алхамыг 1 нэмэгдүүлж i=2 болно. 4. 2<5 учир учир давталтын бие “2” хэвлэнэ. 5. ++i буюу i=i+1 /i=2+1/ үйлдлээр i алхамыг 1 нэмэгдүүлж i=3 болно.
  • 19.
  • 20.
    Do давталт Бичигдэх хэлбэр: do{ // давталтын бие алхам өөрчлөх } while (нөхцөл) Do ... while давталтын биеийг нэг удаа гүйцэтгэдэг. Зөвхөн дараа нь нөхцөлийг шалгана. Хэрэв нөхцөл үнэн бол давталтын их биеийг дахин гүйцэтгэнэ. Нөхцөл худал болох хүртэл энэ үйл явц буюу давталт үргэлжилнэ. Нөхцөл худал бол давталт дуусна.
  • 21.
    Do давталт жишээ№1 #include <stdio.h> int main() { double number, sum = 0; do { printf("Enter a number: "); scanf("%lf", &number); sum += number; } while(number != 0.0); printf("Sum = %.2lf",sum); return 0; } 1 2 3 4 5 Үр дүн: Enter a number: 1.5 Enter a number: 2.4 Enter a number: -3.4 Enter a number: 4.2 Enter a number: 0 Sum = 4.70
  • 22.
    Do давталт жишээ№2 #include <stdio.h> int main() { int j=0; do { printf("Value of variable j is: %dn", j); j++; } while (j<=3); return 0; } Үр дүн: Value of variable j is: 0 Value of variable j is: 1 Value of variable j is: 2 Value of variable j is: 3
  • 23.
    Do давталт жишээ№3 #include <stdio.h> int main () { int a = 1, s=1; do { s=s*a; a = a + 1; } while( a < 10 ); printf("s= %dn", s); return 0; } Үр дүн: s= 362880
  • 24.
    Do давталт жишээ№4 #include <stdio.h> int main () { int a = 1, s=0; do { s=s+a; a = a + 1; } while( a<11 ); printf("s= %dn", s); return 0; } Үр дүн: s= 55
  • 25.
    Виртуал Технологийн Тэнхим,Е-НЭЭЛТТЭЙ ИНСТИТУТ www.emust.edu.mn АНХААРАЛ ТАВЬСАНД БАЯРЛАЛАА 25