Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная для ИБ на 1.03.2013.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
210.81 Кб
Скачать

Математические функции – файл math.H

функция

значение

пояснения

int abs(int n)

double sqrt(double x)

double pow(double x, double y)

double exp(double x)

double log(double x)

double log10(double x)

double sin(double x)

аргумент в радианах

double cos(double x)

аргумент в радианах

double tan(double x)

аргумент в радианах

double asin(double x)

double acos(double x)

double atan(double x)

double floor(double x)

“пол” аргумента x

double ceil(double x)

“потолок” аргумента x

Лабораторная работа №1. Основные конструкции языка C++

Задание. Используя оператор цикла с параметром, табулировать8 функцию на отрезке [Хst; Хen] с шагом Step и построить её график.

Порядок выполнения работы

  1. В редакторе деловой графики Microsoft Visio создаём блок-схемы основного (main) и двух вспомогательных (F и tabular_for) алгоритмов:

Набор шаблонов для создания блок-схем в редакторе Visio можно выбрать следующим образом: FileStencilFlowchartBasic Flowchart Shapes.

  1. Открываем систему программирования BCW (Borland C++ for Windows) и создаем в ней новый проект:

  • FileNewProject

  • в появившемся окне

в строке "Project Path and Name" указываем путь к проекту (файл с расширением ide); в выпадающем списке "Platform" выбираем платформу DOS (Standart);

если в программе будут вызываться графические функции, то устанавливаем флажок BGI в окне Libraries;

  • щелчок по OK, а затем двойной щелчок по выделенному имени cpp-файла:

откроет окно редактора:

в котором набираем текст программы:

# include <iostream.h> // cin, cout

# include <iomanip.h> // setprecision, setw

# include <conio.h> // clrscr(), getch()

# include <math.h> // sin(x)

# include <graphics.h>

# include <stdlib.h> // exit

// Объявление прототипов функций:

float F(float x);

void tabular_for(float Xst, float Xen, float Step);

float Fmodif(float x);

void graphF(float Xst, float Xen, float Step, int color);

void main()

{

clrscr();

float Xst, Xen, Step;

cout << "Табулирование функции F(x).\n";

cout << "Xstart = "; cin>>Xst;

cout << "Xend = "; cin>>Xen;

cout << "Step = "; cin>>Step;

tabular_for(Xst, Xen, Step);

getch();

cout<<"\n Построение графика функции F(x).\n";

cout<<"Xstart ="; cin>>Xst;

cout<<"Xend = "; cin>>Xen;

cout<<"Step = "; cin>>Step;

graphF(Xst, Xen, Step, 1);

}

// Объявление функций:

float F(float x)

{ if(x == 0) return 1; else return sin(x)/x; }

void tabular_for(float Xst, float Xen, float Step)

{for(float x = Xst; x <= Xen; x += Step)

{ cout<<"\n x = " << setw(6)<<setprecision(2)<<x; // манипуляторы;

cout<<" F(x) = "<<setw(6)<<setprecision(3)<<F(x);

}

}

float Fmodif(float x)

{ if(x != 0) return sin(x/6)/(x/6); else return 1; }

void graphF(float Xst, float Xen, float Step, int color)

{int gd=DETECT, gm, err;

// инициализации модуля graph:

initgraph(&gd, &gm, "d:\\bc5\\bgi");

// проверка результата инициализации:

err = graphresult();

if (err != grOk) // ошибка инициализации!

{cout<<"\n Ошибка графики: "<< grapherrormsg(err); // характер ошибки;

cout<<"Нажмите любую клавишу для завершения:";

getch();

exit(1); // завершение программы с кодом ошибки 1;

}

setbkcolor(15); // цвет фона;

setcolor(color); // цвет линий;

// координаты середины графического экрана:

int cX= (int) getmaxx()/2, cY= (int) getmaxy()/2;

float x, y;

line(0, cY, 2*cX, cY); // ось координат OX;

line(cX, 0, cX, 2*cY); // ось координат OY;

// строим график функции:

for(x = Xst; x <= Xen; x += Step)

{ y = Fmodif(x); putpixel( (int) x + cX, (int) -40*y + cY, color); }

getch();

}

Примечание. Все сведения по графическим функциям языка C++ можно найти в Help-файле (\HELP\bcdos.hlp – Borland Graphic Interface (BGI)).

  • Запуск проекта: Ctrl + F9, либо кнопкой Run.

  • Компиляция проекта: Alt + F9, либо кнопкой Compile this file.

Результат работы проекта:

табулирование функции F(x) на отрезке [-1; 1] с шагом 0,4:

построение графика функции F(x) на отрезке [-100; 100] с шагом 0,01: