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

Глава 3

.docx
Скачиваний:
0
Добавлен:
12.01.2020
Размер:
92.5 Кб
Скачать

Глава III

Циклы

ЭИС – 14

Ивин Павел

Вариант 6

Раздел 1

Условие задачи: распечатать таблицу значений функции F для x, изменяющегося в интервале от x0 до xk с шагом h. Значения x0, xk, h вводятся пользователем.

Код программы:

private: System::Void label1_Click(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

DataTable ^table;

DataColumn ^column;

DataRow ^row;

table = gcnew DataTable();

String^ nameFirstColumn = "x";

String^ nameSecondColumn = "F";

column = gcnew DataColumn(nameFirstColumn, Double::typeid);

table->Columns->Add(column);

column = gcnew DataColumn(nameSecondColumn, String::typeid);

table->Columns->Add(column);

double x0, xk, F, h, x, const b = 4;

Convert::ToString(x0 = Convert::ToDouble(textBox1->Text));

Convert::ToString(xk = Convert::ToDouble(textBox2->Text));

Convert::ToString(h = Convert::ToDouble(textBox3->Text));

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

{

if (x < 2) F = atan(x) + sqrt(abs(x - 2));

else if (x == 2) F = (5 - pow(b, 2) + cos(3.14*x));

else F = (log(x - 2)*sin(x/2));

row = table->NewRow();

row[nameFirstColumn] = x;

row[nameSecondColumn] = F;

table->Rows->Add(row);

}

dataGridView1->DataSource = table;

Примеры вывода программы:

Раздел 2

Условие задачи: Для x, изменяющегося в интервале от x0 до xk с шагом h, вычислить значения бесконечной суммы S(x) с точностью e=0.00001 и функции y(x).

Код программы:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

DataTable ^table;

DataColumn ^column;

DataRow ^row;

table = gcnew DataTable();

String^ nameFirstColumn = "x";

String^ nameSecondColumn = "y";

String^ nameThirdColumn = "S";

column = gcnew DataColumn(nameFirstColumn, Double::typeid);

table->Columns->Add(column);

column = gcnew DataColumn(nameSecondColumn, String::typeid);

table->Columns->Add(column);

column = gcnew DataColumn(nameThirdColumn, Double::typeid);

table->Columns->Add(column);

double x0, x, xk, h, u, S, y, t = 1E-5;

int n;

Convert::ToString(x0 = Convert::ToDouble(textBox1->Text));

Convert::ToString(xk = Convert::ToDouble(textBox2->Text));

Convert::ToString(h = Convert::ToDouble(textBox3->Text));

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

{

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

{

S = 0;

u = 1;

n = 0;

y = cos(x);

while (abs(u) > t)

{

S += u;

u = u * (-pow(x, 2)) / ((2 * n + 1)*(2 * n + 2));

n++;

}

row = table->NewRow();

row[nameFirstColumn] = x;

row[nameSecondColumn] = y;

row[nameThirdColumn] = S;

table->Rows->Add(row);

}

}

dataGridView1->DataSource = table;

}

Примеры вывода программы:

Соседние файлы в предмете Информатика