Практикалық жұмыс №1 Тақырыбы: Айнымалылармен жұмыс. Енгізу және шығару. Өрнектер. Сызықтық алгоритмдер


Мысал 2. Натурал сандағы цифр санын анықтайтын K(n) функциясын есептейтін программа құрыңыз. Тапсырма



бет13/25
Дата09.06.2022
өлшемі1.03 Mb.
#267232
1   ...   9   10   11   12   13   14   15   16   ...   25
Байланысты:
Практикалық жұмыс С тен
кітап тізім, переплёт, ~$ҚМЖ, биологияотв, биологияотв, Сақталу заңдары, Сақталу заңдары, Тұлғаны дамыту, қалыптастыру, тəрбиелеу факторларының өзара байланысы, Мат лекция 6 (1), Мат лекция 6 (1), 3 лекция, ДИФФЕРЕНЦИАЛДЫҚ ТЕҢДЕУЛЕР
Мысал 2. Натурал сандағы цифр санын анықтайтын K(n) функциясын есептейтін программа құрыңыз.

Тапсырма. Берілген натурал санның цифрларының қосындысын есептейтін S(n) функциясын анықтаңыз.
Төменде осы мысалдардың программалары келтірілген.
Рекурсивті қосалқы программалар басқа көмекші алгоритмдерден ерекшеленбейді. Сонда әрбір жаңа рекурсивті қатынасуда қосалқы программаның жаңа көшірмесі жасалынады. Мұндай көшірмелер шекті шартқа жеткенше қайталанады. Егер шекті шарт болмаса, онда мұндай көшірмелер программаның аяқталуына әкеліп соғады.
Жоғарыда келтірілген рекурсивті анықталуларды функция көмегімен анықтаймыз.


Мысал 1.
double Factorial(int N)
{
double F;
if (N<=1) F=1; else F=Factorial(N-1)*N; return F;
}
Мысал 2.
int K(int N)
{
int Kol;
if (N<10) Kol=1; else Kol=K(N/10)+1; return Kol;
}
Мысал 3. Бірөлшемді массив элементтерінің қосындысын есептеңіз.
Есепті шешу үшін: егер элементтер саны 0-ге тең болса, қосынды 0-ге тең, ал егер элементтер саны 0-ден өзге болса, онда алдыңғы элементтерге соңғы элементті қосамыз.
Программа листингісі

#include
#include
#include
#include
int summa(int N, int a[100]);
int i,n, a[100];
void main()
{
clrscr();
cout<<""Elementter sanin engiz:";
cin>>n;
cout<<"engizilgen massivte"<randomize();
for (i=0; i{a[i]= -10+random(21);
cout<< a[i];
cout<<"Kosindi:", summa(n-1, a);
}
int summa(int N, int a[100])
{
if (N==0) return a[0]; else return a[N]+summa(N-1, a);
}

Мысал 5. Енгізілген жол полиндром болып табылады ма, жоқ па екендігін анықтайтын, яғни оңынан да солынан да бірдей оқылатындай жол екендігін анықтайтын программа құрыңыз.
Есепті шешу идеясы оң және сол жақ элементтерінің бірге салыстырылуында. Егер қандай да бір элемент сәйкес келмесе, жол полиндром емес деп хабарама шығарады. Ал егер орта жолға дейін элементтер сәйкес келсе, онда жол полиндром болып табылады. Шекті шарт: жол бос болса немесе тек қана бір символдан тұрса жол палиндром болып табылады.
Программа листингісі

#include
#include
#include
char s[100];
int pal(char s[100]);
void main()
{
clrscr();
cout<<"\nJol engiz: ";
gets(s);
if (pal(s))
cout<<"Jol палиндром bolip tabiladi";
cout<<"Jol палиндром emes";
}
int pal(char s[100])
{ int l; char s1[100];
if (strlen(s)<=1) return 1;
else {l=s[0]==s[strlen(s)-1];
strncpy(s1, s+1, strlen(s)-2);
s1[strlen(s)-2]='\0';
return l&&pal(s1);}
}

Тапсырма. Ұқсас жолды қолдана отырып, енгізілген сан палиндром болып табылады ма, жоқ па екендігін анықтайтын программа құрыңыз.
Қорытындылай келе, рекурсия программалауды жүзег асырудың керемет әдісі. Бірақ, рекурсия қолданылған кезде программаның орындалу уақыты ұзарады да, жадыдан көп орынды қажет етеді. Сондықтан практикада рекурсияны көп қолданбайды.


Достарыңызбен бөлісу:
1   ...   9   10   11   12   13   14   15   16   ...   25




©melimde.com 2022
әкімшілігінің қараңыз

    Басты бет
Сабақтың тақырыбы
бойынша жиынтық
жиынтық бағалау
Сабақ тақырыбы
Сабақтың мақсаты
ғылым министрлігі
тоқсан бойынша
бағдарламасына сәйкес
бағалауға арналған
Сабақ жоспары
Реферат тақырыбы
жиынтық бағалауға
сәйкес оқыту
арналған тапсырмалар
Қазақстан республикасы
білім беретін
оқыту мақсаттары
бағалау тапсырмалары
рсетілетін қызмет
Жалпы ережелер
жиынтық бағалаудың
республикасы білім
бекіту туралы
тоқсанға арналған
Қазақстан тарихы
Қазақстан республикасының
мерзімді жоспар
арналған жиынтық
қызмет стандарты
болып табылады
жалпы білім
арналған әдістемелік
бағалаудың тапсырмалары
Мектепке дейінгі
оқыту әдістемесі
Қазақ әдебиеті
нтізбелік тақырыптық
пәнінен тоқсанға
Зертханалық жұмыс
Инклюзивті білім
Әдістемелік кешені
республикасының білім
білім берудің
туралы жалпы
Қазақстанның қазіргі
Қысқа мерзімді
Жұмыс бағдарламасы
қазақ тілінде
қазіргі заман
туралы хабарландыру
атындағы жалпы