«Программалау» ПӘнінің ОҚУ-Әдістемелік кешені



бет5/16
Дата27.05.2018
өлшемі2,32 Mb.
#40952
1   2   3   4   5   6   7   8   9   ...   16

Зертханалық жұмыс №1

Сызықтық және тармақталған есептеу процесстері



Жұмыстың мақсаты:

С++ тілінде программа мәтіндерін құру ережелерін үйрену: базалық мәліметтер типтері, мәліметтерді енгізу-шығару, негізгі математикалық функциялар; шартсыз өту және тармақталу операторлары (шарт бойынша таңдау операторы if, ауысытрғыш-оператор switch). Сызықтық және тармақталған алгоритмдерді программалауды үйретну.


Программалаудың интегралдық ортасы Borland C++ -да жұмыс істеу барысында программа мәтінін енгізу, компиляциялау, редактрлеу, трансляциялау және программаны орындау амалдары орындалады.

  • жаңа файл құру үшін File New Text Edit




  • …\bin\*.cpp тақырыпты терезеде программа мәтінін тереміз.

  • Alt+F9 клаввиштері немесе ProjectCompilе командаларын орындап компиляция жасаймыз.

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

  • Синтаксистік қатеден тазарған программаны (run) батырмасы арқылы орындауға жіберміз .

  • Программаның соңғы жолында getch( ); функциясын жазсақ нәтиже терезесі басқа клавишті басқанша жабылмайды.

СЫЗЫҚТЫҚ АЛГОРИТМ МЫСАЛЫ

Есептеу керек ,

мұндағы x=2,444, y=0,00869, z=-130, нәтиже: -0.49871.

Программа мәтіні келесі түрде болуы мүмкін:

#include

#include

#include

#define x 2.444

#define y 0.00869

#define z -130.0


void main(void)

{

double rezult,dop,a,b,c;



clrscr( ); /* ЭКРАНДЫ ТАЗАРТУ */

puts(" ЗЕРТХАНАЛЫҚ ЖҰМЫС №1 – СЫЗЫҚТЫҚ ПРОГРАММА");

puts("=========================================");

dop=fabs(y-x);

a=pow(x,y+1)+exp(y-1);

b=1+x*fabs(y-tan(z));

c=0.5*pow(dop,2)-pow(dop,3)/3;

rezult=a/b*(1+dop)+c;

printf("\a\n ОТВЕТ: rezult=%lf, Press any key...", rezult);

getch( ); /* КЕЗ-КЕЛГЕН ПЕРНЕНІ БАСҚҚАНҒА ДЕЙІН КҮТУ*/



}
If ОПЕРАТОРЫН ҚОЛДАНУ МЫСАЛЫ

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

Программа мәтіні келесі түрде болуы мүмкін:

#include

#include

#include

#include

#define A 1

#define C 3
double max(double m,double n) /* МАКСИМАЛ МӘНДІ ІЗДЕУГЕ АРНАЛҒАН*/

{ /* m ЖӘНЕ n ПАРАМЕТРЛЕРІ БАР */

if (m>n) return m; /*max ФУнкцияСЫ*/
else return n;

}
double min(double m, double n) /* МИНИМАЛ МӘНДІ ІЗДЕУГЕ АРНАЛҒАН*/

{ /* m ЖӘНЕ n ПАРАМЕТРЛЕРІ БАР */

if (mнкцияСЫ*/

else return n;

}
void main()

{

double x,y,f; /* x,y,f АЙНЫМАЛЫЛАРЫН ЖАРИЯЛАУ */



clrscr();

puts("Введите значения x и y");

scanf("%lf %lf",&x,&y); /* х ЖӘНЕ у МӘНДЕРІН ЕНГІЗУ*/

if ((x>0)&&(y<0))

{

f=(A*x+tan(C*y))/(5-2*x);



puts("F=(а*x+tg(c*y))/(5-2*x)");

}

else if ((x<0)&&(y>0))



{

f=max(pow(x,2.0/3.0),cos(y*y)); /* max ФУНКЦИЯСЫН ШАҚЫРУ*/

puts("F=max(pow(x,2/3),cos(y*y))");

}

else if ((x>0)&&(y>0))



{

f=min(0.5*x-2*pow(sin(y),2),exp(y)); /* min ФУНКЦИЯСЫН ШАҚЫРУ*/

puts("F=min(0.5*x-2*pow(sin(y),2),exp(y))");

}

else



{

puts("Функция F не определена\n Press any key...");

getch();

exit(1); /* ПРОГРАММАНЫ МӘЖБҮРЛЕП АЯҚТАУ*/

}
printf("ОТВЕТ: F=%lf,\n Press any key...\n",f); /* НӘТИЖЕНІ ШЫҒАРУ*/

getch();


}
Жеке тапсырмалар:

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



  1. , егер

  2. егер

  3. егер

  4. егер

  5. егер

  6. егер

  7. егер

  8. егер

  9. егер

  10. егер

  11. егер

  12. , егер

  13. , егер

  14. , егер

  15. , егер

  16. , егер

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

  1. ,

  2. ,

  3. ,

  4. ,









3 нүкте берілді А(х1,y1), B(х2,y2), C(х3,y3).

  1. y=kx+1 түзуіне қатысты нүктелердің қалай орналасқанын тап (асты, үсті, бойы).

  2. Әр нүктемен координат басының арақашықтығын тап. Нәтижені өсу ретімен шығар.

  3. Нүктелердің жазықтықтағы орынын анықта. Қандай ширектерде жатқанын шығар.

  4. Осы нүктелер төбелері болатн үшбұрыш салуға бола ма? Болса қандай үщбұрыш?

  5. Радиусы r центрі координаттар басы болатын шеңберге қатысты нүктелердің орынын анықта.





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   16




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет