Программалау тілдері жоғары оқу орындарына арналған оқулық



жүктеу 2,9 Mb.
Pdf просмотр
бет35/82
Дата19.11.2018
өлшемі2,9 Mb.
#20460
түріПрограмма
1   ...   31   32   33   34   35   36   37   38   ...   82

 
90 
Геометриялық орта мынадай ӛрнекпен анықталады:  
                       
n
n
a
a
a
g




...
2
1
 
/* Нақты сандардан тұратын A[15] жиымының оң 
элементтерiнiң геометриялық ортасын табу керек */ 
#include  
#include  
#include  
#define n 15 
main() 

 int i; 
 float a[n]; 
 randomize(); // кездейсоқ сандарды өзгертіп отыру  
 textcolor(MAGENTA); 
 textbackground(WHITE); 
 clrscr(); 
 printf("\nЖиым элементтері:\n"); 
 for(i=0;i
  {a[i] = (float)(rand() % 100 - 50)/10; 
   printf(" %5.1f",a[i]);} 
   // көбейтінді мен оң элементтердің санын табу 
 i=0;         // бастапқы индекс = 0 
 float  p=1;   // оң элементтер көбейтіндісі 
 int k=0;     // оң элементтер саны 
 do 
 { if (a[i]>0)  { k++; p*=a[i];} 
   i++; 
 } 
 while (i
 printf("\n оң элементтер саны : %d\n",k); 
 p=pow(p,1.0/k); 
 printf("геометриялық орта = %f",p); 
 getch(); 

5.4 Адрестік операциялар 
Адрестік операциялар ҥшін С тілінде екі арнайы оператор қолданылады. 
& – адресті анықтау ҥшін қолданылатын операция; 
* – адрес арқылы қатынас жасау ҥшін қолданылатын операция. 
& операциясы берілген айнымалының адресін қайтарады. Мысалы, 
программа мәтінінде sum айнымалысы былай сипатталған болсын:  int sum; 
онда  &sum  жазуы осы айнымалының компьютер жадындағы орналасқан 
ҧясының адресі болып табылады. 


 
91 
Нұсқауыштар.  Нҧсқауыш  мәліметтердің  адресін  сақтайтын  айнымалы  бо-
лып  табылады.  Жалпы  алғанда,  нҧсқауыш  адрестің  символдық  кескінделуі 
болып  саналады.    Қарастырылатын  мысалда  &sum  –  sum  атты  айнымалыға 
сілтейтін  нҧсқауыш  болып  табылады.  Нақты  адрес  ретінде  белгілі  бір  сан 
тҧрады, ал &sum нҧсқауыш типті константа болып табылады.  
С  тілінде  нҧсқауыш  типті  айнымалылар  да  бар.  Нҧсқауыш  типті  айныма-
лылар мәні болып белгілі бір шаманың адресі саналады.  
Мысалы, нҧсқауыш типті айнымалы ptr идентификаторы арқылы белгілен-
ген  болсын,  онда  тӛмендегі  оператор  sum  айнымалысының  адресін  ptr  атты 
нҧсқауыш типті айнымалыға меншіктейді. ptr атты нҧсқауыш типті айнымалы 
басқа да объектіге сілтеуі мҥмкін.  
Мысалы: 
int *ptr; 
ptr=∑ ptr=&max; 
*  операциясы  –  адрес  арқылы  қатынас  жасау  ҥшін  пайдаланылатын 
операция.  Мысалы,  ptr  нҧсқауыш  типті  айнымалысында  max  айнымалысына 
нҧсқайтын  сілтеме  сақталған  болсын.  Осы  айнымалының  мәнін  білу  ҥшін  * 
адресі бойынша қатынас жасау операциясын қолдануға  болады.  ptr нҧсқауы-
шы мәнін анықтау ҥшін келесі операцияны орындау қажет:  res=*ptr;   
Нұсқауышты сипаттау. Нҧсқауыш типті айнымалыны сипаттағанда беріл-
ген нҧсқауыш қандай типті айнымалыға сілтейтінін кӛрсету қажет. Ӛйткені 
әртҥрлі типті айнымалыға компьютер жадында ҧялардың әртҥрлі саны бӛлініп 
беріледі.  
int   *iptr; 
char  *сptr; 
float *fptr;  
5.4.1  Функциялар арасында байланыс жасау үшін                        
нұсқауыштарды пайдалану 
1-мысал. Бҧл программада айнымалының мәндерін ауыстыру ҥшін нҧсқауыштар 
пайдаланылған: 
#include  
#include  
void change (int *u, int *v) 
  {int temp; 
   temp = *u; *u = *v; *v = temp; } 
main() 
{ int x=5, y=10; 
  clrscr(); 
  printf ("x=%d y=%d\n",x,y); 
  change (&x,&y); 
  printf ("x=%d y=%d\n",x,y); 
  getch(); 



 
92 
Нәтижесі: 
x=5  y=10 
x=10 y=5   
5.4.2  Жиымдар және жиымдарға қолданылатын нұсқауыштар  
Жиымдарды  сипаттағанда,  элементтер  типі  және  жалпы  жағдайда 
компьютер  жадының  қажетті  класы  кӛрсетіледі.  Қарапайым  айнымалыларда 
қарастырылатын  қасиеттер  жиымдарды  да  сипаттау  кезінде  қолданылуы  мҥм-
кін. Мысалы: 
int b[30]; 
main() 
{ float a[30]; 
static char c[20]; 
extern b[ ]; 
...... 

Жиымдарды  инициалдауды  қарастырайық.  Жиым  сипатталуында  тек 
сыртқы  немесе  статистикалық  жиымдар  ғана  инициалдануы  мҥмкін.  Мысалы, 
8-топтағы студенттер саны stud[8] жиымы ретінде кӛрсетілген: 
#include  
#include  
int stud[8]={15,16,14,18,15,20,17,19}; 
main() 
{ int i; 
clrscr(); 
extern int stud[ ]; 
for(i=0; i<8; i++) 
printf("N %i тобында %i студент\n",  i+1,stud[i]); 

Жиымның нҧсқауыштарын қарастырайық. Мысалы: int *а; 
Жиым  аты  нҧсқауышты  қолданған  жағдайда,  жиымның  0-інші  элементін 
анықтайды,  яғни  а  жиымы  сипатталған  болса,  программа  мәтініндегі  a 
идентификаторы 0-інші элементті кӛрсетеді деп саналады: 
a == &a[0]; 
бҧл теңдеудің екі бӛлігі де – a да және &a[0]-де жиымның 0-ші элементінің 
адресін  анықтайды.  Осы  екі  белгілеу  де  нҧсқауыш  типті  константа  болып 
табылады.  Сондықтан  оларды  мән  ретінде  нҧсқауыш  типті  айнымалыға 
меншіктеуге болады немесе қажет болса, нҧсқауыш типті айнымалының мәнін 
ӛзгертуге болады.  
1-мысал. Нҧсқауыштың мәніне санды қосуға болатынын кӛрсететін программа 
қарастырайық. 
main() 
{int a[4], *pti, i; 
 float b[4], *ptf; 
 pti=a; 


жүктеу 2,9 Mb.

Достарыңызбен бөлісу:
1   ...   31   32   33   34   35   36   37   38   ...   82




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

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