- •Содержание
- •Программа практики
- •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.5 Тема: Одномерные массивы
Общая постановка задачи. Написать Windows- приложение для нахождения суммы модулей элементов массива, расположенных после первого отрицательного элемента.
Текст программы представлен ниже:
namespaceWindowsFormsApplication16
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
label2.Text = "";
}
privatevoid button1_Click(object sender, EventArgs e)
{
int k = 0;
int d = 0;
int b = 0;
Int32 n = Convert.ToInt32(textBox1.Text);
int[] x = newint[n];
for (int i = 0; i < n; i++)
{
x[i] = Convert.ToInt32(dataGridView1.Rows[0].Cells[i].Value);
}
for (int i = 0; i < n; i++)
{
if ((x[i] < 0) &&((i%2)==0))
{
b=b-x[i];
}
else
{ if ((x[i] >= 0) && (k != 0)) { b = 1; } }
}
for (int i = 0; i < n; i++)
{
if ((x[i]> 0) && ((i % 2) == 1))
{
d = d + x[i];
}
else
{ if ((x[i] >= 0) && (k != 0)) { b = 1; } }
}
label2.Text = "Сумма отрицательных-" + b+"\nСумма положительных"+d;
}
privatevoid button2_Click(object sender, EventArgs e)
{
Int32 n = Convert.ToInt32(textBox1.Text);
dataGridView1.ColumnCount = n;
dataGridView1.RowCount = 1;
} }}
Рисунок 6.
5.6 Тема: Двумерные массивы
Общая постановка задачи. Написать Windows- приложение для скалярного произведения двух двумерных векторов Xи Y;
Текст программы представлен ниже:
namespace lab5
{
publicpartialclassForm1 :Form
{
public Form1()
{
InitializeComponent();
}
privatevoid button1_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBox1.Text);
int m = Convert.ToInt32(textBox2.Text);
int[,] array = newint[n, m];
Randomrnd = newRandom();
for (inti = 0; i< n; i++)
{
for (int j = 0; j < m; j++)
{
array[i, j] = rnd.Next(5);
textBox3.Text += array[i, j].ToString() + "\t";
}
}
for (inti = 0; i< n; i++)
{
double s = 0;
for (int j = 0; j < m; j++)
{
s += array[j, i];
}
label1.Text = " Суммаэлементов = " + s.ToString();
}
}
}
Рисунок 7.
5.7 Тема: Обработка строк
Общая постановка задачи. Если длина введенной строки >10 - удалить все цифры.
Текст программы представлен ниже:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Text.RegularExpressions;
usingSystem.Windows.Forms;
namespace WindowsFormsApplication5
{
publicpartialclassForm1 :Form
{
public Form1()
{
InitializeComponent();
}
privatevoid button1_Click(object sender, EventArgs e)
{
stringstr = textBox1.Text;
if (str.Lenght==10)//или 9. не помню, считает ли он нулевой символ
str.Replace('a', ' ');
textBox2.Text = a.Replace(str, "[ ]+"," ");
}
}
}
Рисунок 8.
