Lecture - 10

You might also like

You are on page 1of 35

ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ,

Е-НЭЭЛТТЭЙ ИНСТИТУТ

Алгоритм ба програмчлал

Лекц - 10

www.emust.edu.mn
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
U.CS101- Алгоритм ба програмчлал

Сэдэв: Дэд алгоритм, түүний тухай, илэрхийлэх


хэлбэр,хийгдэх үйлдлүүд,
Агуулга:

01 Дэд алгоритмын тухай


01
02
02 Функц түүний үйлдлүүд

03 Нэмэлт

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


www.emust.edu.mn
Дэд алгоритмын тухай
Компьютер нь хүний оюуны хөдөлмөрийг үнэхээр хөнгөвчлөх хүчирхэг
хэрэгсэл болж чадсан байдаг. Үүний нэг хэлбэр нь алгоритмын хувьд ажиллах
хугацаандаа олон дахин биелэгдэх ижил үйлдлүүдийг дэд алгоритмаар
шийдэж чадсан явдал юм.
* Дэд алгоритм гэсэн нэр томъёог нь гол хэсгээс ялгах зорилгоор тодорхой
бодлогын алгоритмыг үндсэн алгоритм гэж үздэг.
* Үндсэн алгоритмд дэд алгоритмыг ашиглаж болохоос гадна нэг дэд
алгоритмд өөр дэд алгоритмыг ашиглаж болно.
* Иймд дэд алгоритмыг ашиглаж байгаа алгоритмыг эх алгоритм гэж товчилж
ярина.

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Дэд алгоритмын тухай
Бүх нарийчлавал:
Бие даасан шинжтэй, тодорхой үр дүн өгдөг юмуу эсвэл тодорхой (зурах,
бичих, файл нээх ба хаах гэх мэт) үйлдэл гүйцэтгэдэг алгоритмыг тусад нь
бичиж, олон дахин ашиглах боломжыг үүсгэж дэд алгоритм гэж нэрлэнэ.
Дэд алгоритм (дэд програм)-ыг бичиж хэрэглэх үед
1. Дэд алгоритмыг ямар хэлбэртэй бичих вэ?
2. Эх алгоритмаас дэд алгоритмд шилжих үйлдлийг яаж бичиж тэмдэглэх вэ?
3. Дэд алгоритм биелэгдсэний дараа эх алгоритмд буцаж, түүнийг цааш нь
хэрхэн үргэлжлүүлэх боломжийг яаж хангах вэ?
4. Дэд алгоритмд шаардагдах утгуудыг эх алгоритмаас яаж дамжуулах, дэд
програмын үр дүнг эх алгоритмд хэрхэн дамжуулах вэ?
гэсэн дөрвөн асуудлыг шийдсэн байх ёстой байдаг.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Дэд алгоритмын тухай. Түүнийг хэрхэн бичих
Дэд алгоритм нь бидний үзсэн үндсэн үйлдлүүдээс тогтсон бөгөөд
алгоритмын бүх шинжийг хангасан байна. Тухайлбал төгсгөлөг тооны үйлдэл
биелсний дараа заавал төгсч, эх алгоритмд удирдлагыг буцаадаг байх ёстой.

*Тодорхой дэд алгоритмыг үндсэн


болон бусад дэд алгоритмаас ялгахын
тулд түүнийг нэрлээд дэд_алг түлхүүр
үгээр эхэлсэн,
*Алгоритмын төгсгөлийг заасан буц
гэсэн түлхүүр үгээр төгссөн байх
доорх ерөнхий хэлбэртэй бичнэ:

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Дэд алгоритмын тухай. Дуудах үйлдэл
үндсэн_алгоритм Нэр
эхлэл • Аливаа алгоритм дотор тодорхой дэд
........ алгоритмыг ашиглах,
дэд_алг мaх • дэд алгоритмыг биелүүлэх,
........ • өгөгдсөн алгоритмыг биелүүлж түүний
үр дүнг авах
төгсгөл
• дэд алгоритмын гүйцэтгэх үед уг дэд
алгоритмын нэрээр нь түүнд ханддаг.
• Ингэж тодорхой алгоритмд хандах
үйлдлийг уламжлал ёсоор дэд алгортмыг
дуудах үйлдэл гэж нэрлэдэг.

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Дэд алгоритмын тухай. Дуудах үйлдэл
• Дэд алгоритмыг дуудах үйлдэл биелэхэд үндсэн алгоритмыг биелүүлэх
удирдлага дэд алгоритмд шилжиж улмаар түүний үйлдлүүд биелж эхэлнэ.
• Ингээд дэд алгоритмын үйлдлүүд биелж, үр дүн бэлэн болоход удирдлагыг
эх алгоритмд буцаах ёстой.
• Ингэж чадвал дэд алгоритм биелсний дараа эх алгоритмыг цааш
үргэлжлүүлэн биелүүлэх нөхцөл хангагдана.
• Иймээс дэд алгоритмаас "буцах" үйлдэл зайлшгүй шаардлагатай болдог ба
дэд алгоритмын төгсгөлд бидний бичсэн буц гэсэн түлхүүр үг энэ буцах
үйлдлийг илэрхийлж байгаа юм.

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Дэд алгоритмын тухай. Аргумент, үр дүнг дамжуулах
• Үндсэн алгоритмд гаднаас өгөх шаардлагатай анхны утгыг бид алгоритмын
аргумент гэж нэрлэхба аргументын утгыг оруул үйлдлээр гаднаас
оруулдаг.
• Тэгвэл дэд алгоритмд шаардагдах анхны утгыг дэд алгоритмын аргумент
гэж нэрлэх ба харин дэд алгоритмаас үндсэн алгоритмд буцаах утгыг дэд
алгоритмын үр дүн гэнэ.
• Дэд алгоритмын аргументын утгыг үндсэн алгоритмаас дамжуулж өгөх хэд
хэдэн аргыг програмчлалын практикт хэрэглэдэг.
Дээрх ж1_2 алгоритмд тах дэд алгоритмын аргумент нь х, у үр дүн
нь xymax байгаа ба тэдгээрийг дамжуулахын тулд ижил нэртэй хувьсагчийг
үндсэн ба дэд алгоритмд хоёуланд нь хэрэглэсэн байна.

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Дэд алгоритмын тухай. Аргумент, үр дүнг дамжуулах
*ж1_2 алгоритмд max дэд алгоритмын
аргумент нь х,у, үр дүн нь xymax.
*Тэдгээрийг дамжуулахын тулд ижил
нэртэй хувьсагчийг үндсэн ба дэд
алгоритмд хоёуланд нь хэрэглэсэн байна.
*Үндсэн алгоритм болон түүний дэд
алгоритмуудад бүгдэд нь хэрэглэж
болохоор тодорхойлсон хувьсагчийг
гадаад хувьсагч гэж үзнэ.
* Иймд жишээнд гадаад хувьсагчийг
хэрэглэх замаар аргументын утгыг
дамжуулж, үр дүнг авч байна.

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ,
Е-НЭЭЛТТЭЙ ИНСТИТУТ

Нэмэлт: C++ Функц бүтээх

www.emust.edu.mn
 К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Функц
Дэд алгоритмыг программчлалын хэлэнд функц болон процедур гэсэн нэрээр
хэрэглэж програмчлалд ашиглана. Програмчлалын хэлэнд функцыг стандарт
болон хэрэглэгчийн функц гэж 2 ангилдаг.

Функц

Хэрэглэгчийн
Стандарт
тодорхойлсон

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Стандарт
• Программчлалын бүх хэлэнд стандарт функц хийгдсэн байдаг.
• Программчлалын бүх хэл дэх стандарт функцүүд нь программчлалын
явцад үйлдлүүдийг гүйцэтгэж оролцохын тулд тухайн тодорхой санд
агуулагдана.
• Түүнийг программчлалын хэлний толгой хэсэгт тодорхойлж нэрээр нь
дуудаж ажиллуулдаг..
Жишээлбэл C++ хэлний хувьд:

“stdio.h” -> scanf(), printf(), putchar(), getchar()


“string.h” -> strcpy(s1,s2), strcmp(s1,s2), strcat()

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Хэрэглэгчийн
* Программын хэмжээ ихсэх тусам функцын хэрэглээ ихсэх бөгөөд
тэдгээрүүдийг блокуудад хуваагдаг.
* Функцийн биелүүлэх үйлдлүүдийг { } дотор бичиж өгдөг.
* Программ шаардлагтай функцуудыг зохиож үүсгэх боломжтой бөгөөд тэр
функцийг хэрэглэгчийн тодорхойлсон функц гэж нэрлэдэг.
* Хэрэглэгчийн тодорхойлсон функцыг :
- Программын уншигдах чадварыг сайжруулах
- Программын дахин ашиглагдах чадварыг сайжруулах
- Программын алдааг олоход хялбар болгох.
- Программын хэмжээг багасгах.

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функцийн хэрэглээ
Функцийг программд дуудах 2 хэлбэр байдаг. Утгаар дуудах ба Хаягаар дуудах

#include<stdio.h> #include<stdio.h>
void swap(int a, int b); void swap(int *a, int *b);
int main() int main()
{ int m = 22, n = 44; { int m = 22, n = 44;
printf(" m = %d \n and n = %d", m, n); printf(" m = %d \n and n = %d",m,n);
swap(m, n); swap(&m, &n);
} }
void swap(int a, int b) void swap(int *a, int *b)
{ int tmp; { int tmp;
tmp = a; tmp = *a;
a = b; *a = *b;
b = tmp; *b = tmp;
printf(" \n m = %d\n and n = %d", a, b); } printf("\n a = %d \n and b = %d", *a, *b); }

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функцийн хэрэглээ

Аргументтай, буцаах утгатай функц Аргументтай, буцаах утгагүй функц

Функц зарлах: Функц зарлах:


int function ( int ); int function ( int );
Програмд дуудах:
Функц дуудах: function ( a );
function ( a ); Функц тодорхойлох:
Функц тодорхойлох: void function( int a )
int function( int a ) {
{ үйлдлүүд;
үйлдлүүд; }
return a;
}
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Функцийн хэрэглээ

Аргументгүй, буцаах утгагүй функц Аргументгүй, буцаах утгатай функц


Функц зарлах: Функц зарлалт
void function ( ); int function ( );
Функц дуудалт:
Функц дуудах:
function ( );
function ( ); Функц тодорхойлолт
Функц тодорхойлох: int function( )
void function( ) {
{ үйлдлүүд;
үйлдлүүд; return a;
} }

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Энгийн хэрэглээ
Жишээлбэл: х ба у –ийн утгыг солих функц зохиох

Алгоритм: void Swap ( int a, int b )


{
int c;
c = a; a = b; b = c;
}

int main() {
int x = 2, y = 3;
Swap ( x, y );
cout << x << " " << y;
}

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц
Жишээлбэл: Өгөгдсөн тооны цифрүүдийн нийлбэр олох функц зохиох

Алгоритм:

Нийлбэр = 0
n != 0 бол үргэлжлэх
Нийлбэр = Нийлбэр + n % 10
n = n / 10

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Утга буцаах хэлбэр
int sumDigits ( int n )
{ Функцын төрөл
int sum = 0;
while ( n != 0 )
{
sum += n % 10;
n /= 10;
} Үр дүнг
return sum; буцаах
}

main()
{
cout << sumDigits(12345);
}
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Функц. Даалгавар
«A»: Хоёр натурал тоо өгөгдсөн бол хамгийн их хуваагчийг олох функц зохиох.
Жишээлбэл:
Өгөгдсөн - тоо: 7006652 112307574
ХИЕХ (7006652,112307574) = 1234.

«B»: Өгөгдсөн тооны цифрүүдийн нийлбэрийг олох функц зохиох.


Жишээлбэл:
Өгөгдсөн - тоо : 123
Цифрийн нийлбэр 6.
«C»: Өгөгдсөн тооны цифрүүд нийлбэр өсөх дарааллаар байгаа эсэхийг шалгаж, буурах
дараалалтай болгох функц зохиох.
Жишээлбэл:
Өгөгдсөн - тоо : 1234
Үр дүн: 4321.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Функц. Логик функц
Функц
Жишээлбэл: 2-100 хооронд байх ерөнхий тоонуудыг олох функц зохиох

Алгоритм:

int main()
{
int i;
for ( i = 2; i <= 100; i++)
if ( isPrime(i) )
cout << i << endl; (true/false)
}

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Логик функц
bool isPrime ( int n ){
int count = 0, k = 2;
while ( k*k <= n && count == 0 )
{
if ( n % k == 0 )
count ++; if( count == 0 )
k++; return true;
} else return false;
return (count == 0);
}

cin >> n;
while ( isPrime(n) ){
cout << “ерөнхий тоо\n";cin >> n;
}
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ,
Е-НЭЭЛТТЭЙ ИНСТИТУТ

Нэмэлт: C++ программчлал дах хэрэглэгчийн


функцийн хэрэглээ

www.emust.edu.mn
 К.Ю. Поляков, Е.А. Ерёмин, 2013 http://kpolyakov.spb.ru
Функц. Тэдгээрийн компьютерт үзүүлэх нөлөө
• Функцийн гол үүргүүдийн нэг нь санах ойг хэмнэх явдал.
• Өөрөөр хэлбэл функцийг дуудах бүрийд программын удирдлага нэг л
газар очдог бөгөөд функц дуудагдах тоогоор программд давтагдан
бичигдэхгүй гэсэн үг юм.
• Функц дуудах командад хүрмэгц удирдлага функцийн эхлэлийн
команд дээр очих ба харин функц дуудахад удирдлага буцаж дуудсан
газраа ирдэг юм.
Функц хэдийгээр санах ойг хэмнэх сайн талтай ч маш олон дуудагдах
тохиолдолд программын хурдад муу нөлөө үзүүлж болох юм.
Өөрөөр хэлбэл, тэр бүрийд шаардлагатай регистрүүдийг стект хийх,
аргументүүдийг мөн хадгалах, удирдлагыг шилжүүлэх, харин буцах
бүрийд регистрүүдийг сэргээх, удирлага буцаах зэрэг үйлдлүүд
хийгдэнэ.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Функц. Онцлог хэрэглээ

#include <iostream>
using namespace std;
inline float jin (float pounds) * Олон функц хэрэглэж байгаа
{ тохиолдолд зарим функцийг дотоод
return 0.453592 * pounds; гэдгийг inline гэсэн түлхүүр үгээр
} тэмдэглэгээ хийж болдог.
int main()
{
float lbs;
cout << "\n Жин оруулах (фунт): ";
cin >> lbs;
cout << “Жин(кг)"<<jin (lbs);
}

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Онцлог хэрэглээ

* Функцийг дуудах үед бүх аргументэд


#include <iostream> утга өгөхгүй байж болно.
using namespace std; • Харин утга өгөхгүй байж болох
void repchar(char='*', int=45); аргументүүдэд стандарт утгууд оноож
int main() { өгсөн байх шаардлагатай.
repchar(); • Энэ программд repchar гэсэн
функцийг 3 удаа дуудаж байна.
repchar('=');
• Аргументийнх нь тоо зөрж байхад
repchar('+',30); яагаад эхний 2 удаа дуудахад ямар
} нэгэн алдаа гаргахгүй байна вэ?
void repchar(char ch,int n) • Үүний учир нь функцийн аргументүүд
{ нь стандарт утгуудтай байгаад оршиж
for (int j=0; j<n; j++) байгаа юм.
• Дуудаж буй программ уг аргументэд
cout<<ch;
утга өгөхгүй бол функц уг
cout<<endl; аргументийн утгыг стандарт утгаар нь
} авдаг.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Функц. хэрэглээ
#include <stdio.h> Жишээ бодлого : n,m ХИЕХ олох функц
main()
{ int _n,_m;
int Xiex(int,int);
printf("N=");scanf("%d",&_n);
printf("M=");scanf("%d",&_m);
printf("Xiex=%d",Xiex(_n,_m));
}
int Xiex(int _a,int _b)
{ while (_a!=_b)
if(_a>_b)
_a-=_b;
else
_b-=_a;
return(_b);
}

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. хэрэглээ

#include<iostream.h>
#include<conio.h>
int fuc(int n){
if(n==0) return 1; Жишээ бодлого : N! нь 0-р төгссөн хамгийн бага n тоог хэвлэх
else return n*fuc(n-1);
}
int c,n;
main(void){ clrscr();n=1;
do{ с=fuc(n)%10;
if(c==0) goto xx;
n+=1;
}while(c!=0);
xx: cout<<"n! 0 төгссөн min тоо:"<<n<<"-iin factorial";
getch();
}
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Функц. хэрэглээ
Жишээ бодлого : N! Цифрүүдийн нийлбэр бүхэл түүны квадрат байх эхний 3 тоог хэвлэх
#include<iostream>
#include<conio.h> for(i=1; i<=s; i++)
using namespace std; if (s==i*i) {
int x, c, i, s, d, j, a[100]; cout<<d<<endl;j+=1;}
main(void){ d=1;j=0; d+=1;
do { c=fuc(d); i=0; s=0; }while(j<3);
do { getch();
a[i]=c%10; }
s+=a[i];
c=(c-a[i])/10; int fuc(int n){
i+=1; if(n==0) return 1;
} while(c>=1); else return n*fuc(n-1);
}

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Хувьсагчдын тухай
Одоо функц болон үндсэн программд байгаа хувьсагчуудын товчхон тайлбар үзье.
Хувьсагчийг дотор нь автомат, глобаль, статик гэж 3 ангилдаг.

Өмнөх жишээнүүдэд хувьсагчид функц болон программынхаа дотор


талд тодорхойлогдож байсан билээ.

void somefunc()
{
int somevar;
float othervar;

//коммандууд
}

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ


Функц. Онцлог увьсагчдын тухай. Auto хувьсагч
Функцийнхээ бие дотор тодорхойлогдсон хувьсагчдыг

Автомат хувьсагч нь түүнийг
автомат хувьсагчууд гэж нэрлэнэ. Жинхэнэ бичлэгээрээ
тодорхойлсон функцийг дуудтал санах
бол автомат хувьсагчдыг тодорхойлохдоо төрлийнх нь
өмнө auto гэсэн үгийг бичих ёстой. ойд үүсээгүй байдаг.
• Дээрх жишээнд буй somevar болон
void somefunc() othervar хувьсагчууд нь somefunc
{ функцийг дуудагдтал тодорхойгүй
байна.Тэдгээрийн тодорхойлогдсон блок
auto int somevar;
нь санах ойд үүсээгүй байгаа учраас л тэр.
auto float othervar; • Функц дуудагдах үед уг хувьсагчуудад
зориулагдсан санах ой бий болж, харин
//коммандууд функц ажиллаж дуусаж, удирдлага буцах
үед хувьсагчид санах ойгоос арчигдах
} болно.
Энэ нь хувьсагчийн стандарт хэлбэр учраас ямар • Автомат хувьсагчид бол зөвхөн түүнийг
нэгэн түлхүүр үг ашиглаагүй тодорхойлсон тодорхойлсон байгаа функц дотроо л
хувьсагчийг автомат хувьсагч гэж авдаг. хүчинтэй байдаг юм.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Функц. Онцлог хувьсагчдын тухай. Глобал хувьсагч
Глобал хувьсагчууд. Энэ төрлийн хувьсагчид нь бүх функцийн гадна талд тодорхойлогддог
ба бүх функцэд ашиглагддаг хувьсагч юм.
#include <iostream> void getachar() *Энд getachar функц гарнаас нэг
#include <conio.h> тэмдэг хүлээж авна, тэмдэгтийг
{
putachar гэсэн функцээр дэлгэцэнд
using namespace std; ch=getch(); }
хэвлэж байгаа юм.
char ch='a';
*Гол зүйл гэвэл ch гэсэн
void getachar(); void putachar() хувьсагчийг аль ч функц дотор
void putachar(); { тодорхойлоогүй боловч бүх функц,
int main() cout<<ch;} үндсэн программ хүртэл түүнийг
{ ашиглаж байна.
while (ch!='\r') *Глобаль хувьсагчийг
{ тодорхойлсон бол бүх функц дотор,
getachar(); putachar(); бүхэл программд хүчинтэй байна.
} *Глобаль хувьсагчид бүх функц
ханддаг учраас түүний утга нь
}
санаандгүй байдлаар өөрчлөгдөх
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ магадлал ихтэй юм.
Функц. Онцлог хувьсагчдын тухай. Статик хувьсагч
Статик хувьсагчид. Статик автомат хувьсагч нь локаль хувьсагч шиг боловч глобаль хувьсагч
шиг хугацаанд хүчинтэй байдаг. Өөрөөр хэлбэл, зөвхөн тодорхойлогдсон функц дотроо
ашиглагдах боловч, программ эхлэхээс дуусах хүртэл санах ойд байрлана.
#include <iostream> *Энэ жишээ өгсөн тоонуудын дундажыг
float getavg(float newdata) гаргана.
using namespace std;
{ *Дундажийг тооцохдоо getavg функцийг
float getavg(float); ашиглаж байна.
int main() static float total=0;
*Энд өмнө оруулсан тоонуудын
{ static int count=0;
дундажыг уг функц дуудагдахын хооронд
count++;
float data=1, avg; хадгалж байх шаардлага гарч байна.
while (data!=0) total+=newdata; *Хэрэв total ба count гэсэн хувьсагчууд нь
{ return total / count; статик биш байвал уг функц нэг
cout << " Toogoo oruulna uu: "; } дуудагдаад буцах үед хувьсагчид устаж
cin >> data; тэдгээрийн утгууд үгүй болно.
*Дахин дуудагдах үед уг хувьсагчид
avg=getavg(data);
дахин тодорхойлогдож, шинээр 0 утга
cout << "Dundaj utga:" авах болно.
<< avg << endl; } *Харин статикаар тодорхойлогдсон
} учраас функц дахин дуудагдах үед өмнөх
total, count хувьсагчуудын утга огт
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
өөрчлөгдөөгүй байх болно.
Функц. Онцлог хувьсагчдын тухай.
ТӨРӨЛ Автомат Статик Глобал

Ажиллах хүрээ Функц Функц Бүхэл программ

Ажиллах
Функц Бүхэл программ Бүхэл программ
хугацаа

Анхны утга Тодорхойгүй 0 0

Функцийн энгийн Автомат боловч функц Хэд хэдэн функц дунд


Зорилго
хувьсагчид дуусахад утгаа алддаггүй ашиглагдах

Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ

You might also like

  • Lecture 6 2018
    Lecture 6 2018
    Document50 pages
    Lecture 6 2018
    Amarsaikhan Tuvshinbayar
    100% (3)
  • Lecture 11
    Lecture 11
    Document24 pages
    Lecture 11
    Amarsaikhan Tuvshinbayar
    100% (2)
  • Lecture 15
    Lecture 15
    Document40 pages
    Lecture 15
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lec1-1 Corporate Activity Shine
    Lec1-1 Corporate Activity Shine
    Document61 pages
    Lec1-1 Corporate Activity Shine
    Amarsaikhan Tuvshinbayar
    0% (1)
  • Programming Lec 6
    Programming Lec 6
    Document51 pages
    Programming Lec 6
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 12
    Lecture 12
    Document34 pages
    Lecture 12
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 13
    Lecture 13
    Document46 pages
    Lecture 13
    Amarsaikhan Tuvshinbayar
    100% (2)
  • Lecture 9
    Lecture 9
    Document46 pages
    Lecture 9
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 8 2018
    Lecture 8 2018
    Document54 pages
    Lecture 8 2018
    Amarsaikhan Tuvshinbayar
    100% (3)
  • Lecture 7 20108
    Lecture 7 20108
    Document47 pages
    Lecture 7 20108
    Amarsaikhan Tuvshinbayar
    75% (4)
  • Lecture 4 2018
    Lecture 4 2018
    Document47 pages
    Lecture 4 2018
    Amarsaikhan Tuvshinbayar
    100% (4)
  • Lecture 3 2018
    Lecture 3 2018
    Document42 pages
    Lecture 3 2018
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 5 2018
    Lecture 5 2018
    Document54 pages
    Lecture 5 2018
    Amarsaikhan Tuvshinbayar
    100% (2)
  • Koosen 2018 Algorithm 2
    Koosen 2018 Algorithm 2
    Document48 pages
    Koosen 2018 Algorithm 2
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 1 2018
    Lecture 1 2018
    Document39 pages
    Lecture 1 2018
    Amarsaikhan Tuvshinbayar
    100% (6)
  • IT101 Lecture 4
    IT101 Lecture 4
    Document72 pages
    IT101 Lecture 4
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Programming Lec 9
    Programming Lec 9
    Document39 pages
    Programming Lec 9
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 2 2018
    Lecture 2 2018
    Document33 pages
    Lecture 2 2018
    Amarsaikhan Tuvshinbayar
    100% (1)
  • Lecture 3
    Lecture 3
    Document72 pages
    Lecture 3
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 3
    Lecture 3
    Document72 pages
    Lecture 3
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Baikal Hotolbor
    Baikal Hotolbor
    Document2 pages
    Baikal Hotolbor
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Baikal Hotolbor
    Baikal Hotolbor
    Document2 pages
    Baikal Hotolbor
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Programming Lec 7
    Programming Lec 7
    Document57 pages
    Programming Lec 7
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Programming Lec 6
    Programming Lec 6
    Document51 pages
    Programming Lec 6
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Programming Lec 8
    Programming Lec 8
    Document32 pages
    Programming Lec 8
    Amarsaikhan Tuvshinbayar
    100% (1)
  • Lecture 2
    Lecture 2
    Document80 pages
    Lecture 2
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • PL - 3
    PL - 3
    Document47 pages
    PL - 3
    Amarsaikhan Tuvshinbayar
    No ratings yet
  • Lecture 1
    Lecture 1
    Document54 pages
    Lecture 1
    Amarsaikhan Tuvshinbayar
    100% (2)
  • Koosen 2018 Algorithm Programming 3
    Koosen 2018 Algorithm Programming 3
    Document46 pages
    Koosen 2018 Algorithm Programming 3
    Amarsaikhan Tuvshinbayar
    100% (1)
  • Programming Lec 4
    Programming Lec 4
    Document39 pages
    Programming Lec 4
    Amarsaikhan Tuvshinbayar
    No ratings yet