Арттыру/кеміту операцияларын өрнек ішінде де орындау мүмкіндігі бар.
Мысалы:
sum=a+b++;/*алдымен a,b қосылады, сонан соң b 1-ге артады */
sum=a+ ++b;/*алдымен b 1-ге артады, сосын барып a,b қосылады */
Арттыру/кеміту операцияларының приоритеттері өте жоғары, тек жақша
ішіндегі операциялардың приоритеті олардан жоғары болады.
Құрама оператор бірнеше операторды жүйелік жақшаға алып біріктіру
үшін қолданылады. Ол шартты жəне циклдік операторларда жиі қолданылады.
Функция — это последовательность операций и других функций, к которой можно обращаться из любой части кода.
Например стандартные функции max() и min().
Если посмотреть на языки программирования в общем, то помимо функций есть и процедуры.
Они отличаются от функций тем, что не возвращают никакого значения. Т.е к ним нельзя приравнивать переменные.
В C++ таких различий нет, так что мы будем называть процедуры функциями.
Ішкі бағдарлама - көлемі жағынан орташа болып келетін бағдарламаларды (бірнеше мың жолды код) құрастырғанда құрылымды бағдарламалау қолданылады. Бағдарламаның құрылымы шығарылып жатқан есептің құрылымын көрсету керек, сонда бағдарлама мәтінінен есепті шығару алгоритмі түсінікті болады. Ол үшін қарапайым операторлар жеткіліксіз, алгоритмнің нақты құрылымын дәлірек көрсететін құралдар қажет. Сондықтан бағдарламалауға жаңа ұғым – ішкі бағдарламалар енгізілді
Қазіргі кезде программалау технологиясы жоғарыдан төмен қарай орындалатын әрекеттерді біртіндеп айқындау тәсілін кең пайдаланады. Осы технологияға сәйкес күрделі есептің белгілі бір бөлігі тәуелсіз қарастыруға болатын блок – қосалқы программа ретінде құрылуы мүмкін сондықтан ішкі программаның ролі орасан зор.
Белгілі бір атпен жеке программа түрінде бөлек жазылған, қажет кезінде оны қайталанып отыруға болатын негізгі программаның арнайы бөлігі ішкі прорамма деп аталады.
Ішкі (көмекші) программаның екі түрі бар. Паскальда біріншісін процедура деп, екіншісін функция деп атайды. Көмекші программа толық программа түрінде құрылып, негізгі программаның VAR бөлімінен соң орналастырады. Олардың саны бірнеше болуы да мүмкін.
Белгілі бір әрекеттерді орындау мақсатында алдын ала бекітілген аты бойынша шақырылып орындалатын прорамманың тәуелсіз бөлігі процедура деп аталады. Процедурада жұмыс нәтижесі бірнеше мәнге ие болуы мүмкін. Процедура тақырыбы көмекші программаны анықтаушы PROCEDURE қызметші сөзінен басталып, оның оң жағына процедураның атауы енгізіледі. Одан әрі жай жақшалар ішінде формальды параметрлер сипатталады да, тақырыптың соңына нүктелі үтір символы қойылады. Ол – процедура тақырыбын өзінің басқа бөлімдерінен ажырату белгісі. Тақырыптан соң негізгі программадағы сияқты сипаттау бөлімдері енгізілуі мүмкін. Бұдан әрі BEGIN, END қызметші сөздерімен шектелген операторлар бөлімі жазылады да, END-тен соң нүктелі үтір таңбасы қойылады:
Бір ғана функция мәнін есептейтін көмекші программаны Паскальда функция деп атайды. Функция тақырыбының процедура тақырыбынан айырмашылықтары:
- тізім соңындағы жабу жақшасынан соң қос нүкте қойылып, одан әрі функция типі жазылады;
- формальды параметрлер – нақты параметрлер меншіктелетін параметр-мәндер.
Мұнда анықталушы функция (өрнек) мәнін есептеу операторының жазылуында да өзгешелік бар: өрнек меншіктелетін айнымалының атауы – function тақырыбындағы атаумен бірдей болуы тиіс. Негізгі программаға енгізілетін функцияны шақыру командасы да жеке оператор түрінде емес, sin, cos, т.б. стандартты функциялар сияқты, өрнекке енгізіліп жазылады.
Ішкі бағдарламалар түрлері
Қандай да бір алгоритм бойынша жұмыс жасайтын және өзіне негізгі бағдарламаның кез келген бөлігінен қатысуға болатын бағдарламаның жекелеме бөлігін ішкі бағдарлама деп атайды. Ішкі бағдарламалар негізгі бағдарламының ішіндегі кіретін және шығатын орындары бар тұйықталған бөлігі болып табылады. Негізгі бағдарлама мен ішкі бағдарламадағы айнымалылар бір-біріне бағынышты емес.
Ішкі бағдарламаның екі түрі болады – процедуралар және функциялар. Олардың айырмашылығы: процедура белгілі бір операторлар тобын орындаса, функция осыған қоса қандай да бір нәтижені есептеп, оны негізгі бағдарламаға қайта жібереді. Бұл нәтиженің өзіне тән типі болады. Си++ бағдарламалау тілінде «процедура» деген ұғым жоқ, онда тек қана функция қолданылады. Егер функция ешбір нәтиже есептемесе, онда ол «ешқандай» (void) типін қайтарады.
Кез келген бағдарламада бірнеше процедура немесе функция қолданылуы мүмкін. Процедура мен функция сипаттау бөлігінде айнымалылар бөлігінен кейін жарияланады.
Бағдарламаның орындалуы негізгі бағдарламаның операторларынан басталады. Қажет жағдайда ішкі бағдарлама шақырылып, оның операторлары орындалады. Содан соң басқару қайтадан негізгі бағдарламаға беріліп, бағдарламаның орындалуы жалғасады.
Ішкі бағдарлама негізгі бағдарлама сияқты құрылады, яғни бағдарлама атауынан, операторлар бөлігінен және аяқталуынан құрылады.
Параметрдің екі түрі болады: формальды шын мәніндегі параметрлер
Шын мәніндегі параметр деп процедураны шақырар кездегі негізгі бағдарламадағы параметрлерді айтамыз. Ал формальды параметрлер ішкі бағдарламаның атауынан кейін көрсетіледі.
Формальды параметрлер тізімінде айнымалылар аталып, олардың типтері көрсетіледі.
Формальды параметрлерді екіге бөлуге болады:
параметр-аргументтер, яғни процедура үшін кіретін мәліметтер;
параметр-нәтижелер, осы параметр-нәтижелер арқылы процедураның жұмысының нәтижесін негізгі бағдарламаға қайтарады.
Параметр - нәтижелер тізімдерінің алдында var сөзі жазылады. (Паскаль).
Процедуралар
Процедура – белгілі ретпен іске асырылатын іс-әрекеттер жиыны, жалпы бағдарламаның бір бөлігі.
Шартты және таңдау операторлары. Олардың айырмашылықтары.
Шартты оператор. Шартты оператордың орындалу схемасы (3.1 сурет) мен жалпы жазылу түрі мынадай:
if (шарт)
1-оператор;
else
2-оператор;
Мұнда жақшадағы шарт түріндегі өрнек ақи-
қат болса, 1-оператор орындалады, əйтпесе
2-оператор атқарылады. Операторлар қара-пайым немесе құрама болып жазыла береді.
if (шарт)
1-оператор;
Кейде қабаттасқан шартты операторлар
кездеседі (3.3 сурет), мысалы:
if (1-шарт)
1-оператор;
else if (2-шарт)
2-оператор;
else
3-оператор;
Мұнда егер 1-шарт ақиқат болса, 1-оператор орындалады, егер 1-шарт жалған болып, 2-шарт
ақиқат болса, 2-оператор орындалады, ал 1-шарт жəне 2-шарт жалған болса, 3-оператор
атқарылады.
Ондағы кез келген else түйінді cөзі (keyword) оның алдында ең жақын тұрған if операторына
қатысты болып саналады. Мысалы, берілген х, у – екі санның үлкенін анықтау үшін жазылған шартты операторды былай жазуға болады:
if (x>y) max=x;
else max=y;
Ал х, y, z сияқты үш санның үлкенін табу үшін, қабаттасқан шартты операторлар жазы-лады (3.4 сурет).
if (x>y)
{if (x>z) max=x;
else max=z;}
else if (y>z) max=y;
else max=z;
Логикалық ЖƏНЕ операциясын пайдалана оты-рып, бұл есепті мынадай түрде де жаза аламыз.
if ((x>y)&&(x>z)) max=x;
else if ((y>z)&&(y>x)) max=y;
else max=z;
Достарыңызбен бөлісу: |