Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
20.02.2017
Размер:
25.75 Кб
Скачать

Тапсырманың берілгені

1) Берілген функцияның х1 мен х2 аралығындағы (қадамы ) мәндерін есептеп экранға шығарып беретін Си тілінде программа жазыңыз. Есептің блок-схемасын тұрғызыңыз.

2) Екіге бөлу әдісімен (методом деления пополам) қолдану арқылы функцияның х1 мен х2 аралығындағы түбірін дәлдігі е болатындай етіп тауып беретін Си тілінде программа жазыңыз. Алгоритмін блок-схема түрінде келтірініз.

Функция

X1

X2

h

e

Жауабы

-2

3

1

0,001

0

Алгоритм түсініктемесі

Есептің блок-схемасы 1-суретте көрсетілген: 1-блок - алгоритм басы. 2-блокта қосымша программа, яғни функция басталады. Мұның ішінде у мәнін есептейтін формула жазылады. 3 блокта есеп берілгендері енгізілді. 4-блокта цикл ашылады. 5-6 блоктар цикл денесі болып табылады. 5-блокта у есептейтін формуланы функция арқылы шақырылып, 6-блокта х, у мәндері қара экранға шығарылады. 7 блокта х-тің бастапқы және соңғы мәні үшін у мәндері есептеледі. 8-блок цикл ашылады. 9-блокта итерация саны есептеледі. 10-блок қақ бөлу әдісінің негізгі формуласы. 11-блок у есептейтін формула шақырылады. 12-блок шартты оператор шақырылады. 13-блок шарт орындалғандағы х мәні. 14-блок шарт орындалмағандағы х-тің мәні. 15-блок х пен у және і мәндері қара экранға шығарылады. 16-блок алгоритм соңы.

Есептің жұмысына түсініктеме және орындалу нәтижелері

Екі тапсырма бір программаның ішінде орындалады. Біріншіден, препроцессорлық директиваларды шақырылады. Одан кейін функция шақырылып, есептің берілгені енгізіледі. Программа басталады. Айнымалылар енгізіліп,олардың типтері көрсетіледі. Есептің берілгендері, яғни х-тің бастапқы және соңғы мәндері, қадам, дәлдік енгізіледі. Цикл ашылып, х-тің әрбір мәніне сәйкес у мәндері қара экранға кесте түрінде шыгарылады. х1, х2, х үшін у мәндерін есептейтін функция шакырылады. Цикл ашылып, у мәндерінің дәлдігі көрсетіледі. Цикл денесінде итерация саны есептеледі. Қақ бөлу әдісінің формуласы жазылып, функция мәнінің таңбасын анықтау үшін шартты операторды шақырылады. Осыған байланысты қай нүктенің кесінді ортасына баратынын және қай бөлікте түбір жоқ екені анықталады. Сөйтіп цикл денесі жабылады. Түбірді қара экранға шығарамыз. Программа аяқталады.

Си тілінде жазылуы

#include<stdio.h>

#include<conio.h>

#include<math.h>

float f(float x)

{float R;

R=4/(x*x+x+4)+5/(x*x+5)-2;

return(R);

}

main()

{

float x,y,e,x1,x2,Y1,Y2;

int i;

clrscr();

x1=-2.0; x2=3.0; e=0.001; h=1;

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

printf(" x | y\n");

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

for(x=x1;x1<=x2;x=x+h)

{

y=f(x);

printf(" %3.2f | %3.2f\n",x,y);

}

i=0;

Y1=f(x1);

Y2=f(x2);

y=f(x);

while(y>e||y<-e)

{

i++;

x=(x1+x2)/2;

y=f(x);

if (Y1*y>0) x1=x;

else x2=x;

}

printf("\n i=%i",i);

printf("\n");

printf("\n x=%3.2f maninde y=%3.2f ten",x,y);

getch();

}

Қорытынды

С++ программалау тілінде берілген есепті For, While-do және While циклдық операторларды қолдана отырып шығару нәтижесінде, осы циклдық операторларының ерекшеліктері мен мүмкіндіктерін дұрыс пайдаланудың жолдарын, тәсілдері мен әдістерін үйрендім және бұған дейінгі осы циклдық операторлар жайлы алған теориялық білімімді практика жүзінде толық қанды толықтыруға мүмкіндік алдым.

Қолданылған әдебиеттер

1. Программалау тілдеріне кіріспе. Бөрібаев Б., Алматы 2008ж.

2. С/С++ в задачах и примерах. Н.Культин, Санкт-Петербург, 2011 ж.

3. Самостоятельно изучаем С/С++ Л. Перлоколов. «Питер» баспасы, 2004ж.

4. Начальный курс С и С++. Б.И Березен.,С.Б. Березен, Мәскеу 2004 ж.

5

Соседние файлы в папке 5.Алгоритм и языки программ