Кубтың қабырғаларының ұзындығы берілген. Оның көлемі мен қабырғасының бетінің ауданын табыңдар

#include <conio.h>

#include <stdio.h>

#include <math.h>

main()

<

float a;

float v,s;

print f(“a артты көлемі мен ауданын табыңыз”);

scanf (“a=%f,&a”);

v=pow(4,3)

s=pow(a,2)

printf(“кубтың көлемі және ауданы: v=%6,3f, s=%7,3,\n”,V,S);

getch();

>

Билет

1.Меншіктеу операторының жазылу форматтары. Меншіктеу операторы символдар арқылы жазылады. Кез келген ; таңбасымен аяқталатын өрнек меншіктеу операторы болып табылады. Өрнектің бір түріне бос оператор жатады, ол жай ; операторы.Си тілінде меншіктеу операторының бірнеше түрі бар. Жалпы меншік­теу операторының жазылу форматы мынадай болады:<айнымалы> = <айнымалы> <операция> <өрнек>;Мұны Си тілінде қысқаша былай жазуға болады:<айнымалы> <операция> = <өрнек>;Төменде бірнеше мысал келтірілген.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-ға меншіктеледі.Меншіктеу операторын былай да жазуға болады:1) a = (b = 1) +2; мұнда a=3, b=1.2) a = b = 1 + 2; ал мұнда a = 3, b = 3.Дөңгелек жақшаға алынған кез келген меншіктеу операторы анық­талған мәні бар өрнек болып табылады, мысалы: ((s=13+12)<=30) деген өрнек ақиқат мәнді болып табылады.

2.Экранның түсін және оған шығарылатын жол символда­ры­ның түсін қалай өзгертуге болады? Сызықтар түсін тағайындау функциясы setcolor(col);мұндағы сol – түс атауы немесе түс коды. Сызық және мәтіндер түсі осы функциямен беріледі. Ал сызық типі setlinestyle() функциясы арқылы тағайындалады.Түстер бүтін сан түріндегі кодпен немесе константа түрінде бас әріппен жазылатын ағылшынша түс атауларымен беріледі. Мысалы: setcolor(YELLOW); setcolor(3); setcolor(5);Экранның фоны түсін өзгерту функциясы setbkcolor (түсі);Мысалы: setbkcolor(BLUE); setbkcolor(14);Түстердің стандартты белгіленулері төмендегідей:

Көмескі түстер Кодтары Ашық түстер Кодтары
Қара (BLACK) Қара қошқыл (DARKGRAY)
Көк (BLUE) Көкшіл (LIGHTBLUE)
Жасыл (GREEN) Ақ жасыл (LIGHTGREEN )
Көгілдір (CYAN) Ақшыл көк (LIGHTCYAN)
Қызыл (RED) Қызғылт (LIGHTRED)
Күлгін (MAGENTA) Қызғыш (LIGHTMAGENTA)
Қоңыр (BROWN) Сары (YELLOW)
Сұр (LIGHTGRAY) Ақ (WHITE)  

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

#include <conio.h>

#include <stdio.h>

#include <math.h>

main()

<

float a,b; float c,S;

clrscr();

printf(“үшбұрыш каттеттері a және b арқылы гипотенуза мен аудан тап”;);

scanf (“%f%f,&a,&b);

pow(c,2)=pow(a,2)+pow(b,2)

S=(a*b)/2

printf(“тікбұрыш гипотенузасы:c=%3,2f, тікбұрыш ауданы:s=4.2f, c,S);

getch()

>

Билет

1.Printf және scanf функциялары. Си тілінде сыртқы ортамен мәліметтер алмасу <stdio.h> енгізу-шы­ға­ру функция­лары кітапханасын пайдалану арқылы орындалады. Ол тақы­рып файлы ретінде былай жазылады:#include <stdio.h>printf() функциясы мәліметтерді экранға шығару үшін қолданы­лады. Оның жалпы жазылу түрі:printf(<формат тіркесі>,<аргументтер тізімі>);(<формат тіркесі> – қостырнақшамен (”) шектеліп, аргументтердің қалай бейнеленетінін көрсетіп тұрады, экранға (баспаға) шығару алдында барлық аргументтер формат специ­фикациясына сәйкес түрлендіріледі, спецификация % символымен басталады және мәліметтер типін, оларды түрлендіру тәсілін көрсететін бір әріп жазы­лады. Объектілер ретінде айнымалылар, константалар, өрнектер қолданылуы мүмкін. scanf() енгізу функциясы жоғарыда қарастырылған түрлендіру спецификация­сының көбін пайдаланады. scanf (<формат тіркесі>,<аргументтер тізімі>);Аргументтер ретінде адрес нұсқауыштары пайдаланылады. Мысалы:scanf("%d%f", &x,&y);

2.Құрылымдар (структуры). Құрылымдарды анықтау, инициалдау, меншіктеу

.Си тіліндегі құрылымдар өзара логикалық байланысқан әртүрлі типті мәліметтерді байланыстырады. Мәліметтердің құрылымдық тип­те­рі келесі сипаттаумен анықталады:

struct құрылым_ аты

{

элементтерді сипаттау;

};

Құрылымға компьютер жадынан орын бөлу үшін құрылымдық айнымалыны анықтап алу керек:struct құрылым_аты айнымалы_аты;

Құрылымдарды анықтау барысында олардың элементтеріне бас­тап­қы мәндерді меншіктеуге болады. Құрылым элементтерінің мәнде­рін енгізу үшін ағымдық енгізу операторы cin>> немесе форматпен енгізу операторы – scanf қолданылады.Құрылымдармен келесі амалдарды орындауға болады:1) Құрылымның адресін алу амалы. Құрылымның адресін алу үшін құрылымдық айнымалыға нұсқауыш (&) амалы қолданылады. 2) Құрылымның элементін пайдалану үшін нүкте (.) амалы (тіке­лей ену) немесе (->) (нұсқауыш бойынша ену) амалы қолданылады. Құрылымдық айнымалы float, int, char типті айнымалылар сияқты пайдаланылуы мүмкін. Мысалы:

struct gr /* құрылым аты */

{char fio[10]; /* құрылым элементі */

int est[25]: /* құрылым элементі */

int nomer; /* құрылым элементі */

}

gruppa1; /*құрылымдық айнымалы аты */

struct gr gruppa2; /* құрылымдық айнымалыны хабарлау*/

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

9 Билет

1.Си тіліндегі мәліметтер типтері. Мұнда мәліметтердің бірнеше негізгі типтері қолданылады. Олар: char (8 бит) – символдық, яғни таңбалық тип, short – қысқа бүтін сан, int – бүтін сан типі, long – екі еселенген бүтін сан, unsigned – таңбасыз бүтін сан, float – нақты сан типі, яғни жылжымалы нүктелі сандар, double – екі еселенген нақты сан типі, long double – ұзартылған, әрі екі еселенген нақты сан типі.Алғашқы төрт тип бүтін сандарды сипаттау үшін қолданылады.

Си тілінің ішкі құрамындағы мәліметтер типтері мен олардың

ені (ұзындығы) 2.5 кесте

Мәлімет типі Ұзындығы (бит – байт) Сандар диапазоны
Char 8 бит – 1 байт -128 ... +127
unsigned char 8 бит – 1 байт 0 ... 255
short int 16 бит – 2 байт -32768 ... 32767
unsigned short 16 бит – 2 байт 0 ... 65 535
int 16 бит – 4 байт -32768 ... 32767
unsigned [int] 32 бит – 4 байт 0 ... 4294967295
Long 32 бит – 4 байт -2 147 483 648 ... 2 147 483 647
unsigned long 32 бит – 4 байт 0 ... 4 294 967 295
Float 32 бит – 4 байт 3.4×10-38 ... 3.4×1038
Double 64 бит – 8 байт 1.7×10-308 ... 1.7×10308
long double 80 бит – 10 байт 3.4×10-4932 ... 3.4×104932

2.Функцияларға нұсқауыштар. Мысалдар Нұсқауыш мәліметтердің адресін сақтайтын айныма­лы бо­лып табылады. Жалпы алғанда, нұсқауыш адрестің символдық кескін­делуі болып саналады. Қарастырылатын мысалда &sum – sum атты айныма­лыға сілтейтін нұсқауыш болып табылады. Нақты адрес ретінде белгілі бір сан тұрады, ал &sum нұсқауыш типті константа болып табылады. Си тілінде нұсқауыш типті айнымалылар да бар. Нұсқауыш тип­ті айнымалылар мәні болып белгілі бір шаманың адресі саналады. Мысалы, нұсқауыш типті айнымалы ptr идентификаторы арқы­лы белгіленген болсын, онда төмендегі оператор sum айнымалы­сының адресін ptr атты нұсқауыш типті айнымалыға меншіктейді. ptr атты нұсқауыш типті айнымалы басқа да объектіге сілтеуі мүмкін. Мысалы:int *ptr;ptr=&sum; ptr=&max;* операциясы – адрес арқылы қатынас жасау үшін пайдала­нылатын операция. Мысалы, ptr нұсқауыш типті айнымалысында max айныма­лысына нұсқайтын сілтеме сақталған болсын. Осы айнымалының мәнін білу үшін * адресі бойынша қатынас жасау операциясын қолдануға болады. ptr нұсқауышы мәнін анықтау үшін келесі операцияны орындау қажет: res=*ptr;

10- билет

СИ тілінің қарапайым элементтері.1. Пайдаланылатын символдар СИ тілінің символдарын бес топқа бөлуге болады. 1. Тілдегі түйінді сөздер (ключевое слово – keyword) мен идентифика­торларды құрастыру үшін қолданылатын символдар. Бұл топқа ағылшын алфавитінің бас және кіші әріптері мен астын сызу символы кіреді. Басқа Паскаль, Бейсик тілдеріндегі тәрізді бір символды өрнектеу үшін қолданылатын бас әріп пен кіші әріп бірдей болып саналмайды, мысалы, А және а айнымалылары екеуі екі түрлі болып есептеледі.2. Қазақ (орыс) алфавитінің бас және кіші әріптері мен араб цифрла­ры сөз тіркестері мен түсініктеме мәтін жазуда пайдаланылады. 3. Операциялар таңбалары, айыру белгілері, қатынас таңбалары және арнайы символдар. 4. Басқару және айыру символдары. Бұл топқа: босорын, табуляция символы, жаңа жолға көшу, жаңа бетке көшу таңбалары жатады. Бұлар тұтынушы анықтаған объекті­лерді – константтар мен идентификаторларды бір-бірінен айыру үшін қолданылады. 5. Көрсетілгендерден басқа Си тілінде басқару тізбектері деп аталатын мәліметтер енгізу мен шығаруда қолданылатын арнайы символдар тіркесі бар. Басқару тізбектері кері бөлу сызықшасы белгісінен (\) басталатын латын әріптері мен цифрлар тізбегінен тұрады. 2. Тілдің қарапайым объектілері. Тілдің қарапайым объектілеріне сан, идентификатор, константа, айны­малы және функция, өрнек ұғымдары кіреді. Программадағы негізгі амалдардың орындалуына керекті мәлі­мет­тердің сандық, логикалық немесе символдық (литерлік) мән­­­дері болады. Олармен жұмыс істеу қолайлы болуы үшін алгебра кур­сын­дағы белгілеу­лерге ұқсас шартты атаулар пайда­ланы­лады. Бұл атау­лар әр түрлі мәндер­ді (сандық мән, символдық мән, т.с.с.) қабыл­дауы мүмкін, сондықтан оның типі деген ұғым енгізіледі.Сандар. Сандар мен айнымалылар бүтін және нақты болып екіге бөлінеді. Бүтін сандар: +4, -100, 15743, 0 т.с.с. Қазіргі дербес компьютерлер үшін қолданылатын бүтін сандар (ағылшынша ІNTEGER) -32768 бен +32767 аралығында ғана жазылады

2.Жол тіркестері

3.1-ден N-ге дейiнгi сандардың қосындысын есептейтiн программа құрыңдар. N-нiң мәнi пернетақтадан енгiзiледi

#include <stdio.h>

#include <conio.h>

main()

<

int s=0,I;

clrscr()

printf (“1-ден n-ге дейінгісандардың қосындысы=”);

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

S+=i;

printf (“S=% d”, s);

printf (“\n аяқтау үшін Enter басыңыз\n”);

getch();

>

11-билет.

1.Қабаттасқан шартты операторлардың жазылуы?

Кейде қабаттасқан шартты операторлар кездеседі, мысалы:

if (1-шарт)

1-оператор;

else if (2-шарт)

2-оператор;

else

3-оператор;

Мұнда егер 1-шарт ақиқат болса, 1-оператор орындалады, егер 1-шарт жалған болып, 2-шарт ақиқат болса, 2-оператор орындалады, ал 1-шарт және 2-шарт жалған болса, 3-оператор атқарылады.

2. Енгізу-шығару функциялары (scanf(), printf(), puts(), gets(), putchar(),getchar())?

printf() функциясы мәліметтерді экранға шығару үшін қолданылады. Мысалы: printf (“ Пи санының мәні = %f\n”, pi);

printf() – экранға формат арқылы сөз тіркесін шығарады.

Мысалы printf (“ Пи санының мәні = %f\n”, pi);

Символдар тіркесін пернелерден енгізу үшін екі стандартты функция – scanf()немесе gets()қолданылады, ал олардың прототиптері stdio.h тақырыптық файлында болады.

Мысалы: scanf("%d%f", &x,&y);

Символдарды біртіндеп енгізу/шығару үшін printf() және scanf() функцияларының %c форматы қолданылады.

getch() – параметрсіз функция, басылған перненің кодын (int) бере­ді, экранға ешқандай символ шығармайды.

getchar() – параметрсіз функция. Пернеден символдарды бір-бір­леп енгізеді. Сөз тіркесі <Enter> пернесі басылғанша енгізіле береді, оған дейін оны өз­гер­туге де болады.

putch(c) – бір символды (c – cимволдық айнымалы немесе конс­танта), яғни бір таңбаны ғана экранға шығарады.

putchar(c) – бұл да тек бір таңбаны экранға шығарады. Бұлар conio.h тақырып файлы бойынша жұмыс істейді.

puts(str) – экранға сөз тіркесін шығарып, курсорды бірден келесі жолдың ба­сы­на алып барады.

3.1-ден N-ге дейiнгi сандардың көбейтiндiсiн есептейтiн программа құрыңдар. N-нiң мәнi пернетақтадан енгiзiледi

#include <iostream.h>

int main ()

<

int i=0, n;

int sum=1;

while (i<n);

< i++

Sum+=I;

>

Cout<<”1-ден н-ге дейінгі сандар суммасы=”<<sum<<end;

>

12-билет.

1.Шартты операция дегеніміз не?

Шартты операция (? :) шартты өрнек жазуға мүмкіндік береді, яғни берілген шартқа байланысты әр түрлі мән қабылдайтын шартты өрнектер құрады. Бұл операция үшорынды болып табылады. Егер оның шарты (бірінші операнд) ақиқат болса, өрнек мәні екінші операндқа тең; егер жалған болса, онда – үшіншіге тең. Мысалы: max_ab = a > b? a : b;

2. Символдық информация және сөз тіркестері (жолдар). Жолдық тіркестер мен жұмыс істеу функциялары?

Си тілінде символдық тіркестерді сипаттау үшін арнайы тип жоқ, олар көбінесе char типтегі элементтерден тұратын жиым (массив) ретінде қарасты­рылады. Жолдық немесе тіркестік символдар ЭЕМ жадында көршілес ұя­шық­тар­да сақталады да, олардың соңында ‘\o’ символы тұрады. Символдар тіркесінің ұзындығын анықтау үшін strlen() функ­циясы қолданылады.

#define – символдарды немесе солардан тұратын константаларды анық­тау мақсатында қолданылады.

Сөз тіркестері char типті бір өлшемді жиым ретінде қарастырылады, яғни сөз тіркесі – нөлдік байтпен аяқталатын char типті бір өлшемді жиым. Нөлдік байт – барлық биттері де нөлге тең байт, ол ´ \0 ´ символдық константасымен анықталады (тіркес соңы белгісі немесе нөл-терминатор). Сондықтан егер тіркесте k символ болса, онда жиымды сипаттауда k+1 элемент көрсетілуі тиіс.

Си тіліндегі тіркестік (жол­дық) константа – қос тырнақшаға алынған символдар жиыны. Мысалы, “Берілген тапсырма” тіркесі, оның соңына нөлдік байтты компилятор автоматты түрде өзі жазады.

Символдар тіркесін пернелерден енгізу үшін екі стандартты функция – scanf()немесе gets()қолданылады, ал олардың прототиптері stdio.h тақырыптық файлында болады

13-билет.

1.Көп нұсқалы таңдау операторы не үшін қажет? Оның жазылу форматы қандай?

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

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

{

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

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

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

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

}

2. Көпөлшемді жиымдар мен нұсқауыштар.

Нұсқауыш — жедел жады аймағының адресін сақтайтын айнымалы. Нұсқауыш мәліметтердің адресін сақтайтын айныма­лы бо­лып табылады. Жалпы алғанда, нұсқауыш адрестің символдық кескін­делуі болып саналады. Файлдармен жұмыс істегенде нұсқауыштар қолда­ны­лады. Файл­ға нұсқауыш мынадай түрде сипатталады:

FILE *fp;

Жиым немесе массив – бір типтегі элементтердің реттелген жиыны. Функцияның нақты параметрі ретінде екі немесе одан да көп өлшемді жиымдарды да пайдалануға болады.

Екі өлшемді жиымды пайдалану мысалы:

void minit(int matrix[][KO],int str);

{

int i,j;

for (i=0; i<str; i++)

for (j=0; j<KO; j++)

matrix[i][j]= rand();

}

3. Пернетақтадан 10 бүтін сан енгiзiп, солардың квадраты мен кубын анықтаңыз.

#include <conio.h>

#include <stdio.h>

#include <stdio.h>

void main()

<

int A[10];

int i;

printf (“enter ;”);

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

k=pow(n,2)

c=pow(n,3)

printf(“k=%6,2i, c=%5.7i”, k,c);

getch();

>

14-билет.

1.Параметрлі циклдің орындалу схемасы мен жазылуы

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

Параметрлі циклдің орындалу схемасы:

 
 

For цикл операторының жалпы жазылу түрі:

for (x=x0; x<=xk; x=x+dx)

{

<1-оператор>;

<2-оператор>;

. . .

<n-оператор>;

}

2. Бірөлшемді жиымдар мен нұсқауыштар. Мысалдар

Функцияға нақты параметр ретінде бір өлшемді жиымды жіберуге болады, ол үшін жиымның бастапқы (нөлінші) элементінің орнын көр­сет­сек жеткілікті. Бір өлшемді жиымды пайдалану мысалы:

int min_index(int sp[], int ras)

{ int i, mindx, m;

mindx=0;m=sp[mindx];

for(i=0; i<ras; i++)

if(sp[i]<m)

{ m=sp[i]; mindx=i;

};

return(mindx);

}

Си тілінде массивтер мен нұсқауыштар арасында байланыс бар. Мысалы, массив int array[25] түрінде сипатталса, онда массивтің жиырма бес элементі үшін жадыдан орын бөлу ғана орындалмайды, сонымен қатар мәні массивтің бірінші элементінің (яғни, саны бойынша нөлдік) адресіне тең, array атты нұсқауыш үшін де орын бөлу орындалады, яғни, массивтің өзі атсыз қалады, ал массивтің элементтеріне рұқсат алу array атты нұсқауыш арқылы жүзеге асырылады. Тіл синтаксисіне сәйкес array нұсқауышы тұрақты болып табылады, оның мәнін өрнектерде қолдануға болады, бірақ, бұл мәндерді өзгертуге болмайды. Массив аты нұсқауыш болғандықтан, келесідей меншіктеуге рұқсат етілген :

int array[25];

int *ptr;

ptr=array;

3.Төмендегі функция мәндерін х айнымалысы х0-ден xk-ға дейін dx қадамымен өзгерен кезде анықтаңдар

, x0 =10, xk =30, dx =1.5

#include <stdio.h>

#include <math.h>

#include <conio.h>

main()

<

float x,y,x0,xk,dx;

clrscr();

printf (“x-тің бастапқы, соңғы мәндері;”);

scanf (“x0f”; k0x);

printf(“_______________\n”);

printf(“ x y \n”);

x=x0;

while(x>=xk)

if x>0;

y=sqrt(absOa-x)*pow(sin(x),2);

else x=4;

y=((x)\abs*(a*x))*pow(abs9sin(x)),1/3);

if else x<a;

y=exp(sqrt(abs(x));

printf(4% 6,2f %6,2f\n”,x,y);

x=x+dx;

>printf(_______________\n”);

Getch()

>

15-билет.

1. for операторының параметрі

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

2. Жиымдарды сұрыптау (қарапайым алмастыру, таңдау)

Жиымдарды сұрыптау алгоритмдерінің жұмыс істеу жылдамдығы, алатын көлемі және қолданылу аймағы әр түрлі болып келеді. Қарапайым сұрыптау тәсілдері n*n рет салыстыруды керек етеді, мұндағы n – жиым элементтері саны; ал жылдам сұрыптау тәсілі n*ln(n) рет салыстыруды қажет етеді. Қарапайым тәсілдер түсінуге жеңіл, өйткені алгоритмі түсінікті. Күрделі тәсілдер аз әрекеттер санын керек еткенмен, операциялары күрделірек болады, сондықтан элементтер саны аз жиымдарға қарапайым тәсілдерді қолданған дұрыс. Қарапайым тәсілдер 3 топқа бөлінеді:

-жай таңдау жолымен сұрыптау;

-жай енгізу тәсілімен сұрыптау;

жай алмастыру тәсілімен сұрыптау.

Жай таңдау жолымен сұрыптау

Жиымның ең кіші элементі анықталады да, ол бірінші элементпен орын ауыстырады. Қалған элементтермен де осы тәсіл қайталанады. Жай енгізу (кірістіру) тәсілімен сұрыптау

Жиым элементтері екіге – бастапқы тізбекке және дайын тізбекке бө­лі­неді. Әрбір адымда I=2 нөмірінен бастап, бастапқы берілген тіз­бек­тен I-ші элемент алынады да, ол дайын тізбектің керекті жеріне орна­ластырылады. Мұнан кейін I-ге 1 қосылады да, сол әрекеттер қайталанады.

Жай алмастыру арқылы сұрыптау

Мұнда ең соңғыдан бастап, екі элемент салыстырылады да, қажет болса, орындары алмастырылады. Осындай әрекет нәтижесінде ең кіші элемент жиымның ең сол жақ шетіне ығысады. Қалған жиым элемент­тері үшін де осы процесс қайталанады.

16-билет.

1. Шарты алдын ала тексерілетін цикл операторының орындалу схемасы мен оның жазылуы.

While операторы

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

Оның жазылуы:

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

оператор;

2. Жиымдар, яғни массивтер (анықтамасы, инициалдау, таңдап алып реттеу тәсілдері). Оларды сипаттау.

Жиым немесе массив – бір типтегі элементтердің реттелген жиыны. Олар бір атаумен – идентификатормен аталады да, индексті айнымалы ұғымына сәйкес келеді. Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл опера­торлары қолданылады.

Жиымды сұрыптау (сорттау, реттеу)

Сұрыптау – берілген объектілер жиынын (сандарды) ұсынылған реттілікпен қайта теріп орналастыру процесі.Жиымдарды сұрыптау жылдамдығы әр түрлі болады. Қарапайым сұрыптау тәсілдері n*n рет салыстыруды керек етеді, мұндағы n – жиым элементтері саны. Қарапайым тәсілдер түсінуге жеңіл, өйткені алгоритмі түсінікті. Қарапайым тәсілдер 3 топқа бөлінеді:

жай таңдау жолымен сұрыптау;

жай енгізу тәсілімен сұрыптау;

жай алмастыру тәсілімен сұрыптау.

Жай таңдау жолымен сұрыптау

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

Жай енгізу (кірістіру) тәсілімен сұрыптау

Жиым элементтері екіге – бастапқы тізбекке және дайын тізбекке бө­лі­неді. Әрбір адымда I=2 нөмірінен бастап, бастапқы берілген тіз­бек­тен I-ші элемент алынады да, ол дайын тізбектің керекті жеріне орна­ластырылады. Мұнан кейін I-ге 1 қосылады да, сол әрекеттер қайталанады.

Жай алмастыру арқылы сұрыптау

Мұнда ең соңғыдан бастап, екі элемент салыстырылады да, қажет болса, орындары алмастырылады. Осындай әрекет нәтижесінде ең кіші элемент жиымның ең сол жақ шетіне ығысады. Қалған жиым элемент­тері үшін де осы процесс қайталанады.

Жиымдарды инициалдауды қарастырайық. Жиым сипатталуын­да тек сыртқы немесе статистикалық жиымдар ғана инициалдануы мүмкін.

17-билет.

1. Шарты соңынан тексерілетін do … while циклінің орындалу схе­масы мен жазылуы

Шарты соңынан тексерілетін do … while циклінің орындалу схе­масы суретте көрсетіл­ген.

do

{

1-оператор;

2-оператор;

… … …

n-оператор;

}

while (өрнек);

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

Таңдау операторлары – бұлар шартты оператор және ауыстырғыш.

Шартты оператордың орындалу схемасы мен жалпы жазылу түрі мынадай:

if (шарт)

1-оператор;

else

2-оператор;

жоқ иә

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

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

{

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

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

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

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

}

Default сөзі болмаса, онда switch операторынан кейінгі келесі опера­торлар орындала береді.

18-билет.

1.Жиым дегенімз не? Жиым немесе массив – бір типтегі элементтердің реттелген жиыны. Олар бір атаумен – идентификатормен аталады да, индексті айнымалы ұғымына сәйкес келеді. Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл опера­торлары қолданылады.

Жиымды сұрыптау (сорттау, реттеу)

Сұрыптау – берілген объектілер жиынын (сандарды) ұсынылған реттілікпен қайта теріп орналастыру процесі.Жиымдарды сұрыптау жылдамдығы әр түрлі болады. Қарапайым сұрыптау тәсілдері n*n рет салыстыруды керек етеді, мұндағы n – жиым элементтері саны. Қарапайым тәсілдер түсінуге жеңіл, өйткені алгоритмі түсінікті.

Қарапайым тәсілдер 3 топқа бөлінеді:

жай таңдау жолымен сұрыптау;

жай енгізу тәсілімен сұрыптау;

жай алмастыру тәсілімен сұрыптау.

Жай таңдау жолымен сұрыптау

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

Жай енгізу (кірістіру) тәсілімен сұрыптау

Жиым элементтері екіге – бастапқы тізбекке және дайын тізбекке бө­лі­неді. Әрбір адымда I=2 нөмірінен бастап, бастапқы берілген тіз­бек­тен I-ші элемент алынады да, ол дайын тізбектің керекті жеріне орна­ластырылады. Мұнан кейін I-ге 1 қосылады да, сол әрекеттер қайталанады.

Жай алмастыру арқылы сұрыптау

Мұнда ең соңғыдан бастап, екі элемент салыстырылады да, қажет болса, орындары алмастырылады. Осындай әрекет нәтижесінде ең кіші элемент жиымның ең сол жақ шетіне ығысады. Қалған жиым элемент­тері үшін де осы процесс қайталанады.

Жиымдарды инициалдауды қарастырайық. Жиым сипатталуын­да тек сыртқы немесе статистикалық жиымдар ғана инициалдануы мүмкін.

2. С тілінің құрама операторлары, көшу операторлары. Синтаксисі, семантикасы, мысалдар

Программа жұмысын басқару операторлары программаның басқарушы конструкциясы деп аталады. Олар

құрама операторлар;

таңдау операторлары;

цикл операторлары;

көшу операторы.

Құрама операторларға жай құрама операторлар және блоктар жатады. Екеуі де жүйелі жақшаға алынып жазылады. Блокта жай құрама операторларға қарағанда, айнымалыларды сипаттау жолдары болады. Шартсыз көшу операторы. Шартсыз көшу операторы операторлардың рет – ретімен орналасуын бұзып, келесі атқарылуды белгісі бар операторға көшу ісін орындайды. Ол GOTO (көшу) түйінді сөзінен басталады, одан кейін LABEL бөлімінде сипатталған белгі атауы саны көрсетіледі.

19-билет.

1. Жиымды сипаттау тәсілдері

Жиымды сипаттау кезінде оның ені нақты санмен көрсетіледі, мыс., a[20], a[n] деп жазу үшін алдын ала

#define n 20 жолы көрсетіледі немесе

const n=20; болып жазылады.

егер тіркесте k символ болса, онда жиымды сипаттауда k+1 элемент көрсетілуі тиіс.

Мысалы, char a[7] деген сипаттау тіркестің 6 символдан тұра­ты­нын, ал соңғы байт нөлдік екенін білдіреді.

2. Нақты типті айнымалылар. Нақты типтке қолданатын амалдар.

Нақты сандар кәдімгі табиғи аралас сандар тәрізді санның бүтіні мен бөлшегін нүкте арқылы бөлген күйде жазылады. Мысалы: 2.65, 0.5, -0.862, -6.0.

Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Әрбір айнымалы мен констант программа алдында сипат­талуы тиіс.

Кәдімгі жазылуы Си тілінде жазылуы
147,125 147.125
-6,045 -6.045
12*1014 12Е+14
-0,52*104 -0.52Е4
5,2*10-12 5.2Е-12
-45*106 - 45Е6

. Константтар мен айнымалылар идентификатормен белгіленеді.

Идентификатор – латын әрпінен басталып, әріптер мен цифрлардан тұратын тізбек. Мысалы, a, beta, b5, baga, т.с.с. Айнымалыны сипаттау мынадай нұсқада орындалады:

char f;

long z, t;

int a, beta, baga;

float b5, k, n;

int y = 10;

Қолданылатын негізгі типтерге мыналар жатады:

char short int long float double

20-билет.

1. Жиым элементтерін енгізу және экранға шығару жолдары

Жиым элементтерін пернеден енгізгеннен гөрі rand() және random() функцияларын пайдаланып, кездейсоқ сандар тізбегін беру арқылы енгізген ыңғайлы болады.

Жиым элементтерін енгізу немесе оларды түрлендіру үшін цикл опера­торлары қолданылады. Төменде 10 элементі бар жиымды 0-ден 9-ға дейінгі сандармен толтырып, сонан кейін оларды кері бағытта экранға шығару мысалы көрсетілген:

main ()

{

int ia[10];

int index;

for (index = 0; index <10; index ++)

ia[index] = index ;

for (index = 9; index >=0; index --)

printf(“ %i”, ia[index]);

2. Бүтін типті айнымалылар. Оларға қолданатын арифметикалық және қатынас амалдары

Int түйінді сөзі a,b,c айнымалыларының бүтін мән қабылдайтынын, float түйінді сөзі p,s айнымалыларының нақты мән қабылдайтынын сипаттап тұр.

Сандар мен айнымалылар бүтін және нақты болып екіге бөлінеді. Бүтін сандар: +4, -100, 15743, 0 т.с.с. Қазіргі дербес компьютерлер үшін қолданылатын бүтін сандар (ағылшынша ІNTEGER) -32768 бен +32767 аралығында ғана жазылады, бұдан үлкен сандар нақты сандарға айналдырылады.

Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Әрбір айнымалы мен констант программа алдында сипат­талуы тиіс. Айнымалылар идентификатормен белгіленеді.

Идентификатор – латын әрпінен басталып, әріптер мен цифрлардан тұратын тізбек. Мысалы, a, beta, b5, baga, т.с.с. Айнымалыны сипаттау мынадай нұсқада орындалады:

char f;

long z, t;

int a, beta, baga;

float b5, k, n;

int y = 10;

Қолданылатын негізгі типтерге мыналар жатады:

char short int long float double

21-билет

1-сурак. Жиымды өңдеу есептерінің түрлері

Жиымды өңдеу есептері көбінесе бірыңғайланған төрт түрге бөлінеді.

Есептердің 1-түріне жиым элементтерінің барлығын немесе көрсе­тіл­гендерін бірдей бір тәсілмен өңдеу есептері жатады.

Есептердің 2-түріне (класына) жиым элементтерінің орналасу реттілігін өзгерту тәсілдері жатады.

Есептердің 3-класына бірнеше жиымдарды қатар өңдеу немесе бір жиымның ішкі элементтерін бірнеше топқа бөліп жеке-жеке өңдеу тәсілдері жатады. Жиымдар бір тәсілмен – синхронды өңделеді немесе әр түрлі тәсілмен – асинхронды түрде өңделеді.

Есептердің 4-класына жиымның берілген санға тең бірінші элементін табу, яғни іздеу есептері жатады.

2-сурак. Символдық тип деген не?

Бұл тип мәндері реттелген символдар жиыны болып табылады. Әрбір символға бір бүтін сан сәйкес келеді, ол символ коды деп аталады. Символдық тип ені – 1 байт. Char типі де signed және unsigned специфи­каторларымен қолданылады. Signed char типі диапазоны –128 .. 127. Unsigned char типін қолданғанда, оның мәндер диапазоны 0 .. 255 болады. Символдарды кодтау үшін ASCII (American Standard Code for International Interchange) стандарты негізге алынған. Символдардың 0 .. 31 кодтары басқару кодтарына жатады, олар тек енгізу-шығару кезінде ғана қолданылады. Сhar типі символдарды олардың бүтін сан түріндегі кодтары арқы­лы сақтап, басқа шамалардың көрсетілген диапазоны сандарын да көрсету үшін де қолданыла алады.

22-билет

1-сурак. Жиымның ең үлкен (ең кіші) эле­мен­тін анықтау

Жиымның ең үлкен элементін анықтау керек.

// максимум табу

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

void main()

{

int a[100];

int n;

printf("\nEnter the size of array:", n);

scanf("%i",&n);

for(int I=0;I<n;I++)

{ a[I]=rand()%100-50;

printf(" %i ", a[I]);

}

int max=a[0];

for(I=1;I<n;I++)

if (a[I]>max) max=a[I];

printf("\nMax= %i", max);

getch();

}

2-сурак. Өрнектер. Операция таңбалары

Егер өрнек мәні бүтін немесе нақты сан болатын болса, ол арифме­ти­калық өрнек болып саналады. Арифметикалық өрнектерде мынадай операциялар: + - * / % болады. Жалпы өрнектер бір жол бойына жазылады және олардағы операция реттілігі жақшалармен анықталады. Өрнектерді жазу мысалдары:

і = і+1; k = 5.35; x1= (-b+sqrt(b*b-4*a*c))/(2*a) ;

y = sqrt(sin(x)+1); c = 2*pі*r; R = 19.36;

Қатынас таңбасы арқылы біріктірілген екі арифметикалық өрнек мәні басқа тілдердегідей ақиқат (0-ге тең емес) немесе жалған (0-ге тең) деп айтылады. Бірақ Си тілінде логикалық тип түсінігі айтылмайды, ол Си++ тілінде бар.

23-билет

1-сурак. Жиым элементтері қосындысын табу

Бүтін оң және теріс сандардан тұратын a[n] жиымының жұп нөмірлі элементте­рі­н­ің қосын­дысын табу керек, мұнда n саны енгізіледі, ал жиым элементтері­нің мәндері кездейсоқ бүтін сандар­дан тұрады.

rand() функциясы 0...32767 аралығындағы бүтін сан береді. Оны пайдалану үшін stdlib.h директивасын, яғни тақырып файлын қолдану қажет. Жиым элементтері екі разрядты оң және теріс сандардан тұруы үшін алынған кездейсоқ сан 100-ге бөлініп, қалдығынан 50 алып тасталынған.

/*жиымның жұп элементтерi қосындысы*/

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

main()

{

int a[50];

int n;

printf("\nЖиымда неше элемент бар? ");

scanf("%d",&n);

printf("Жиым элементтерi:\n");

for(int i=0;i<n;i++)

{

a[i]=rand()%100-50;

/* жиымға 0 - 50 аралығындағы кездейсоқ сандарды меншiктеу */

printf("%d, ",a[i]);

// сандарды экранда бейнелеу

}

int sum=0;

for(i=0;i<n;i+=2)

sum+=a[i];

// 0, 2, 4... индекстi элементтердi қосу

printf("\nЖиымның жұп элементтерi қосындысы: %d",sum);

getch(); // нәтижелiк экранды жапқызбай, көруге мүмкiндiк беру

}

2-сурак. Си тілінің қарапайым типтері

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

Қолданылатын негізгі типтерге мыналар жатады:

char short int long float double

Алғашқы төрт тип бүтін сандарды, соңғы екеуі – нақты сандарды өрнек­тейді, char типі компьютерде бір символды (байт) бейнелейді.

Мұнда мәліметтердің бірнеше негізгі типтері қолданылады. Олар:

char (8 бит) – символдық, яғни таңбалық тип,

short – қысқа бүтін сан,

int – бүтін сан типі,

long – екі еселенген бүтін сан,

unsigned – таңбасыз бүтін сан,

float – нақты сан типі, яғни жылжымалы нүктелі сандар,

double – екі еселенген нақты сан типі,

long double – ұзартылған, әрі екі еселенген нақты сан типі.

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

24-билет

1-сурак. Жиым ішіндегі екі элементтің бір-бірімен орын ауыстыру

Жиым ішіндегі екі элементтің бір-бірімен орнын ауыстыру үшін қосымша тағы бір айнымалы керек болады. Мысалы, a[I] және a[J] элементтерінің орнын ауыстыру үшін қосымша R айнымалысы керек:
R=a[I]; a[I]=a[J]; a[J]:=R;

4-есеп. Жиымның қатар тұрған екі элементін: 1 және 2, 3 және 4, 5 және 6, т.с.с. элементтерін бір-бірімен орын ауыстыру

for(int i=0;i<n-1;i+=2)

{int r=a[i];

a[i]=a[i+1];

a[i+1]=r;}

2-сурак. Си тілінің түйінді сөздері

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

Бірсыпыра түйінді сөздер тізімін келтірейік.

auto double int struct break else long switch

register tupedef char extern return void case float

unsigned default for signed union do if sizeof

volatile continue enum short while

Бұған қоса операторлар мен стандартты функциялар аттары да түйінді сөздер тізімі секілді басқа мағынада қолданылмайды.

25-билет

1-сурак. Жиымды сұрыптау жолдары

Сұрыптау – берілген объектілер жиынын (сандарды) ұсынылған реттілікпен қайта теріп орналастыру процесі. Жиымдарды сұрыптау жылдамдығы әр түрлі болады. Қарапайым сұрыптау тәсілдері n*n рет салыстыруды керек етеді, мұндағы n – жиым элементтері саны; ал жылдам сұрыптау тәсілі n*ln(n) рет салыстыруды қажет етеді. Қарапайым тәсілдер түсінуге жеңіл, өйткені алгоритмі түсінікті. Күрделі тәсілдер аз әрекеттер санын керек еткенмен, операциялары күрделірек болады, сондықтан элементтер саны аз жиымдарға қарапайым тәсілдерді қолданған дұрыс. Қарапайым тәсілдер 3 топқа бөлінеді:

жай таңдау жолымен сұрыптау;

жай енгізу тәсілімен сұрыптау;

жай алмастыру тәсілімен сұрыптау.

2-сурак. Си тілінің алфавиті, символдары

СИ тілінің символдарын бес топқа бөлуге болады.

1. Тілдегі түйінді сөздер (ключевое слово – keyword) мен идентифика­торларды құрастыру үшін қолданылатын символдар (1 кесте). Бұл топқа ағылшын алфавитінің бас және кіші әріптері мен астын сызу символы кіреді. Басқа Паскаль, Бейсик тілдеріндегі тәрізді бір символды өрнектеу үшін қолданылатын бас әріп пен кіші әріп бірдей болып саналмайды, мысалы, А және а айнымалылары екеуі екі түрлі болып есептеледі.

2. Қазақ (орыс) алфавитінің бас және кіші әріптері мен араб цифрла­ры сөз тіркестері мен түсініктеме мәтін жазуда пайдаланылады.

3. Операциялар таңбалары, айыру белгілері, қатынас таңбалары және арнайы символдар.

4. Басқару және айыру символдары. Бұл топқа: босорын, табуляция символы, жаңа жолға көшу, жаңа бетке көшу таңбалары жатады. Бұлар тұтынушы анықтаған объекті­лерді – константтар мен идентификаторларды бір-бірінен айыру үшін қолданылады.

5. Көрсетілгендерден басқа Си тілінде басқару тізбектері деп аталатын мәліметтер енгізу мен шығаруда қолданылатын арнайы символдар тіркесі бар. Басқару тізбектері кері бөлу сызықшасы белгісінен (\) басталатын латын әріптері мен цифрлар тізбегінен тұрады

3.N бүтін сандар жиымы (массиві) берілген. Соларды керісінше жазып шығу керек.

#include <conio.h>

#include <stdio.h>

#include <stdio.h>

void main()

<

int a[100];

int n;

printf (“enter ;”);

scanf(“%i”,&n);

for (int i=0;j=n-1 i<j; i++;j--)

< int r=a[i];

a[i]=a[j]

a[j]=r;

getch();

>

26-билет

1-сурак. Екі өлшемді жиымды – матрицаны сипаттау, бастапқы мәндерді тағайындау тәсілдері.

Екі өлшемді жиымды – матрицаны пайдалану үшін тік жақшалар ішінде олардың екі өлшемінің де енін көрсету керек. Мысалы: int a[4][3];

алғашқы сан жолдар санын, ал екінші сан бағаналар санын көрсетеді, а жиы­мы 12 элементтен тұрады.

Оларға бастапқы мәнді былай береміз:

int a[4][3]={ {0,1,2},

{3,4,5},

{6,7,8},

{9,10,11}

};

ішкі жүйелі жақшаларды қоймаса да болады:

int a[4][3]={0,1,2,3,4,5,6,7,8,9,10,11};

Келесі түрде сипаттау жолдардың тек бірінші элементтерін ғана анықтайды, қалған элементтер 0-ге тең болып саналады:

int a[4][3]={ {0},{3},{6},{9} };

Егер ішкі жүйелі жақшалар алынып тасталса, онда мағынасы өзгереді.

int a[4][3]={ 0,3,6,9 };

мұнда бірінші жолдың 3 элементі мен екінші жолдың бірінші элементі анықталады да, қалғандары 0 болып саналады.

2-сурак. Си тіліндегі программа құрылымы

Кез келген программа бір немесе бірнеше функциялардан тұрады. Олар программа құруға керекті негізгі модульдер болып табылады. Кез келген программаның жазылған алғашқы мәтіні бастапқы код деп ата­лады. Оны біріктірілген программалау ортасында теріп, сонан соң компилятор арқылы машиналық кодқа түрлендіріп орындаймыз. Сонымен, Си программасы бірнеше функциялардан (main, f1, f2…) құралады және олардың біреуі міндетті түрде main() болуы қажет. Алдымен программа препроцессор арқылы өңделіп, оның директивала­рын (командаларын) орындайды. Мұнда программаға тақырыптық файлдар – программаға қосымша элементтер енгізетін мәтіндік файлдар жазылады. Олар мәліметтерді енгізу/шығару операцияларын немесе экран сипаттамала­рын өзгерту үшін қажет.Функция тұлғасы операторлардан тұрады, олар жүйелі жақша­лар­мен шек­теледі. Әрбір оператордан кейін ; таңбасы қойылады.

27-билет

1-сурак. Матрицалардың көрсетілген элементтерін өңдеу тәсілдері

Матрицаларды өңдейтін негізгі алгоритмдер ретінде бір өлшемді жиымдарды өңдеу кезінде қолданылған алгоритмдер саналады. Жалпы матрицаларды өңдейтін барлық алгоритмдерді екі топқа бөліп қарастыруға болады, олар:

матрицаның барлық элементтерін өңдейтін алгоритмдер.

матрицаның әр жолы немесе әр бағанасы элементтерін жеке-жеке өңдейтін алгоритмдер.

Матрицаның барлық элементтерін өңдейтін алгоритмдер

Мысал. Нақты сандардан тұратын a4,6 матрицасы берілген. Мынадай өрнекті есептеу керек, мұндағы P1 и P2 – сәйкесінше алынған матрицаның оң және теріс элементтерінің көбейтіндісі.

/* a[4][6] матрицасы берiлген. z=p1/|p2| есептеу керек, p1 и p2 – матрицаның

оң және терiс элементтерiнiң көбейтiндiсi */

2-сурак. Компьютерде есеп шығару кезеңдері

ЭЕМ-де есеп шығару күрделі процесс болып есептеледі, ол төмендегі кезеңдерден тұрады:

1. Берілген есепті математикалық түрде өрнектеу, яғни есепті мәселе ретінде қоя білу.

2. Есепті шығарудың ЭЕМ-ге ыңғайлы сандық тәсілдерін анықтау.

3. Есепті шығару жолын алгоритм түрінде бейнелеу.

4. Есепті ЭЕМ-де шығару программасын жасау және оның қателерін түзету.

5. Есепке керекті мәліметтер дайындау.

6. ЭЕМ-де есепті шығару және шыққан нәтижені іс жүзінде қолдану.

Берілген есепті математикалық түрде өрнектеу дегеніміз – есептің берілген мәндерін математикалық таңбаларды қолданып жаза білу және керекті математикалық формулаларды, өрнектерді анықтау болып сана­лады.Күрделі формулаларды, теңдеулерді арифметикалық амалдар тізбегіне айналдыру есепті шығарудың сандық тәсілдерін табу не анықтау жолы болып есептеледі. Қазіргі кезде бар­лық есептердің шығару жолы­ның сандық тәсілдері белгілі десе де болады, тек солардың ішінен өзімізге тиімді жолын таңдап алуымыз керек. Бұл мақсатта есепті шығару дәл­ді­гін, нәтижені жылдам табу мүмкіндігін, мәліметтерді дайындау мен есепті шығарудың ба­ға­сын салыстыра отырып қарастыру қажет.Есептің алгоритмін жасағанда, оның шығару жолын тізбектелген іс-әрекеттер ретінде схема түрінде өрнектеледі.

28-билет

1-сурак. Матрицалардың диагоналына байланысты орналасқан элементтерін өңдеу жолдары

Матрицаларды өңдейтін негізгі алгоритмдер ретінде бір өлшемді жиымдарды өңдеу кезінде қолданылған алгоритмдер саналады. Жалпы матрицаларды өңдейтін барлық алгоритмдерді екі топқа бөліп қарастыруға болады, олар:

матрицаның барлық элементтерін өңдейтін алгоритмдер.

матрицаның әр жолы немесе әр бағанасы элементтерін жеке-жеке өңдейтін алгоритмдер

Мысал. Бүтін сандардан тұратын квадрат b5,5 матрицасы берілген. Оның бас диагоналының сол жағында және оң жағында орналасқан нөлге тең элементтері санын анықтап, солардың айырмасының модулін табу керек.

Мынадай белгілеулер енгізейік:

L1 – бас диагональдың сол жағында (төменінде) орналасқан элементтер саны;

L2 – бас диагональдың оң жағында (жоғарысында) орналасқан элементтер саны;

L= |L1-L2| – солардың айырмасы модулі.

#include <math.h>

#include <conio.h>

#include <stdio.h>

void line()

{printf("-------------------------\n");

return;}

main ()

{

static int b[5][5]={

{5,0,0,0,0},

{0,3,12,0,0},

{0,33,13,14,0},

{0,23,0,14,0},

{35,0,13,14,9},

};

int i,j;

int L1,L2,L;

clrscr();

printf("Берiлген матрица :\n");

line();

for (i=0; i<5; i++)

{for (j=0; j<5; j ++)

printf(" %3i ", b[i][j]);

printf("\n");}

line();

L1 = L2 = 0;

for (i=0; i<5; i++)

for (j=0; j<5; j ++)

if (b[i][j]==0)

{if (i>j) L1 = L1+1;

if (i<j) L2 = L2 +1;

}

L= abs(L1 - L2);

printf(" L = %i ",L);

getch();

}

2-сурак. Программа, программалау тілдері ұғымы

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

29-билет

1-сурак. Матрицалардың жолдарының және бағаналарының ең үлкен (кіші) элем­ент­терін, қосындыларын, көбейтінділерін табу

Матрицаларды өңдейтін негізгі алгоритмдер ретінде бір өлшемді жиымдарды өңдеу кезінде қолданылған алгоритмдер саналады. Жалпы матрицаларды өңдейтін барлық алгоритмдерді екі топқа бөліп қарастыруға болады, олар:

матрицаның барлық элементтерін өңдейтін алгоритмдер.

матрицаның әр жолы немесе әр бағанасы элементтерін жеке-жеке өңдейтін алгоритмдер.

2-сурак. Алгоритмді жазу тәсілдері

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

1) табиғи тіл арқылы жазу;

2) графика жолымен жазу;

3) алгоритмдік тілдермен жазу жолдарын жатқызуға болады.

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

30-билет

1-сурак. Матрицалардың жолдарында және бағаналарында орналасқан элемент­терді өсуі (кемуі) бойынша реттеу алгоритмдері

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

Наши рекомендации