Сандарды спираль бойынша орналастыру



Кіріспе

1. Есептің қойылымы және тапсырманы талдау
2. Теориялық бөлім
3. Программаны жобалау
4. Программаны жүзеге асыру
5. Программаны тестілеу

Қорытынды

Әдебиеттер

Қосымша A:Программа листингі
Кіріспе
Си тіліндегі кез келген программа бір немесе бірнеше функциялардан , қажетті деген бір немесе бірнеше модульдерден тұрады.Си тіліндегі қарапайым программаны мысал ретінде қарастырайық.
# include /*препроцессордың директивалары*/
main () /*негізгі функция*/
{
int m; /*айнымалыны сипаттау*/
m=1; /*меншіктеу операторы*/
printf(“%d басты белгісі \n”,m); /*шығару функциясы*/
}
Компиляторды жүктеу барысында алдыменнен препроцессор іске қосылады. Препроцессор # - фунт символынан басталатын препроцессор нұсқауларын іздестіре бастайды. Бұл нұсқаулардың негізгі қызметі бастапқы код мәтінін өзгерту.Нәтижесінде пайдаланушыға көрінбейтін уақытша файл пайда болады. Компилятор жүктелу нәтижесінде осы файлды оқып орындалатын файлға түрлендіреді. Бұл әдіс #include директивасына да қолданылып , препроцессорге көрсетілген файлды бастапқы код мәтініне қосуға мәжбүр етеді. Осы себепті компилятор бастапқы код мәтінін өңдеуге кіріскенде барлық қосымша файлдар кірістіріліп тұрады.
# include – “<” және “>” таңбалары арқылы аты көрсетілген файлды тіркеу керектігін білдіретін препроцессор нұсқауы.
# include - stdio.h (кіріс – шығыс ағысы) файылын тіркеу.
# include < alloc.h> - жады мен жұмыс істеуге арналған функциялар жиынтығын аныжады мен жұмыс істеуге арналған функциялар жиынтығын анықтайтын модуль.
# include - кездейсоқ сандар генераторымен жұмыс істеуге мүмкіндік береді.
Әдебиеттер:
1.Зауырбеков Н.С. , Жұмажанов Б.Ж. Алгоритмдеу және програмалау тілдері.-А. , 2008.
2.Демидович Е.М. Основы алгоритмизации и программирования.-С.-П. , 2006.
3.Культин.Н.C/C++ в задачах и примерах.-С.-П. , 2008.

Тақырыбы: Сандарды спираль бойынша орналастыру

Кіріспе

1. Есептің қойылымы және тапсырманы талдау

2. Теориялық бөлім

3. Программаны жобалау

4. Программаны жүзеге асыру

5. Программаны тестілеу

Қорытынды

Әдебиеттер

Қосымша A:Программа листингі

Кіріспе

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

# include stdio.h *препроцессордың
директивалары*

main () *негізгі функция*

{

int m; *айнымалыны
сипаттау*

m=1; *меншіктеу
операторы*

printf(“%d басты белгісі \n”,m); *шығару функциясы*

}

Компиляторды жүктеу барысында алдыменнен препроцессор іске қосылады.
Препроцессор # - фунт символынан басталатын препроцессор нұсқауларын
іздестіре бастайды. Бұл нұсқаулардың негізгі қызметі бастапқы код мәтінін
өзгерту.Нәтижесінде пайдаланушыға көрінбейтін уақытша файл пайда болады.
Компилятор жүктелу нәтижесінде осы файлды оқып орындалатын файлға
түрлендіреді. Бұл әдіс #include директивасына да қолданылып ,
препроцессорге көрсетілген файлды бастапқы код мәтініне қосуға мәжбүр
етеді. Осы себепті компилятор бастапқы код мәтінін өңдеуге кіріскенде
барлық қосымша файлдар кірістіріліп тұрады.

# include – “” және “” таңбалары арқылы аты көрсетілген файлды тіркеу
керектігін білдіретін препроцессор нұсқауы.

# include stdio.h - stdio.h (кіріс – шығыс ағысы) файылын тіркеу.

# include alloc.h - жады мен жұмыс істеуге арналған функциялар
жиынтығын аныжады мен жұмыс істеуге арналған функциялар жиынтығын
анықтайтын модуль.

# include stlib.h - кездейсоқ сандар генераторымен жұмыс істеуге
мүмкіндік береді.

1. Есептің қойылымы және тапсырманы талдау

Спираль бойымен 1 , 2 , 3 , ... сандар орналасқан , N өлшемді квадрат
матрицасын алу :

2. Теориялық бөлім

Мәліметтердің динамикалық құрылымы - өлшемдері программаның орындалу
барысында өзгеретін ( өсетін немесе кемитін) мәліметтер құрылымы.

Мәліметтердің динамикалық құрылымын құру және қолдану жаңа түйіндерді
сақтау және керексіз болып қалған жадылар блоктарын босату үшін орындалу
процесінде қосымша жадыны алу мүмкіндіктері жадыны динамикалық үлестіруді
талап етеді. Динамикалық жадымен бөлінетін максималды өлшем компьютердің
мүмкіндікті физикалық жадымен немесе виртуальді жадысы бар жүйедегі
мүмкіндікті виртуальді адрестік кеңістікпен анықталады. Жадыны динамикалық
үлестіру үшін malloc және free функцияларын , сондай – ақ sizeof
операциясын қолдану қажет. Malloc функциясын void* типті жадысына бөлінетін
көрсеткішті қайтару және бөлу қажетті байт санының аргументі ретінде
қолданады. Void* көрсеткішін кез келген айнымалы көрсеткішке меншіктеуге
болады. Malloc функциясы әдетте sizeof операциясымен бірге қолданылады.
Егер жадының қажетті саны болмаса , онда malloc NULL көрсеткішін қайтарады.
Free функциясы жадыны босатады , яғни жады жүйеге қайтарылады және
келешекте оны қайтадан ерекшелейді ( бөледі).

Байланысқан тізім – кез келген орнында қоюды және жоюды іске
асыруға болатын мәліметтер элементтерінің тізілген қатар жиынтығы.
Байланысқан тізімге қатынас тізімнің бірінші түйінінде көрсеткішпен
қамтамасыз етіледі.Келесі түйіндерге қатынас әрбір түйінде сақталатын
байланысқан көрсеткішпен орындалады. Байланысқан көрсеткіш жалпы келісіммен
тізімнің соңғы түйінінде тізімнің соңын білдіріп , NULL - мен
орнатылады.Мәліметтер байланысқан тізімде сақталады , динамикалық - әрбір
түйін қажеттілігіне қарай құрылады.

3. Программаны жобалау

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

Функцияны алдын ала сипаттау барысында программалық файлдың басында
оның прототипі көрсетіледі, өйткені негізгі функцияда оның айнымалылары
типтері белгілі болуы тиіс. Ол келесі түрде жазылады.

нәтиже-типі функция аты (типайнымалы1;,типайнымалы2; ,...
типайнымалы N);

Прототиптегі жай жақшаларға алынған айнымалылар идентификаторларын
көрсетпесе де болады, өйткені тілдің компиляторлары оларды өңдемейді.

Параметрлер тізімімен берілген fan функциясын сипаттаудың мысалын
қарастыайық, мысалы:

Float fun(int,float,int,int);

Функция прототипі компиляторға программа мәтінінде негізгі
программадан (main()) кейін оның толық анықтамасы келтірілетінін
білдіреді.нәтиже типі функция аты(параметрлер тізімі)

{

Функция коды

}

Нәтиже типі return операторларының көмегімен функцияның шақырылу
нүктесіне қайтарылатын мәннің типін көрсетеді. Егер функция типі
көрсетілмесе, қайтарылатын мән int типті деп саналады. Параметрлер тізімі
үтірмен ажыратылған типтер мен параметрлер аттарының тізбегінен тұрады.
Егер функцияның параметрлері болмаса да, жай жақшалар бәрі бір міндетті
түрде көрсетілуі тиіс.

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

Екі бүтін санның ішіндегі кішісін анықтайтын функцияны жазып көрейік.
Мысалы:

Int mini(int x, int y)

{int t;

if(xy) t=x;

else t=y;

return t;

}

Mini функциясын келесі түрде жазуға болады:

Mini(int x, int y)

{

Return(xy)? x:y;

}

Екі бүтін санның ішіндегі үлкенін анықтайтын функцияның мысалы:

Int maxi(int x, int y)

{

If(xy)

Return(x);

else

return (y);

}

Егер қайтарылатын мәннің типі көрсетілмесе, ол int типті болып
есептелінеді.

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

Мысалы, дисплей экранына бір толық жолды шығару үшін келесі функцияны
жазамыз:

Void lin(char a)

{

Int k;

For(k=0; k80; k++)

Printf(“%c”,a);

}

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

Main(void).

Си тілінде әрбір функция-программаның жеке бөлігі, оны орындау үшін
осы функцияны шақыру керек.

Функция келесі түрде шақырылады:

функция аты(аргументтер тізімі);

Мұндағы аргументтер ретінде тұрақтыларды, айнымалыларды, өрнектерді
(олардың мәндері функцияны шақырудан бұрын программа анықталады)

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

Mассив деп-бір типтегі элементтердің логикалық байланысқан жиынтығын
айтады.мысалы мынандай тізбек

0 1 1 2 3 5 8 13 21

Фибоначчи тізбегінің 9 элементін құрайды(алғашқы 2 санды тандып алып
келесі санды ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Паскаль – бағдарламалау тілі
САНДЫҚ МАШИНАЛАРДЫҢ АРИФМЕТИКАЛЫҚ ЖӘНЕ ЛОГИКАЛЫҚ НЕГІЗДЕРІ
БАЛАНЫҢ МОТОРЛЫҚ ДАМУЫНДАҒЫ ЖЕТІСТІКТЕР ТОРЛАРЫ
Архимед-ерте заман данышпан ғалымы
Corel Draw бағдарламасы туралы
Ұңғыма түбі жабдығы
Ақуыз молекуласының құрылымы
Программалау тілдерінің классификациясы
Графикалық редактор
Opengl архитектурасы. Компьютерлік графика
Пәндер