Алматы экономика және статистика академиясы



жүктеу 5,39 Kb.
Pdf просмотр
бет24/28
Дата22.02.2018
өлшемі5,39 Kb.
#10536
1   ...   20   21   22   23   24   25   26   27   28

87 
 
 
 
//--------------------------------------------------------------------------- 
#include 
#pragmahdrstop 
#include "Unit1.h" 
//--------------------------------------------------------------------------- 
#pragma package(smart_init) 
#pragma resource "*.dfm" 
TForm1 *Form1; 
//--------------------------------------------------------------------------- 
__fastcall TForm1::TForm1(TComponent* Owner) 
        : TForm(Owner) 


//--------------------------------------------------------------------------- 
void __fastcall TForm1::Button1Click(TObject *Sender) 

String a[5],st;int i,n; 
n=Memo1->Lines->Count; 
if(n==0) 

ShowMessage("Исходные данные не введены"); 
Abort();} 
if(n>5) 
{ShowMessage("Количество строк превышает размер массива"); 
n=5;} 
for(i=0;i{a[i]=Memo1->Lines->Strings[i]; 
ListBox1->Items->Add(a[i]);} 
if(n>0) 

st="Введенный массив"; 
st+="\n"; 
for(i=0;i


88 
 
st+=IntToStr(i+1)+"  "+a[i]+"\n"; 
ShowMessage(st); 


//--------------------------------------------------------------------------- 
void __fastcall TForm1::Button2Click(TObject *Sender) 

Close();         

//--------------------------------------------------------------------------- 
void __fastcall TForm1::FormCreate(TObject *Sender) 

Memo1->Clear(); 

//--------------------------------------------------------------------------- 
 
Практикалық  жҧмыс№  8.    Математика  деген  қосымша  қҧрыңыздар.  Делегат 
және оның экземплярын қҧрыңыз. 
Бұл мысалда біз айнымалыны делегат экземплярына екі рет береміз. (сурет. 1.32). 
 
 
Сурет. 1.32.  Айнымалыны делегат экземплярына екі рет беру.  
Әрине бұл жерде, сол нәтижені делегат қоспай— ақ, айнымалы slovo енгізу арқылы 
жасауға  болады.  Жаңа  консольдық  қосымша  құрып,  оны  Matem  деп  атаңыз.  Қосымша  
кодын, түсініктемелерімен бірге берейік: 
using System; 
 
namespace Matem 

 
//Создаемновыйкласс matematika 
 
class matematika 
 

 
 
//Объявляемпеременную a 
 
 
public int a; 
 
 
//Создаемметод calculate 
 
 
public void calculate() 
 
 

 
 
 
int b = a*a; 
 
 
 
int c = a*a*a; 
 
 
 
int d = a*a*a*a; 
 
 
 
Console.WriteLine  ("Самочисло:  "  +  a  +  "\nКвадрат:  "  +  b  + 
"\nКуб: " + c + " \nЧетвертаястепень:" + d); 
 
 

 

 
class Class1 
 

 
 
[STAThread] 


89 
 
 
 
static void Main(string[] args) 
 
 
 

 
 
 
//Создаемэкземпляр primer класса matematika 
 
 
 
 
matematika primer = new matematika(); 
 
 
 
//Переменной a экземпляра primer присваиваем значение 2 
 
 
 
 
primer.a = 2; 
 
 
 
//Вызываемметод calculate 
 
 
 
 
primer.calculate(); 
 
 
 
 
 
 
 
 

 


Листинг 1.3.  
Бұл программаның орындалу нәтижесі  айнымалының квадратын, кубын, және тӛрт 
дәрежесін есептеу. (сурет. 1.33): 
 
 
Сурет. 1.33.  Matem қосымшасының нәтижесі 
Енді  делегат  пен  оның  экземплярын  құрамыз  (жаңадан    консольдық  қосымша  — 
Matem2 құруға болады — немесе оны ӛзгертуге болады): 
using System; 
 
namespace Matem2 

 
//Создаемновыйкласс matematika 
 
class matematika 
 

 
 
//Объявляемпеременную a 
 
 
public int a; 
 
 
//Создаемметод calculate 
 
 
public void calculate(int chislo) 
 
 

 
 
 
int b = a*a; 
 
 
 
int c = a*a*a; 
 
 
 
int d = a*a*a*a; 
 
 
 
Console.WriteLine  ("Самочисло:  "  +  a  +  "\nКвадрат:  "  +  b  + 
"\nКуб: " + c + " \nЧетвертаястепень:" + d); 
 
 

 

 
class Class1 
 

 
 
delegate void Mydelegate(int chislo); 
 
 
[STAThread] 
 
 
static void Main(string[] args) 
 
 

 
 
 
//Создаемэкземпляр primer класса matematika 


90 
 
 
 
 
matematika primer = new matematika(); 
 
 
 
//Создаемэкземпляр del делегата Mydelegate 
 
 
 
Mydelegate del = new Mydelegate(primer.calculate); 
 
 
 
//Переменной a экземпляра primer присваиваем значение 2 
 
 
 
primer.a = 2; 
 
 
 
// Экземпляру делегата del передаем переменную 
 
 
 
del(1); 
 
 
 
//Переменной a экземпляра primer присваиваем значение 3 
 
 
 
primer.a = 3; 
 
 
 
// Экземпляру делегата del передаем переменную 
 
 
 
del(2); 
 
 
 
//Переменной a экземпляра primer присваиваем значение 4 
 
 
 
primer.a = 4; 
 
 
 
// Экземпляру делегата del передаем переменную 
 
 
 
del(3); 
 
 
 
 
 
 
 

 


Листинг 1.4.  
Программа нәтижесі: (сурет. 1.34): 
 
 
Сурет. 1.34.  Результат приложения Matem2 
 
Практикалық жҧмыс №9.  Математика қосымшасын қҧру. Кӛпобъекті делегат 
және оның экземплярын қҧру.   
Жалпы ережелерге сәйкес, Matem2 кодында делегатMydelegate және calculate тәсілі 
бірдей сигнатуралы болады. Делегат арқылы оның тәсіліне сүйену үшін, айнымалы chislo 
қолданылады. Біз бір тәсілгн сүйену үшін делегаттың бір экземплярын қолдандық, әрі 
жаңа айнымалының мәнін есептеу үшін оны қайта сипаттап отырдық. Делегат ӛзіне 
бірнеше тәсіл сиғызады. Мұндай делегаттарды Кӛпобъекті делегат деп атайды. Оұан  
 
ля обращения через делегат к методу используется переменная int chislo, не 
содержащая вводимых значений для вычислений. Мы использовали один экземпляр 
делегата для обращения к одному методу, причем для вычисления значения новой 
переменной мы каждый раз ее объявляли. Однако делегат может вмещать в себя 
несколько методов. Такой делегат называется многообъектным (множественным) — при 
обращении к нему он последовательно вызывает каждый метод. Онымен байланыс құрған 
кезде тізбектеп бірінен — соң бірін тәсілдерді шақырады.  


жүктеу 5,39 Kb.

Достарыңызбен бөлісу:
1   ...   20   21   22   23   24   25   26   27   28




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

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау