200
аргумент_аты- фукцияда қолданылатын формальді аргумент аты.
Функция туралы сөз болғанды екі түрлі аргумент, біріншісі – нақты аргумент,
екіншісі –формальді аргумент туралы айтылады. Нақты аргумент функцияны
шақырған уақытта беріледі, ал формальді аргумент функция сипаттамасында
ғана қолданылады.
Формальді аргументтер әр түрлі типті болуы мүмкін:void, char, int, float, double
және массив. void типі функцияда формальді аргументтер көрсетілмеген
уақытта қолданылады.
Функция нітижесінде void, bool, int, long, float, double типті айнымалылар
қайтаруы мүмкін. Функция ешқандай мәлімет қайтармайтын болса, void
типімен сипатталады.
ІІ. Мысал.
Берілгені: Үшбұрыш төбелерінің координаттары:(Х
1
,У
1
), (Х
2
,У
2
), (Х
3
,У
3
)
белгілі. Ауданын есептеу керек.
Математикалық моделі: Үшбұрыш ауданын табу үшін Герон формуласын
пайдалануға болады. Бірақ, алдымен қабырғаларының ұзындығын табу керек.
Оны екі нүктенің ара-қашықтығын есептеу формуласымен
D= (X
2
-X
1
) + (Y
2
-Y
1
)
анықтауға болады. Үшбұрыш қабырғаларының ұзындығын есептеуді функция
түрінде ұйымдастыруға болады.
Программасы:
С тілінде:
С++ тілінде:
#include
#include
float dlina(int x,int y,int xx,int yy);
main()
{
int x1,x2,x3,y1,y2,y3;
float ab,bc,ac,p,s;
printf("\n x1="); scanf("%d",&x1);
printf("\n y1="); scanf("%d",&y1);
printf("\n x2="); scanf("%d",&x2);
printf("\n y2="); scanf("%d",&y2);
printf("\n x3="); scanf("%d",&x3);
printf("\n y3="); scanf("%d",&y3);
ab=dlina(x1,y1,x2,y2);
bc=dlina(x2,y2,x3,y3);
ac=dlina(x3,y3,x1,y1);
p=(ab+bc+ac)/2;
s=sqrt(p*(p-ab)*(p-bc)*(p-ac));
printf("\n s=%f",s);
return (0);
#include
#include
float dlina(int x,int y,int xx,int yy);
main()
{
int x1,x2,x3,y1,y2,y3;
float ab,bc,ac,p,s;
cout<<"x1="; cin>>x1;
cout<<"y1="; cin>>y1;
cout<<"x2="; cin>>x2;
cout<<"y2="; cin>>y2;
cout<<"x3="; cin>>x3;
cout<<"y3="; cin>>y3;
ab=dlina(x1,y1,x2,y2);
bc=dlina(x2,y2,x3,y3);
ac=dlina(x3,y3,x1,y1);
p=(ab+bc+ac)/2;
s=sqrt(p*(p-ab)*(p-bc)*(p-ac));
cout<<"s="<return (0);
201
}
float dlina(int x,int y,int xx,int yy)
{
float d;
d=sqrt(pow(xx-x,2)+pow(yy-y,2));
return (d);
}
}
float dlina(int x,int y,int xx,int yy)
{
float d;
d=sqrt(pow(xx-x,2)+pow(yy-y,2));
return (d);
}
Өзіндік жеке тапсырмалар:
1. Сыныптағы әрбір оқушының бойы мен салмағы белгілі. Әрқайсысының
салмағы бойынан қаншалықты ауытқитынын, яғни қаншаға артық не кем
екенін анықтаңыз.
2. Екі бөлшекті қосу керек. Ең үлкен ортақ бөлгішін табуды функция түрінде
жаз.
3. Автопаркте белгілі госномерлі 5 машина жұмыс жасайды. Әрбір жүргізуші
күнде түскен табысты автошаруашылыққа тапсырады. Бір аптадағы
күнделікті түсіп отырған табыс мөлшері белгілі. Қай машина осы аптада ең
көп табыс түсіргенін анықтаңыз.
4. Клавиатурада енгізілген сандардың жәй сан ба екенін тексеріңіз.
5. Апта басында дүкенге 5 түрлі конфет әкелінді. Дүкенші күнде әрбір конфет
түрінен қанша табыс түскенін жазып отырады. Апта соңында қай конфет
түрінен көп пайда түскен?
6. Клавиатурадан 5 адамның аты енгізіледі. Әрбір адамның атындағы дауысты
дыбыстар санын анықтаңыз.
7. Қаланың 5 дүкенінде сатылатын қаймақ бағасы белгілі. Қай дүкенде қаймақ
арзан, ал қай дүкенде қымбат екенін анықтаңыз.
8. Бір аптаның әрбір күніндегі ауа температурасы белгілі. Әр аптаның орташа
температурасын анықтаңыз.
9. Фирма қызметкерлерінің жастары белгілі. Жасы орта жастан жоғары
қызметкерлердің санын анықтаңыз.
10. Компьютерлік кластағы мониторлардың шығарылған жылы белгілі. Ең көне
монитордың шығарылған жылын анықтаңыз.
11. Бес бөлменің әрқайсысын сырлау үшін қажетті ақ, қызыл, көк, түсті бояу
саны белгілі. Ақ, қызыл, көк бояулардың әрқайсысынан барлығы қаншасы
қажет.
12. Топтағы студенттердің туған айы белгілі. Олардың қаншасы қыста,
қаншасы көктемде, қаншасы жазда, қаншасы күзде туғанын анықтаңыз.
13. Кассадағы 200-к, 500-к және 1000-қ купюралар саны белгілі. Барлығы
кассада қанша ақша бар?
202
14. Топтағы әрбір студенттің себепті және себепсіз жіберген сағаттар саны
белгілі. Жалпы топтағы себепті және себепсіз жіберілген сағаттар саны
қанша? Қайсысы көп?
15. Театрда спектакльге сатылған билеттер саны және әрбір қатардағы билет
құны белгілі. Осы спектакльден театрға қандай мөлшерде табыс түсті.
Бақылау сұрақтары:
1. Ішкі программалар дегеніміз не?
2. Функция қандай типті мәндер қайтара алады?
3. Функция параметрлерінің берілу механизмі қандай?
4. Қай уақытта функцияларды қолданған дұрыс?
Блиц-тест:
1. Функцияның ішінде ғана пайдаланылатын аргументтер қалай аталады:
A) Формальді;
B) Глобальді;
C) Нақты;
D) Уақытша;
E) Локальді;
2. Ешқандай мән қайтармайтын функцияны көрсетіңіз:
A) void kos(int x, int y);
B) float kos(float y);
C) bool kos(int x, int y);
D) float kos(char x);
E) double kos( float *p);
3. Аргументтері бүтін тип ретінде сипатталған функцияны көрсетіңіз:
A) bool kos(int x, int y);
B) float kos(float y);
C) void kos(int x, int y);
D) float kos(char x);
E) double kos( float *p);
Глоссарий:
Функция параметрлері – ішкі программаға берілетін бастапқы
мәндер мен нәтижелік мәндердің көшірмесі немесе оларға
Көрсеткіштер тізімі.
Достарыңызбен бөлісу: |