Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌ
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ² 5. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ X: 1,6; 1,7; 1,8; 1,9; 2. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Y: 1,6416; 2,3961; 3,3536; 4,5441; 6. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ X, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1,68 ΠΡΠ²Π΅Ρ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ 2,2299. ΠΠ°ΠΏΡΡΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Interpolation Lagrange. exe ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΠ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΎΠ² ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅ ΠΠ°Π³ΡΠ°Π½ΠΆΠ°.
- Β· ΠΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
- Β· ΠΠ΅Π³ΠΊΠΎΡΡΡ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ
- Β· ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ
- Β· ΠΠΈΠ±ΠΊΠΎΡΡΡ. ΠΠ°Π»ΠΈΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ
- Β· ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΠΠ
- Β· ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΎΡΡΠ°Π²Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΊ ΡΠΎΡΡΠ°Π²Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°:
- Β· ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ IntelPentium ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ,
- Β· ΠΎΠ±ΡΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ 3000 ΠΠ±,
- Β· ΠΎΠ±ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ 1000 ΠΠ±,
- Β· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ VGA ΠΌΠΎΠ½ΠΈΡΠΎΡ,
- Β· ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°,
- Β· ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ «ΠΌΡΡΡ»
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Microsoft Windows XP ΠΈ Π²ΡΡΠ΅.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ ΠΎΠ΄ΠΈΡΡ «Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ», Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, Π±ΡΠ΄Π΅Ρ Π±Π΅Π· ΡΡΡΠ΄Π° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ.
Π’Π°Π±Π»ΠΈΡΠ°. Π‘ΡΠ°Π΄ΠΈΠΈ ΠΈ ΡΡΠ°ΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΡΠ°Π΄ΠΈΠΈ. | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ. | ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. |
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·. | ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ. | 1 Π΄Π΅Π½Ρ. |
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. | ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. | 4 Π΄Π½Ρ. |
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. | Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. | 2 Π΄Π½Ρ. |
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
- 1. ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ (N).
- 2. ΠΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° X ΠΈ Y.
- 3. ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌ ΡΠ°Π³ (h), Π³Π΄Π΅ h=x[1]-x[0].
ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
#include «Interpolation.h» .
#pragma once.
namespace InterpolationLagrange {.
using namespace System;
using namespace System: ComponentModel;
using namespace System: Collections;
using namespace System: Windows:Forms;
using namespace System: Data;
using namespace System: Drawing;
/// Π‘Π²ΠΎΠ΄ΠΊΠ° Π΄Π»Ρ Form1.
public ref class Form1: public System: Windows:Forms:Form.
{.
public:
Form1(void).
{.
InitializeComponent ();
//TODO: Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
}.
protected:
/// ΠΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
~Form1().
{.
if (components).
{.
delete components;
}.
}.
private: System: Windows:Forms:GroupBox^ groupBox1;
protected:
private: System: Windows:Forms:Button^ button2;
private: System: Windows:Forms:Button^ button1;
private: System: Windows:Forms:TextBox^ textBox2;
private: System: Windows:Forms:TextBox^ textBox1;
private: System: Windows:Forms:Label^ label2;
private: System: Windows:Forms:Label^ label1;
private: System: Windows:Forms:GroupBox^ groupBox2;
private: System: Windows:Forms:TextBox^ textBox3;
private: System: Windows:Forms:Label^ label3;
private: System: Windows:Forms:DataGridView^ dataGridView1;
private: System: Windows:Forms:DataGridViewTextBoxColumn^ X;
private: System: Windows:Forms:DataGridViewTextBoxColumn^ Y;
private:
/// Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
System:ComponentModel:Container ^components;
#pragma region Windows Form Designer generated code.
/// ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° — Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠΉΡΠ΅.
/// ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π°.
void InitializeComponent (void).
{.
this->groupBox1 = (gcnew System: Windows:Forms:GroupBox ());
this->button2 = (gcnew System: Windows:Forms:Button ());
this->button1 = (gcnew System: Windows:Forms:Button ());
this->textBox2 = (gcnew System: Windows:Forms:TextBox ());
this->textBox1 = (gcnew System: Windows:Forms:TextBox ());
this->label2 = (gcnew System: Windows:Forms:Label ());
this->label1 = (gcnew System: Windows:Forms:Label ());
this->groupBox2 = (gcnew System: Windows:Forms:GroupBox ());
this->textBox3 = (gcnew System: Windows:Forms:TextBox ());
this->label3 = (gcnew System: Windows:Forms:Label ());
this->dataGridView1 = (gcnew System: Windows:Forms:DataGridView ());
this->X = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());
this->Y = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());
this->groupBox1->SuspendLayout ();
this->groupBox2->SuspendLayout ();
(cli:safe_cast (this->dataGridView1))->BeginInit ();
this->SuspendLayout ();
// groupBox1.
this->groupBox1->Controls->Add (this->button2);
this->groupBox1->Controls->Add (this->button1);
this->groupBox1->Controls->Add (this->textBox2);
this->groupBox1->Controls->Add (this->textBox1);
this->groupBox1->Controls->Add (this->label2);
this->groupBox1->Controls->Add (this->label1);
this->groupBox1->Location = System: Drawing:Point (15, 15);
this->groupBox1->Name = L" groupBox1″ ;
this->groupBox1->Size = System: Drawing:Size (250, 220);
this->groupBox1->TabIndex = 0;
this->groupBox1->TabStop = false;
this->groupBox1->Text = L" ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ «;
// button2.
this->button2->Location = System: Drawing:Point (13, 180);
this->button2->Name = L" button2″ ;
this->button2->Size = System: Drawing:Size (220, 23);
this->button2->TabIndex = 5;
this->button2->Text = L" ΠΠ°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅" ;
this->button2->UseVisualStyleBackColor = true;
this->button2->Click += gcnew System: EventHandler (this, &Form1:button2_Click);
// button1.
this->button1->Location = System: Drawing:Point (205, 25);
this->button1->Name = L" button1″ ;
this->button1->Size = System: Drawing:Size (39, 23);
this->button1->TabIndex = 4;
this->button1->Text = L" Ok" ;
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System: EventHandler (this, &Form1:button1_Click);
// textBox2.
this->textBox2->Location = System: Drawing:Point (78, 147);
this->textBox2->Name = L" textBox2″ ;
this->textBox2->Size = System: Drawing:Size (121, 20);
this->textBox2->TabIndex = 3;
this->textBox2->KeyPress += gcnew System: Windows:Forms:KeyPressEventHandler (this, &Form1:textBox2_KeyPress);
// textBox1.
this->textBox1->Location = System: Drawing:Point (124, 27);
this->textBox1->Name = L" textBox1″ ;
this->textBox1->Size = System: Drawing:Size (75, 20);
this->textBox1->TabIndex = 2;
this->textBox1->KeyPress += gcnew System: Windows:Forms:KeyPressEventHandler (this, &Form1:textBox1_KeyPress);
// label2.
this->label2->AutoSize = true;
this->label2->Location = System: Drawing:Point (10, 150);
this->label2->Name = L" label2″ ;
this->label2->Size = System: Drawing:Size (62, 13);
this->label2->TabIndex = 1;
this->label2->Text = L" ΠΠ²Π΅Π΄ΠΈΡΠ΅ X:" ;
// label1.
this->label1->AutoSize = true;
this->label1->Location = System: Drawing:Point (10, 30);
this->label1->Name = L" label1″ ;
this->label1->Size = System: Drawing:Size (108, 13);
this->label1->TabIndex = 0;
this->label1->Text = L" ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊ-Π²ΠΎ ΡΠ·Π»ΠΎΠ²:" ;
// groupBox2.
this->groupBox2->Controls->Add (this->textBox3);
this->groupBox2->Controls->Add (this->label3);
this->groupBox2->Location = System: Drawing:Point (15, 240);
this->groupBox2->Name = L" groupBox2″ ;
this->groupBox2->Size = System: Drawing:Size (250, 60);
this->groupBox2->TabIndex = 1;
this->groupBox2->TabStop = false;
this->groupBox2->Text = L" Π Π΅Π·ΡΠ»ΡΡΠ°Ρ «;
// textBox3.
this->textBox3->Location = System: Drawing:Point (55, 27);
this->textBox3->Name = L" textBox3″ ;
this->textBox3->ReadOnly = true;
this->textBox3->Size = System: Drawing:Size (150, 20);
this->textBox3->TabIndex = 1;
// label3.
this->label3->AutoSize = true;
this->label3->Location = System: Drawing:Point (15, 30);
this->label3->Name = L" label3″ ;
this->label3->Size = System: Drawing:Size (34, 13);
this->label3->TabIndex = 0;
this->label3->Text = L" P (x) =";
// dataGridView1.
this->dataGridView1->AllowUserToAddRows = false;
this->dataGridView1->AllowUserToDeleteRows = false;
this->dataGridView1->AllowUserToResizeColumns = false;
this->dataGridView1->AllowUserToResizeRows = false;
this->dataGridView1->ColumnHeadersHeightSizeMode = System: Windows:Forms:DataGridViewColumnHeadersHeightSizeMode:AutoSize;
this->dataGridView1->Columns->AddRange (gcnew cli: array (2) {this->X, this->Y});
this->dataGridView1->Location = System: Drawing:Point (275, 15);
this->dataGridView1->Name = L" dataGridView1″ ;
this->dataGridView1->RowHeadersVisible = false;
this->dataGridView1->ScrollBars = System: Windows:Forms:ScrollBars:Vertical;
this->dataGridView1->Size = System: Drawing:Size (154, 285);
this->dataGridView1->TabIndex = 2;
// X.
this->X->Frozen = true;
this->X->HeaderText = L" X" ;
this->X->Name = L" X" ;
this->X->SortMode = System: Windows:Forms:DataGridViewColumnSortMode:NotSortable;
this->X->Width = 75;
// Y.
this->Y->Frozen = true;
this->Y->HeaderText = L" Y" ;
this->Y->Name = L" Y" ;
this->Y->SortMode = System: Windows:Forms:DataGridViewColumnSortMode:NotSortable;
this->Y->Width = 75;
// Form1.
this->AutoScaleDimensions = System: Drawing:SizeF (6, 13);
this->AutoScaleMode = System: Windows:Forms:AutoScaleMode:Font;
this->ClientSize = System: Drawing:Size (444, 312);
this->Controls->Add (this->dataGridView1);
this->Controls->Add (this->groupBox2);
this->Controls->Add (this->groupBox1);
this->Name = L" Form1″ ;
this->Text = L" ΠΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΠ°Π³ΡΠ°Π½ΠΆΠ°" ;
this->Load += gcnew System: EventHandler (this, &Form1:Form1_Load);
this->groupBox1->ResumeLayout (false);
this->groupBox1->PerformLayout ();
this->groupBox2->ResumeLayout (false);
this->groupBox2->PerformLayout ();
(cli:safe_cast (this->dataGridView1))->EndInit ();
this->ResumeLayout (false);
}.
#pragma endregion.
String^ decSeparator;
private: System: Void Form1_Load (System:Object^ sender, System: EventArgs^ e).
{.
decSeparator = Globalization: NumberFormatInfo:CurrentInfo->NumberDecimalSeparator;
}.
private: System: Void button1_Click (System:Object^ sender, System: EventArgs^ e).
{.
if (!int:TryParse (textBox1->Text,(int)n)).
{.
MessageBox:Show (L" ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΎΠ²Π΅ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° — n");
return;
}.
n = int: Parse (textBox1->Text);
if (!n).
{.
MessageBox:Show (L" ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΎΠ²Π΅ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° n > 0″);
return;
}.
while (dataGridView1->RowCount ≠ 0) // Π£Π΄Π°Π»ΠΈΠΌ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· dataGridView1.
dataGridView1->Rows->RemoveAt (0);
for (int i=0; i≠n; ++i) // ΠΠΎΠ±Π°Π²ΠΈΡΡ n ΡΡΡΠΎΠΊ.
dataGridView1->Rows->Add ();
}.
private: System: Void button2_Click (System:Object^ sender, System: EventArgs^ e).
{.
if (!int:TryParse (textBox1->Text,(int)n)).
{.
MessageBox:Show (L" ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΎΠ²Π΅ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° — n");
return;
}.
n = int: Parse (textBox1->Text);
if (!n).
{.
MessageBox:Show (L" ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΎΠ²Π΅ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° n > 0″);
return;
}.
double x = 0.0;
if (!Double:TryParse (textBox2->Text, x)).
{.
MessageBox:Show (L" ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΎΠ²Π΅ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° — x");
return;
}.
Points *points = new Points[n];
for (unsigned int i=0; i≠n; ++i).
{.
String ^str;
str = dataGridView1->Rows[i]->Cells[0]->FormattedValue->ToString ();
if (!Double:TryParse (str, points[i]. x)).
{.
MessageBox:Show (L" ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΎΠ²Π΅ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° ΡΠ·Π»ΠΎΠ²");
return;
}.
str = dataGridView1->Rows[i]->Cells[1]->FormattedValue->ToString ();
if (!Double:TryParse (str, points[i]. y)).
{.
MessageBox:Show (L" ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΎΠ²Π΅ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° ΡΠ·Π»ΠΎΠ²");
return;
}.
}.
textBox3->Text = interpolation. Lagrange (x, points, n).ToString ();
delete[] points;
}.
private: System: Void textBox1_KeyPress (System:Object^ sender, System: Windows:Forms:KeyPressEventArgs^ e).
{.
if (Char:IsDigit (e->KeyChar)).
return;
if (e->KeyChar == (char)Keys:Back).
return;
e->Handled = true;
}.
private: System: Void textBox2_KeyPress (System:Object^ sender, System: Windows:Forms:KeyPressEventArgs^ e).
{.
bool flDecSeparator = false;
if (!(textBox2->Text->Length) && (e->KeyChar == '-')).
return;
if (Char:IsDigit (e->KeyChar)).
return;
if (e->KeyChar == (char)Keys:Back).
return;
if (textBox2->Text->IndexOf (decSeparator) ≠ -1).
flDecSeparator = true;
if (flDecSeparator).
{.
e->Handled = true;
return;
}.
if (e->KeyChar.ToString () == decSeparator).
return;
e->Handled = true;
}.
};
}.
ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΠ°Π½Π½ΠΎΠ΅ ΠΠ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΡΡΠ³Π° Π»ΡΠ΄Π΅ΠΉ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°ΠΌΠΈ ΠΡΡΡΠΎΠ½Π°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ :
- Β· ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ , Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π²Π²ΠΎΠ΄ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
- Β· ΠΡΠ²ΠΎΠ΄ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½.
- Β· ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ.
ΠΠ°ΠΏΡΡΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Interpolation Lagrange. exe ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΠ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠΎΡΠΌΡ (ΡΠΈΡ. 1), Π³Π΄Π΅:
- 1. ΠΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ²
- 2. ΠΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ
- 3. Π’Π°Π±Π»ΠΈΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ X, Y
- 4. ΠΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π²Π΅ΡΡΠΈ Π₯
- 5. ΠΠ½ΠΎΠΏΠΊΠ° «ΠΠ°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅», ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
- 6. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
Π ΠΈΡ 1.ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ.
[Π Π°ΡΡ ΠΎΠ΄, Π»/Ρ] [ΠΠΈΠ°ΠΌΠ΅ΡΡ, ΠΌΠΌ] [Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΌ/Ρ].
[100] Π»/Ρ [400]ΠΌΠΌ [1,1] ΠΌ/Ρ.
[100] Π»/Ρ [450]ΠΌΠΌ [0,9] ΠΌ/Ρ.
[100] Π»/Ρ [500]ΠΌΠΌ [0,75] ΠΌ/Ρ.
[100] Π»/Ρ [550]ΠΌΠΌ [0,68] ΠΌ/Ρ ΠΡ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠ· Π½ΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π½Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ° ΡΡΡΠ±Ρ (510 ΠΌΠΌ) ΠΏΡΠΎΡΡΠΎ Π½Π΅ΡΡ (ΠΊΠ°ΠΊ ΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠΎΡΠΎΠΊΠ° ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅)… Π½ΠΎ Π·Π°ΡΠΎ Π΅ΡΡΡ (ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ) ΡΠ°ΠΊΠΎΠ΅:
Π΄ΠΈΠ°ΠΌΠ΅ΡΡ ΡΡΡΠ±Ρ (500)ΠΌΠΌ — Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ — 0,75 ΠΌ/Ρ Π΄Π»Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ° ΡΡΡΠ±Ρ (510)ΠΌΠΌ — Ρ. Π΅ X-?
Π΄ΠΈΠ°ΠΌΠ΅ΡΡ ΡΡΡΠ±Ρ (550)ΠΌΠΌ — Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ — 0,68 ΠΌ/Ρ Π ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ [500…550] ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π΄ΠΈΠ°ΠΌΠ΅ΡΡ) 510 ΠΌΠΌ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠΎ Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°ΠΈ Π½Π°ΠΉΡΠΈ ΠΊΠ°ΠΊΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ΄Ρ Π² ΡΡΡΠ±Π΅ ΠΏΡΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ΅ 100 Π»ΠΈΡΡΠΎΠ² Π΄Π»Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ° 510 ΠΌΠΌ) Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² ΡΡΠΎΠΌ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌ ΡΠ΅ΠΌΠ΅ΡΠ»Π΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΎΡ
1)ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ² 5. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ X: 400; 450; 500; 550; 600. Y:1,1; 0,9;0,75;0,68;0,6.
Π ΠΈΡ. 2.
2) ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·Π»ΠΎΠ² 5. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ X: 1,6; 1,7; 1,8; 1,9; 2. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Y: 1,6416; 2,3961; 3,3536; 4,5441; 6. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ X, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1,68 ΠΡΠ²Π΅Ρ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ 2,2299.
Π ΠΈΡ. 3.