DL1MP1K | Date: ხუთშაბათი, 2012-02-09, 7:45 PM | Message # 1 |
Lieutenant colonel
Group: VIP
Messages: 77
Awards: 0
Reputation: 1
Status: გასული
| საერთოდ ფუნქცია და მისი დანიშნულება პროგრამირების ენებში, ყველგან თითქმის ერთია. ჩვენი თემების ყველა ლექციებში ამ საკითხს უკვე შევეხეთ, განვიხილეთ თითოეული პროგრამირების და ენის მიხედვით მისი დანიშნულება და მისი შემოტანის პრიორიტეტი. ახლაც გვინდა მოკლედ აგიხსნათ ის, თუ რას წარმოადგენს ფუნქცია და რა დანიშნულება გააჩნია მას. წარმოიდგინეთ წერთ რომელიმე პროგრამის კოდს, სადაც ერთი და იგივე კოდის (ვთქვათ, რაიმე ტექსტური ჩანაწერის) მრავალჯერ გამეორება გიწევთ, რა ხდება ამ დროს? იძულებულები ვართ ეს კოდი ყველგან გავიმეოროთ, ამით რა თქმა უნდა იზრდება პროგრამის კოდი, რაც ხელს უშლის პროგრამის მოქნილობას და ასევე რა საკვირველია ვკარგავთ ბევრ დროს. აი ფუნქციის შემოტანით ამ შრომის აცილება შესაძლებელია და თუ როგორ, ამაზე ქვემოთ. ფუნქციის გამოყენება აადვილებს აგრეთვე პროგრამაში გაპარული შესაძლო შეცდომის პოვნას და შესაძლებელია აგრეთვე ამ ფუნქციის სხვა ახალ პროგრამაშიც გამოყენება, უბრალოდ კოპირების მეთოდით გადავიტანთ ფუნქციაში შესულ ბრძანებებს და მორჩა. როგორც ხედავთ, ფუნქციის შემოტანას პროგრამირებაში ბევრი უპირატესობანი გააჩნია, ამიტომ ჩვენი რჩევაა, გულმოდგინეთ მოეკიდოთ ამ საკითხს. როგორც ცვლადები, ასევე ფუნქციებიც პირველ რიგში უნდა განისაზღვრონ, ჩვენი ფუნქციის განსაზღვრა ხდება main() ფუნქციის წინ, ხოლო მისი გამოძახება შესაძლებელია თვით ამ main() ფუნქციიდან; მარტივად ვწერთ ჩვენი ფუნქციის სახელს და მორჩა. ფუნქციის განსაზღვრისას პირველ რიგში ვფიქრობთ მის სახელზე და იმაზე, თუ რა დანიშნულება უნდა ქონდეს ამ ჩვენს ფუნქციას, ანუ რა მუშაობა უნდა გაწიოს მან ჩვენს პროგრამაში. ფუნქციის სახელი სასურველია იყოს ნათელი, რათა შემდეგი მუშაობის შესრულებაში ადვილად შევძლოთ მთლიანი კოდის ანალიზება. შემოვიტანოთ ერთი მაგალითი ახლა და მივყვეთ მას ნაბიჯ-ნაბიჯ, რათა გავერკვეთ ფუნქციის წესებში. როგორც ყოველთვის ფუნქციას ეძლევა სახელი; misalmeba(), რომლის ბოლოშიც ვსვამთ ფრჩხილებს, თუ რას წარმოადგენენ ეს ფრჩხილები, ამაზე ქვემოთ გვექნება საუბარი, მოკლედ კი გეტყვით, რომ ეს ფრჩხილები წარმოადგენენ ადგილს სადაც ხდება ფუნქციის პარამეტრების განსაზღვრა. ახლა მივყვეთ კვლავ ჩვენს მაგალითს. რა მოვალეობა ეკისრება ჩვენს მიერ შექმნილ ახალ ფუნქციას misalmeba(), რა მუშაობა უნდა შესრულოს მან ჩვენს პროგრამაში. როგორც თვით ფუნქციის სახელი გვეუბნება, საჭიროა მან ჩვენს პროგრამაში შეასრულოს მისალმების ფუნქცია, ანუ როდესაც ჩვენ გვსურს მივესალმოთ ჩვენს მომხმარებელს (მას ვინც ჩვენი დაწერილი პროგრამით იხელმძღვანელებს). როგორც უკვე წინა ლექციებიდან ვიცით, ტექსტური ჩანაწერების გადმოცემას ვახდენთ ბრძანებით cout, რომელსაც მიეთითება აუცილებლად ეს ნიშანი <<, რომლის შემდეგაც ვათავსებთ ჩვენთვის სასურველ ტექსტს, რომელსაც ვხურავთ კვლავ ამ ნიშნით <<, და ბოლოს ვუთითებთ ბრძანებას endl, ამ უკანასკნელის დანიშნულებაა, შემოიტანოს ახალი სტრიქონის დასაწყისი. cout << "gamarjobaT xalxooo!" << endl; //არ დაივიწყოთ, რომ C++ პროგრამირებაში, ასევე ჯავა ენაში ყოველი საპროგრამო სტრიქონი მთავრდება წერტილ-მძიმეთი, ანუ ასე ; ფუნქციებს შეუძლიათ საბოლოო შედეგების უკუ ასახვა მოახდინონ, რომლებსაც ენიჭებათ ტიპაჟები, ანუ იმ ტიპების სახეობები, რომელი სახისაც უნდა იყოს შედეგის მნიშვნელობა. (int, duble ან string). ამიტომ ყოველ ფუნქციას მისი განსაზღვრისას ფუნქციის სახელის წინ მიეთითება შესაბამისი ტიპაჟი. ხოლო იმ შემთხვევაში, როდესაც არაა საჭირო ფუნქციის ბოლო შედეგის გადმოცემა, როგორც ამ ჩვენს მაგალითში, მაშინ მიეთითება სპეციალური ბრძანება void მაშასადამე ჩვენი ფუნქციის განსაზღვრა ხდება ასე: void misalmeba() ახლა ავდგეთ და მოვათავსოთ ჩვენი ტექსტური ჩანაწერი ფუნქციის იმ სპეციალურ ბლოკში, რომელიც იჭყება { ამ ფრჩხილით და მთავრდება ამით }. void misalmeba() { cout << endl; cout << "gamarjobaT xalxooo!" << endl; cout << endl; } კი ბატონო, დავწერეთ ფუნქცია, რომელსაც დანიშნულებაც მოვანიჭეთ, მაგრამ როგორ მოვახდინოთ მისი გამოძახება? როგორც ზემოთ ვთქვით, გამოძახებისას ვწერთ მხოლოდ ფუნქციის სახელს, თავისივე ფრჩხილების ( ) ჩათვლით და მორჩა. ჩაწერას ვახდენთ იმ ადგილას სადაც გვინდა, რომ ჩვენი მისალმება გამოჩნდეს. თუ შემოვიტანთ ჩვენი მაგალითის მთლიან სახეს, ვნახავთ შემდეგს, რომ ფუნქციის განსაზღვრას ვახდენთ თავში, კერძოდ კი main() ფუნქციის წინ, ხოლო გამოძახებას კი თვით ამ main() ფუნქციის ბლოკის არედან.
#include < iostream >
using namespace std;
void misalmeba()
{
cout << endl; cout << "gamarjobaT xalxooo!" << endl; cout << endl; } int main()
{
misalmeba();
return 0;
}
როგორც ხედავთ არც თუ ისე ძნელი ყოფილა ფუნქციათა განსაზღვრა და მათი გამოძახება, მაგრამ ეს კიდევ დასაწყისია, ფუნქციები პროგრამირებაში უმნიშვნელოვანეს ადგილს იკავებენ, საჭიროა მათი საფუძვლიანად შესწავლა და მათი დახმარებით გვერწმუნეთ გადაჭრით თქვენთვის მნიშვნელოვან საკითხებს. ლექციის შემდეგ თავში ლაპარაკი გვექნება ფუნქციის პარამეტრებზე და მათ დანიშნულებაზე.
მიზანი ამართლებას საშუალებას ! ვინც ეძებს ის პოულობს : http://therealgta.ucoz.com ითამაშე ფლეშ თამაშები : http://gamesforboys.in
|
|
| |