Programma matni
double daraja(double x,int n)
{
if (!n) return 1;
else if(n>0)return x*daraja(x,n-1);
else return daraja(x,n+1)/x;
}
int main()
{
double x;
int n;
cout<<”x=”; cin>>x;
cout<<”n=”; cin>>n;
cout<<”x^n=”<
return 0;
}
Variantlar
|
formula bo‘yicha binom koeffisentini hisoblaydigan C(n,m) rekursiv funksiya tuzilsin, bunda 0 m n.
|
|
const int n40;
float x[n];
Berilgan x vektorning k va oxirgi o‘rindagi elementlari orasidagi eng kichik elementni topadigan min1(k) yordamchi rekursiv funksiya qurilib, uning yordamida x vektorining eng kichik elementini topadigan min(x) funksiyasi tuzilsin.
|
|
char satr[100];
Berilgan satr satrning i-elementidan boshlanib, j-elementida tugaydigan qismini simmetrikligini tekshiradigan rekursiv mantiqiy simm(s,i,j) funksiya tuzilsin.
|
|
enum Ism(Sayyora,...,Erkin,null);
Berilgan b ismli odam a ismli odamning avlodi (bolasi, nevarasi, chevarasi va hokazo) bo‘lishligini tekshiradigan avlod(a,b) mantiqiy funksiyasi tuzilsin. Masalani yyechishda oldindan tuzilgan ona(x) va ota(x) funksiyalaridan foydalaning. Bunda ona(x) va ota(x) funksiyalari x ismli odamni mos ravishda onasi va otasining ismini, agar x ga mos keluvchi ota-ona to‘g‘risida ma'lumot bo‘lmasa, yo‘q (null) qiymatini qabul qiladi.
|
|
Agarda BolalarSoni(x) funksiyasi x ismli odamning farzandlar sonini, Bola(x,k) funksiyasi esa, x ismli odamning k-farzandining ismini bildirsa (bu yerda k - x odamning farzandlar sonidan oshmasligi kerak), ushbu funksiyalar yordamida yuqorida keltirilgan masala (4-masala) yechilsin.
|
|
Kesmani teng ikkiga bo‘lish usuli yordamida f(x)0 tenglamani [a,b] oraliqda eps aniqligidagi ildizini topadigan root(f,a,b,eps) rekursiv funksiyasi tuzilsin. (eps>0,a |
|
O‘qish faylida manfiy son bilan tugaydigan, bo‘sh bo‘lmagan musbat haqiqiy sonlar ketma-ketligi berilgan. Musbat sonlar yig‘indisini hisoblaydigan parametrsiz sum() rekursiv funksiya tuzilsin.
|
|
Matndagi (oxiri nuqta bilan tugagan) raqamlar sonini hisoblaydigan parametrsiz digits() rekursiv funksiya tuzilsin.
|
|
O‘qish faylida oxiri nuqta bilan tugaydigan matn berilgan. Bu matnni teskari tartibda chop qiladigan teskari() funksiya tuzilsin.
|
|
Nol bilan tugaydigan butun sonlar ketma-ketligi berilgan. Birinchi navbatda ketma-ketlikning barcha manfiy sonlari, so‘ngra musbat sonlar chop qilinsin (ixtiyoriy tartibda).
|
|
O‘qish faylida nuqta bilan tugaydigan matn berilgan. Uning formula ekanligi quyidagi qoidalar asosida tekshirilsin:
::=|()
::= +| – | *
::=0|1|2|3|4|5|6|7|8|9 .
|
|
O‘qish faylida quyidagi ko‘rinishda mantiqiy ifoda xatosiz yozilgan.
::= true│false│()
::=!│&&│||
::= │,
::=
(&& va || amallarida operandlar soni ixtiyoriy bo‘lishi mumkin, ! amalida esa faqat bitta. Bu ifodaning qiymati hisoblansin. (Masalan, &&(||(false,!(false)), true, !(true))false.)
|
|
O‘qish faylidan nuqta bilan tugaydigan matn o‘qilsin. Uning tuzilishi quyidagi qoidani qanoatlantirishi tekshirilsin.
::= |
::= a|b|( |[]|{}
|
|
“Xanoy minorasi” masalasi. Uchta A, B, C qoziq va n ta har xil o‘lchamli xalqalar mavjud. Xalqalar o‘lchamlari o‘sish tartibida 1 dan n gacha tartiblangan. Barcha xalqalar A qoziqda a) rasmdagidek joylashtirilgan. A qoziqdagi barcha xalqalarni C qoziqqa quyidagi qoidalarga amal qilgan holda quyidagi rasmdagidek o‘tkazish talab etiladi: xalqalarni bittadan ko‘chirish kerak va katta o‘lchamli xalqani kichik o‘lchamli xalqa ustiga qo‘ymaslik kerak
Amallar ketma-ketligini chop etadigan (“xalqa q dan r ga o‘tkazilsin” ko‘rinishida, bunda q va r – ’A’, ’B’ yoki ’C’) masalani n ta xalqa uchun yechadigan programma tuzilsin. (ko‘rsatma: xalqalarni A dan С ga to‘g‘ri o‘tkazishda b), d) rasmlardagidek ko‘rinish uchraydi).
|
|
5 ta har xil natural son berilgan. Bu sonlarni barcha o‘rin almashish holatlari chop qilinsin.
|
|
Shaxmat taxtachasida 8 ta farzin shunday joylashtirilgan-ki, ular bir-birini “urmaydi“. Barcha shunday holatlar (92 ta) chop etilsin.
|
|
Berilgan nomanfiy n va m butun sonlar uchun A(n,m) funksiya qiymati hisoblansin.
|
|
Butun n va n ta har xil elementdan iborat bo‘lgan haqiqiy turdagi vektor berilgan. Quyidagi tez tartiblash usuli yordamida massiv elementlari o‘sish tartibida joylashtirilsin: massivning ixtiyoriy elementini tanlab, (masalan o‘rtadagisini) shu elementning chap tomonida shu elementdan kichik, o‘ng tomonda esa katta elementlari joylashtiriladi. (Bu bilan tanlangan element o‘zining oxirgi joyiga kiradi), keyin shu usul massivning chap va o‘ng qismi uchun rekursiv qo‘llaniladi.
|
|
1 dan n gacha nomerlangan n ta aholi punkti mavjud. Ayrim punktlar o‘zaro yo‘llar bilan tutashgan. Bu yo‘llar yordamida 1-punktdan n-punktga borish mumkin yoki yo‘qligini aniqlansin. Yo‘llar haqidagi ma’lumot i va j (i |
Nazorat savollari
Prosedura nima?
Prosedurali dasturlash deganda nimani tushunasiz?
Proseduralar C++ tilida mavjudmi, qaysi tillarda proseduralar mavjud?
С++ dasturlash tilida posedura qanday qo’llaniladi?
Do'stlaringiz bilan baham: |