Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прог.docx
Скачиваний:
116
Добавлен:
24.03.2015
Размер:
105.45 Кб
Скачать
  1. Алгоритм және оның қасиеттері. Алгоритм түрлері.

  2. Программалау және программа, программалау тілдері. Программалау тілдерінің түрлері. Программаны түзету (отладка), тестілеу.

  3. С, С++ тілінің құрылымы. Негізгі анықтамалары, синтаксис, семантика. Айнымалылар типтері. Трансляция сатысы. Командалар, операторлар, тұрақтылар. Идентификатор. Арифметикалық және логикалық амалдар.

  4. Стандартты функциялар. Ішкі программалар. Функция. Енгізу-шығару операторлары. Меншіктеу операторы.

  5. Шартты және таңдау операторлары. Олардың айырмашылықтары.

  6. Цикл. Циклдік операторлар. Олардың міндеттері мен қолданылу.

  7. Функция. Оның программада қолдану ерекшеліктері. Функцияны сипаттау және анықтау. Прототип. Рекурсия. Рекурсия механизмі. Рекурсивтік функция. Оны қолданудың артықшылығы.

  8. Массивтерді сұрыптау алгоритмдері.Таңдау әдісі. Массивте екілік іздеу. Орын алмастыру әдісі. Орнына қою әдісі (метод вставок). Айырмашылықтары.

  9. Құрылымдық типті айнымалылар. Екі өлшемді массивтер. Матрицаны өңдеу тəсілдері.

  10. Статикалық және динамикалық массивтер. Айырмашылықтары. Мысал келтіріңіз.

  11. Минимумды табу арқылы сұрыптау және қарапайым орын ауыстырып сұрыптау алгоритмдерінің айырмашылықтары.

  12. Көпіршікті әдіс.

  13. Файлдық типтер. Файлдармен жұмыс істеуге арналған жалпы функциялар. Файлдармен жұмыс. Файлдардан мәліметті енгізу-шығару.

  1. Алгоритм және оның қасиеттері. Алгоритм түрлері.

Алгоритм – қатаң алғышарттар – орындаушы үшін мақсатқа жеткізетін, яғни есепті программа құру арқылы шығаруға мүмкінді беретін бұйрықтардың жиынтығы. Ол – арнайы іс-әрекеттердің белгілі бір кезекпен орналасқан тәртібі. Ол алгоритмді атқарушы ЭЕМ-ге жұмыс тәртібін түсіндіретін ережелер мен нұсқаулар тізбегінен тұрады.

Сонымен, әрбiр нұсқау – команда. Алгоритмде командалар тәртібінің маңызы зор. Алгоритмнiң командалары кезек­пен бiрiнен кейiн бiрi орындалады. Алгоритмнiң орындалу кезiнде оны орындаушыға келесi жолы қандай нұсқау бойынша орындалатыны белгiлi болуы қажет. Ал орындаушының жүзеге асыра алатын командалар жиыны ко­мандалар жүйесiн құрайды.

Алгоритм құру кезінде орындаушының құрылғыларын емес, оның командалар жүйесін білу қажет, яғни алгоритмді орындаушы түсініп, жүзеге асыра алатын көптеген алғышарттармен таныс болу абзал. Орындаушыларды формальдыемес (адам) және формальды (робот, машина немесе программалау тілдері) деп бөлуге болады. Алда біз тек формальды орындаушымен жұмыс жасайтын боламыз.

Алгоритмнің ең маңызды қасиеті мынада: орындаушыдан есепті шығару әдісін түсіну талап етілмейді, орындаушы инструкцияларды түсініп, оларды орындай алу керек.

Есептерді шешу алгоритміне қойылатын талаптар жоғары. Ол дискреттілік, жалпыламалық, компактілік, анықталғандық және нәтижелілік деген қасиеттерге ие болу керек.

Дискреттілік әрбір алгоритм үздікті, дискретті сипатқа ие, яғни бірінен кейін бірі орындалатын бөле аяқталған қадамдар тізбегін құрайды. Алгоритмнің әрекеттері бір-бірінен бөлек және олардың әрқайсысының орындалуы өзінің алдындағысынан кейін ғана мүмкін болуы–дискреттілік қасиет болады.

Жалпыламалық бир типтес есептерің кең класын шығаруға жарайтындай болу қабілеті.

Алгоритмнің компактілігі дегеніміз – оның қысқалығы, инструкцияларының минимальдығының қасиеті. Өте жақсы құрылған алгоритм болып қысқа және есептеу санының минимальды қасиетіне ие алгоритм саналады.

Анықталғандық – алгоритм дәл анықталған болуы керек жөнінде және орындаушыға кез-келген алғышарттар қоюға жол бермейтіндей оны сипаттайтын алгоритмнің қасиеті.

Нәтижелілік – алгоритмнің орындалуы белгілі бір нәтижеге жеткізетін түрі. Алгоритмнің бұл қасиеті қажет нәтижені қадамдардың ақырлы санынан кейін қамтамасыз етеді.

Түсініктілік – бұл орындаушының командалар жүйесін есепке алғандағы алгоритм құрылуының міндеттілігі, яғни алгоритм орындаушыға түсінікті түрде бекітілу қажет.

Алгоритмнің әр әрекетінің орындалу ережесін кез-келген орындаушы бірмәнді түсінуі керек. Бұл бірмәнділік қасиет деп аталады.

Алгоритмдердi графика жолымен жазу, онан кейiн оны программаға айналдыру iстерi мемлекеттiк стандартпен бекiтiлiп ақпарат өңдеу жұмысында кеңiнен қолданылып келедi.

Алгоритмдерді келесі түрлерге бөлуге болады:

  • Есептеуіш (ДК-де есептеу процестерін беретін);

  • Сұхбаттық (ДК-мен сұхбат жүргізу алгоритмдері);

  • Графикалық (ДК дисплейінде графикалық бейнелерді құру алгоритмдері);

  • Мәліметтерді өңдеу;

  • Роботтар, станоктарды және т.б. басқару.

Алгоритмдерді жазудың бірнеше әдістері бар, олар бір-бірінен көрнектілігімен, компактілігімен, формализация дәрежесімен және т.б. көрсеткіштерімен ерекшеленеді. Кең тараған әдістер: графикалық, сөздік, алгоритмдік тілдегі және ЭЕМ үшін программалар.

.Алгоритмдер 3 типті болады (есептеу үрдістер типтері): сызықты, тармақталған, циклдық.

  • Сызықты алгоритм – орындалу барысында операциялар тізбегі алгоритм жазбасындағы тәртібімен сәйкес және енгізілген нақты мәндерден тәуелсіз (жоғарыдан төменге қарай орындалады) болатын тип.

  • Тармақталған алгоритм – операциялар тізбегі шарттың тексерілуімен анықталатын алгоритм.

  • Циклдық алгоритм – бір алғышарт бірнеше рет қайталанып орындалатын алгоритм.

2,Программалау және программа, программалау тілдері. Программалау тілдерінің түрлері. Программаны түзету (отладка), тестілеу.

Программалау тілдері Программаларды жасауда қазіргі заманғы компьютерлерде әр түрлі деңгейдегі программалау тілдері пайдаланылады. Жалпы жағдайда тіл деп информацияның жазылыуын және оның түрленуін белгілі ережелер бойынша формальдыетіп беруші құралдарды түсінеміз. Тілдің құрамында информацияның негізгі элементтерін құрудың құралдары және осы элементтерден әр түрлі мазмұнды құрылымдар құруға арналған ережелер жүйесі бар. Программалау тілі деп деректерді жазуға және оларды белгілі ережелер бойынша өңдеуге арналған адам мен компьютерді байланыстыратын формальды тілді айтамыз. Програмалаудың әр түрлі тілдерін пайдалану. Әр түрлі белгілер бойынша жіктеуге болатын бірнеше жүздеген программалау тілдері бар. Ең жалпысы тілдің машинаға жақындық дәрежесі бойынша жіктеу болып табылады. Осы белгісі бойынша программалау тілдері екі үлкен топқа бөлінеді:машинаға тәуелді тілдер;машинаға тәуелсіз тілдер;Машинаға тәуелді тілдер өз кезегінде былай бөлінеді:машина тілі;машинаға бағдарланған тілдер;

Машинаға бағдарланған тілдер кейде автокодтар деп те аталады. Машинаға бағдарланған тілдердің екі деңгейі бар: символдық кодтау тілдері, басқаша айтқанда мнемокодтар;макротілдер.

Макротілдер машина тілінің командаларына тікелей ұқсастығы жоқ макрокомандаларды пайдалануға рұхсат етеді. Макрокомандаларды пайдалану программаны қысқартады әрі тілді жасау құралдарының жиынын кеңейте отырып программалаушының еңбегінің өнімділігін арттырады. Машинаға тәуелсіз тілдер программаларды бөлшектеу дәрежесіне қарай екі топқа бөлінеді:процедулалы- бағдарланған тілдер;проблемалы – бағдарланған тілдер.

Процедулалы – бағдарланған тілдер есепті шешу алгоритмін сипаттауға арналған, сондықтан да оларды кейде алгоритмдік тілдер деп те атайды. Алгоритмдік тіл деген ұғым программалау тілі деген ұғыммен сәйкес елмейді. Егер алгоритмдік тілде жазылған алгоритмдік жазу компьютерге ендіруге тікелей жарамды және дайын жұмысшы программаға түрленетін болса, онда мұндай алгоритмдік тіл программалау тілі де бола алады. Кейбір алгоритмдік тілдер тек оларға кейбір құралдарды қосқаннан кейін ғана программалау тілі болады. Проблемалы – бағдарланған тілдер есептерді сипаттау үшін қызмет атқарады. Бірақ алгоритмдік тілдер өздігінен барлық проблеманы, тіптен программаны да шеше алмайды. Мұндай тілде жазылған программа компьютерде тікелей орындалмайды, ол орындалу үшін алдын ала сол компьютердің машина тіліне аудару жеткілікті қиын мәселе болып табылады. Алгоритмдік тілден программаны машина тіліне аудару жұмысын компьютердің әмбебаптығын пайдаланып, оның өзіне жүктеуге болады. Бұл үшін әрбір алгоритмдік тілден машина тіліне формальды аударуға яғни аударудың ережесін алгоритм түрінде тұжырымдауға мүмкіндік беретіндей болуы керек. Егер, осы алгоритмді бір рет машиналық программа түріне келтіріп алсақ, онда одан кейін осы программаның көмегімен компьютердің өзі берілген алгоритмдік тілде жазылған кез келген программаны нақтылы компьютердің машина тіліне аударып бере алады. Мұндай арнайы аудармашы-программа жоғарыда айтқанымыздай транслятор деп аталады. Машина тілі Компьютердің ақпараттық бөлігі тікелей түсінетін жалғыз тіл: ол – машина тілі. Машина тілі деп копьютердің құрамындағы процессор командаларының кодын айтамыз. Архитектурасы әртүрлі процессорлардың машина тілдері де түрліше болады. Тек өзара үйлестірілген процессорларда ғана машина тілдері бірдей болады. Мұндай процессорлардың командалар жүйесі төменнен жоғары қарай үйлесімділікте болады деп айтылады. Сонымен әрбір компьютердің өзінің машина тілі болады және ол тек осы тілде жазылған программаларды ғана тікелей орындай алады. Машина тілінде программалау деп программаға енетін командалардың реальды кодтарын тікелей жазуды айтамыз. Командалардың кодтары әр түрлі санақ жүйелерінде берілуі мүмкін:

  • екілік;

  • сегіздік;

  • он алтылық;

Бағдарламаны тестілеуТестирование программы – бағдарламада қарастырылған режімдерде де, қарастырылмаған режімдерде де жұмыс істейтін бағдарламаны жан-жақты тексеру.

  1. С, С++ тілінің құрылымы. Негізгі анықтамалары, синтаксис, семантика. Айнымалылар типтері. Трансляциясатысы. Командалар, операторлар тұрақтылар. Идентификаторрифметикалық және логикалық амалдар.

С++ тілі Си тілінің толықтырылған жиыны деуге болады. Си және С++ тілдерінің мен мәләметтер типтерінің аттары болып табылады. С- де класс түсінігі жоқ. С/С++ тіліндегі тіліндегі кез-келген программа main функциясынан тұрады. Мұның орындалу барысында басқа функциялар шақырылады.

Программа құрылымы: Кез-келген программа комментарийден басталады. Комментарийді Си тілінде блок түрінде беруге болады. Содан кейін препроцессор дерективасы орналасады. Препроцессор директивасы берілгенде кітапханалық файлда - тақырыптық файлда орналасқан кодты программаға қою .h файлдар деп аталады. Тақырыптық файлдарда әртүрлі тұрақты мен кейін main функциясы сипатталған бөлігі орналасады. Main функциясы... одан орындалуы басталып, Return инструкциясы шақырылғанда аяқталады. Main функциясының денесі фигуралық жақшада орналасады. Си тілінде жазылған программа текстінде кездесетін инструкциялар (нұсқаулар) препроцессор директивасы (ПД) деп аталады. Олар орындалады және программаның текстін өзгертуге мүмкіндік береді. Мысалы текстегі кейбір лексемдерді өзгерту, басқа файлдан мәтінді да бір бөлігін орындауға, трансляциялауға шектеу қою т.б. Барлық препроцессор директивасы таңбасымен басталады және үтір (;) #include директивасы. Бұл программаға көрсетілген файлдағы мәліметтерді қосады. Бұл директиваның екі формасы бар: #include "файл аты" # include #include директивасы іштестірілген болуы мүмкін, яғни қосылатын файлда тағы кездесуі мүмкін. бұл қосу үшін қолданады, яғни стандартты кітапханалық функциялар прототиптерінен тұратын файлдарды қосуға мүмкіндік береді. Сондықтан С тіліндегі программа осы директивадан #define - жиі қызметші сөздерді, операторларды және өрнектерді кейбір идентификаторлармен ауыстыруға мүмкіндік береді

Синтаксис – тілдің мәтіні (конструкциясы) құрылатын ережелер жиынтығы. Бұл ережелер тілде болуы мүмкін тіл символдары тізбектерін (мәтіндер) береді. Мүмкін емес мәтіндер машиналық бағдарламаларға аударылмайды және транслятормен қабылданбайды.

Семантика – тілдің әрбір конструкциясының мәнін анықтайтын ережелер жиынтығы. Семантика бағдарламаның детерминациясын, яғни белгілі бастапқы мәліметтерде пайда болған есептегіш процестің бірмәнділігінқатамасыз етеді.

Айнымалылар. Айнымалылар типтері Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификатормен белгіленіп,әрбір уақытта белгілі бәр мәнге ие болады.Айнымалылардың белгіленуі:AlFA,X3,SUMMA,A1B8т.с.с.Айнымалылар қарапайым және индексті болуы мүмкін.Индекспен берілген айнымалалар массив деп аталады.

Программа орындалу барысында мәндер өзгеретін шамалар айнымалылар деп аталады. Айнымалылар да, тұрақтылар сияқты программаның var деген қызметші сөзінен басталатын арнайы бөлімінде сипатталынуы тиіс

Айнымалылар сипаттамасының жалпы түрі:

Var

<идентификатор> : <түрі>;

мысалы:

intX,Y,Z;

Max, min: real;

Идентификатор (Identifier) - операциялық жүйе немесе программалау тілі элементтеріне атау ретінде қойылатын лексикалық бірлік. Ол берілген бір мәліметке не олардың тобына қойылады, ал өзі латын әріптері мен цифрлардан тұратын, бірақ міндетті түрде әріптен басталатын символдар тізбегінен құралады. Кейбір тілдерде #, &, -, _ тәрізді өзге символдар және ұлттық әріптер пайдаланыла береді.

Идентифатор төмендегі ережеге сай таңдалуы қажет: 1. Олар латын әріптерінің х немесе астын сызу басталуы қажет . 2. Оның ішінде латын әрпі және астын сызу белгілері қолданылуы мүмкін. Бөтен таңбаларды қолдануға болмайды. 3. Си тілінде кіші және үлкен латын әріптері өзгеше деп саналады. 4. Идентификатордың ұзындығы әр программаның жүйесінде әр түрлі . Си ++ те шектеуі жоқ. 5. Объектілердің идентификаторы тілдің, түйінді сөздерінің стандартты функциядан және библиотека аттарынан өзгеше болуы қажет.

  1. Стандартты функциялар. Ішкі программалар. Функция. Енгізу-шығару операторлары. Меншіктеу операторы.

С++ тілінде алдын ала программалары жасалып стандартты модульге жинақталып қойылған, қажет кезінде пайдалануға болатын объектілердің бірі стандартты функциялар болып табылады. Олар жиі кездесетін математикалық және басқа да функцияларды есептеу үшін қолданылады. Стандартты функцияны жазу үшін міндетті түрде функцияның аты және жақшаның ішінде аргументі көрсетілуі қажет. Стандартты функциялар: fabs(x), sіn(x), cos(x), asin(x), acos(x), tan(x), exp(x), log(x), sqrt(x), atan(x), т.с.с. Қосымшада функция тізімдері мен типтері, жазылу жолдары көрсетілген. Функцияны есептеу барысында аргумент пен функция типтерінің əр уақытта сəйкес келе бермейтінін есте сақтаған жөн. С тіліндегі стандартты функцияларды пайдалану үшін <math.h> тақырыптық файлы (прототипі) қолданылады.

Комментарий – түсініктеме ретінде қолдануға болатын символдар тізбегі. Олар ұлттық алфавиттерді де пайдалана береді. Комментарий басы мен аяғы /* ... */ осындай таңбалармен шектелуі тиіс. Олар бір немесе бірнеше жолдардан да тұра алады. С++ тілінде жол соңында тұратын комментарийлер // симолдарынан кейін орналасады. С жəне С++ тілдерінде құрастырылған есептерді бір компилятор арқылы шығаруға болатындықтан, көбінесе түсінік-темелердің жоғарыдағы екі түрін де пайдалана беруге болады.

/* программа ішіндегі комментарийлер осылай орналасады */

Программалау тілінің белгілі бір іс-əрекетті орындай алатын тиянақты мағынасы бар ең қарапайым сө­йлемі оператор болып табылады. Тіл объектілерін, яғни программада пайдаланылатын мəліметтердің атаулары мен типтерін, олардың алғашқы мəндерін алдын ала тағайындау программаның сипатталуы болып саналады.

Енгізу, шығару операторы.

С++ тілінде С тіліндегі стандарт функциялар енгізу-шығаруға қолданылады. Сонымен қатар С++ тілінде <iostream.h> тақырыптық файлында анықталған енгізу-шығару құралдары бар.

>> енгізу және << шығару операторы - кез-келген типті мәліметтермен жұмыс жасауда қолданылады.

Меншіктеу операторы символдар арқылы жазылады. Кез келген ;

таңбасымен аяқталатын өрнек меншіктеу операторы болып табылады. Өрнектің

бір түріне бос оператор жатады, ол жай ; операторы.

С тілінде меншіктеу операторының бірнеше түрі бар. Жалпы меншіктеу

операторының жазылу форматы мынадай болады:

<айнымалы> = <айнымалы><операция><өрнек>;

Мұны С тілінде қысқаша былай жазуға болады:

<айнымалы><операция> = <өрнек>;

Төменде бірнеше мысал келтірілген.

a=a+b; → a+=b; a=a*b; → a*=b;

a=a-b; → a-=b; a=a/b; → a/=b;

С тілінде тізбектеле жазылған меншіктеу операцияларын да қолдануға

болады. Мысалы:

sum = a = b;

Мұнда меншіктеу операторы оңнан солға қарай орындалады, яғни b-ның

мəні a-ға меншіктеледі, ал а-ның мəні sum-ға меншіктеледі.

Меншіктеу операторын былай да жазуға болады:

Арттыру немесе кеміту (инкремент жəне декремент) операциялары ++

жəне – - түрінде жазылады. Бұлар кез келген операндтың мəндерін бірге

арттыруға немесе кемітуге мүмкіндік береді.

Инкремент, яғни арттыру операциясы (++) жəне декремент (--), кеміту

операциясы айнымалы (тек айнымалы мəнін) мəнін бірге арттырады немесе

кемітеді. Олар айнымалы мəнін ­згертеді, яғни жасырын түрдегі меншіктеу

амалы болып табылады. Кейде олар жеке оператор түрінде жазылады:

Арттыру/кеміту операцияларын өрнек ішінде де орындау мүмкіндігі бар.

Мысалы:

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 сөзі жазылады. (Паскаль).

Процедуралар

Процедура – белгілі ретпен іске асырылатын іс-әрекеттер жиыны, жалпы бағдарламаның бір бөлігі.

  1. Шартты және таңдау операторлары. Олардың айырмашылықтары.

Шартты оператор. Шартты оператордың орындалу схемасы (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;

Таңдау операторы

Switch көп нұсқалы таңдау операторы

Программада кездесетін бірнеше нұсқаның бірін таңдап алу керек бол­ған жағдайда, switch ауыстырғыш операторы қолданылады. Оператордың орындалу схемасы төмендегі 3.6 суретте келтірілген. Оның жалпы жазылуы:

switch <бүтін типті өрнек>;

{

case белгі1: операторлар;

case белгі2: операторлар;

................

[default: операторлар;]

}

#include<iostream.h> int main() {   int m;    cout<<" m- ді енгіз :";    cin>>m;   switch(m);   {    case 1: cout<<"Yanvar'"; break;    case 2: cout<<"Fevral'"; break;    case 3: cout<<"Mart"; break;    case 4: cout<<"April"; break;    case 5: cout<<"May"; break;    case 6: cout<<"June"; break;    case 7: cout<<"Jule"; break;    case 8: cout<<"Avgust"; break;    case 9: cout<<"Sentyabr'"; break;    case 10: cout<<"Oktybr'"; break;    case 11: cout<<"November"; break;    case 12: cout<<"Desember"; break; default: cout("Сан 1..12диапазонындаболуыкерек")   } return 0; }

Switch орындалуы кезінде цикл аяқталмай-ақ одан шығып, қалған оператор-ларды аттап өтіп, осы цикл параметрінің келесі мəніне көшу үшін continue операторықолданылады, яғнициклдіңкелесіитерациясына – қадамынабасынанбастапауысужүзегеасырылады.

Мысал:

#include <stdio.h>

main()

{

int i;

printf("\nБүтін сан енгіз: )";

scanf(“%i”,&i);

switch(i)

{case 1: printf("\nСан бірге тең!");

case 2: printf("\n2*2=%d",i*i);

case 3: printf("\n3*3=%d",i*i);break;

case 4: printf("\n Сан төртке тең!";

default: printf("\nАяқталды"; }}

  1. Цикл. Циклдік операторлар. Олардың міндеттері мен қолданылу.FOR цикл операторы

For операторы айнымалы ретінде берілген цикл параметрінің алғашқы, соңғы мәні мен өзгеру қадамы белгілі болғанда, соған сәйкес бір немесе бірнеше операторларды қайталап орындау кезінде қолда­нылады. Бұл оператор параметрлі цикл операторы немесе арифмети­калық цикл деп аталады.

While, Do ... while цикл операторы

Орындалу саны алдын ала белгісіз болатын циклдер құру кезінде шарттары алдын ала немесе соңынан тексерілетін екі цикл түрі бар. Оның жазылуы:

while (шарт-өрнек)

оператор;

Мұнда шарт ретінде шартты өрнек немесе кез келген типтегі өрнек пайдаланылуы мүмкін. Оператор қарапайым немесе құрама болуы мүмкін. Ол құрама оператор болса, онда операторлар жиыны жүйелі жақшаға алынып жазылады. While операторы орындалғанда, алдымен жақша ішіндегі өрнек есептеліп тексеріледі. Егер өрнек мәні ақиқат болса немесе жалпы жағдайда 0-ге тең болмаса, онда оператор атқарылады. Содан соң жақшадағы өрнек тағы да есептеледі. Егер өрнек мәні жалған болса (немесе жалпы жағдайда 0-ге тең болса), онда while цикл операторы өз жұмысын аяқтайды.

Do ... while цикл операторы

Шарты соңынан тексерілетін do … while циклінің оператордың жалпы жазылу түрі:

do

{

1-оператор;

2-оператор;

… … …

n-оператор;

}

while (өрнек);

Цикл тұлғасы ретінде қарапайым немесе құрама оператор қолданылуы мүмкін. Жақшадағы өрнек цикл тұлғасынан кейін тексеріледі. Сондықтан do while цикл тұлғасы ең болмағанда бір рет орындалады. Цикл тұлғасынан кейін жазылған өрнек ақиқат болса (немесе жалған жағдайда ол 0-ге тең болмаса), цикл тұлғасы қайтадан орындалады. Ал өрнек жалған болса (немесе 0-ге тең болса), цикл аяқталады.

#include <iostream.h>

 int main()

{inti;

intsum = 0;

for (i = 1; i<= 1000; i++)

{ sum = sum + i; } cout<< "Сумма чисел от 1 до 1000 = " <<sum<<endl; }