- •Отчёт по индивидуальным лабораторным работам
- •1 Первая задача
- •1.1 Постановка задачи
- •1.2 Схемы алгоритмов
- •1.3 Текст программы
- •1.4 Результаты тестирования программы
- •1.5 Заключение
- •2 Вторая задача
- •2.1 Постановка задачи
- •2.2 Схемы алгоритмов
- •2.3 Текст программы
- •2.4 Результаты тестирования программы
- •2.5 Заключение
- •3 Третья задача
- •3.1 Постановка задачи
- •3.2 Схемы алгоритмов
- •3.3 Текст программы
- •3.4 Результаты тестирования программы
- •3.5 Заключение
- •4 Четвёртая задача
- •4.1 Постановка задачи
- •4.2 Схемы алгоритмов
- •4.3 Текст программы
- •4.4 Результаты тестирования программы
- •4.5 Заключение
3.2 Схемы алгоритмов
При нажатии на кнопку «Закрыть», выполняется функция закрытия программы (рисунок 28).
Рисунок 28 – Схема алгоритма функции обработки нажатия на кнопку «Закрыть»
При нажатии на кнопку «Сложить», выполняется функция, складывающая заданные дроби (рисунок 29).
Рисунок 29 – Схема алгоритма функции обработки нажатия кнопки «Сложить»
При нажатии на кнопку «Умножить», выполняется функция умножения заданных значений (рисунок 30).
Рисунок 30 — Схема алгоритма функции обработки нажатия кнопки «Умножить»
При нажатии на кнопку «Делить», выполняется функция деления заданных значений (рисунок 31).
Рисунок 31 – Схема алгоритма функции обработки нажатия кнопки «Делить»
Далее на рисунках 32 - 35 представлены схемы алгоритмов проверки ввода чисел A, B, C и D.
Рисунок 32 – Схема алгоритма функции проверки ввода числа А
Рисунок 33 – Схема алгоритма функции проверки ввода числа В
Рисунок 34 – Схема алгоритма функции проверки ввода числа С
Рисунок 35 – Схема алгоритма функции проверки ввода числа D
3.3 Текст программы
private:System::Void btnClose_Click(System::Object^sender, System::EventArgs^ e)
{
this->Close();
}
private:
int a;
int b;
int c;
int d;
int m, n, i;
bool chek = false;
int ot;
int p;
private: System::Void btnSum_Click(System::Object^ sender, System::EventArgs^ e)
{
if ((txtA->Text != "") && (txtB->Text != "") && (txtC->Text != "") && (txtD->Text != ""))
{
int a = Convert::ToInt32(txtA->Text);
int b = Convert::ToInt32(txtB->Text);
int c = Convert::ToInt32(txtC->Text);
int d = Convert::ToInt32(txtD->Text);
if ((a == 0) || (b == 0) || (c == 0) || (d == 0))
{
MessageBox::Show("Вы ввели 0, 0 не натуральное число");
this->txtA->Text = L"";
this->txtB->Text = L"";
this->txtC->Text = L"";
this->txtD->Text = L"";
}
else
{
m = a * d + b * c;
n = b * d;
i = 2;
while (i <= n && i <= m)
{
if (n % i == 0 && m % i == 0)
{
n = n / i;
m = m / i;
}
else
{
i++;
}
}
txtOtvet->Text = m + "/" + n;
}
}
else
{
MessageBox::Show("Введите все числа!");
}
}
private: System::Void btnUmn_Click(System::Object^ sender, System::EventArgs^ e)
{
if ((txtA->Text != "") && (txtB->Text != "") && (txtC->Text != "") && (txtD- >Text != ""))
{
int a = Convert::ToInt32(txtA->Text);
int b = Convert::ToInt32(txtB->Text);
int c = Convert::ToInt32(txtC->Text);
int d = Convert::ToInt32(txtD->Text);
if ((a == 0) || (b == 0) || (c == 0) || (d == 0))
{
MessageBox::Show("Вы ввели 0, 0 не натуральное число");
this->txtA->Text = L"";
this->txtB->Text = L"";
this->txtC->Text = L"";
this->txtD->Text = L"";
}
else
{
m = a * c;
n = b * d;
i = 2;
while (i <= n && i <= m)
{
if (n % i == 0 && m % i == 0)
{
n = n / i;
m = m / i;
}
else
{
i++;
}
}
txtOtvet->Text = m + "/" + n;
}
}
else
{
MessageBox::Show("Введите все числа!");
}
}
private: System::Void btnDel_Click(System::Object^ sender, System::EventArgs^ e)
{
if ((txtA->Text != "") && (txtB->Text != "") && (txtC->Text != "") && (txtD->Text != ""))
{
int a = Convert::ToInt32(txtA->Text);
int b = Convert::ToInt32(txtB->Text);
int c = Convert::ToInt32(txtC->Text);
int d = Convert::ToInt32(txtD->Text);
if ((a == 0) || (b == 0) || (c == 0) || (d == 0))
{
MessageBox::Show("Вы ввели 0, 0 не натуральное число");
this->txtA->Text = L"";
this->txtB->Text = L"";
this->txtC->Text = L"";
this->txtD->Text = L"";
}
else
{
m = a * d;
n = b * c;
i = 2;
while (i <= n && i <= m)
{
if (n % i == 0 && m % i == 0)
{
n = n / i;
m = m / i;
}
else
{
i++;
}
}
txtOtvet->Text = m + "/" + n;
}
}
else
{
MessageBox::Show("Введите все числа!");
}
}
private: System::Void txtA_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)
{
if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')
{
e->Handled = true;
}
}
private: System::Void txtB_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)
{
if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')
{
e->Handled = true;
}
}
private: System::Void txtC_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)
{
if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')
{
e->Handled = true;
}
}
private: System::Void txtD_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)
{
if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b')
{
e->Handled = true;
}
}
};
}
