Тапсырмалар 1. Кез келген сандардың бiрөлшемдi А(10) жиымындағы оң элементтердi екi есе кемiтiңдер, ал терiс элементтерi болса, онда оларды индекстерiнiң мәнiмен ауыстырыңдар.
2. Бiрөлшемдi А(10) жиымындағы терiс элементтердiң ең үлкенiн табыңдар.
3. Бiрөлшемдi А(20) жиымындағы –5-тен кiшi элементтердiң қосындысын және олардың жалпы санын, сонымен бiрге 5 санына еселiк болатын элементтердiң нөмiрлерiн анықтаңдар.
4. Бiрөлшемдi А(10) жиымындағы оң элементтердiң квадраттарының арифметикалық ортасын есептеңдер.
5. Бiрөлшемдi А(100) жиымындағы терiс элементтердiң бiрiншi тобындағы элементтердiң санын анықтаңдар.
6. Бiрөлшемдi жиым мәндерi берiлген диапазонда жататын элементтерiнiң нөмiрiн басып шығарыңдар.
7. Бiрөлшемдi А(10) жиымындағы оң элементтердiң iшiнде мәнi ең кiшiсiн және оның индексiн (нөмiрiн) табыңдар.
8. Бiрөлшемдi жиымда 2-элементтi бiрiншi орынға, 3-нi 2-шiмен және т.б. алмастырулар орындай отырып, 1-элементi соңғы орынға қойыңдар.
9. Берiлген оң сандар тiзбегiндегi қосындысы берiлген саннан асып кетпейтiн элементтердiң санын табыңдар.
10. Ұтыс билетiнiң нөмiрi алты орынды сан. Билет “бақытты” (алдыңғы және соңғы үш цифрының қосындысы өзара тең) немесе “табысты” (жұп орындарда тұрған цифрлардың қосындысы тақ орында тұрғандардың қосындысына тең) болатындығын анықтаңдар.
11. Оң және терiс сандар тiзбегiндегi бiрiншi терiс санға дейiнгi орналасқан сандар тiзбегiнiң өсу ретiмен орналасатындығын анықтаңдар.
12. N кәсiпорынның бiр жылғы электр энергиясын тұтынуы туралы дерек бар. Осы бойынша энергия тұтынудың арифметикалық ортасын және энергияны ең көп үнемдеген кәсiпорынды анықтаңдар.
13. 14 аудан бойынша жанармай қорының мөлшерi белгiлi. Жанармаймен еңжақсы қамтылған үш ауданды анықтаңдар.
Көп өлшемді жиымға тапсырмалар
1. Өлшемi 4х8 болатын бүтiн сандар жиымындағы барлық жұп нөмiрлi элементтерiнiң қосындысын табыңдар.
2. Бүтiн сандардың 5х5 өлшемдi жиымындағы бас диагональда орналасқан барлық элементтердiң қосындысын табыңдар.
3. Бүтiн сандардың 7х4 өлшемдi жиымындағы максимал элементтiң жолы мен бағана нөмiрлерiн табыңдар.
4. Бүтiн сандардың 6х5 екiөлшемдi жиымы бар. Элементтерiнiң арифметикалық орта мәнi максимал болатын жолдың нөмiрiн табыңдар.
5. Бүтiн сандардың 5х9 өлшемдi жиымында бiрдей нөмiрлi жол мен бағананың орнын алмастырыңдар.
6. Бүтiн сандардың екi өлшемдi жиымындағы жолдың максимал элементтерiнiң арасындағы минимал элементтi табыңдар.
7. Бүтiн сандардың екiөлшемдi жиымында максимал элементi бар бағанды өшіріп тастаңдар.
8. Бүтiн сандардың екiөлшемдi жиымындағы қайталанбайтын барлық элементтердi табыңдар.
9. Екiөлшемдi жиымды 1-ден 100-ге дейiнгi бүтiн сандармен орама (спираль) бойымен толтырыңдар.
10. Бүтiн сандардың екiөлшемдi жиымының барлық элементтерiн сол жолдардағы элементтердiң қосындысынан солардың ішіндегі ең кiшi элементтер айырмасымен алмастырыңдар.
11. Бүтiн сандар жиымының жолдарын кему ретi бойынша сұрыптаңдар.
12. Жиымның тақ орындардағы бағаналарында тұрған элементтерді өсу ретiмен орналастыра отырып сұрыптаңдар.
13. Шеберханада шығарылған түрлi тетiк бөлшектер мен олардың бағасы берiлген. Осы мәлiметтерді а) бағалардың өсуi және ә) тетiк бөлшек атауларын алфавиттiк ретi бойынша сұрыптаңдар.
Функцияны алдын ала сипаттау барысында программалық файлдың басында оның прототипі көрсетіледі, өйткені main функциясында оның айнымалылары типтері белгілі болуы тиіс. Ол келесі түрі жазылады:
<нәтиже_типі> <функция _ аты>(<тип> <айнымалы1>, <тип>
<айнымалы2>, …<тип> <айнымалыN>);
Прототиптегі жай жақшаларға алынған айнымалылар идентификаторларын көрсетпесе де болады, өйткені тілдің компиляторы оларды өңдемейді.
Параметрлер тізімімен берілген fun функциясын сипаттаудың мысалы:
float fun(int, float, int, int);
Функция прототипі компиляторға программа мәтінінде негізгі программадан (main()) кейін оның толық анықтамасы келтірілетінін білдіреді.
Функцияның толық анықталуының жазылу түрі төмендегідей:
<нәтиже_типі> < функция _ аты >(параметрлер
тізімі)
{ функция коды }
Нәтиже_типі return операторының көмегімен функцияның шақырылу нүктесіне
қайтарылатын мәннің типін көрсетеді. Егер функция типі көрсетілмесе, қайтарылатын мән int типті деп саналады. Параметрлер тізімі үтірмен ажыратылған типтер мен параметрлер аттарының тізбегінен тұрады. Егер функцияның параметрлері болмаса да, жай жақшалар бәрі бір міндетті түрде көрсетілуі тиіс.
Return операторы берілген функциядан бірден шығып, нәтиженің оны шақырушы функцияға қайтарылуын қамтамасыз етеді, яғни бұл оператор функция жұмысы нәтижесін қайтару қызметін атқарады. Функция тұлғасында бірнеше return операторы болуы немесе бірде бір рет кездеспеуі де мүмкін екендігін айта кеткен жөн. Мұндай жағдайда шақырушы функцияға қайту оның тұлғасындағы соңғы оператор орындалғаннан кейін барып жүзеге асырылады.
Екі бүтін санның ішіндегі үлкенін анықтайтын функцияның мысалы:
int maxi(int x, int y)
{
if (x>y)
return (x);
else
return (y);
}
Егер қайтарылатын мәннің типі көрсетілмесе, ол int типті болып есептеледі.
Си тіліндегі мәнді қайтаратын барлық функциялар өрнектердің оң жағында жазылуы тиіс, өйтпеген жағдайда ешқандай да нәтиже қайтарылмайды. Бірақ функция нәтижесінің адресі қайтарылатын жағдайда, ол сол жақта болуы керек.
Егер функция ешқандай мән қайтармайтын болса, онда ол void (бос) типті функция ретінде сипатталуы тиіс. Мысалы, дисплей экранына бір толық жолды шығару үшін келесі функцияны жазамыз:
void lin(char a)
{
int k;
for(k=0; k<80; k++)
printf(“%c”, a);
}
Егер функцияда ешқандай параметр болмаса, онда функцияны декларациялау
барысында жай жақша ішіне void сөзін жазған дұрыс. Мысалы, негізгі функция
тақырыбының көбінесе былай жазылуы мүмкін:
void main(void).
Си тілінде әрбір функция – программаның жеке бөлігі, оны орындау үшін осы
функцияны шақыру керек. Мысалы, goto операторы арқылы басқаруды кез келген функцияның тұлғасына беруге болмайды.
Функция келесі түрде шақырылады:
<функция_аты>(аргументтер_тізімі);
мұндағы аргументтер ретінде тұрақтыларды, айнымалыларды, өрнектерді (олардың мәндері функцияны шақырудан бұрын программада анықталады) қолдануға болады. Функцияны шақыру тізімінің аргументтері сол функцияның анықталу параметрлерінің тізімімен саны жағынан, орналасу ретімен, сәйкес параметрлері типтерімен толықтай үйлесуі тиіс.
Аргументтер жоқ болған жағдайда да, функция атынан кейінгі жай жақшалардың болуы міндетті.