Тақырыбы: Қолданушы анықтайтын функция құру
Мақсаты: Қолданушы анықтайтын функция құру. Оларды программада қолдануға дағдылану
Керек құралдар: дербес компьютер, Borland C++ Builder 6 бағдарламасы
Жұмысты орындауға әдістеме:
Ал, функцины анықтау дегеніміз:сипаттаудан басқа, функция денесін жазу.
[класс] типі аты (параметрлер тізімі)
{ функция денесі}
Анықтаудың құрамдас бөліктерін жеке қарастырайық:
Міндетті емес класс модификаторы extern және static арқылы функцияның әрекет ету облысын беруге болады.
extern- ауқымды әрекет, программаның барлық модульдерінде анықталады(көрсетілмеседе)
static-функция анықталған модуль ішінде ғана көріеді.
типі – функцияның қайтаратын мәні тек массив пен функциядан басқа кез келген тип бола алады. Параметр тізімінің элементтері үтір арқылы ажыратылып жазылады. Әрбір беретін параметрдің типі көрсетіледі және аты жазылады. Функцияны шақыру барысында нақты параметрлерлің типі сәйкес келуі керек.
# include
# include
# include
int sum(int**a, const int nstr,const int nstb); // функция сипаттау
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main()
{
int nstr,nstb;
cin >> nstr,nstb;
int **a,i,j;
// a матрицасын құру
a=new int*[nstr];
for(i=0;ia[i]=new int [nstb] ;
for(j=0;j< nstb; j++) cin >> a[i][j];
cout << sum(a, nstr,nstb);
getch();
return 0;
}
int sum(int**a, const int nstr,const int nstb){ // функцияны анықтау
int i,j,s=0;
for(i=0;ifor(j=0;j< nstb; j++) s+=a[i][j];
return s;
}
//---------------------------------------------------------------------------
Өзіндік жұмыстар:
Функция тақырыбына өзіндік жұмыстар
бүтін n саны берілген. N факториалды есептеуді функция ретінде жазып, 1-ден n-ға дейінгі сандардың факториалының кестесін көрсет.
Берілген санды екілік жүйеге түрлендіретін функция құрып, берілген х, у, z сандарын екілік жүйеде көрсет.
Берілген екілік жүйедегі санды ондық жүйеге түрлендіретін функция құрып, берілген х, у, z сандарын ондық жүйеде көрсет.
Кез келген берілген санның цифрларының қосындысын есептеуді функция ретінде жазып, нақты үш санның цифрларының қосындысын есептеңіз
Берілген а және в сандарының ең үлкен ортақ бөлгішін табуды функция ретінде жазып, берілген х, у, z сандарының ең үлкен ортақ бөлгішін тап.
Берілген а және в сандарының ең кіші ортақ еселігін табуды функция ретінде жазып, берілген х, у, z сандарының ең кіші ортақ еселігін тап.
a,b сандары берілген. >,<, = таңбаларын қоюды функция ретінде жазып, экранға a>b, a
Экранға берілген n санына сәйкес келетін жұлдызшалар жолын шығар.
a,b,c сандары үшін квадрат теңдеудің түбірін табуды функция көмегімен есепте
a,bнақты сандары берілген. -есептеуді функция ретінде жазып, кез келген екі сан үшін дәрежені есепте.
БЕКІТЕМІН: Исмуканова А.Н.
Машық методисті
Өткізу мерзімі: 11.11.2022 ж 11.30-12.20
Сабақтың тақырыбы: Массивті функцияға параметр ретінде беру
Сабақтың түрі: Практикалық жұмыс
Сабақтың мақсаты мен міндеттері: Borland С++ Builder 6 программалау тілінде қолданушы анықтайтын функцияға массивті параметр ретінде беру арқылы функция көмегімен массивті өңдеу.
Құрал-жабдықтар: IBM PC дербес компьютерлік, Windows XP/7/8/10 операциялық жүйесі, Borland C++ Builder программалық жүйесі.
Сабақтың кезеңдері
|
Кезеңнің міндеттері
|
Оқу материалының мазмұны
|
Оқытуды ұйымдастыру формасы
|
Кері байланыс
|
Уақыт
|
Ұйымдастыру кезеңі
|
Сәлемдесу, жаңа тақырыпты және сабақ жоспарын жариялау
|
|
Жаңа тақырып пен оқу жоспарын жариялау
|
Студенттердің назарын аударту
|
5 мин
|
Жаңа тақырып
|
Функцияларды жариялау жəне анықтау туралы ақпарат беру
|
Практикалық нұсқаулықтармен таныстыру
|
Практикалық міндеттерді орындау
|
Ауызша ескертулер
|
35 мин
|
Үй тапсырмасы
|
Үй тапсырмасын баяндау
|
|
|
Ауызша баяндама
|
10 мин
|
Массив элементтерінің қосындысын есептеуді жеке функция ретінде қарастыру керек.
//---------------------------------------------------------------------------
#include
#include
#include
#include
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int sum(const int*a,const int nstr,const int nstb);
int main()
{ int b[2][2]={{2,2},{4,3}};
printf ("summa elementov b: %d\n", sum(&b[0][0],2,2));
// imya massiva peredaat v sum nelzya iz-za nesootvetstviya tipov
int i,j,nstr,nstb,*a;
printf ("vvedite koli4estvo strok i stolbcov:\n");
scanf ("%d%d",&nstr,&nstb);
a=(int*)malloc(nstr*nstb*sizeof(int)) ;
for(i=0;ifor (j=0; jprintf ("summa elementov a:%d\n",sum (a,nstr,nstb));
getch();
return 0;
}
int sum(const int*a,const int nstr,const int nstb){
int i,j,s=0;
for (i=0;ifor (j=0;jreturn s;
}
N*M өлшемді матрицадан В векторын алып,оның k-ші элементіне 0 мәнін бекітіп,егер k-ші бағанның барлық элементтері 0,әйтпесе 1 тең.
N*M өлшемді матрицадан В векторын алып,оның k -ші элементіне 1 мәнін бекітіп,егер k-ші жолдың барлық элементтері кему ретімен орналастырылса, әйтпесе 1 тең.
N*M өлшемді матрицадан В векторын алып,оның k -ші элементіне 1 мәнін бекітіп,егер k-ші жол симметриялыө болса,әйтпесе 1 тең.
N*M өлшемді матрица берілген. «Өзгеше» элементтер санын табыңыз, элементті «Өзгеше» деп санайсыз,егер ол оө бағанындағы барлық элементтер қосындысынан үлкен болса.
N*M өлшемді матрица берілген.Сол жағында өзінен үлкен элемент орналасқан,ал оң жағында өзінен кіші болатын элементтер қосындысын табыңыз.
N*M өлшемді матрица берілген. Матрицадағы әр түрлі элементтер қосындысын табыңыз. Яғни ұқсас элементтерді бір-ақ рет санаңыз.
N*M өлшемді матрицаның жолдарын бірінші элементтері арқылы өсу ретімен орналастырыңыз.
N*M өлшемді матрицаның жолдарын ондағы элементтердің қосындысы арқылы өсу ретімен орналастыр.
N*M өлшемді матрицаның жолдарын оның ең үлкен элементтері арқылы өсу ретімен орналастырыңыз.
Квадрат матрица қосалқы диагональға симметриялық екенін анықтыңыз
Достарыңызбен бөлісу: |