ҚҰрастырылған және енгізілген орындаушылар



Pdf көрінісі
бет5/9
Дата06.02.2020
өлшемі1,91 Mb.
#57312
1   2   3   4   5   6   7   8   9
Байланысты:
17KTJ9


Әдістемелік нұсқау

Массивтер  деп  бiр  атаумен  берiлетiн  бiрыңғай  мәндер  қабылдайтын  реттелген  шамалар 

тiзбегiн  айтамыз.  Массивтердi  колданбастан  бұрын,  массив  атын  айнымалыны  бейнелеу 

бөлiмiнде жазылуы керек. Жалпы түрі:

Элемент типі: массиваты:[массив өлшемі] 

Мысалдар: float temper[3];

char name[30];

 int koef[];

Әрбiр 

массивке 



03 

алдын-ала 

оның 

элементтерiнiң 



саны 

ескерiлiп, 

қатар 

орналасқан  ұяшықтар  бөлiнедi.  Массивтерді 



енгізу үшін for циклдық операторын қолданған 

оңай. 


Есеп: A(10) массиві берілген. Массивтің оң 

           элементтерін  2-мен  ауыстыру .                       



35

          

Есепті шешуде қолданылатын   компонент ---тер:

   Edit1 , Memo1 , Memo2 , Button1 , Button2 , Button3.      

                           Программа мәтіні

#include

#pragma hdrstop

#include "Unit1.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

int i,n;


int a[30];

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------



void __fastcall TForm1::FormCreate(TObject *Sender)

{  i=0;


Memo1->Clear(); Memo2->Clear();

}

//---------------------------------------------------------------------------



void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,

      TShiftState Shift)

{ if (Key==13) Button1->SetFocus();}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{ i=i+1;


Memo1->Lines->Add(Edit1->Text);

a[i]=StrToInt(Edit1->Text);

Edit1->SetFocus();

}

//---------------------------------------------------------------------------



void __fastcall TForm1::Button3Click(TObject *Sender)

{ n=i;


for(i=1;i<=n;i++)

if (a[i]>=0) a[i]=2;

for(i=1;i<=n;i++)

Memo2->Lines->Add(IntToStr(a[i]));

}

//---------------------------------------------------------------------------



void __fastcall TForm1::Button2Click(TObject *Sender)

{

Close();



}

//---------------------------------------------------------------------------



Тапсырма варианттары (А)

36

1. А массиві  41, 52, 23, 15, 94, 79, 12, 38, 13, 17 бүтін он саннан тұрады. Әрбір элементін 

сәйкес нөмеріне көбейткенде құралатын,  жаңа массив құру программасын жазың.  в = 

i·a 


2. 10 компоненттен тұратын вектордың модульін есептеңіз 

        




10

1

2



i

i

a

S

     


}

1

;



1

,

9



;

2

,



5

;

3



,

4

;



2

,

1



;

3

;



4

,

2



;

5

;



3

,

0



;

1

,



0

{





i



a

3. Әрқайсысында 14 элементтен тұратын екі А және В массиві берілген. c

i

=a

i



+b

i   


бойынша 

құрылған жаңа массивтің ен кіші элементін табу программасын жаз.          

a

i

={0.1; 0.3; 0.5; 0.7; 0.9; 1.1; 1.3; 2.3; 5.7; 9.8;2.3; 3.1; 6.4; 5.6; 9.7}  



b

i

={5.2; 0.5; 4.8; 4.6; 4.4; 4.2; 6.4;1.3; 5.6; 1.2; 0.6; 5.2; 7.1; 4.1 }



4. Екі вектордың жарты элементтерінің арифметикалық ортасын табу программасын 

жазың.          А={1,5; 2,5; -0,34; 6; 4.4; 4.2; 6.4;1.3; 5.6;} 

В={-11,7; 9,3; 2,5; 3,7; -1,2} 

5.  А={-2,5;3;13;0,5;1,5;-2;0,7;1,9;7,1}. Сандар тізбегі берілсін.  -1=

қанағаттандыратын сандарды табу программасын жаз.

6. А(а


1

а

2



, …, а

20

) массив элементтерінен  қандай да бір  «с» мәнінен үлкен болатын   (



а

i

> 



с)  жаңа В массивін құру программасын жаз. 

7. Берілген  b  және  с  үшін    (b< 



i

а 1,

а



2,…,

а

15



)  массив 

элементтерінің қосындысын табу программасын жазың. 

8. А (а

1, 


а

2

,…,а



30

) массивінің 0ге тең элементтерінің санын табу программасын жазың. 

9. А  (а

1,

а



2,…, 

а

25



),  массивінің   

i

а >c  шартты  қанағаттандыратын  барлық  элементтерінің 

арифметикалиқ ортасын табу программасын құрың. 

10. А(а

1,

 a



2,…,

а

10



) массивіндегі а

i

>100 шартты қанағаттандыратын элементтерін 777 санымен 



ауыстыру программасын құрың. 

11. Он  элементтен  тұратын  А  массивінің  оң  және  теріс  элементтерінің  қосындысын 

жекежеке табыңдар. 

            a

i

={1.2; 3.1; -0.5; -1.7; 0; 1.9; -4.2; 7.1; 8.5; -10}



12.

Әрқайсысында  9  элементтен  тұратын  А  және  В  массиві  берілген.  c

i

=(a


i

+b

i



формуласымен анықталған жаңа С массивінің квадраттарының қосындысын табыңдар.    

         a

i

={0.1; 0.2; 0.3; 0.8; 1.6; -4.2; -0.4; 5; 7} 



         b

i

={-5; 10; 0; 8; -6; -12; 4; 20; 7}



13.

15 элементтен тұратын Х массиві берілген.  Массивті өсу  реті бойынша орналастыру 

программасын жаз. 

Х

i



={0.2; -3.5; 43; -15; 18; 91; 7.7; 25; 54; 6.4; 46; 0.5; -7; 8; 9.2; }

14.


 20 элементтен тұратын Х массиві берілген. Массивтің орта мәнін және бірінші, 

екінші бөлігіндегі теріс элементтердің санын жеке табыңдар. 

х

i

={1.5; 0; 2.3;-4; 5; 0;2;-5; 0; 1.7; -0.2;12; -2; 0; -4.1; 2.6; 7; 8; 0; -1; 10; 0}



15.

  Әрқайсысында  8 элементтен тұратын М және N массиві берілген. С массивінің 

элементі с

i

=( a



i

- b


i

)/( a


i

* b


i

) бойынша анықталған. С массивінен ең үлкен элементін табың.  

16.

А(2.6,  4.8,  0.6),  В(1.5,  4.0,  3.1),  C(2.1,  0.6,  1.9)    нүктелерімен  берілген  үшбұрышың 



қабырғаларының ұзындығын  табу программасы жаз.  

17.


100  элементтен  тұратын  А  и  B  вектордың 

100


100

2

2



1

1

...



b

a

b

a

b

а

с



      



формуласы бойынша анықталған скаляр көбейтіндісін табыңдар. 

37

18.


векторының 

квадраттық 

ортасын 


табу 

программасын 

құрыңдар 

Q=

2



30

2

2



2

1

...



v

v

v



19.


P  және  Q  векторының  ара  қашықтығын  табу  программасын  құрың.  

D=

2



20

20

2



2

2

2



1

1

)



(

...


)

(

)



(

g

p

g

p

g

p





20.


25  элементтен  тұратын  Х  массивінің  элементтер санын  және  олардың  қосындысын 

табу программасын құрың.



Бақылау сұрақтары.

1. Массивтерді сипаттау үшін тілдің қандай операторлары қолданады?

2. Массивтерді өңдеу үшін циклді ұйымдастыру әдістері қандай?

3. Массивтерді енгізу және шығару ерекшкліктері қандай?



Блиц-тест

1. C++ Builder

A. MS  (Inprise) өнімі болып табылады

B. Borland (Inprise) өнімі болып табылады

C. Turbo өнімі болып табылады

D. Win өнімі болып табылады

E. IBM өнімі болып табылады



2. #pragma package(smart_init) директивасының қызметі қандай

A. инициализация пакеттерінің тізімін анықтайды.

B. Unit1.h файлын іске қосады

C. берілген  файлмен  атымен  аты  сәйкес  болатын  *.dfm  файлын  формада  қолдану 

қажеттігі

D. форма объектісін хабарлау

E. hdrstop опциясы препроцессор жұмысының өзгешеліктерімен байланысты

3. Төмендегі компоненттердің қайсысында Caption қасиеті болмайды?

A. Edit


B. Form

C. Label


D. Button

E. Panel


4. Форманы жасыру үшін қай әдіс қолданылады?

A. Release

B. Close

C. Hide 


D. Show

5. S айнымалысының мәні келесі операторларлан кейін неге тең болады:

{float S=0; int  I=1; 

 do  { S=S+1/I; I=I-1}

 while (I<=1);}

A. 3


B. 1/2

C. 2/5


D. 0

E. 1


38

Жұмысты  орындауға тапсырмалар

1. Лекциялар, әдебиеттер, әдістемелік нұсқау бойынша теориялық материалды қайталау.

2. Бақылау сұрақтарына ауызша жауап беру.

3. Тапсырма вариантын таңдау және орындау

4. Есеп жазу

Есеп мазмұны

1. Жұмыстың тақырыбы және мақсаты.

2. Бақылау сұрақтарына жауап  жазу.

3. Тапсырманың блок-схема,  алгоритмі.

4. C++ Builder  тілінде программасы

Әдебиеттер

1. Атымбаева Объектіге бағытталған программалау негіздері.Алматы, 2005 ж.             

2. Програ ммирование в среде С ++ Builder. А. Вальвачев, Д. Сурков, К. Сурков. 

Мин.1998г    

3. С ++ Builder.  С.В.Глушаков, В.Н. Зорянский, С.Н. Хоменко

4. С++ и информатика .   Н.Культин, М. 2002г.4. 4 4

5. С ++ Builder  книга рецептов.  В. Ермолаев. Кудиц. – образ. 2006г. 

6. Справочник по С ++ Builder.  Учебное пособие. 2005г.

7. Разработка приложений в среде С ++ Builder 6 и решение задач информационно-

радиационного профиля. Учебное пособие.  А.И. Купчишин, Т.А. Шмыгалева.

Лабораториялық жұмыс № 9-10

Тақырыбы: C++ Builder ортасында екі өлшемді массивтермен жұмыс

Мақсаты:  Стандартты  компоненттерді  қолданып  программалау  әдістерін,  матрицаларды 

енгізу және шығару әдістерін меңгеру. 



Материалдар және жабдықтар: ДК, C++ Builder  программалау ортасы

Жұмыстың мазмұны және орындалу тәртібі:

1. Вариант бойынша тапсырманы алу

2. Есептің қойылымы

3. Есепті шешу алгоритмі

4. Есепті шешу программасын C++ Builder программалау ортасында құру

5. Программа листингі

6. Орындалған жұмыс жөнінде есеп беру

Әдістемелік нұсқау

Массивтер  деп  бiр  атаумен  берiлетiн  бiрыңғай  мәндер  қабылдайтын  реттелген  шамалар 

тiзбегiн  айтамыз.  Массивтердi  колданбастан  бұрын,  массив  атын  айнымалыны  бейнелеу 

бөлiмiнде жазылуы керек. 

Жалпы түрі:

A  [бастапқы мән][соңғы мән]

Массив элементтерін енгізу



for(i=0;i<=n-1;i++)

for(j=0;j<=n-1;j++)

a[i][j]=StrToInt(StringGrid1->Cells[i][j]);

39

                     



Есеп: A(N,M) массиві берілген. Ж.анама   

           диагоналден  төмен орналасқан  

           элементтерді  -1 мен  ауыстыру.                       

Есепті шешуде қолданылатын 

компоненттер:

   SpinEdit 1 , Edit 1 , Label 1 , Label 2 , 

Button 1 , Button2 , BitBtn 1 , StringGrid 1.      

                           Программа   мәтіні

#include

#pragma hdrstop

#include "Unit1.h"

#pragma package(smart_init)

#pragma link "CSPIN"

#pragma resource "*.dfm"

TForm1 *Form1;

int i,j,i1,j1,n,a[10][10];

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

//---------------------------------------------------------------------------



void __fastcall TForm1::CSpinEdit1Change(TObject *Sender)

{

n=StrToInt(CSpinEdit1->Text);



 StringGrid1->ColCount=n;

 StringGrid1->RowCount=n;

}

//---------------------------------------------------------------------------



void __fastcall TForm1::Button1Click(TObject *Sender)

{

if (i1==n) {i1=0; j1=j1+1;}



StringGrid1->Cells[i1][j1]=Edit2->Text;

i1=i1+1;


Edit2->SetFocus();

}

//---------------------------------------------------------------------------



void __fastcall TForm1::Button2Click(TObject *Sender)

{

for(i=0;i<=n-1;i++)



for(j=0;j<=n-1;j++)

a[i][j]=StrToInt(StringGrid1->Cells[i][j]);

for(i=0;i<=n-1;i++)

for(j=0;j<=n-1;j++)

if (i>n-1-j) a[i][j]=-1;

for(i=0;i<=n-1;i++)

for(j=0;j<=n-1;j++)

StringGrid1->Cells[i][j]=IntToStr(a[i][j]);



40

}

//---------------------------------------------------------------------------



void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{

Close();



}

//---------------------------------------------------------------------------

void __fastcall TForm1::Edit2KeyDown(TObject *Sender, WORD &Key,

      TShiftState Shift)

{

if (Key==13) Button1->SetFocus();



}

//---------------------------------------------------------------------------



Тапсырма варианттары

1.

А(4х7)  матрицасының ең үлкен элементінің координатасын  (жол және бағана номері) 



анықтау  программасын жазың. 

2.

Y (5х5) матрицасының әрбір баған элементтерінің қосындысын табыңдар. 



3.

В(10х6. массивінің барлық оң элементтерінің қосындысын табу программасын жазың. 

4.

В  (8х8)  матрицасының  элементтерінің  арифметикалық  ортасын  табу  программасын 



жазыңдар. 

5.

 



ij

a

А

 квадрат матрицасының 1ші және 2ші бағанның орнын ауыстыру программасын 



жазыңдар.  а=















7

,



0

0

1



2

2

1



3

.

0



7

.

1



5

.

1



2

5

.



0

1

3



5

.

0



2

1

6.



 

ik

в

В

  матрицасының  жеке  оң  және  теріс  элементтерінің  қосындысын  табу 



программасын жазыңдар.      в=











5

.



31

9

.



11

5

.



0

7

.



2

1

.



9

9

.



0

3

.



4

2

.



17

3

.



21

3

.



0

2

.



7

2

   



7.

А(4х4)  өлшемді  а=

 

ij

а

    квадрат  матрицасының 



ij

а

b

   шартты  қанағаттандыратын 

элементтерін экранға шығару программасын жазың. в=1.2;      















2



.

1

6



.

0

5



.

0

7



.

1

2



.

0

7



.

0

3



.

2

19



5

.

1



2

.

1



6

.

0



3

.

0



7

.

3



5

.

1



9

.

0



7

.

0



а

8.

А={a



ij

} 4х4 өлшемді квадрат матрица берілген.

А матрицасының элементтеріне  сәйкес 

жол номеріне көбейткенде пайда болған жаңа  d={d

ij

}, матрицасын құрың. Яғни, d



ij

=ia


ij

        


















4

.

0



9

.

1



5

.

2



5

.

1



.

56

3



.

2

4



.

2

1



.

4

5



.

2

3



.

2

8



.

0

4



.

2

5



.

2

5



.

2

3



.

1

2



.

1

3



.

2

2



.

1

2



.

3

2



.

0

А

9.

10ші ретті бірлік матрица құрыңдар. 



10.

Элементтері  а1

ij

=i

2



/(j

2

+1),  а2



ij

=j

2



/(i

2

+j



2

)  формуласымен  анықталатын,    5ші  ретті  А1 

және    А2  квадрат  матрицасының  элементтерінің  арифметикалық  ортасын  табу 

программасын жазың. 

11.

Элементтері  С



ij

=sini+cosi  формуламен  анықталған  10  ретті  С  матрицасының    әрбір 

жолының ең үлкен элементінен тұратын,  В векторын құру программасын жазың. 


41

12.


Элементтері W

i  j


 = tg ( i + j

) формуламен анықталған 6шы ретті W матрицасының , 



әрбір  жолының  элементтерінің  қосындысынан  тұратын,  V  векторын  құру 

программасын жазың. 

13.

Жоғары  үшбұрыш  элементтері  0ге,  төменгі  үшбұрыш  элементтері  1ге,  диагонал 



элементтері 2ге болатын 8ші ретті квадрат матрица құру программасын жазың. 

14.


Элементтері 

)

3



sin(

2

j



i

A

ij



  формуламен  анықталған  6шы  ретті  А  матрицаның 

0ге  тең  элементтерінің,  баған  және  жол  номерлерін  экранға  шығару  программасын 

жаз. 


15.

Элементтері   

2

j

i

a

ij



  формуламен  анықталған  NxN  ретті  А  матрицасының 

транспондалған  матрицасын  табу  программасын  жаз.(матрицаны  транспондауяғни,  

сәйкес жолдар және бағандардың орнын ауыстыру.   

16.


Элементтері 

)

2



(

)

sin(



2

j

h

Ln

j

i

Q

ij



  формуласымен  анықталған  8ші  ретті    Q 



матрицасының элементтер санын табу программасын жаз. 

17.


Элементтері 

3

)



(

j

i

М

ij



 формуласымен анықталған 8ретті М матрицасының 0  мен 

5 аралығында жатқан элементтер санын экранға шығару программасын жаз.  

18.

 Бас  диагоналдан  жоғары  элементтері  0ге  тең,  ал  қалған  элементтері 



3

2

)



1

2

(





j

i

M

ij

    формуламен  анықталған,  үшбұрышты  М  матрицасын  құру 

программасын жаз. 

19.


Элементтері 

2

2



j

i

a

ij



  формуласымен  анықталған  5  ретті  А  квадрат  матрицасының 

b

a

ij

шартты  қанағаттандыратын  элементтерін  экранға  шығару  программасын  жаз.(b 



кез келген сан) 

20.


 Р(5х5) матрицаның бас диагоналының астындағы оң элементтерінің қосындысын және 

олардың элементтер санын есептеу программасын жаз. 



Бақылау сұрақтары

1. Күрделі циклдарды ұйымдастырудың негізгі ережелері

2. Ішкі циклдан шығудың әдістерін көрсет

3. Матрицаны экранға кәдімгі күйде шығарды қалай ұйымжастыруға болады?

4. Төменгі үшбұрышты матрицаны экранға қалай шығаруға болады?

5. Массивтерді сипаттау үшін қандай операторлар қолданады?



Блиц-тест

1. Форманы құру үшін қай әдіс қолданылады?

A. Show


B. Activate

C. Create

D. Close

E. Hide



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет