title: Информатика - bet 184
text: 6.5.
  Hisоblаsh nаtijаlаrini jаdvаl ko`rinishini yarаtish
  Muhim so`zlar:
  ustun, qator, yacheyka, TStrigGrid, masssiv.
  Bilib olasiz:
  hisoblash natijalarini jadvalda yozish, TStrigGridni
  xossalari, hodisalari, ulardan foydalanish va ishlatishni.
  Turli matematik hisoblashlar mavjud. Ularning ayrimlarining natijalarini
  jadval ko`rinishida ifodalashga to`g`ri keladi. Masalan, x ning qiymatlarida ikkita
  307
  funksiyaning qiymatlari va boshqalar. Jadval ko`rinishidagi natijalar qator va
  ustundan iborat bo`ladi yoki matritsani misol qilib olishimiz mumkin.
  Nаtijаlаrini jаdvаl ko`rinishini ifodalash uchun C++ Builderda Additional
  (qo`shimcha)
  bo`limining
  TStringGrid
  elementlardan
  foydalanamiz.
  Bu
  elementning ba`zi xossalari bilan tanishib chiqamiz.
  6.5-jadval. Xossalar.
  t.r.
  Xossa nomi
  Vazifasi yoki qiymati
  TStringGrid elementi
  1
  Align
  Joylashuvi. Masalan, alClient- mijoz oynasi bo`yicha
  2
  ColCount
  Ustunlar soni
  3
  Color
  Rangi
  4
  FixedColor
  Qator va ustunning sarlavha rangi
  5
  FixedCols
  Ustun bo`yicha sarlavha soni (odatda 1ta)
  6
  FixedRows
  Qator bo`yicha sarlavha soni (odatda 1ta)
  7
  GridLineWidth
  Chiziqlar qalinligi
  8
  RowCount
  Qatorlar soni
  Faraz qilamiz jadvalning qiymatlari mos ravishda ustun va qator raqami
  yig`indisiga teng bo`lsin. Bu hisoblash uchun C++ Builderda yangi forma
  yaratamiz va unga srtingGrid elementidan joylashtiramiz. Formaning aktiv bo`lgan
  OnActivate hodisaga quyidagi listingni kiritamiz.
  const int m=5,n=5;
  StringGrid1->FixedCols = 0;
  StringGrid1->FixedRows = 0;
  StringGrid1->ColCount = m;
  StringGrid1->RowCount = n;
  for(int i=0; ifor(int j=0; jStringGrid1->Cells[i][j] = IntToStr(i+j);
  Matematik hisoblashlar matritsa ko`rinishga keltirilgan bo`lsin. Masalan,
  int matr[5][2] = {{1,2},{3,4},{5,6},{7,8},{9,0}};
  308
  Bu matritsa elementlarini StringGrid ga yozish uchun quyidagicha listing
  yoziladi.
  for(int i=0; i<5; i++)
  {
  StringGrid1->Cells[i][0] = IntToStr(matr[i][0]);
  StringGrid1->Cells[i][1] = IntToStr(matr[i][1]);
  }
  Faraz qilaylik [a,b] oraliqda y=cos(x) funksiyaning qiymatlari n ta tugunda
  hisoblab jadvalga yozilsin deyilgan bo`lsin.
  Buning uchun formda bitta StringGrid va uchta edit, bitta button
  elementlaridan qo`yamiz. So`ng Button1ga sichqonchani ikki marta bosib,
  quyidagi listingni yozamiz.
  float a,b,n;
  float h,x;
  a=StrToInt(Edit1->Text);
  b=StrToInt(Edit2->Text);
  n= StrToInt(Edit3->Text);
  h=((b-a)/n);
  StringGrid1->ColCount=n+1;
  StringGrid1->RowCount=3;
  StringGrid1->Cells[0][0]="*";
  StringGrid1->Cells[0][1]= "x";
  StringGrid1->Cells[0][2]="f(x)";
  for(int i=1;i<=n;i++)
  {
  StringGrid1->Cells[i][0]=IntToStr(i);
  x=a+i*h;
  StringGrid1->Cells[i][1]=FloatToStr(x);
  StringGrid1->Cells[i][2]=FloatToStr(cos(x));
  }}
  309
  Dastur formasini –rasmdagidek tayyorlash ishga tushirsak quyidagicha
  natijalarni olamiz .
  |