- •Отчёт по индивидуальным лабораторным работам
- •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 Заключение
1.2 Схемы алгоритмов
При нажатии на кнопку «Пуск», выполняется алгоритм функции, представленный на рисунках 1-2.
Рисунок 1 - Схема алгоритма функции обработки нажатия кнопки «Пуск»
Рисунок 2 - Схема алгоритма функции обработки нажатия кнопки «Пуск», продолжение
На рисунке 3 представлена схема алгоритма функции обработчика нажатия на кнопку "Загрузить".
Рисунок 3 – Схема алгоритма функции обработчика нажатия на кнопку «Загрузить»
На рисунке 4 представлена схема алгоритма функции обработчика нажатия на кнопку "Сохранить".
Рисунок 4 – Схема алгоритма функции обработчика нажатия на кнопку «Сохранить»
На рисунках 5-6 представлены схемы алгоритмов проверки ввода числа n и k соответственно.
Рисунок 5 – Схема алгоритма функции проверки ввода n
Рисунок 6 – Схема алгоритма функции проверки ввода k
При нажатии на кнопку «Закрыть», выполняется функция закрытия программы (рисунок 7).
Рисунок 7 – Схема алгоритма функции обработки нажатия на кнопку «Закрыть»
На рисунке 8 представлена схема алгоритма функции обработчика нажатия на кнопку "Очистить".
Рисунок 8 – Схема алгоритма функции обработчика нажатия на кнопку «Очистить»
На рисунках 9-10 соответственно представлены схемы алгоритмов, которые выполняются при изменении числа N.
Рисунок 9 – Схема алгоритма функции при изменении n
Рисунок 10 – Схема алгоритма функции при изменении k
1.3 Текст программы
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if (textBox1->Text != "" && textBox2->Text != "")
{
int n = Convert::ToInt32(textBox1->Text);
int k = Convert::ToInt32(textBox2->Text);
int* a = new int[n];
int col = 0;
String^ s = textBox4->Text;
if (s == "")
{
for (int i = 0; i < n; i++) {
a[i] = rand() % 100;
textBox4->Text += a[i] + " ";
}
}
else {
String^ text = textBox4->Text;
array<String^>^ lines = text->Split(gcnew array<Char>{' '}, StringSplitOptions::RemoveEmptyEntries);
int i = 0;
for each (String ^ line in lines) {
int number;
if (Int32::TryParse(line, number)) {
a[i] = number;
i++;
}
}
}
int* b = new int[col];
int j = 0;
textBox3->Clear();
for (int i = 0; i < n; i++) {
if (a[i] % 10 == k) {
b[j] = a[i];
textBox3->Text += b[j] + " ";
j++;
}
}
}
else
{
MessageBox::Show("Введите все исходные данные!");
}
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
OpenFileDialog^ openFileDialog = gcnew OpenFileDialog();
openFileDialog->Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
if (openFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
String^ fileName = openFileDialog->FileName;
StreamReader^ sr = gcnew StreamReader(fileName);
String^ line;
array<String^>^ tokens;
line = sr->ReadLine();
tokens = line->Split(' ');
int n = Convert::ToInt32(tokens[0]);
textBox1->Text = Convert::ToString(n);
line = sr->ReadLine();
textBox4->Text = line;
sr->Close();
}
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e)
{
SaveFileDialog^ saveFileDialog = gcnew SaveFileDialog();
saveFileDialog->Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
if (saveFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
String^ fileName = saveFileDialog->FileName;
StreamWriter^ sw = gcnew StreamWriter(fileName);
sw->WriteLine(textBox1->Text);
sw->WriteLine(textBox4->Text);
sw->Close();
}
}
private: System::Void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e)
{
if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b') {
e->Handled = true;
}
}
private: System::Void textBox2_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) {
if (!Char::IsDigit(e->KeyChar) && e->KeyChar != '\b') {
e->Handled = true;
}
}
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e)
{
this->Close();
}
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) {
this->textBox4->Text = "";
this->textBox3->Text = "";
this->textBox2->Text = "";
this->textBox1->Text = "";
}
private: System::Void textBox1_TextChanged(System::Object^sender, System::EventArgs^ e) {
this->textBox3->Text = "";
}
private: System::Void textBox2_TextChanged(System::Object^sender, System::EventArgs^ e) {
this->textBox3->Text = "";
}
};
}
