- •Содержание
- •Программа практики
- •1 Объектно-ориентированный анализ и проектирование системы
- •1.1 Сущность задачи
- •1.2 Проектирование модели
- •2 Вычислительная система
- •2.1 Инструменты разработки
- •3 Проектирование задачи
- •3.1 Требования к приложению
- •3.2 Концептуальный прототип
- •3.3 Организация данных
- •3.5 Проектирование справочной системы приложения
- •4 Описание программного средства
- •4.1 Функциональное назначение
- •5 Программирование на языке с# в среде VisualStudio
- •5.1 Тема: Линейные алгоритмы
- •5.2 Тема: Выполнение преобразований над числами
- •5.3 Тема: Разветвляющие алгоритмы
- •5.4 Тема: Циклические алгоритмы
- •5.5 Тема: Одномерные массивы
- •5.6 Тема: Двумерные массивы
- •5.9 Тема: Создание Windows-приложения по индивидуальному заданию
- •5.10 Тема: Работа с простейшими классами
- •5. 12 Тема: Работа с файлами
- •Литература
5.9 Тема: Создание Windows-приложения по индивидуальному заданию
Общая постановка задачи. Создать меню с командами Begin, Work, About. При выборе команды About открывается окно о разработчике. При выборе команды Begin открывается диалоговое окно, содержащее поле TextBox с меткой Inputword, группу переключателей Верхний регистр, Нижний регистр типа RadioButton, кнопку Button. Обеспечить возможность ввода слова и выбора режима перевода. При выборе команды Work открывается диалоговое окно с результатом перевода.
Текст программы представлен ниже:
Form1:
namespace WindowsFormsApplication35
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
privatevoidbeginToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2frm = newForm2();
frm.Show();
}
privatevoidaboutToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Программу разработал:Латышев и Бируля");
}
privatevoidwordToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("");
}
}
}
Form2:
namespace WindowsFormsApplication35
{
publicpartialclassForm2 : Form
{
public Form2()
{
InitializeComponent();
label1.Text = "";
}
privatevoid button1_Click(object sender, EventArgs e)
{
string x = textBox1.Text;
string v;
if (radioButton1.Checked)
{
v=(x.ToUpper());
label1.Text = v;
}
if (radioButton2.Checked)
{
v = (x.ToLower());
label1.Text = v;
} } }}
Рисунок 9.
Рисунок 10.
Рисунок 11.
Рисунок 12.
5.10 Тема: Работа с простейшими классами
Общая постановка задачи.
Составить описание класса многочлена вида ax2+bx+c. Предусмотреть методы реализующие:
Вычисление значения многочлена для заданного аргумента;
Операцию сложения, вычитания и умножения многочленов с получением нового объекта-многочлена
Вывод на экран описания многочлена
Написать программу, демонстрирующую все разработанные элементы класса.
Текст программы представлен ниже:
namespace _10
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
privatevoid Form1_Load(object sender, EventArgs e)
{
}
privatevoid button1_Click(object sender, EventArgs e)
{
Demo x = newDemo();
textBox1.Text = Convert.ToString(x.x);
textBox2.Text = Convert.ToString(x.c);
textBox3.Text = Convert.ToString(x.a);
textBox4.Text = Convert.ToString(x.b);
textBox5.Text = Convert.ToString(x.rez);
textBox6.Text = Convert.ToString(x.x_1);
textBox7.Text = Convert.ToString(x.c_1);
textBox8.Text = Convert.ToString(x.a_1);
textBox9.Text = Convert.ToString(x.b_1);
textBox10.Text = Convert.ToString(x.rez_1);
textBox11.Text = Convert.ToString(x.rez_2);
textBox12.Text = Convert.ToString(x.rez_3);
textBox13.Text = Convert.ToString(x.rez_4);
}
privatevoid button2_Click(object sender, EventArgs e)
{
}
privatevoid label5_Click(object sender, EventArgs e)
{
}
}
publicclassDemo
{
publicdouble x, a, b, c, rez, a_1, x_1, b_1, c_1, rez_1;
publicstring rez_2, rez_4, rez_3;
public Demo(){
a = 1;
c = 4;
x = 2;
b = 3;
rez = Math.Pow(x,2)*a+b*x+c;
a_1 = 1;
c_1 = 1;
x_1 = 1;
b_1 = 1;
rez_1 = Math.Pow(x_1, 2) * a_1 + b_1 * x_1 + c_1;
rez_2 = a + a_1 + "*x^2+" + (b + b_1) + "*x" + "+" + (c + c_1);
rez_3 = a - a_1 + "*x^2+" + (b - b_1) + "*x" + "+" + (c - c_1);
rez_4 = a * a_1 + "*x^4+" + b * b_1 + "*x" + "+" + c * c_1;
}
}
}
Рисунок 13.
Рисунок 14.
5.11 Тема: Работа с массивами классов
Общая постановка задачи.
Класс “Время”. Поля – часы, минуты, секунды.
Текст программы представлен ниже:
namespace lab11
{
publicpartialclassForm1 : Form
{
publicTime[] MyTime = newTime[100];
privateint i = 0;
public Form1()
{
InitializeComponent();
}
privatevoid radioButton3_CheckedChanged(object sender, EventArgs e)
{
}
privatevoid numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if (numericUpDown1.Value != 0)
{
groupBox1.Enabled = true;
}
else
{
groupBox1.Enabled = false;
}
}
privatevoid radioButton1_CheckedChanged(object sender, EventArgs e)
{
if (radioButton1.Enabled == true)
{
groupBox2.Enabled = true;
}
}
privatevoid timer1_Tick(object sender, EventArgs e)
{
if (radioButton1.Checked == false)
{
groupBox2.Enabled = false;
}
}
privatevoid button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length != 0 && textBox2.Text.Length != 0 && textBox3.Text.Length != 0)
{
if (i != numericUpDown1.Value)
{
listBox1.Items.Clear();
MyTime[i] = newTime();
MyTime[i].hour = Convert.ToInt32(textBox1.Text);
MyTime[i].min = Convert.ToInt32(textBox2.Text);
MyTime[i].second = Convert.ToInt32(textBox3.Text);
Update_List();
MessageBox.Show("Запись была добавлена в массив");
i++;
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
else
{
MessageBox.Show("Добавлено максималное число элементов массива");
}
}
}
publicvoidUpdate_List()
{
for (int g = -1; g < i; g++)
{
listBox1.Items.Add(g + 2 + ") Часы: " + Convert.ToString(MyTime[g + 1].hour) + "Минуты: " + Convert.ToString(MyTime[g + 1].min) + "Секунды: " + Convert.ToString(MyTime[g + 1].second));
}
}
privatevoid radioButton2_CheckedChanged(object sender, EventArgs e)
{
if (radioButton2.Checked == true)
{
groupBox4.Enabled = true;
}
else
{
groupBox4.Enabled = false;
}
}
privatevoid radioButton3_CheckedChanged_1(object sender, EventArgs e)
{
groupBox5.Enabled = true;
}
privatevoid button2_Click(object sender, EventArgs e)
{
try
{
try
{
BooleanisFindSuccess = false;
listBox2.Items.Clear();
int index = Convert.ToInt32(textBox4.Text);
for (int j = 0; j < i + 1; j++)
{
if (j == index)
{
listBox2.Items.Add(j + ") Часы: " + Convert.ToString(MyTime[j - 1].hour) + "Минуты: " + Convert.ToString(MyTime[j - 1].min) + "Секунды: " + Convert.ToString(MyTime[j - 1].second));
isFindSuccess = true;
}
}
if (isFindSuccess != true)
{
MessageBox.Show("Нет такого элемента");
}
}
catch (IndexOutOfRangeException error)
{
MessageBox.Show("Неттакогоэлемента" + error.ToString());
}
}
catch (NullReferenceException error)
{
MessageBox.Show("Неттакогоэлемента" + error.ToString());
}
}
privatevoid radioButton4_CheckedChanged(object sender, EventArgs e)
{
if (radioButton4.Checked == true)
{
label6.Text = "Введитечасы";
}
if (radioButton5.Checked == true)
{
label6.Text = "Введитеминуты";
}
if (radioButton6.Checked == true)
{
label6.Text = "Введитесекунды";
}
}
privatevoid button3_Click(object sender, EventArgs e)
{
listBox3.Items.Clear();
int s = Convert.ToInt32(textBox5.Text);
//часы
if (radioButton4.Checked == true)
{
for (int j = 0; j < i; j++)
{
if (s == MyTime[j].hour)
{
int h = MyTime[j].hour;
int m = MyTime[j].min;
int sec = MyTime[j].second;
listBox3.Items.Add("Часы: "+h+" Минут: "+m+" Секунд: "+sec);
}
}
}
//минуты
if (radioButton5.Checked == true)
{
for (int j = 0; j < i; j++)
{
if (s == MyTime[j].min)
{
int h = MyTime[j].hour;
int m = MyTime[j].min;
int sec = MyTime[j].second;
listBox3.Items.Add("Часы: " + h + " Минут: " + m + " Секунд: " + sec);
}
}
}
//секунды
if (radioButton6.Checked == true)
{
for (int j = 0; j < i; j++)
{
if (s == MyTime[j].second)
{
int h = MyTime[j].hour;
int m = MyTime[j].min;
int sec = MyTime[j].second;
listBox3.Items.Add("Часы: " + h + " Минут: " + m + " Секунд: " + sec);
}
}
}
}
}
}
Рисунок 15.
