Wednesday, October 13, 2010

Давталтын операторууд

Давталтын бүтэц
Програмчлалын аль ч хэлэнд нэг үйлдлийг олон удаа давтан гүйцэтгэх үйлдэл байнга тулгарч байдаг. Үүнийг давталтын операторуудын тусламжтайгаар гүйцэтгэнэ.
Програмчлалын хэлэнд давталтын 3 бүтэц байдаг.
1.Параметрт давталт    for
2.Өмнөө нөхцөлт давталт while
3.Төгсгөлдөө нөхцөлт давталт  do  while

for (анхны утга олголт;  нөхцөл;  утгын өөрчлөлт)
  {
      Давталтын_бие;
  }

#include <stdio.h>
#include <conio.h>
main ()
{ int n;
   for (n=10; n>0; n--)
          {
              printf(“%d,  ”,n);
          } 
   printf(“Duuslaa”);
   getch();
}

Өөрийнхөө нэрийг нэг нэг мөрөнд 20 удаа хэвлэх програм зохио.

Гараас оруулсан n хүртэлх содгой тоонуудын нийлбэрийг  ол.
#include <stdio.h>
#include <conio.h>
main ()
{ 
   int s=0,i,n;
   scanf("%d",&n);
   for (i=1; i<=n; i=i+2)
          {
              s=s+i;
          } 
   printf("Niilber -> %d  too bna",s);
   getch();
}

1.Өгсөн n хүртэлх бүх тоонуудын нийлбэрийг ол.
2.Гараас оруулсан n хүртэлх бүхэл тоонуудын үржвэрийг олох програм зохиож. Гараас оруулсан ямар утганд програм буруу хариу гаргаж байгааг олж тооцоол.
3.1-100 хүртэлх 4т хуваагддаг тоонуудын нийлбэрийг ол.
2 оронтой тоонуудын тодроос цифрүүдийн нийлбэр нь 10 тай тэнцүү байх бүх тоог хэвлээд нийт хичнээн тоо байгааг ол.
#include <stdio.h>
#include <conio.h>
main ()
{ 
   int n,i=0,a,b;
   for (n=10; n<=99; n++)
          {
              a=n /10;
               b=n%10;
                if (a+b==10)
                                   {  printf(“%d \n”, n);  i++;}
          } 
   printf(“Niit %d  too bna”,i);
   getch();
}
Цифрүүдийн нийлбэр нь өгсөн n тоотой тэнцүү байх бүх 3 оронтой тоонуудыг хэвлэх програм зохио.
while цикл
while (логик нөхцөл)
{
     Давталтын_бие;
}
 
#include<stdio.h>
#include<conio.h>
main ()
{ int n;
   printf("Ehleh too oruul: ");
   scanf("%d",&n);
   while (n>0)
    {
         printf("%d, ",n);
         n--;
    }
    printf("Duusav");
    getch();
  }
Өгөгдсөн 2 бүхэл тооны ХИЕХ-ийг олох програм зохио. Энэ бодлогыг бодохдоо Евклидын алгоритмыг ашиглая.
#include<stdio.h>
#include<conio.h>
main ()
{ int n,m;
   printf(“2 buhel too oruul: ");
   scanf("%d%d",&n,&m);
   while (n!=m)
    {
          if (n
             else      n=n-m;
     }
    printf(“XIEX=  %d“,n);
    getch();
  }
 
do-while цикл
 
do
{
       Давталтын_бие;
}  while (логик нөхцөл)
 
Өгөгдсөн 2 бүхэл тооны ХИЕХ-ийг олох програм зохио. Энэ бодлогыг бодохдоо Евклидын алгоритмыг ашиглая.
#include<stdio.h>
#include<conio.h>
main ()
{ int n,m;
   printf(“2 buhel too oruul: ");
   scanf("%d%d",&n,&m);
   do
   {
          if (n
             else      n=n-m;
     } while (n!=m);
    printf(“XIEX=  %d“,n);
    getch();
 
Өгөгдсөн n тоо төгс тоо мөн эсэхийг тогтоо. Төгс тоо гэдэг нь өөрөөсөө ялгаатай хуваагчуудынхаа нийлбэртэй тэнцүү тоог төгс тоо гэнэ. Жишээ нь 6=1+2+3 учир 6 төгс тоо мөн.     
 
#include <stdio.h>
#include <conio.h>
int main ()
{
    int n,s,i;
    scanf("%d",&n);
    s=0; i=1;
    do
    {
        if (n%i==0) s=s+i;
        i++;
    } while (i
    if (s==n) printf("togs too mon");
       else   printf("togs too bish");
     getch();   
}

Тасалдалын break оператор

#include <stdio.h>
#include <conio.h>
int main ()
{ int n;
   for (n=10; n>0; n--)
  { printf(“%d, ”,n);
    if (n= =3)
      {
         printf(“Davtalt taslagdlaa!“);  
         break;
       }
    }
   getch();
}

#include <stdio.h>
#include <conio.h>
int main ()
{ for (int n=10; n>0; n--)
  {
     if (n= =5) continue;
     printf(“%d, ”,n);
   }
   printf(“Duuslaa!”);
   getch();
}
Шилжилтийн goto оператор
  

#include <stdio.h>
#include <conio.h>
int main ()
{ int n=10;
   shilj:   printf(“%d, ”,n);
              n--;
   if (n>0) goto shilj;
   printf(“Duuslaa!”);
   getch();
}

Програмыг төгсгөх буюу утга буцаах return оператор
#include <stdio.h>
#include <conio.h>
int main ()
{
    int a,b,s;
    scanf(“%d%d”,&a,&b);
    printf(“%d ”, a+b);
    getch();
    return 0;
}

1.Цифрүүдийн нийлбэр нь өгсөн бүхэл тоотой тэнцүү байх 3 оронтой тоонуудыг тодорхойл. Үр дүн: 10 гэсэн тоо өгөгдөхөд цифрүүдийн нийлбэр нь 10-тай тэнцүү 3 оронтой тоо S=54
2.M тоо хүртэлх сондгой тоонуудын үржвэрийг ол.
3.Дараах нөхцөлийг хангасан 3 оронтой тоог ол. Үүнд:  нь 3 орнтой тоо. Үр дүн: 123
4.Цифрүүдийн квадратуудын нийлбэр нь 5-д хуваагддаг 3 оронтой хичнээн тоо байх вэ? Үр дүн 164 ширхэг тоо байна.
5.Өгсөн n тооны факториалыг ол. Үр дүн: n=5 үед factorial=120
6. 1!+2!+3+…+n! =  энэ нийлбэрийг олох програм зохио. Үр дүн нь n=10 гэж өгхөд 40379113
7.12, 22, 32, …, n2цувааны нийлбэрийг ол. Үр дүн: n=100 sum=338350
8.Үнээ 100000төгрөг, бяруу 50000 төгрөг, тугал 10000 төгрөгний үнэтэй бол 1000000 төгрөгөөр хэдэн үнээ, тугал, бяруу худалдаж авч болох вэ?

 









1 comment: