linkedin facebook linkedin facebook nod32

Borland c++ da paskal uchburchagi

Muallif: Mengliyev SH.

Qo`shilgan sana: 2014-12-02

Paskal uchburchagi

Dastur tasnifi

Paskal uchburchagi quyidagi jadval ko’rinishida bo’ladi: birinchi qator birinchi pozitsiyalarda ikkita birdan tashkil topadi, har bir navbatdagisi esa birinchi pozitsiyada bir, boshqalarida esa oldingi qatordagi mazkur va oldingi pozitsiyalardagi elementlar yig’indisi yordamida hisoblanadi. Oxirgi elementi ham nol bilan almashtiriladi. Shunday qilib quyidagi uchburchak hosil qilinadi

1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

Paskal uchburchagi Nyuton binomi koeffitsientlarini oson hisoblashga yordam beradi. Chunki Paskal uchburchagi qatori Nyuton binomi yoyilmasining qator nomeriga mos koeffitsientlaridan tashkil topadi.

Vazifa: Yigirma beshinchi qatorgacha Paskal uchburchagi tuzilsin

Muammolar

Mazkur dasturning bosh muammosi ekranga 25 ta qatorni chiqarish zaruratidan iborat. Ularning ba’zilarining uzunliklari juda katta bo’ladi. Bu muammoni hal qilish uchun standart panelning Memo komponenti ishlatilgan. U ko’p qatorli matn maydon bo’lib, qo’yilgan masala uchun eng muvofig’i hisoblanadi.
Memo (Memo1->Lines->Add(AnsiString)) ob’ektiga tegishli Lines qism ob’ektining Add protsedurasi matn oxiriga ko’rsatilgan qatorni qo’shadi.

Zarur ko’nikmalar

Bu dasturni yozish uchun massivlar bilan bir turli ma’lumotlar majmui kabi ishlashni bilish zarur. Undan tashqari qatorlar bilan ishlash va alohida tashkil etuvchilardan qatorlar hosil qilishni ham bilishi kerak.

Yechish

Shakl

Mazkur masalaning shakli o’lchamlari oxirgi qator to’liq sig’adigan qilib tanlangan matn maydonli bitta Memo ob’ektidan va ikkita tugmachadan iborat. Bu tugmachalar oldingi misoldagi o’xshash tugmachalarning vazifalarini bajaradi: «Stroka» tugmachasi dastur algoritmining bitta qadamini bajaradi, «Pusk/Pauza» tugmachasi esa taymer yordamida algoritmni bajarish uchun ishga tushiradi

Dastur kodi

int A[26]; // massiv
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for(int i = 0; i<26; i++)
{
A[i] = 0;
}
A[0] = 1;
A[1] = 1; // massivni initsalizatsiya qilish
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(A[25] == 0)
{
int A1[26];
AnsiString s = "";
int i = 1;

A1[0] = 1;
while(A[i] != 0)
{
A1[i] = A[i] + A[i-1];
i++;
}
A1[i] = 1;

for(int j = 0; j <= i; j++)
{
A[j] = A1[j];
s = s + IntToStr(A[j]) + ' ';
}
Memo1->Lines->Add(s);
}
} //asosiy protsedura
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if(Button2->Caption == "Pusk")
{
Button2->Caption = "Pauza";
}
else
{
Button2->Caption = "Pusk";
} // taymerni aktivlashtirish
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(Button2->Caption == "Pauza") //aktivlikka tekshirish
{
Button1->Click(); // asosiy protsedurani chaqirish
}
}

3092 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish

testing

+998915878681

Siz o`z maxsulotingizni 3D reklama ko`rinishda bo`lishini xohlaysizmi? Unda xamkorlik qilamiz.

3D Reklama


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений